見出し画像

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する。

画像1

以下のように怒られましたが、"Fix now"してOK.

画像2

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 ボタンを押す。

画像3

> rig

animation type を generic から humanoid に変更して、apply ボタンを押す。そのあと、configureする。scene を save するかといわれるときは save しておく。

画像4

とくに問題ないときは何もしなくてよい。done ボタンを押して終了。
character is not in T pose という警告が出たときは、以下のようにEnforce T pose というボタンを押せば解決することがある。character is not in T pose という警告が出たときは、以下のようにEnforce T pose というボタンを押せば解決することがある。

画像5

> animation

ループするモーション(walk とか run とか)を一つずつ選択して、Loop Time と Loop Pose にチェックを入れる。
Bake into Pose はすべてチェックを入れる(これを忘れるとうまく動かないことがある)。

最後に apply ボタンを押す。 

画像6

> material

Lightwaveからimportの時は、下に記載の通り、設定が必要。

Lightwave model import時のmaterial設定

以下のようにProject windowからAvatarの下のmeshを選択し、materialを触ろうとすると、

画像7

inspectorで、materialが触れなかった。

画像8

そんな時は、再び、Characterのinspector、Materialタブから、
* Locationを"Use External Materials(Lagacy)"
* Namingを"Model Name + Model's Material" ... "From Model's Material"でもOK

に変更してApply。

これでMaterialが上手くimportされ、unity上でMaterialを触れるようになった。

画像9

参考URL

* Humanoidをインポートするときの注意点
* LightwaveモデルをUnityにインポート時のマテリアル設定

もしよろしければ、サポートをお願いします! 頂いたサポートは、Creatorとしての活動費に充てさせて頂きます。