Getting Node data from one ICE tree to another - how?

Discussions about SOFTIMAGEs© Interactive Creative Environment©
Post Reply
User avatar
Draise
Posts: 893
Joined: 09 Oct 2012, 20:48
Skype: ondraise
Location: Colombia

Getting Node data from one ICE tree to another - how?

Post by Draise » 13 May 2016, 04:10

As the title suggests, I was wondering how do I get data built from one ICE tree in another object to drive data in a second ICE tree? I can drag in somethings from the explorer, but it's red and I'm not sure which compound or node value out it's spitting out.

Any pointers?

User avatar
Mathaeus
Posts: 1778
Joined: 08 Jun 2009, 21:11
Location: Zagreb, Croatia
Contact:

Re: Getting Node data from one ICE tree to another - how?

Post by Mathaeus » 13 May 2016, 10:53

Actually you're getting data from object, not directly from ICE tree, once data is saved as attribute - that's 'set data' node. Now it depends in which context data is set - object, point, polygon, sample. If attribute lives in object context, it's a drag and drop object into ICE tree, and object reference (''get cylnder'' or something), plugged into another "get data" from 'out name' to 'in name'. 'Object context' means that attribute is not attached to any particular component ( point or so).
In case of per point context, you get by ID matching, using 'point index to location' or 'ID to location', or, in case
of two identical meshes, there's ''switch context''. Or, by some spatial query like 'get closest location', raycast and so.
Context in ICE is generally defined automatically. As a rule of thumb, if there is point position somewhere in node chain that ends with set data node, data is set in per point context. If there is no point position (or polygon position, or other component), that's per object context.

User avatar
Draise
Posts: 893
Joined: 09 Oct 2012, 20:48
Skype: ondraise
Location: Colombia

Re: Getting Node data from one ICE tree to another - how?

Post by Draise » 13 May 2016, 16:59

Ah.... so if I have a string, integer or any other scaler or boolean, I'd need to store that in a Set Data system back into an object in order to "access" that attribute in another icetree?

Ah ok....

Now, I built an array of say.. strings: I'd have to "setdata" each item in the array to an arbitrary text/object location or something, like into an array of nulls - I set that array data to them to then pull it into the other trees with other icetrees - because I now have set that icetree data to an arbitrary object, which I can then pull like any other attribute??

There is no way I can bypass the setting data, so I can pull half processed node data from one tree to another?

User avatar
Mathaeus
Posts: 1778
Joined: 08 Jun 2009, 21:11
Location: Zagreb, Croatia
Contact:

Re: Getting Node data from one ICE tree to another - how?

Post by Mathaeus » 13 May 2016, 18:36

Draise wrote: There is no way I can bypass the setting data, so I can pull half processed node data from one tree to another?
As far as I know, not possible in ICE or Houdini VopSop. Anything you have in one ICE node chain (or entire H VopSop) it is just a logic, which is evaluated only if there is ICE 'set data' at the end, plugged into ICE root node - or some way to export attribute in H. Otherwise this is a set of more or less 'dead' nodes - ICE will checkout them in some cases, but will not calculate any result.
Anyway you can set data on another object, not 'self', but this is still 'data on object'.
By the way if we are talking about ICE kinematics and 'setting data on group', I'm not experienced here. Anyway, should be some tutorial to find, probably on xsisupport.

User avatar
Draise
Posts: 893
Joined: 09 Oct 2012, 20:48
Skype: ondraise
Location: Colombia

Re: Getting Node data from one ICE tree to another - how?

Post by Draise » 09 Jun 2016, 07:30

Found a way.

You can Set Data on any value or data by creating a custom attribute and then by loging that value in the Set Data node - anything works.

In the second icetree, you can Get Data of that particular attribute and then use it for whatever.

Simple!!! #:-s

(I didn't know you could make custom Set Data attributes @-) )

User avatar
FXDude
Posts: 1129
Joined: 19 Jun 2012, 21:59

Re: Getting Node data from one ICE tree to another - how?

Post by FXDude » 09 Jun 2016, 15:11

Huh! Nice find *-:)

Bullit
Moderator
Posts: 2621
Joined: 24 May 2012, 09:44

Re: Getting Node data from one ICE tree to another - how?

