Getting Node data from one ICE tree to another - how?
Getting Node data from one ICE tree to another - how?
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?
Any pointers?
Re: Getting Node data from one ICE tree to another - how?
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.
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.
Re: Getting Node data from one ICE tree to another - how?
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?
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?
Re: Getting Node data from one ICE tree to another - how?
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.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?
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.
Re: Getting Node data from one ICE tree to another - how?
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!!!
(I didn't know you could make custom Set Data attributes )
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!!!
(I didn't know you could make custom Set Data attributes )
Re: Getting Node data from one ICE tree to another - how?
Huh! Nice find
Re: Getting Node data from one ICE tree to another - how?
I think that is fundamental ICE, it was designed that way.
Re: Getting Node data from one ICE tree to another - how?
Hi,Bullit wrote:I think that is fundamental ICE, it was designed that way.
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.
Re: Getting Node data from one ICE tree to another - how?
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.
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.
Re: Getting Node data from one ICE tree to another - how?
I don't think it is the same concept because it is arbitrary, in the sense you can go to any data avaialable.
Re: Getting Node data from one ICE tree to another - how?
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.
Re: Getting Node data from one ICE tree to another - how?
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.
That wasw a few hours late at night I lost, but glad it worked this time around.
Re: Getting Node data from one ICE tree to another - how?
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
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
Re: Getting Node data from one ICE tree to another - how?
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.
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.
Who is online
Users browsing this forum: No registered users and 33 guests