Other functions in Utility
on copyOption changed State do
This function will be called when copy option radio buttons are changed.
If changed then store current state to a variable copyState.
on ObjPlacer open do
This function will be called when object placer utility opened. Add About and Parameter rollout to the utility panel.
on ObjPlacer close do
This function called when object placer utility closed.
Remove About and Parameter rollout in the utility panel.
Align function calculates the transformation value of source object from a polygon or vertex of destination object. This technique is also explained in MaxScript user reference "How do I align the UVMap modifier to the selected face?" (Fig06)
fn Align souCopy desNormal pos =
Fig. 06 - NormalCalculation
worldUpVector = [0,0,1]
rightVector = normalize (cross worldUpVector desNormal)
upVector = normalize ( cross rightVector desNormal)
theMatrix = matrix3 rightVector upVector desNormal Pos
souCopy.transform = theMatrix
Align function with three arguments. A copy of source object, destination objects normal and position.
The default value of world up vector is [0, 0, 1]
Calculate right vector from world up vector and normal value
Calculate local up vector from right vector and normal value.
Store right vector, up vector normal and position to theMatrix as a matrix3 value
Set Source object transformation to theMatrix
Copy Option Function
The copy option function make copies of source object according to user's selection.
fn CopySource numCopies=
case copyState of
souCpy = for i = 1 to numCopies collect(copy sourceObj)
souCpy = for i = 1 to numCopies collect(instance sourceObj)
souCpy = for i = 1 to numCopies collect(reference sourceObj)
If copy option function called
Check the state of copy option radio buttons.
According to copy type make copy of object and store it to an array souCpy .
Script Link: Objectplacer.ms
I hope this tutorial is helpful. If u have any questions or suggestions, just mail me [email protected]