[Blender][UnrealEngine]頂点カラーの入力と確認

Blender

・今回は、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」のカラー・アルファをエミッシブ・オパシティに繋いで、頂点カラーが反映されていることを確認できました。

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

コメント

タイトルとURLをコピーしました