
unity : importing 3D model
はじめに
3ds maxなどで作成した人型の3D modelをUnityにimportする際のtips.
自前のモーションだけでキャラクターを動かす場合には mecanim も humanoid リグも要らない。 generic でやればよい。 humanoid 互換のモデル同士でモーションを共有するために mecanim という仕組みがある。
humanoid にすると羽根とか髪の房、スカートなどの(humanoid標準ではない)ボーンに付けたモーションが無視されてしまう。 そういう場合も generic でやるしかない。
humanoid ではなくて generic でやるときは以下の rig の設定は要らない。 しかし、model と animations の設定はいずれにしてもやらなくてはならない。
環境
* Unity 2018.3.f1
AssetのCopy
下のような AssetをUnityのAsset dir以下に Copyする。
以下のように怒られましたが、"Fix now"してOK.
Character modelのinspector
assets のキャラクターを選択し、inspector を見ると、model、rig、animations、materialの4つのタブがある。
> model
まず、modelタブ を開く。
scale factor で大きさを調整する(大きさはあとから調節しても良いのだが、ここで揃えておいたほうがよい)。
3ds maxやLight waveでは他に触らなくて良かったが、blenderの場合、normals を import から calculate に変更する必要があるようだ(blender で作ったメッシュにはそのままだと法線の値がないので滑らかにシェーディングされない。なので、unity の側で、メッシュから法線を計算する)。
最後に apply ボタンを押す。
> rig
animation type を generic から humanoid に変更して、apply ボタンを押す。そのあと、configureする。scene を save するかといわれるときは save しておく。
とくに問題ないときは何もしなくてよい。done ボタンを押して終了。
character is not in T pose という警告が出たときは、以下のようにEnforce T pose というボタンを押せば解決することがある。character is not in T pose という警告が出たときは、以下のようにEnforce T pose というボタンを押せば解決することがある。
> animation
ループするモーション(walk とか run とか)を一つずつ選択して、Loop Time と Loop Pose にチェックを入れる。
Bake into Pose はすべてチェックを入れる(これを忘れるとうまく動かないことがある)。
最後に apply ボタンを押す。
> material
Lightwaveからimportの時は、下に記載の通り、設定が必要。
Lightwave model import時のmaterial設定
以下のようにProject windowからAvatarの下のmeshを選択し、materialを触ろうとすると、
inspectorで、materialが触れなかった。
そんな時は、再び、Characterのinspector、Materialタブから、
* Locationを"Use External Materials(Lagacy)"
* Namingを"Model Name + Model's Material" ... "From Model's Material"でもOK
に変更してApply。
これでMaterialが上手くimportされ、unity上でMaterialを触れるようになった。
参考URL
いいなと思ったら応援しよう!
