Getting Parameter Collector functionality into an Attribute Holder?

Hi guys,

I just discovered the Parameter Collector in Max and really like the functionality of it ESPECIALLY the multiple edit button that allows you to change all values of selected spinners at once.

Does anyone know how to duplicate this functionality so you could script it into an object's custom attributes so you'd have access to it in the modify panel instead of having to keep the Parameter Collector dialogue box open all the time?

I attached a screen shot of how it works.

Thanks for any help. I want to use this on my rig :)

AttachmentSize
parameterCollector.gif19.56 KB

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
isischaub's picture

hi, someone can help me ... i

hi,

someone can help me ... i don't understand:

"I dropped your code into my Custom Attributes"

how do you do that ?

thanks

pacermike's picture

Hi isischaub, I took his code

Hi isischaub,

I took his code and copy/pasted it in to my Custom Attributes.

you have to write your own Custom Attributes script, like this:

myCA = attributes caTest
(
local x -- declare locals if you need them up here
local y
local z

parameters main rollout:something
(
spin_o_tronic type:#integer ui:spn_spinO
)

rollout something "The Something Rollout!" -- these ui elements will be added
(
spinner spn_spinO "Spin-O-Tronic!"
button btn_boink "Boink!"
)

on btn_boink pressed do -- event handler
(
messageBox "S'poink!"
)
) -- this is the end of the custom attributes definition

After you run your Custom Attributes script it'll return your definition. This one would be "myCA"

Then you have to pick the thing you want to apply your Custom Attribute to. So if you have a mesh with a Morpher Modifier on it you select the mesh and then type in the Listener:

custAttributes.add $.Morpher myCa

Once you evaluate, all the UI items will pop up in the Morpher Modifier, in this case a spinner and a Boink! button.

Anubis's picture

Hi Isischaub, I do not know

Hi Isischaub,
I do not know if you are familiar enough with Custom Attributes. They have parameters block and rollout. The example code below is a part of the rollout body.

my recent MAXScripts RSS (archive here)

pacermike's picture

Awesome, thanks man. This

Awesome, thanks man.

This definitely gives me someplace to start. I dropped your code into my Custom Attributes and when I checked the box all spinners manipulated at once!

I'm going to try to modify it now so that each spinner (I have eleven for my eye control) will have a checkbox. Any spinner whose check box = true will be manipulated at the same time, AND be relative.

So if spinnerX is already set to 0.5 and it's now controlling spinnerY which is at 0.0, when spinnerX = 0.7 then spinnerY will equal 0.2. You know what I mean? It'll basically add or subtract from the spinner's original value until it min or max's it value range.

Anyway, I think it's off to a good start.

Thanks again. :)

Anubis's picture

( spinner x_pos "X

(
	spinner x_pos "X Position" range:[-1000,1000,0]
	spinner y_pos "Y Position" range:[-1000,1000,0]
	spinner z_pos "Z Position" range:[-1000,1000,0]
 
	checkbox wireXYZ "Wire XYZ" checked:false
 
	on x_pos changed val do
	(
		if wireXYZ.checked do
			y_pos.value = z_pos.value = val
	)
 
	on y_pos changed val do
	(
		if wireXYZ.checked do
			x_pos.value = z_pos.value = val
	)
 
	on z_pos changed val do
	(
		if wireXYZ.checked do
			x_pos.value = y_pos.value = val
	)
)

my recent MAXScripts RSS (archive here)

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.