スタジオブロス TECH BLOG

スタジオブロススタッフからの最新ツール情報やチュートリアル・TIPSなどを紹介します

UnrealEngine4でPython リターンズ その6

今週はテクスチャーをインポートの2回目です。

前回はカラーテクスチャーでしたが、ノーマルマップやラフネス、メタリックなどのテクスチャーの場合です。

いつもの車は使ってないので、UE4マーケットプレイスでおなじみ『Infiltrator』の建物のテクスチャを使います。

www.unrealengine.com

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をオフにします。