saitetu diary

ロボット,IoT,アプリ開発などの備忘録的なブログです。機械加工,電子工作とかも。。

移転しました。

約3秒後に自動的にリダイレクトします。

Google VRをUnityに適用する際の諸々

UnityでVR化する際、今まではGoogleCardboardのSDKを適用してきたが、
今年の5月のGoogle I/O 2016でGoogleVRが発表されSDKの仕様が変更された。

基本的な使い方はあまり変わらないが一応載せておこうかと。

1.GoogleVRの適用の仕方


下記のリンク先のUnityタブからSample&Downloadをクリックする。

developers.google.com

GithubからでもDirectlyの直接ダウンロードのどちらでも可

解凍したら、VR化したいProjectを開きながら、GoogleVRForUnity.unitypackageを実行するとProjectのAssset内にGoogleVRが追加される。
f:id:saitetutan:20160711222516p:plain

その後、GvrViewerMainを適用したいScene内のGameObjectにAddComponetする。
f:id:saitetutan:20160711222703p:plain

以上
f:id:saitetutan:20160711223633p:plain


2.特定のカメラを加速度によって動かないようにする(GvrHeadの無効化)


このSDKでは全カメラに頭の加速度に追従して動くためのスクリプト(GvrHead.cs)が生成される。

個人的に加速度に追従してほしくないカメラがあったので、その時の対処法を一応。
(需要あるかな・・・。)

とは言っても超絶簡単で、スクリプトを作って(ここではignore.cs)中に

を書いて、追従無視したいカメラにAddするだけ。

GvrHead.csでTagをつけたCameraをFindするのも手かと


参考
answers.unity3d.com

Unityで5/11 Clustering 1jobsから動かなくなった時の解決法

UnityでNavmeshをベイクした時、5/11 Clustering 1jobsから動かなくなったので調べてみたら、ここに書いてあったので。

answers.unity3d.com

つまりはLightingのBakedGIのResolutionが小さいのが原因らしい
が、別にそんなに光にこだわりがないのであれば外しちゃうのも手かと。

手順としては


f:id:saitetutan:20160709161940p:plain

を選択して


f:id:saitetutan:20160709162140p:plain


のチェックを外すだけ。

BlenderからUnityにオブジェクトをインポートする際のTips

自分の備忘録的な感じでこれから続けていこうと思います。(Unity,C#,java,Blender等)


1.Blender内でマテリアルの管理をする際に、名前が重複しないように気をつける

Blenderではマテリアルを作成すると、「マテリアル」「マテリアル2」のように名前が自動で付けられる。
そのため、Blenderで作成したオブジェクトをUnity内で複数使用する際にマテリアルの名前が重複しやすい。

重複すると同じ色になってしまうので、マテリアルを作成した時には名前を逐一つけるのが妥当

f:id:saitetutan:20160709145621p:plain

2.UVmapをとりあえずつけとく

テクスチャなしの簡素なオブジェクトでもUvマップをつけておくとよい

f:id:saitetutan:20160709145456p:plain

稀にUnity内でMesh doesn't have albedo UVs. Please create them in your modelling package.等のエラーが出るため
つけかたは、Blender内右側などにあるプロパティウインドウ内の逆三角ボタンを押して、UVマップの+マークを押すだけ(下図)

f:id:saitetutan:20160709145347p:plain

ちなみにオブジェクトの形式はFBXでも.blenderのままでもいい


参考:
answers.unity3d.com