画像のRGBAをMODOの各チャンネルに割り当てゲームエンジンに渡すには


https://www.youtube.com/watch?v=4YzxkKPN0BY

今回は、画像のRGBAチャンネルを、マテリアルの各チャンネルに割り当てて、そのままUnrealへと渡す方法についてご紹介します。

まずはMODOの中でサンプルとなるメッシュを作り、Unrealマテリアルを割り当てます。今回、サンプルとして使用する画像には、わかりやすいようにRGBA各チャンネルにそれぞれRGBAというアルファベットを書き込んでいます。

それでは、まずはUnrealマテリアルでマテリアルを設定します。ベースカラーは赤、ラフネスの値は0%に設定しておきましょう。

シェーダツリーから画像クリップブラウザを使用で、読み込んでおいた画像を選択します。デフォルトではエフェクトがディフューズの色になっていますので、まずはこれをUnreal Metalicへと変更します。

テクスチャレイヤーのタブから、スウィズルオプションをオンにし、チャンネルRedに指定します。こうすることで、画像の中の赤のチャンネルの値だけを使用することになります。同様に、画像テクスチャを複製し、今度はエフェクトをUnreal Specularへ、そしてチャンネルをGreenに指定します。もう一度、画像テクスチャを複製し、エフェクトをEmmisive Color、そしてチャンネルをBlueに指定します。これで一枚のRGBに含まれる三つのチャンネルの値を、それぞれ別々のエフェクトとして設定することができました。

Unrealとブリッジツールで接続したら、まずはメッシュを送り出し、使用しているテクスチャを送り出し、最後にこのマテリアルを送り出しましょう。Unreal側で自動的に設定されたマテリアルを確認してみると、RGBがそれぞれチャンネルに接続されていることがわかります。

このようにスウィズル機能を使うことで、一枚の画像で複数のチャンネルの値を保存しておくことができるため、必要な情報をコンパクトにまとめることができるようになります。