この短いチュートリアルでは、Blender 4.5からエクスポートしたオブジェクトのVertex ColorsをUnity 6で使う方法を見ていきます。
動画の書き起こし
皆さんこんにちは。この短いチュートリアルでは、Blender 4.5からエクスポートしたオブジェクトのVertex ColorsをUnity 6で使う方法を見ていきます。動画で紹介しているオブジェクトにはTexturesがなく、基本的なMaterialさえありません。しかし、BlenderのVertex Paintingツールで定義されたVertex Colorsがあります。これらの色はViewport ShadingメニューでObject ColorをMaterialからAttributeに変更すると、3D ViewportのSolidモードで表示されます。

Vertex ColorsをVertex Paintモードで定義すると、BlenderはオブジェクトにAttributeを作成します。これはObject Dataタブで確認できます。デフォルトでは、このAttributeのDomainはFace Cornerに、Data TypeはByte Colorに設定されています。この設定で十分に目的を果たせます。

すべてのオブジェクトをFBX形式でエクスポートします。MaterialsやTexturesがないため、CopyモードでEmbedded Texturesを設定する必要はありません。先ほど述べたように、Attributeを通じてジオメトリに関連付けられた色情報だけがあります。
Unityでは最初にFBXファイルをProjectにインポートし、InspectorのMaterialタブを開きます。このタブでMaterial Creation ModeをStandard Legacyに変更して適用します。これにより、インポートしたモデルのprefabに空のMaterialが生成されます。

このモデルに割り当てるMaterialはカスタムShaderで作成する必要があります。そのためProjectで新しいShader Graphを作成し、Universal Render Pipelineを使用しているのでURP Litを選択します。新しいassetの名前をVertex Color Shader Graphに変更します。この新しいassetにはすでにMaterialが含まれています。


Shader Graph assetをダブルクリックして専用ウィンドウで開きます。このウィンドウの中でVertex Colorノードを追加し、それをFragmentのBase Color入力に直接接続します。すぐにShaderのMain Previewが更新されます。
ただし注意してください。Shader Graphの変更はまだ適用されていません。プロジェクトを保存するだけでは不十分です。Scene Graphに変更を適用するには、ウィンドウ左上の保存ボタンをクリックする必要があります。Unityが実際に変更を適用するまで数秒かかります。

この時点でProject内のインポートしたオブジェクトを選択し、InspectorのMaterialタブで先ほど編集したShader GraphのMaterialをドラッグして適用します。モデルのプレビューですでにオブジェクトがBlenderで定義した通りのVertex Colorsを持っているのが確認できます。


現在のシーンで3Dモデルのインスタンスを作成すると、意図した色を持つモデルを得ることができます。そのため、プロトタイプを作成したい場合や、プロジェクトをスタイライズされた見た目にしたい場合、BlenderでMaterialsやTexturesを作成する必要はありません。Vertex Colorsを定義してUnityで使えばよいのです。

今回のビデオはこれで終了です。役に立ったと思ったら、ぜひLikeとチャンネル登録で応援してください。次のチュートリアルを見逃さないように通知もオンにしてください。それではまた。