UnityのAutoCamとはなにか?
UnityのAutoCamは、UnityのStandardAssets内にある、MultipurposeCameraRigというオブジェクトに搭載されているスクリプトになります。こちらを使うことによってオブジェクトにカメラを自動追尾させることができます。
AutoCameについてはこちらの記事に詳しく書いてます。
Unityでカメラを自動追尾させる2つの方法。
AutoCamがおかしい。デバッグしたらカメラが反転する
AutoCamスクリプトに飛行機のようなオブジェクトを指定してデバッグするとカメラが反転してしまいます。このときキーボードやマウスはなにもさわっていません。
デバッグしたらAutoCamが反転してしまう原因
さきほどはカメラが反転してしまいましたが、カメラのターゲットは飛行機オブジェクトになっています。実は飛行機オブジェクトはBlenderで作成したオブジェクトで.fbxファイルをインポートして追加したオブジェクトです。BlenderとUnityの軸の違いは思った以上に深刻です。
この画像は移動とスケール時のカーソルを比較したものです。移動時のカーソルはYが上方向になっていて一見なにも問題ないように見えますが、スケール時のカーソはY方向が下になっています。これがAutoCamが反転してしまう原因です。
BlenderとUnityの軸の違いについては以下の記事でも解説しています。
BlenderとUnityで軸が違うことの検証と解決方法
Unity上のBlenderオブジェクトを正しい向きで扱う方法
Blenderのエクスポーターで正しい設定を行っていても、やはりどこかおかしい部分がでてきてしまうようです。Unityに読み込んだBlenderのオブジェクトを確実に取り扱う方法は、UnityのEmptyオブジェクトの中にBlenderのオブジェクトを入れてしまうことです。Unityの空オブジェクトは軸の向きが正しい状態なので、おかくしなっているBlenderオブジェクトをその中に入れれば正しく動作します。
まとめ
ここまでの話は誰の役に立つかはわかりませんし、ものすごくわかりにくい話なので動画にしておこうと思います。
コメント