Post by Bullit » 09 Jun 2016, 16:31

I think that is fundamental ICE, it was designed that way.

NNois
Posts: 754
Joined: 09 Jun 2009, 20:33

Re: Getting Node data from one ICE tree to another - how?

Post by NNois » 09 Jun 2016, 23:43

Bullit wrote:I think that is fundamental ICE, it was designed that way.
Hi,
I think it's not ICE particularly but it's a general 3D concept.

ICE open you eyes on "datas", Houdini open your eyes on "attributes", then you get the picture.

Every 3D program use theses concepts, arrays, vectors, point position, normals, floats, weight map, uvws, clusters, etc... that's simply fuking datas recorded on points or on vertex or on polygons (called primitives on Houdini) or directly on the object.

There you go, when you get that, well you can surely understand 99% of all the tools or concept out there, context problems, attributes create/transfert/promote etc.

User avatar
Draise
Posts: 893
Joined: 09 Oct 2012, 20:48
Skype: ondraise
Location: Colombia

Re: Getting Node data from one ICE tree to another - how?

Post by Draise » 10 Jun 2016, 02:28

Yeah, true. The get/set data from 3D elements to data elements is rather universal - some software more UX friendly than others - other more optimized than others - other less code prone than others.

I actually started node programming in trueSpace, lol. Made it easier to pick up ICE... and now that I'm picking up ICE I am opening up multitudes of doors to a lot of other things too the more I learn! I am sure it will transfer to Fabric Engine quite nicely one day.

Bullit
Moderator
Posts: 2621
Joined: 24 May 2012, 09:44

Re: Getting Node data from one ICE tree to another - how?

Post by Bullit » 10 Jun 2016, 04:38

I don't think it is the same concept because it is arbitrary, in the sense you can go to any data avaialable.

User avatar
Draise
Posts: 893
Joined: 09 Oct 2012, 20:48
Skype: ondraise
Location: Colombia

Re: Getting Node data from one ICE tree to another - how?

Post by Draise » 14 Jun 2016, 08:09

Well.. integers between trees work nicely.. but for the life of me I can't get Strings or String arrays to transfer between trees. I thought it was working, but apparently it's not. :(

User avatar
Draise
Posts: 893
Joined: 09 Oct 2012, 20:48
Skype: ondraise
Location: Colombia

Re: Getting Node data from one ICE tree to another - how?

Post by Draise » 15 Jun 2016, 07:12

Ok, found that if I "Showed Values" from the referenced String Array, it forced the icetree to update what I needed it to do to the text files I was pulling the strings for, beautiful.. but odd.

That wasw a few hours late at night I lost, but glad it worked this time around.

NNois
Posts: 754
Joined: 09 Jun 2009, 20:33

Re: Getting Node data from one ICE tree to another - how?

Post by NNois » 15 Jun 2016, 11:46

You should really read the docs and don't blame the software !

scroll to Beware of ICE Optimizations (copy past the text, the forum has a bug displaying this link)
http://docs.autodesk.com/SI/2015/ENU/#!/url=./files/ICE_trees_GettingandSettingDatainICETrees.htm#WSB74EE070EB80114199F4C921243896F3-001F

or this link from the old doc http://download.autodesk.com/global/doc ... d30e267485

please note that in 2015 you can force an evaluation with the new ICE attribute editor http://docs.autodesk.com/SI/2015/ENU/#! ... Editor.htm

nono

User avatar
Draise
Posts: 893
Joined: 09 Oct 2012, 20:48
Skype: ondraise
Location: Colombia

Re: Getting Node data from one ICE tree to another - how?

Post by Draise » 15 Jun 2016, 16:48

Thanks again.

Yehp, I read through one of them a couple of times but half the words in it is not in a lingo I am easy to comprehend. I guess I'm more of a "kinetic" hands-on kind of learner (which would kill most teachers in their efforts to educate me). But now after having done it, I understand the documentaiton a lot better. ;))

I noticed the "Show Values" option to force evaluate the tree was mentioned in there and also it is what I mentioned earlier.

I'll definately apply the attribute editor modifications - that is new info. Thanks again. Really appreciated.

Post Reply

Who is online

Users browsing this forum: No registered users and 33 guests