Reference ICE Tree on setting kine.global

Discussions about SOFTIMAGEs© Interactive Creative Environment©
User avatar
TwinSnakes007
Posts: 316
Joined: 06 Jun 2011, 14:00

Reference ICE Tree on setting kine.global

Post by TwinSnakes007 » 22 Aug 2011, 20:57

I read the manual, and searched this forum, but couldnt find an answer to why SI creates a reference ICE Tree [ice tree in italics] whenever you set kine.global on an object?

Is it just a reminder to let you know you've already set the kine.global on this particular object in this particular ICE Tree?

To see what I'm talking about:

1 - Create any object
2 - Create a regular ICE Tree on the object
3 - Set the kine.global for the object
4 - Refresh the ICE Tree

Now, if you look in the explorer for the ICE Tree, you'll see a new ICE Tree operator in Italics that has the name of the ICE Tree and the name of the object who's kine.global was set, for example: ICE Tree (cube). Now, if you remove the set data node that sets the kine.global, and then refresh the ICE Tree, the reference ICE Tree node is deleted.

It kinds sucks for me to make a video about ICE and to not know why this operator is created and under what conditions. LOL :-

-TS-

Chris_TC
Posts: 411
Joined: 22 Mar 2010, 16:43

Re: Reference ICE Tree on setting kine.global

Post by Chris_TC » 22 Aug 2011, 21:43

I think the operator is always created when you set data on another object. Since everything you do to an object receives an entry in one of its construction history stacks, I suppose it's necessary that the shared operator is put there.

User avatar
TwinSnakes007
Posts: 316
Joined: 06 Jun 2011, 14:00

Re: Reference ICE Tree on setting kine.global

Post by TwinSnakes007 » 22 Aug 2011, 21:53

Chris_TC wrote:I think the operator is always created when you set data on another object. Since everything you do to an object receives an entry in one of its construction history stacks, I suppose it's necessary that the shared operator is put there.
Yeah, Chris, that's what I thought initially, that it's storing a reference to another object in the scene. But that's not the case it seems. If you create a new scene, with just a cube, and you create a ICE Tree and set the kine.global on that cube, you'll get a reference ICE Tree node.

fabricio.chamon
Posts: 94
Joined: 09 Jun 2009, 21:47

Re: Reference ICE Tree on setting kine.global

Post by fabricio.chamon » 23 Aug 2011, 05:07

I think you always have a shared operator whenever you set anything other than ice attributes in the icetree.
If you set the cube.kine.global for example, it will show the icetree under cube->Kinematics->Global Transform in the explorer. Same is true for any other property (view visibility, for example).

I kind of like it, because you always know something is ice controlled by just looking at the operator in the explorer.

User avatar
TwinSnakes007
Posts: 316
Joined: 06 Jun 2011, 14:00

Re: Reference ICE Tree on setting kine.global

Post by TwinSnakes007 » 23 Aug 2011, 05:15

Thank you so very much! Whew, that was bothering me. So, that's really a bug then, it should be displaying that the Kine.global is being set, instead of just hanging the reference node off the root PolygonMesh node like that.

Now that I know what the reference node is for, I like it too. That's good to know.

-TS-

Chris_TC
Posts: 411
Joined: 22 Mar 2010, 16:43

Re: Reference ICE Tree on setting kine.global

Post by Chris_TC » 23 Aug 2011, 09:20

TwinSnakes007 wrote:If you create a new scene, with just a cube, and you create a ICE Tree and set the kine.global on that cube, you'll get a reference ICE Tree node.
You mean if you create an ICE tree on the cube and set the kine.global on itself?

If so, this is something you should never do. It's been explained to me on XSIBase that this leads to various issues regarding evaluation updates and whatnot. I don't remember the exact reason, but when setting the kine.global, it should never be set from an ICE tree on the same object.

User avatar
TwinSnakes007
Posts: 316
Joined: 06 Jun 2011, 14:00

Re: Reference ICE Tree on setting kine.global

Post by TwinSnakes007 » 24 Aug 2011, 00:06

Chris_TC wrote:
TwinSnakes007 wrote:If you create a new scene, with just a cube, and you create a ICE Tree and set the kine.global on that cube, you'll get a reference ICE Tree node.
You mean if you create an ICE tree on the cube and set the kine.global on itself?

If so, this is something you should never do. It's been explained to me on XSIBase that this leads to various issues regarding evaluation updates and whatnot. I don't remember the exact reason, but when setting the kine.global, it should never be set from an ICE tree on the same object.
Yeah, I read that XsiBase thread, but all that's no longer true, at least in the 2012 release its not. I can get and set the kine.global just fine on the source object's ICE Tree. I just didnt understand what the heck that reference ICE Tree operator is for.

Speaking of that XsiBase thread, that's one of my planned tutorials, coverting tranlastion into rotation, as well as doing an ICE IK tutorial - the dreaded Spider Rig. ~x(