
・今回は、Blender 4.0系列で頂点カラー・アルファを設定し、FBXで出力。
UnrealEngineでFBXをインポートし、マテリアルで確認するまでの流れをメモしていきます。
※検証環境は Blender4.4 UnrealEngine 5.4.4 となります。
■Blenderでの手順

・今回はこちらのGridオブジェクトに頂点カラーをつけてまいります。
頂点カラー(カラーアトリビュート)の追加
・まずは、モデルに頂点カラーを格納する場所を作ります。
1:色を付けたいオブジェクトを選択。
2:「プロパティ」ウィンドウの「データプロパティ」タブ(緑色の逆三角形アイコン)をクリック。
3:「カラーアトリビュート」セクションにある「+」ボタンをクリック。
4:新しく作成されたアトリビュートの名前を「Col」に変更。
5:ドメインを「面コーナー」に変更。
6:データタイプを「Byteカラー」に変更。
これで、頂点ごとに色情報(RGBA: 赤、緑、青、アルファ)を保持できるレイヤーが作成されました。

確認用マテリアルの新規作成と設定
頂点カラーをリアルタイムで確認できるように、特別なマテリアルを設定します。
1:「プロパティ」ウィンドウの「マテリアルプロパティ」タブ(球体アイコン)をクリックします。
2:「新規」ボタンをクリックして、新しいマテリアルを作成します。
3:作成したマテリアルの「サーフェス」にある「プリンシプルBSDF」のドロップダウンメニューから、「放射」を選択します。
・「放射」マテリアルは光源の影響を受けず、頂点カラーの純粋な色をそのまま表示してくれるため、確認に向いていると思います。

マテリアルノードで頂点カラーを接続する
・次に、作成した頂点カラー「Col」をマテリアルに反映させるようにしていきます。
1:「ノードエディター」ウィンドウで、先ほど作成したマテリアルが選択されていることを確認します。
2:「追加」 (Shift+A) メニューから「入力」> 「カラーアトリビュート」ノードを追加します。
3:「カラーアトリビュート」ノードの「名前」入力欄に「Col」と入力します。
4:続いて、「カラー」出力を「放射」マテリアルの「カラー」入力へ、
「アルファ」出力を「放射」マテリアルの「強さ」入力へ接続します。
これにより「カラー」*「アルファ」の値が返される形になります。

頂点カラーをペイントする
・ではいよいよオブジェクトに色を塗っていきます。
1:3Dビューポートでオブジェクトを選択します。
2:上部のモード選択ドロップダウンメニューから「頂点ペイント」モードに切り替えます。
3:ビューポートの左側にある「ツール」シェルフ(Tキーで表示/非表示)で、ブラシの「カラー」を選択し、色を選びます。
4:メッシュ上をドラッグして、選んだ色をペイントします。

アルファ(透過度)をペイントする
・続いて、アルファをペイントしていきます。
デフォルトは「1=表示」が入力されているので、ここでは「0=非表示」を着色していきます。
1:「ブラシ」セクションにある「ブレンド」ドロップダウンメニューから「アルファ消去」を選択します。
2:メッシュ上をドラッグして、透明にしたい部分をペイントします。
※今回は「アルファ=強度」で「カラー」と乗算しているため、黒くなった部分がアルファで消えている部分になります。

FBX形式で出力する
・最後に、設定した頂点カラーを含めてFBX形式でエクスポートします。
1:オブジェクトを選択し、「ファイル」メニューから「エクスポート」>「FBX (.fbx)」を選択します。
2:エクスポートオプションウィンドウが開きます。
3:オペレータープリセットの「内容」セクションで、「選択したオブジェクト」にチェックを入れます。
4:オブジェクトタイプで「メッシュ」のみ選択します。
5:ジオメトリ」セクションで「アクティブカラーを優先」にチェックを入れます。
6:「頂点カラー」の値は「リニア」を選択します。
7:ファイルの保存場所とファイル名を指定し、「FBXをエクスポート」ボタンをクリックします。

■UnrealEngineでの手順
・ここからはUnrealEngineでの操作になります。
FBXをインポートする
1:UE5のコンテンツブラウザにFBXファイルをドラッグ&ドロップします。
2:インポートオプションウィンドウが表示されますので、ここで「Vertex Color Import Option」を見つけ、ドロップダウンメニューから「Replace」を選択します。
▼項目メモ
・Replace: FBXファイル内の頂点カラーで、既存のものを上書きします。
・Ignore: 頂点カラーを無視します。
・Override: 後で設定する単一の色で上書きします。
※今回は頂点カラーが主題ですので、他の設定は割愛します。

確認用のマテリアルを作成&確認用にインポートしたメッシュを登録する
1:コンテンツブラウザで右クリックし、「マテリアル」を選択して新しいマテリアルを作成します。
2:作成したマテリアルをダブルクリックして、マテリアルエディタを開きます。
3:マテリアルエディタのビューポートに、コンテンツブラウザからインポートしたスタティックメッシュ(FBXで取り込んだモデル)をドラッグ&ドロップします。
4:ビューポート右下にあるアイコンをクリックし、インポートしたメッシュを表示させます。

[VertexColor]を繋いで確認する
1:「Blend Mode」を「Translucent」に、「Shading Model」を「Unlit」変更します。
2:「VertexColor」のカラー・アルファをエミッシブ・オパシティに繋いで、頂点カラーが反映されていることを確認できました。

・駆け足となりましたが、今回は以上となります。
メッシュの頂点カラー・アルファは、エフェクト表現にも活用する機会が多い手法です。
気がつくと出力・入力設定が変わっていることがあるので、一旦今のところの手順をまとめてみました。
こちらがなにか参考になれば幸いです。
コメント