### Keep up-to-date with Free tutorials!!

Sign me up to receive third-party emails from 3dtotal's partners, too!

- Latest news
- Exclusive Shop Offers
- Preview early content
- Plus much more

Not Ready to take that step? OK, Why not just Subscribe to the RSS Feed

1 | 2 | 3
Developing a Scripted Utility

| 34260 Views
| 0
Software used:
Keywords:

## Other functions in Utility

on copyOption changed State do
(
copyState=State
)

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
(
removeRollout Abt
removeRollout Param
)

This function called when object placer utility closed.

Remove About and Parameter rollout in the utility panel.

## Align function

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)

Fig. 06 - NormalCalculation

fn Align souCopy desNormal pos =
(
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
(
1:
souCpy = for i = 1 to numCopies collect(copy sourceObj)
2:
souCpy = for i = 1 to numCopies collect(instance sourceObj)
default:
souCpy = for i = 1 to numCopies collect(reference sourceObj)
)
return souCpy

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 .

Return souCopy.

I hope this tutorial is helpful. If u have any questions or suggestions, just mail me sathish101@gmail.com.

## < previous page

1 | 2 | 3
Related Tutorials

Hard Surface Essentials

by Grant Warwick
published on 2010-05-06

Keywords: surface, essentials, modeling, max,

(32)
2 89059

'I Have to Plant a Hell of a Lot of XYZ'

by Anselm v. Seherr-Thoß aka PsychoSilence
published on 2009-06-16

(0)
0 44420

Fake GI

by Bonar Siregar
published on 2009-12-09

Keywords: fake, gi, global, illumination, max,

(2)
0 30539

Quick Lava Tutorial

by Jonas Ussing
published on 2009-12-09

Keywords: modeling, stream, lava, max,

(4)
1 42760