Notifications
Clear all

[Closed] MakeControllersUnique doesn't always make the controller unique

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