おもちゃラボ

Unityで遊びを作ってます

【Blender】表情テクスチャを顔モデルに貼る

表情を書いたテクスチャを顔のモデルにぴったり貼る方法を紹介します。平面ポリゴンを置くだけよりもちゃんと見えるよ!

今回の流れは次のようになります

顔のテクスチャを配置する

表情のテクスチャを貼るための平面ポリゴンを、顔モデルの前に配置します。

顔のテクスチャを作る

ここではテクスチャペイントで顔テクスチャを作る方法を説明していきます。すでにPhotoshopなどで描いたテクスチャがある場合は、次の「顔のテクスチャをぴったり貼る」の項目までスキップスキップ!

まずはテクスチャを作ります。UV Editingタブを選択して「新規」をクリック、名前を「face」、カラーは「アルファを0」にして、最後にOKをクリック

次に今作ったテクスチャをマテリアルに反映します。Shadingタブを選択し、つぎに「新規」をクリックしてマテリアルを新規作成してください

「Shift+A」→「テクスチャ」→「画像テクスチャ」を選択して画像テクスチャノードを作成してください

画像テクスチャのノードで、さっき作った「face」テクスチャを選択。出力のカラーをプリンシプルBSDFノードのベースカラーに接続。またアルファをアルファに接続。

Modelingタブに戻ってマテリアルの透明モードを選択します。マテリアルの設定からブレンドモードを「アルファブレンド」、影のモードを「なし」に設定してください。

最後にTexturePaintタブで適当に顔を描いてください。これで表情テクスチャの設定までおわり!前置きが長くなってしまった・・・

顔のモデルにテクスチャをぴったり貼る

表情のテクスチャをピッタリ貼り付けるために、平面モデルのポリゴン数を増やしておきます。平面モデルを選択して右クリックから「細分化」を選択してください

左下のメニューから分割数を「16」程度に設定して、分割数を増やします。

モデルにピッタリと貼るためのモディファイアを追加します。平面モデルを選んで、「モディファイアを追加」から「シュリンクラップ」を選択してください。

こんな感じになります。シュリンクラップのモディファイアを適用し・・・と書きつつ、これだとエラーが出るので、↓の対応が必要です

シュリンクラップがApplyできない場合

シュリンクラップを適応しようとすると、「モディファイアーはシェイプキーのあるメッシュには適用できません」というエラーが出ます

シェイプキーの設定を開いて、シェイプキーを「-」キーで全部削除してください。削除できたらシュリンクラップのモディファイアを適用してください

少しずらして完成

表情テクスチャがぴったりと貼られすぎてZファイティングが発生しています。表情のテクスチャをちょっとだけ前にずらして表情がちゃんと表示できればOKです!