Python

【Substance Designer】Pythonでノードを移動させる

shamimatsu

バージョン2020 1.12を使用

サブスタンスデザイナーはpythonが使えるという事で検索しましたが現状だとほとんど情報が出てこなかったため、些細な事でも良いので使い方を残していこうと思いました。

選択ノードを移動させるコード

import sd
from sd.api.sdbasetypes import float2

cxt = sd.getContext()
app = cxt.getSDApplication()
UIMgr = app.getQtForPythonUIMgr()

# 選択ノードの位置を取得
sels = UIMgr.getCurrentGraphSelection()
curPos = sels[0].getPosition()

# 実行するたびに x:50 移動設定
offset = [50,0]
moveTo = [curPos[0] + offset[0],curPos[1] + offset[1]]
moveTo = float2(moveTo[0],moveTo[1])
sels[0].setPosition(moveTo)

参考サイト 説明は中国語
https://zhuanlan.zhihu.com/p/78296429

実行結果


offset = [50,0]の数値を変更すれば距離や方向も変わります。
ノードの複数移動には対応していません。for文を追加すれば可能になります。

【Substance Designer】pythonコードメモ サブスタンスデザイナーのpython情報はとても少なく、ちょっとした事でも残しておけば組み合わせでやりたい事にたどり着ける可能性もある...
ABOUT ME
shamimatsu
shamimatsu
3DCGデザイナー
ながらくゲーム業界で2D、3DCGデザイナーとして働いてきましたが、新しい業界に挑戦中です。 ブログのデザインをリニューアル中のため、見づらい箇所もあるかもしれませんが少しづつ修正していきます。
記事URLをコピーしました