2024年5月16日にSubstance 3D Painterの新バージョンである10.0がリリースされました!
Substance 3D Painter リリースノート
Contents
新機能
今回のリリースでは主に以下の4つが新機能として取り上げられています。
テキスト機能の強化
![](https://cg-journal.com/wp/wp-content/uploads/2024/06/SP_New01-1.jpg)
アセットパネルでフォントが一覧でき、ドラッグ&ドロップで気軽に使用できるようになっているようです。
![](https://cg-journal.com/wp/wp-content/uploads/2024/06/sp_text01-1024x650.jpg)
一覧できるので使いやすくなっていますね!
Adobe Illustratorファイルをサポート
![](https://cg-journal.com/wp/wp-content/uploads/2024/06/SP_New02.jpg)
Substance 3D Assetsを直接ダウンロード
![](https://cg-journal.com/wp/wp-content/uploads/2024/06/SP_New03.jpg)
Python レイヤースタックAPIの追加
![](https://cg-journal.com/wp/wp-content/uploads/2024/06/SP_New04.jpg)
効率化厨としてはPythonの拡張が気になるぞ!
イラレのファイルが読み込めるのいいなあ
パスもそのまま編集できるの?どうなの?
Adobe公式ブログでも新機能紹介記事があがっていますので要チェックです。
Pythonやってみた
layerstackモジュールが追加されたようですね。
サンプルコードを実行してみました!
import substance_painter as sp
stack = sp.textureset.get_active_stack()
stack_root_nodes = sp.layerstack.get_root_layer_nodes(stack)
bottom_layer = stack_root_nodes[len(stack_root_nodes) - 1]
position_stack_bottom = sp.layerstack.InsertPosition.below_node(bottom_layer)
my_group = sp.layerstack.insert_group(position_stack_bottom)
my_group.set_name("My Group")
my_group.set_collapsed(False)
position_group_content = sp.layerstack.InsertPosition.inside_node(my_group, sp.layerstack.NodeStack.Substack)
my_fill_layer = sp.layerstack.insert_fill(position_group_content)
my_fill_layer.set_name("My Fill Layer")
fill_layer_resource = sp.resource.search("s:starterassets "
"u:substance "
"n:Paper\\ Grainy=")[0]
my_fill_layer.set_material_source(fill_layer_resource.identifier())
position_effect_stack = sp.layerstack.InsertPosition.inside_node(my_fill_layer, sp.layerstack.NodeStack.Content)
my_fill_effect = sp.layerstack.insert_fill(position_effect_stack)
my_fill_effect.set_name("My Fill Effect")
if not my_fill_layer.has_mask():
mask_background = sp.layerstack.MaskBackground.White
my_fill_layer.add_mask(mask_background)
position_mask_effect_stack = sp.layerstack.InsertPosition.inside_node(my_fill_layer, sp.layerstack.NodeStack.Mask)
my_mask_fill_effect = sp.layerstack.insert_fill(position_mask_effect_stack)
my_mask_fill_effect.set_name("My Mask Fill Effect")
filter_resource = sp.resource.search("s:starterassets "
"u:filter "
"n:Blur=")[0]
sp.layerstack.insert_filter_effect(position_effect_stack, filter_resource.identifier())
smart_mat_resource = sp.resource.search("s:starterassets "
"u:smartmaterial "
"n:Bronze\\ Armor=")[0]
sp.layerstack.insert_smart_material(position_group_content, smart_mat_resource.identifier())
これをMeetMatくんで実行してみると、グループレイヤーや塗りつぶしレイヤー、エフェクトの追加などが自動実行されました。
![](https://cg-journal.com/wp/wp-content/uploads/2024/06/layer_edit-1.png)
フィルターなどエフェクト系の操作も出来るのは良さそうですね。
気になった方はチェックしてみてください!
https://helpx.adobe.com/substance-3d-painter/release-notes/version-10-0.html