【Unity】顔と髪と服とパーツを分けてUnityでくっつけちゃおう!

こんにちは!新入社員のタケです!

今日は顔のモデルのバリエーションを増やしてみました。
このような感じになっています。


つり目とたれ目の二種類の顔を作りました。
これらのモデルは元の顔を少し頂点移動をしたらできました~

そして顔のパーツは作ったはいいけれど今まで作った3着の服に二体の頭を着せ替えてモデルを出力して…とやっていくとなかなか大変になってしまうので、どうにかUnity上でパーツ化して全部組み合わせたいなと思ってきました。


これらのモデルをUnityで組み替えて使えるように髪、顔、それ以外のパーツでオブジェクトを分けてUnityで動かす方法を解説してみます。
この記事ではUnity2019.3.10f1を使用しています。

まずはいままで全部一つだったモデルを全部分けて
出力していきます。
とりあえずお洋服と髪の毛はそのままに顔だけ変えていきたいと思います。
お洋服はこちらの赤のスーツを使います。


髪の毛も今まで通りです。


顔はこの三種類が自由に組み替えられることが理想です。


正直シーン上に置くだけならすごい簡単です。
だってポンと置くだけで位置は同じですからね。


これをアニメーションでまとめて動かすとなると少しいじらなければなりません。
Unity2019からちょっと設定が複雑になっています。
まずはシーン内に髪・顔・服のパーツを配置していきます。


配置できたらヒエラルキーで三つのオブジェクトを選択して右クリック→Unpack Prefabをクリックします
こうすることで導入したモデルの階層構造が自由にいじれるようになります。
左の段ボールのアイコンが四角になったらOKです。


次に髪と顔のパーツを一つにします。
メッシュ(ビューでオレンジ色になっているもの)を選択して、服のオブジェクトの中に入れます。


とりあえずこれでアニメーションを再生してみてちゃんと動くか確認してみましょう。
…ダメみたいですね!


なぜこうなるのかというと顔と髪の見た目(メッシュ)を服のオブジェクトに移動させただけなので、ボーンがまだ本来の場所に取り残されてる状態になっているからです。


Headボーンもメッシュと同じように服のオブジェクトの中のHeadに入れます。
これで動かしてみると…動きました!


が、後ろのほうを振り向くと顔と髪が消えてしまいます!
実はまだ設定不足です。


Unityは見えていない部分のメッシュは消してくれるという仕様があり、メッシュの原点がまだ元のオブジェクトの場所にあることになっています。
なので本来見えない場所にいるはずが、見える場所にいることになっているという状態です。


こんどはメッシュの設定をします。
RootBoneの部分が元のメッシュのHipsになっているので、これを服のメッシュのHipsに設定してあげると完了です!!



このような感じで他の顔のタイプも結合してみました!




この方法みつけるまでにたくさん時間がかかってしまった…
Unity2019ならではの機能が難しいと感じましたね…

今日の成果物!

つり目の顔の3Dモデル
制作時間:1時間45分


たれ目の顔の3Dモデル
制作時間:1時間15分


モデル結合の研究
制作時間:3時間30分

でもこの方法だとゲームオブジェクトが増えすぎてあんまりよくないってプログラマさんに言われちゃったのでまた別の方法を使わないといけない…
でも決して無駄じゃなかったです!次もがんばりましょう!

--------------------------------------------------------------------------------

シェルパでは、3DCGや建築パースはもちろん
VRやARアプリの開発も行っています!
新しいことに興味のある方はきっと楽しめると思います!
新人研修も充実していて初心者でも3DCG経験者でも安心!

株式会社シェルパ
【福岡本社】
〒810-0042 福岡県福岡市中央区赤坂1丁目13-10赤坂有楽ビル7F 
【東京オフィス】
 〒101-0041 東京都千代田区神田須田町2丁目13-1YKS黒田ビル5F
TEL 092-717-6800 / FAX 092-717-6801

--------------------------------------------------------------------------------

コメント