PDA

View Full Version : MakeControllersUnique doesn't always make the controller unique


soulburn3d
03-26-2008, 10:37 PM
Just trying to confirm a bug. Make a sphere, place a bend modifier on it. Copy the sphere. Animate one of the spheres moving, and the bend amount. Now go into trackview and instance both the X position and the angle of the two objects. Now, define this function...

fn sLibGetAllControllersOnObj onwhat a =
(
if onwhat.numsubs != 0 then
(
for i = 1 to onwhat.numsubs do
(
if onwhat[i] != undefined then
(
if onwhat[i].numsubs != 0 then
(
for j = 1 to onwhat[i].numsubs do
(
if onwhat[i][j] != undefined then
(
append a onwhat[i][j]
)
)
)
)
sLibGetAllControllersOnObj onwhat[i] a
)
)
)

This collects all the controllers on an object. Now, run this...


obj = $Sphere01
a = #()
sLibGetAllControllersOnObj obj a
for i in a do
(
if (InstanceMgr.CanMakeControllersUnique obj i) == true then
(
print i
w = InstanceMgr.MakeControllersUnique obj i #individual
print w
)
)

This will find both instanced controllers, and w will print as "true" twice, which is what happens when it successfully uninstances a controller. However, if you look in max, the position is uninstanced while the angle remains instanced. Any idea why the script would print that it uninstanced the angle, but then it doesn't?

- Neil

CGTalk Moderation
03-26-2008, 10:37 PM
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.