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


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

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

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

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

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

 


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

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

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


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

シェーダー反映無し

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

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


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

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

下準備

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

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

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

環境照明ON/OFF

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

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

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

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

テクスチャデータ 目元

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


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

Unityちゃん色付け後

顔回り調整

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

白飛び箇所

手順は次の通りです。

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

手順1~2

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

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

手順3~4

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

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

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

Before・After

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

ボーン干渉改善

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

問題

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

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

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

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

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

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

アニメーション例

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

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

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

Unity上での設定

マテリアル設定

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

インポート直後

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

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

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

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

Before・After

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

リグ設定

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

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

  1. 「Head」タブを選択。
  2. 「Left Eye」右側の◎をクリックする。
  3. 「None」を選択。
Head リグ設定

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

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

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

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

  • Spine:Character1_Spine ー> Character1_Spine1
  • Chest:Character1_Spine1 ー> Character1_Spine2
  • Upper Chest:Character1_Spine2 ー> None
Body リグ設定

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

  • UnityChanLocomotions(AnimatoController)
  • Sample Unity Chan Controller(スクリプト)
動作確認

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

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

まとめ

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

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

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

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


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

この記事はいかがでしたか?
もし「参考になった」「面白かった」という場合は、応援シェアお願いします!

株式会社x gardenが運営するXR-Hubの記事編集部です。

読者の皆様に役に立つ情報を発信いたします。

シェアする