UnrealEngine4でPython リターンズ その6

今週はテクスチャーをインポートの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をオフにします。

コメントを残す