I am on the latest beta 6 built and on max 2011, when i am in the magma flow editor and i create a vector input, connect it to scene track for example to the position of an object it works fine, but if i try to connect a float node to the scene track, for example to the z_position of an object i get the message: --Runtime error: Cannot set controller, i tried to connect it to different float values from the scene but always get this error code.
Strange, I cannot repro this here, but I don’t have 2011 installed.
Has this ever worked for you in the past? (trying to exclude the possibility for a local/localization problem).
Does it work in Max 2010?
I did this (in Max 2010 64 bit).
*Created a teapot
*Created a PRT Volume from it
*Added a KCM to the PRT Volume
*Changed the Input to Position Channel
*Added a Divide operator
*Hit Ctrl+1 to create a Float Input to divide by
*Created a Box primitive in the scene
*Connected the Float Input to the Height track of the Box
RESULT: Changing the Height of the Box now changes the color of the PRT Volume
I tried reconnecting to the Width track, to the X Position track of the Box and so on and had no problems.
Can you repeat the above steps and tell me what you are getting, then send me the whole content of the Listener after the crash (if there is more than just that error message).
Can somebody else try this in 2011 and let me know if it crashes?
ah ok works for me fine in 2010 64 too
but in 2011 it still does not work, get the same error message
Confirmed.
I get the same error in 2011.
Krakatoa_Channel_Node_Editor.ms
Line 5027
MAXScript Rollout Handler Exception
– Runtime error: Cannot set controller
OK
Ok, will ask for a 2011 install and will look at it.
To add to this somewhat, I get the same error when simply trying to copy and paste any node in the editor.
I requested an install of 2011 and should be getting it tomorrow to see what exactly is going on.
It sounds like a change in Max as this has been working in all older Max versions so far…
I received word from the Autodesk developers that this is indeed a severe bug in Max 2011 and should be nominated for a hot fix.
For now I will have to put the code in an error trap to prevent it from crashing, but until the bug is fixed, you won’t be able to connect Inputs to scene Tracks. I added an error message pupup that explains the problem and points a finger at Autodesk
We will see if we can provide an alternative mechanism (which was planned anyway) for getting to object properties to work around this.
Obviously I could not let this stand and wait for a hotfix from Autodesk, so I rewrote the Connect To Scene Track functionality for all versions of 3ds Max.
As a side effect of solving the issue with the locked controller in 2011, this also ensures that any keyframe animation created in the Input node is preserved.
In short, instead of using a single controller that is either a Bezier_Float or Point3_XYZ for Integer/Float/Vector types with a Float_Script controller used for connecting, I now use a Float_List or Point3_List controller as the parent and have the first sub-controller deal with the UI input value and keyframe animation, while the second sub-controller does the connecting, with the weights switched between 100%/0% and 0%/100% when disconnected or connected. Thus, when you animate an Input Node’s value, then connect and later disconnect, the keyframe animation now survives the change because it is in a separate channel.
Max 2011 lets me change the sub-controllers of a List controller without problems, I just cannot change the List controller to something else (but I don’t need to), so this works around the bug and provides better functionality. Older scenes will work without changes, but if you try to connect an existing Input node to a scene track in 2011, you will get a message explaining that the bug does not let you do this. The workaround is to either create a new Input node (which will use the List controllers) or copy the whole modifier (which will replace all controllers of all Input nodes with the new List controllers while preserving all data). New flows will use the new List controllers from now on. A KMF file saved from the new version will work in older versions of Krakatoa down to 1.5.0, but MAX scenes created in v1.6.0 with the new List Controllers after the next Beta build will fail to work in older versions of Krakatoa because of the different controller structure.
(EDIT: The last sentence might need revision, it would be possible to have an option in MagmaFlow to update the tracks to the older format if you intend to pass the scene to a user of pre-1.6.0 Krakatoa, except if you are running the buggy 2011 build where the controllers cannot be changed)