今週はテクスチャーをインポートの2回目です。
前回はカラーテクスチャーでしたが、ノーマルマップやラフネス、メタリックなどのテクスチャーの場合です。
いつもの車は使ってないので、UE4マーケットプレイスでおなじみ『Infiltrator』の建物のテクスチャを使います。
Mayaシーンだとこんな感じです。
テクスチャーはこの2枚です。 左がORMテクスチャーで右がノーマルマップです。
ORM とは複数のチャンネルを単一のテクスチャーにまとめたもので例えば赤チャンネルはオクルージョン、緑チャンネルはラフネス、青チャンネルはメタリック、アルファに透明度など当てはめます。
これによりテクスチャーの枚数を減らして処理速度をアップできます。
Substanceツール類なら簡単にできます。
さてスクリプトです。
import os.path # テクスチャ関連のライブラリ設定 from unreal_engine.classes import TextureFactory texture_factory = TextureFactory() # パスとファイル名の設定(Mayaプロジェクトsourceimages) car_assets_dir = os.path.join(os.path.expanduser('~/Desktop'), 'Building_Alpha') # テクスチャが上書きされることを保証 texture_factory.OverwriteYesOrNoToAllState = 2 # ノーマルマップ ファイル名の設定 Building_Alpha_n_tga = os.path.join(car_assets_dir, 'Infil1_Building_Alpha_LOD_N.TGA') # 保存先のフォルダ指定(なければ作成〉 Building_Alpha_n = texture_factory.factory_import_object(Building_Alpha_n_tga, '/Game/Building_Alpha') # ORMテクスチャ ファイル名の設定 Building_Alpha_orm_tga = os.path.join(car_assets_dir, 'Infil1_Building_Alpha_LOD_M.TGA') Building_Alpha_orm = texture_factory.factory_import_object(Building_Alpha_orm_tga, '/Game/Building_Alpha') # SRGBをOff Building_Alpha_n.SRGB = False Building_Alpha_orm.SRGB = False
実は最後の2行だけが新命令で、ノーマルやラフネスをSRGBをオフにする命令です。
実行すると、読み込まれた後にSRGBをオフにします。