ギズモの位置をサブツール間でコピペするマクロ(になる予定)
追記2023/04/24:完成版
http://zbrushcentral.jp/topic/1416/starworshipperの裁縫箱/47
一時保存がないので公開状態ですが、色々問題あります。
位置は大丈夫そうなのですが、軸コピーがとてもきな臭いです。
マーカスさんからTransposeGetでギズモの位置も記録できると教えて頂いたので、マクロを作ってみました。
ギズモだけでなく、由緒正しきトランスポーズラインの一時保存的な使い方もできます。
そんなにサブツール間で位置保持したいなら最初からトランスポーズライン使えと
マクロのフォルダにこんな感じでtxtと空フォルダを配置すると、
ギズモの位置をサブツール間でやり取りできるマクロの出来上がりです
(フォルダにギズモの位置を記録するための情報が入ります)
コピー側で「GizmoCopy」して、ペースト側で「GizmoPaste」押す。
それだけです。
コピペできないときは、ペーストする側のギズモをほんの少し動かしてから、もう一度ペーストしてみてください。
何故か分かりませんが、複数回ペーストするとこの問題が発生します。
また、数字を見てもらうとわかりますが、ただGetしてSetしてるだけなのに、
処理の過程でほんの少し数値が丸められてしまうようです。
完全完璧な位置コピーではありません。
更にコピーの過程で、コピー元のギズモの角度で、+ー方向やXYZが入れ替わったり、
ひどいと目に見えるくらいで地味にずれてます。凶悪です。
GizmoCopy.txt
//ZBRUSH MACRO - Recorded in ZBrush version 2020
//最初にフォルダ作らないと動かない
[IButton,???,"Copy the Gizmo and Transpose Position.",
[IShowActions,0]
[IConfig,2021]
// [VarDef, qwSTN, [SubToolGetCount]]
[VarSet, qwxPos, 0]
[VarSet, qwyPos, 0]
[VarSet, qwzPos, 0]
[VarSet, qwRedx, 0]
[VarSet, qwRedy, 0]
[VarSet, qwRedz, 0]
[VarSet, qwGreenx, 0]
[VarSet, qwGreeny, 0]
[VarSet, qwGreenz, 0]
[VarSet, qwBluex, 0]
[VarSet, qwBluey, 0]
[VarSet, qwBluez, 0]
[VarSet, qwendx, 0]
[VarSet, qwendy, 0]
[VarSet, qwendz, 0]
[VarSet, qwTLength, 0]
[TransposeGet, qwxPos, qwyPos, qwzPos,
qwendx,qwendy,qwendz,qwTLength,//終端側の位置、そして長さ
qwRedx,qwRedy,qwRedz,
qwGreenx,qwGreeny,qwGreenz,
qwBluex,qwBluey,qwBluez
]
[VarSet, qwFFLUSH, [StrMerge,"x:",qwxPos,
", y:",qwyPos,
", z:",qwzPos
]]
[Note, qwFFLUSH]
[VarSave, qwxPos, "Rtem/qwxPos"]
[VarSave, qwyPos, "Rtem/qwyPos"]
[VarSave, qwzPos, "Rtem/qwzPos"]
[VarSave, qwRedx, "Rtem/qwRedx"]
[VarSave, qwRedy, "Rtem/qwRedy"]
[VarSave, qwRedz, "Rtem/qwRedz"]
[VarSave, qwGreenx, "Rtem/qwGreenx"]
[VarSave, qwGreeny, "Rtem/qwGreeny"]
[VarSave, qwGreenz, "Rtem/qwGreenz"]
[VarSave, qwBluex, "Rtem/qwBluex"]
[VarSave, qwBluey, "Rtem/qwBluey"]
[VarSave, qwBluez, "Rtem/qwBluez"]
[VarSave, qwendx, "Rtem/qwendx"]
[VarSave, qwendy, "Rtem/qwendy"]
[VarSave, qwendz, "Rtem/qwendz"]
[VarSave, qwTLength, "Rtem/qwTLength"]
]
GizmoPaste.txt
//ZBRUSH MACRO - Recorded in ZBrush version 2020
[IButton,???,"Press to run this macro. Macros can be aborted by pressing the ëescí key.",
[IShowActions,0]
[IConfig,2021]
[VarSet, qwxPos, 0]
[VarSet, qwyPos, 0]
[VarSet, qwzPos, 0]
[VarSet, qwRedx, 0]
[VarSet, qwRedy, 0]
[VarSet, qwRedz, 0]
[VarSet, qwGreenx, 0]
[VarSet, qwGreeny, 0]
[VarSet, qwGreenz, 0]
[VarSet, qwBluex, 0]
[VarSet, qwBluey, 0]
[VarSet, qwBluez, 0]
[VarSet, qwendx, 0]
[VarSet, qwendy, 0]
[VarSet, qwendz, 0]
[VarSet, qwTLength, 0]
[VarLoad, qwxPos, "Rtem/qwxPos"]
[VarLoad, qwyPos, "Rtem/qwyPos"]
[VarLoad, qwzPos, "Rtem/qwzPos"]
[VarLoad, qwRedx, "Rtem/qwRedx"]
[VarLoad, qwRedy, "Rtem/qwRedy"]
[VarLoad, qwRedz, "Rtem/qwRedz"]
[VarLoad, qwGreenx, "Rtem/qwGreenx"]
[VarLoad, qwGreeny, "Rtem/qwGreeny"]
[VarLoad, qwGreenz, "Rtem/qwGreenz"]
[VarLoad, qwBluex, "Rtem/qwBluex"]
[VarLoad, qwBluey, "Rtem/qwBluey"]
[VarLoad, qwBluez, "Rtem/qwBluez"]
[VarLoad, qwendx, "Rtem/qwendx"]
[VarLoad, qwendy, "Rtem/qwendy"]
[VarLoad, qwendz, "Rtem/qwendz"]
[VarLoad, qwTLength, "Rtem/qwTLength"]
[TransposeSet, qwxPos, qwyPos, qwzPos,
qwendx,qwendy,qwendz,qwTLength,//終端側の位置、そして長さ
qwRedx,qwRedy,qwRedz,
qwGreenx,qwGreeny,qwGreenz,
qwBluex,qwBluey,qwBluez
]
[VarSet, qwFFLUSH, [StrMerge,"x:",qwxPos,
", y:",qwyPos,
", z:",qwzPos
]]
[Note, qwFFLUSH]
]