Dazzle VR Tech blog

ダズルのVR開発者による開発TIPS


弊社エンジニアがGitHub for Unityにコントリビュートしました

ダズルではOSSへのコントリビュートも積極的に行っています。

GitHub for Unityについて、弊社エンジニアの@shienaのコードがマージされたものが2017/08/25v0.18-alphaとしてリリースされました。
GitHub for Unityは、3Dゲーム開発環境UnityGitHubリポジトリの管理機能を追加する拡張機能です。

GitHubからの反応

GitHub公式でも謝辞のツイートを頂戴しました!

プレゼントもいただきました!
f:id:dazzle-tech:20170830135954j:plain

対応した内容

  • Historyタブのコミットログの非ASCII文字の文字化けの修正

動機

@shienaUnityの情報についてキャッチアップを行っていた際にGitHub for Unityを見つけ検証したところ、以下のような文字化けに遭遇しました。
f:id:dazzle-tech:20170830140230p:plain

その不備が普及の妨げになることがもったいないと考えた@shienaが、これを修正することはできないかと考えたことが発端でした。

原因

UnityMonoをフォークしたC#を利用しており、その中に外部コマンドの出力を非同期に読み込む以下のメソッドがあります。

  • Process.OutputDataReceived
  • Process.ErrorDataReceived

上記メソッドの中で、byte配列からStringを生成する際Encoding.Default.GetStringで処理しています。

そのためOSで定義されたデフォルトのエンコード、つまりWindowsならSJISOSXならASCII以外の文字が化けてしまっていました。

対応

  • 問題のあった非同期処理を同期処理に置き換えた。

結果、非ASCII文字も正常に表示されるようになりました。
f:id:dazzle-tech:20170830140256p:plain

実は非同期処理自体は残す形のアプローチで進めていたため最終的に採用されたコードはさほど多くはなくなってしまいましたが、Issueをあげ問題解決のためにやりとりを重ねたことを大事に見てくださったように思います。

実際のやりとりについては以下をご覧ください。

補足

UnityC#から外部プロセスを実行してその結果を文字エンコードして読み込みたい場合はOutputDataReceivedを使うと文字が化けるので、以下のコードを参考にすると良いです。

最後に

ダズルでは技術方針を定めており、そのうちの一つとして「オープンソース活動」があります。
オープンソース文化、エンジニア文化に敬意を持ち、自社独自のフレームワークなどに固執せずオープンソースのプロダクトを積極的に利用しています。
ダズルでは今後も様々なOSSへのコントリビュートを積極的に行っていきます。

Viveトラッカーを使って格闘してみる

前回はホバーボードに乗ってみましたが、今回はViveトラッカーやコントローラーを使ってモーションキャプチャーし格闘ゲームのキャラクターを体験できるものを作ってみます。
キャプチャーする端末の数に制限があるため主に末端の角度と位置のみ取得し、その間の部分の角度と位置をIKを使って補完しています。

f:id:dazzle-tech:20170601152640p:plain 左がモーションキャプチャーしたユニティちゃん、右がファイティングユニティちゃんモデル

続きを読む

Mac上にGear VR向けアプリの開発環境を整える

前回はViveトラッカーについて触れさせていただきましたが、今回はもう少し身近なGear VRにおいて自作コンテンツが実機で動作確認するまでについて記述したいと思います。
ちなみに以下が2017/2月時点での出荷台数です。

端末 出荷台数
Gear VR 450 万台
PlayStation VR 75 万台
HTC Vive 42 万台

出典 SuperData Research (pdf)

圧倒的ですね!
対応するスマートフォンを持っていればGear VR自体は実売1万円前後で入手可能であるのは非常に魅力的です。
また最近になって専用のコントローラーも発売され、さらに可能性が拡がってきています。

続きを読む

Viveトラッカーを使ってホバーボードに乗ってみる

今年2017/3/27に発売されたHTC Vive用トラッカー、Viveトラッカー
これは現実世界のいろんなものに装着し、その位置情報をVR空間へ取り込んでしまおうというもの。
これを使ってホバーボードのシミュレーターを作ってみます。

Viveトラッカー
https://www.vive.com/jp/vive-tracker/ f:id:dazzle-tech:20170426153232j:plain マットな質感が素敵

続きを読む