PDA

View Full Version : Renaming a displace modifier


lucpet
06-14-2010, 04:09 AM
Hi,
1. I was wondering if it is possible to rename a displace modifier via maxscript
2. What does "27980" mean in the maxscript listener
3. I have two displace modifiers on a box but any attempt to set the parameters
only get set on the first one in the list and not the second displace modifier any suggestions?
Renaming them is what first comes to mind but Im lost. NOOB!

modPanel.setCurrentObject myBox.modifiers[5] -- open on 5th modifier
myBox.displace.strength = 130
myBox.displace.maptype = 2.0
modPanel.setCurrentObject myBox.modifiers[6] -- open on 6th modifier
myBox.displace.strength = 6
myBox.displace.maptype = 2.0

I'd really appreciate any advice as searching maxscript help and the forums is getting me nowhere fast.

Thanks
Luke

lucpet
06-14-2010, 06:05 AM
Well a lot of stuffing around and I've managed to rename the two displacement maps which has solved the main problem still curious about that number that the listener throws up.

The code I used btw to change the names was

modPanel.addModToSelection (Displace())
mybox.Displace.name = "Displace1"
modPanel.addModToSelection (Displace())
myBox.Displace.name = "Displace2"
modPanel.addModToSelection (Noisemodifier())
modPanel.addModToSelection (Noisemodifier())
modPanel.addModToSelection (FFD_2x2x2())
max modify mode -- open mod panel
modPanel.setCurrentObject myBox.modifiers[6] -- open on 6th modifier
myBox.turbosmooth.iterations = 3
myBox.turbosmooth.renderIterations = 6
modPanel.setCurrentObject myBox.modifiers[5] -- open on 6th modifier
myBox.displace1.strength = 130.0
myBox.displace1.maptype = 2.0
modPanel.setCurrentObject myBox.modifiers[4] -- open on 6th modifier
myBox.displace2.strength = 6
myBox.displace2.maptype = 2.0

Still got to change the noise mods but here is how I did it.
Once I've sorted it all out I'll try and write the code more efficiently....if I can lol

Luke

MatanH
06-14-2010, 08:42 AM
(
-- this function returns the Nth modifier from the given class on the given object if it exist, undefined otherwize
fn getNthModiferInstance obj modClass n =
(
local modInstances = for m in obj.modifiers where isKindOf m modClass collect m
if n <= modInstances.count then
modInstances[n]
else
undefined
)

-- Example:

-- first create the starting state
local myObject = teapot()
addmodifier myObject (displace())
addmodifier myObject (displace())

-- now rename the modifiers
local m1 = getNthModiferInstance myObject displace 1
local m2 = getNthModiferInstance myObject displace 2
if m1 != undefined then
m1.name = "I'm the 1st Displace"
if m2 != undefined then
m2.name = "I'm the 2nd Displace"
)


hope this helps

lucpet
06-14-2010, 11:34 AM
Thats a great help thank you.

Nice site btw
sigh I've got a long road ahead of me ;)

Luke

CGTalk Moderation
06-14-2010, 11:34 AM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.