Notifications
Clear all
[Closed] MakeControllersUnique doesn't always make the controller unique
Mar 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