2013/10/11(金) [n年前の日記]
#1 [unity][blender] 地形モデルを作成してUnityにインポートして表示したり
blenderで地形っぽいモデルを作ってUnityにインポート。
_Unity - Unity Manual
に書いてあったとおり、.blend ファイルを Assets 内にコピーしたらインポートできてしまった。最初からこの形式で渡せばよかったのか…。
と思ったけど、甘いかもしれず。.blend は、blender がインストールされている環境じゃないとインポートできないよ、と書いてあるようにも見えるし。
やっぱり、.fbx でエクスポートして、それをインポートしたほうがいいのかもしれないか…。
ちなみに、blender からFBXをエクスポートする場合は、
逆に、blenderからエクスポートする際はそのままにして、Unity側で、Z軸:180度、X軸:-90度、回転させて使ってもヨサゲかも。と思ったけど移動や回転等をする際に混乱するかもしれず…?
と思ったけど、甘いかもしれず。.blend は、blender がインストールされている環境じゃないとインポートできないよ、と書いてあるようにも見えるし。
要件となると、プロジェクトを固めて配布等する場合に、blender をインストールしていない環境の人はビルドできないわけで。それはよろしくないだろう…。
Blender 2.60 以降が必要です (過去バージョンのBlender では FBX エクスポートが変更または破損している場合があります)。
やっぱり、.fbx でエクスポートして、それをインポートしたほうがいいのかもしれないか…。
ちなみに、blender からFBXをエクスポートする場合は、
- Z軸で180度回転させてから(Rキー → Zキー → 180と入力してEnter)、
- X軸で-90度回転させて(Rキー → Xキー → -90と入力してEnter)、
- 回転と拡縮を適用した状態で(メッシュ → 適用 → 回転と拡縮、だったかな? 自信無し)、
逆に、blenderからエクスポートする際はそのままにして、Unity側で、Z軸:180度、X軸:-90度、回転させて使ってもヨサゲかも。と思ったけど移動や回転等をする際に混乱するかもしれず…?
◎ 地形モデルと当たった箇所の座標を知りたいのだけど。 :
直線を伸ばしてポリゴンと当たった箇所のy座標のみを取得、とかできないものかな…。手段が用意されてそうな気もするのだけど…。
ググってみたら、 _Physics.Raycast や _Collider.Raycast が使えるみたい。hitinfo に _RaycastHit が入るので、 _RaycastHit.point を使えば交差した座標が取得できる模様。
Physics.Raycast より Collider.Raycast のほうがおそらく軽い、という話も見かけたり。
ググってみたら、 _Physics.Raycast や _Collider.Raycast が使えるみたい。hitinfo に _RaycastHit が入るので、 _RaycastHit.point を使えば交差した座標が取得できる模様。
Physics.Raycast より Collider.Raycast のほうがおそらく軽い、という話も見かけたり。
[ ツッコむ ]
以上です。