マテリアル内にパラメーターノードをPythonで大量に作る方法を解説しました。
手動でパラメータを一つずつ作成する手間を省き、
大量のパラメータを一度に作成できます。
これにより、特に複雑なマテリアルを作成する際の作業時間を短縮できるでしょう。
例えば、カスタムステンシルバリューを使って複数の同パラメーターを作るケース…など。
管理人がYouTubeで解説!
サンプルコード
import unreal
# 選択したマテリアルを取得する
editor_util = unreal.GlobalEditorUtilityBase.get_default_object()
assets = editor_util.get_selected_assets()
materials = unreal.EditorFilterLibrary.by_class(assets, unreal.Material)
material = materials[0]
# パラメーターを作成する
for i in range(1, 11):
scalar_parameter =\
unreal.MaterialEditingLibrary.create_material_expression(
material,
unreal.MaterialExpressionScalarParameter,
-200.0,
100 * (i-1)
)
scalar_parameter.set_editor_property("parameter_name", "Width {:0=2}".format(i))
scalar_parameter.set_editor_property("sort_priority", i)
scalar_parameter.set_editor_property("group", "Base Color Line")
このPythonスクリプトを使用することで、
Unreal Engineのマテリアルエディタに多数のスカラーパラメータを効率的に作成できます。
Pythonでパラメーターを作るメリット
- 自動化による効率化
手動でパラメータを一つずつ作成する手間を省き、
大量のパラメータを一度に作成できます。
これにより、特に複雑なマテリアルを作成する際の作業時間を大幅に短縮できます。 - 正確性向上
スクリプトを使用することで、パラメータの名前や配置を正確に制御できます。
手動での作成にありがちなタイプミスや配置ミスを防ぎ、マテリアルの管理を容易にします。 - 柔軟性
スクリプトのパラメータを変更することで、
作成するパラメータの数、名前、配置などを自由にカスタマイズできます。
これにより、様々なマテリアル作成のニーズに対応できます。 - 再現性
スクリプトを使用することで、
同じパラメータ構成のマテリアルを簡単に再現できます。
これにより、プロジェクト間でのマテリアルの共有や再利用が容易になります。
まとめ
Pythonでパラメーターを使って作るメリットは、
Sort PriorityとGroupも設定できることです。
これは手作業でやるのはかなり面倒くさいんですよね。
先にパラメーターの設計ができていれば自動で作る恩恵は大いにあるでしょう。
是非、試してみてくださいね。
おすすめ書籍
Unreal Engine 5 では、Python 3 を採用しています。
Python初心者には少しオライリーの書籍は難しい書き方?翻訳?なのですが、
ガチでやりたい方にはオススメします。
また、以前の私のように知識がPython2で止まってるー!って方にもオススメです。
コメント