BlenderにインポートしたUnityちゃんに色をつけてエクスポートする


冒頭_Unityちゃん_インポート

以前の記事でUnityちゃんをBlenderにインポートして、モデルのTransform調整、ボーンの適用等を行いました。詳しくは以下の記事をご覧ください。

UnityちゃんをBlenderにインポートしてアニメーションを作成する

今回はUnityちゃんのマテリアル設定、すなわち色付け設定、施して行きたいと思います。

また、Unityにエクスポートした際に起こりうる、アニメーションの問題改善方法についてもご紹介していきたいと思います。

本稿は以下の記事様を参考にさせていただきました。

 

ユニティちゃんライセンス
本稿はユニティちゃんライセンス条項の元に提供されています。

【Blender】テクスチャ・マテリアル設定

FBXファイルをインポートするとシェーダーの設定は反映されていない状態でビューワーに表示されます。


以前の記事で武器アセットをインポートした際もそうでした。

Blender_武器アセット調整前
シェーダー反映無し

興味がありましたらご覧になっていただけると幸いです。

【Unity】アニメーションを用いてUnityちゃんに武器を持たせる手順


テクスチャデータは存在するものの、メッシュオブジェクトのマテリアルにテクスチャが反映されていません(正確には色がついていない状態)

以下でテクスチャ設定についてご説明していきます。

下準備

まずはマテリアル設定による変化を3Dビュー上で確認するため、以下の手順で設定していきます。

  1. 3Dビューのシェーディングモードをマテリアルに設定。
  2. ワールドタブを開き「環境照明」を適用。
シェーディング_間接照明設定
シェーディング・環境照明設定

環境照明を設定しておかないとテクスチャの反映が確認できません。

環境照明ON_OFF
環境照明ON/OFF

テクスチャ(カラー)反映

それではメッシュオブジェクトに色を付けていきます。手順は次の通りです。

  1. 色を付けたいオブジェクトを選択する。
  2. テクスチャタブを開き、ディフューズの「カラー」を適用。
テクスチャ反映手順
テクスチャ反映手順

*テクスチャは一括で反映されていきます。上記の例では眉毛にあたるオブジェクトを選択しています。しかし、テクスチャデータにはその他の目元周りのオブジェクトのテクスチャデータも存在しています。

テクスチャデータ_目元
テクスチャデータ 目元

それゆえ、一括でカラーが反映されています。


上記の手順でその他のオブジェクトにもカラーを反映させていってください。

Unity色付け後
Unityちゃん色付け後

顔回り調整

最後に顔回りの細かい調整を施していきます。Unityちゃんの眉、まつ毛、頬が白飛びしている部分を修正していきます。

Unityちゃん_白飛び箇所
白飛び箇所

手順は次の通りです。

1.オブジェクトを選択したら、「テクスチャ」タブを開く。
2.ディフューズより「アルファ(透明度)」を適用。

透過手順_アルファ適用
手順1~2

これでオブジェクトを透過させる下準備が完了しました。続いてマテリアルに透過設定を施していきます。

3.「マテリアル」タブを開き、「透過」を適用。
4.アルファの値を「0」に変更。

透過手順_アルファ「0」
手順3~4

上記の手順で設定していってください。設定すべきオブジェクトは以下の通りです。

  • cheek(頬オブジェクト:上記例参照)
  • BLW_DEF(眉オブジェクト)
  • EL_DEF(まつ毛オブジェクト)

修正前と修正後の比較です。

Before_After
Before・After

以上でUnityちゃんのBlender上での色付け設定は完了です。

ボーン干渉改善

Blender上での最後の調整です。現段階でUnityにインポートし、「Rig」を「Humanoid」リグに設定してアニメーションを動かした場合、以下のような問題が発生します。

Unityちゃん_テクスチャミス
問題

Unityちゃんのオブジェクトが四方八方に急激に拡大していることが確認できます。これはUnityちゃんの髪の毛、リボン、服等のボーンがお互いに干渉しあっているためです。

Blenderで各ボーンの名前を変更することでボーンの干渉問題は解消されます。

名前変更が必要なボーンは次の通りです。

*名前の最初に「J」が付いたボーンが対象です。

名前変更は「J」を消す程度でOKです。

これでBlender上での設定は終了です。アニメーションを作成してUnityにエクスポートしましょう。

Blender_アニメーション例
アニメーション例

Blenderにおけるアニメーション作成手順BlenderからUnityへのエクスポート手順については以下の記事をご覧ください。

Blenderを使ってUnityにアニメーションを追加する手順

続いてUnityエクスポート後の設定について触れていきます。

Unity上での設定

マテリアル設定

上記の設定はあくまでBlender上での表示にすぎません。上記のUnityちゃんをUnityにエクスポートすると以下のような本来とは違った色合いのものが表示されます。

Unityちゃん_インポート直後
インポート直後

Unityでマテリアルを各オブジェクトに適用していきます。手順は次の通りです。

  1. 「Materials」タブを開く。
  2. オブジェクト右の◎ボタンを押しマテリアルを選択。
  3. 「Apply」で適用。
Unityちゃん_マテリアル割り振り_Unity
マテリアル割り振り手順

各マテリアルはそれぞれ以下のマテリアルを割り振っていってください。

マテリアル適用前後の比較は以下の通りです。

Unityちゃん_マテリアル割り振りB&F
Before・After

Unity上におけるマテリアル設定は以上です。

リグ設定

UnityちゃんのAnimation Tipeを「Humanoid」に変更し、「Configure」を押しリグ設定を確認すると、「Head」が赤くなっていることが確認できます。これはボーンの割り振りがうまくいっていないためです。

修正手順は次の通りです。

  1. 「Head」タブを選択。
  2. 「Left Eye」右側の◎をクリックする。
  3. 「None」を選択。
頭部ボーン割り振り_手順_Unity
Head リグ設定

上記の手順で以下のリグにも同様の設定を行ってください。

  • Left Eye(左目:上記例参照)
  • Right Eye(右目)
  • Jaw(顎)

*設定が完了したら「Apply」で適用することを忘れないようにしてください。

続いて「Body」にもリグ設定のずれがあるため修正していきます。手順は変わりません。以下のようにリグ設定を変更してください。

  • Spine:Character1_Spine ー> Character1_Spine1
  • Chest:Character1_Spine1 ー> Character1_Spine2
  • Upper Chest:Character1_Spine2 ー> None
体ボーン割り振り_手順_Unity (1)
Body リグ設定

これで全ての設定は完了です。Unityちゃんを動かしてみましょう。Unityちゃんは以下のAnimatorControllerとスクリプトを用いて動かしています。

  • UnityChanLocomotions(AnimatoController)
  • Sample Unity Chan Controller(スクリプト)
アニメーション動作確認_Unitychan (1)
動作確認

*Idleに今回Blenderで作成したアニメーションを追加しています。

Unityちゃんが正常に動作していることが確認できました。

まとめ

いかがでしたでしょうか。今回はUnityちゃんのBlender上での色付け設定、Blenderで設定したUnityちゃんを逆にUnityにエクスポートする手順についてご紹介してきました。

少し手間はかかりますが、一度設定してしまえばUnityちゃんのアニメーションを作成する際に、ポーズのイメージが付きやすく便利だと思います。

皆さんの参考になると幸いです。

Blenderにおけるアニメーション作成、Unityのアニメーション機能について興味を持った方はこちら↓


アイキャッチ_Unity_色付け設定1

この記事はいかがでしたか?よければシェアをお願いします。

Massuuuu