2015年6月3日水曜日

SDユニティちゃん活用その5 ~Unityでマテリアル設定~

Blenderでエクスポート&UnityでインポートしたSDユニティちゃんのマテリアル設定するメモ。



環境

Windows7x64
Unity 5.0.1f1 Personal
Blender2.74(x64)
SDユニティちゃん 3Dモデルデータ Download ver1.0。(2015/5時点最新)

※作業中素材には『ユニティちゃんライセンス』で提供されるコンテンツを利用しています。




前提


前記事まででBlenderでエクスポート&UnityでインポートしたSDユニティちゃんを使って作業していきます。




前回までのUnityのAssetsへのインポート位置:フォルダ Assets/Blender_SDUnityChan
Blenderからインポート済みモデル名: blender_SDUnityChan
こんな感じです。


作業上オリジナルモデルと分けて識別する為、Blenderからインポートしたモデルを文中「Blender版SDユニティちゃん」と表記している場合があります。




Material/Texture準備

オリジナルのマテリアルは極力いじらずに取っておきたいので、Blender版SDユニティちゃん用モデルのあるフォルダに別途コピーします。


作業概要はインポート時に自動作成された フォルダMaterials を削除して、オリジナルのフォルダMaterialsとTexturesをBlender版SDユニティちゃんのあるフォルダ配下にコピー。

コピー後もマテリアル内のテクスチャ参照はオリジナルのまま保持されているので、これをコピーしたテクスチャを参照するように変更します。


■現在のMaterialsフォルダを削除

  1. インポート時に自動作成されたフォルダMaterials を削除。
    ※削除すると一時的に割り当てのマテリアルがなくなるのでピンク色になります。



■MaterialとTextureフォルダをコピー

  1. コピー元オリジナルのフォルダMaterials、Textureをエクスプローラで開く
    • Unity上で Assets > UnityChan > SD_unitychan > Model の上で右クリックメニューで Show Explorer を選択。


    • エクスプローラ上でフォルダ Materials、Textures を確認。


  2. コピー先フォルダをエクスプローラで開く
    • Unity上で フォルダ Blender_SDUnityChan の上で右クリックメニューで Show Explorer を選択。


    • エクスプローラ上で フォルダ Blender_SDUnityChan を確認。


  3.  エクスプローラでオリジナルのフォルダMaterials と フォルダTextureを、フォルダごと フォルダ Blender_SDUnityChan へコピーする。

  4. Unity画面に戻り、コンバート処理が終わるまで待つ。
    Asset上で フォルダ Blender_SDUnityChan配下にフォルダMaterials、Texturesができていることを確認。



■マテリアルのテクスチャ参照先変更

新しくコピーした Assets/BlenderUnityChan/Materials 配下には5つのマテリアルがあります。
(マテリアル名: def_mathair_matmouth_matnol_matskin_mat


この5つのマテリアルのテクスチャ参照先を変更します。

例えばコピーしたマテリアル(Blender_SDUnityChan/Materials/def_mat)をクリックしてInspector上のdiffuseのテクスチャをクリックしてみると、


オリジナルのテクスチャ(Assets/UnityChan/SD_unitychan/Models/Texture/utc_all2)を参照しています。

これをコピーしたテクスチャ(Assets/Blender_SDUnityChan/Texture/utc_all2)を参照するように変更します。

  1. マテリアル選択
    def_mat  を選択して Inspectorに表示。


  2. テクスチャ設定
    Projectウィンドウ内で Assets/BlenderUnityChan/Textures  をクリックして選択。
    Inspectorに表示されているdef_matのテクスチャ設定欄に対応するテクスチャをドラッグ&ドロップする。
同じ要領で残りの4つのマテリアル hair_matmouth_matnol_matskin_mat も設定していきます。
※テクスチャをドラッグ&ドロップする際、左クリックして選択してしまうとInspectorの表示がテクスチャのものに替わってしまいます。左クリックして離さずにドラッグ&ドロップしないとうまくいきません。


作業ができたら、Asset/Blender_SDUnityChan/Materials/ 配下の5つのマテリアル、

  • def_mat
  • hair_mat
  • mouth_mat
  • nol_mat
  • skin_mat

これをBlender版SDユニティちゃんに設定していきます。




マテリアル設定

シーンに配置したBlender版SDユニティちゃん(blender_SDUnityChan)にマテリアルを設定していきます。



■設定する6つのメッシュ

シーン上の blender_SDUnityChan の階層下にある6つのメッシュ、

  _body_eye_Fhair_Fhair2_head_face

に、各マテリアルを設定していきます。

各メッシュに設定するマテリアルは以下の通り。
  • _body
    def_mat
    skin_mat


  • _eye
    mouth_mat

  • _Fhair
    hair_mat
    nol_mat


  • _Fhair2
    hair_mat
    nol_mat


  • _head
    hair_mat
    def_mat
    nol_mat


  • _face
    skin_mat
    mouth_mat




■マテリアルを設定

まず _body を設定してみます。
  1. シーン上の blender_SDUnityChan_bodyをクリックして選択。
    Inspectorにコンポーネントの設定が表示されます。

  2. Projectウィンドウ内のフォルダ Assets/Blender_SDUnityChan/Materialsを選択。
    ※前項までで用意したマテリアルがこの中にあります。

  3. マテリアルをInspectorへドラッグ&ドロップして設定。
    def_mat を Skinned Mesh Renderer内MaterialsリストのElements0へ。
    skin_mat を Element1へ。
    ※Elements0から順に埋めていく感じで。


この要領で他の5つのメッシュもマテリアル設定を行います。
(前項の各メッシュへのマテリアル対応をみながら行うとやりやすい)



_face だけは奥まったところにあります。
blender_SDUnityChan > Character1_Reference > Character_Hips > Character_Spine > Character_Spine1 > Character_Spine2 > Character_Neck > Character_head > _face

シーンウィンドウ上部の検索欄で _face と入力して表示させた方が早いかもしれません。


全て設定できるとオリジナルSDユニティちゃんと同じような質感でシーン上で見えます。



マテリアル設定し終わったシーン上の blender_SDUnityChan はドラッグ&ドロップでAssetsに保存しておきます。

ここでは Assets/Blender_SDUnityChan/Prefab フォルダを作って、そこにドラッグ&ドロップで保存しています。(保存後はシーン上のblender_SDUnityChanは消しても大丈夫です)


以後はこの Assets/Blender_SDUnityChan/Prefab/blender_SDUnityChan を使えばマテリアルは設定済みになっているという感じです。


0 件のコメント:

コメントを投稿