ZBrushCentral

Geo Size Script changes the Geo Position

I’ve been working on a number of scripts that have been using the new Geometry Position and Scale parameters (which I love!), but I’ve been having an issue that I can’t overcome. For some reason, the position seems to be changing, even though I’m only setting the size. It’s weird too, because if I run the same routine outside of a loop, the position isn’t changed on the affected subtool, but when I run the routine in a loop, the position is affected. I’m totally stumped on this one… any help would be greatly appreciated!

Simple example that causes the issue:


[VarDef, mLoopTimes, 1]
[VarDef, userSize, 1]
[VarDef, objSize, 1]
[VarDef, newSize, 1]

    [VarSet, mLoopTimes, [ToolGetSubtoolsCount]]
    [VarSet, userSize, 0.5]
    [Loop, #mLoopTimes,
        [SubToolSelect, #n]
        [VarSet, objSize, [IGet, "Tool:Geometry:XYZ Size"]]
        [VarSet, newSize, objSize*userSize]
        [ISet, "Tool:Geometry:XYZ Size", #newSize]
    ,n]

I figured it out… I assumed that the set pivot wouldn’t be required for the size parameter like it would be for the size deformation… but it is. Setting and clearing the pivot fixed my issue.