はじめに
前回までは、顔のオブジェクトはUnityで作っていましたが、今回はBlenderで顔を作ってBlendShapeを適用してみました☺️
手はLandmarkを繋ぐように、Sphereを引き延ばして手の輪郭を作りました。
本当は手もモデルを使いたかったのですが、指の回転が難しく🥺
Python
前回から変更なし
Blender
顔のモデルを作成しました。パーツ構成:顔 / 目(左右) / 瞳(左右) / 眉(左右)
口と瞼は、顔のメッシュ変形で表現します。
怖いて😂
動作がわかる形なら何でも良いやーと、思いつきで作っていたらこうなりました。
シェイプキーはこれらを登録しました。
BlendShapeで反映されるのはメッシュの変形のみです。座標の移動や回転は反映されません。
たとえば瞬きであれば、瞼のメッシュを下方向へ引き伸ばすことで表現しています。
作成したら、FBX形式でエクスポートします。
Unity
もともとSceneにあった顔パーツは削除し、BlenderのFBXをインポートして使用します。
眉・瞼・口はBlendShapeを使用します。スクリプトの詳細はその5で解説しています。
動作確認
前回と比べ、顔のクオリティが上がりました😁
BlenderとUnityの回転軸
BlenderとUnityでは回転軸の定義が異なります。
Blenderはy軸が上方向・z軸が前方向であるのに対し、Unityはy軸が上方向・z軸が前方向と同じですが、座標系が左手系と右手系で異なります。
FBXエクスポート時に適切な設定をすることで、インポート後の軸のズレを防ぐことができます。
さいごに
次回は手もモデルを使って動かしてみたいと思います。
それでは、今回はここまで。ありがとうございました😊