Ive been trying to use ICE in various ways lately, and the thing that always weirds me out is the manipulation of global data. Most of my problems are down to order of operations and cyclical conflicts, but sometimes, ICE is just plain weird. For example, can anyone explain to me what is going on in here:
Im setting global kine on an object and every time i make a change on an ICE tree, i reevaluates itself. As if that wasnt enough, the changes im making are on disconnected nodes.
Dont ask why its on a point cloud... ive been doing some other stuff and cleaned it up to try and pinpoint the problem. So far, ive got nothing.
I suppose i should look more into how ICE deals with kinematics, but if im doing something terribly wrong here, please tell me. Thanks
Joined: 10 Aug 2011, 12:35 Posts: 93 Location: Kharkov, Ukraine
As for me that's fully expected results. Use the static_kineState property with baked initial self.kine.global instead of pure self.kine.global as source, otherwise each time you are redefining your source value ( select object -> Property -> Static kine state \\ Animate -> Envelope -> set reference poses ) . The problem of unconnecdet nodes is just relates to the ICE polymorphism, by connecting nodes you enforce evaluation of types\contexts\structures of perhaps all attributes and futher evaluation of SRT offset.
Ok, thanks for your input and a quick response, guys.
I think i understand now why this happens. Will have to research more on how to avoid all the conflicts, though.
Wish there was an accurate schematic representation of complete dataflow in softimage. I know Schematic View shows operator links but it seems to have a problem with refreshing and even than, its hardly useful at all.
Not 100% on this but from my expereience the ICE Tree that lives on an object inherits its transforms and thus causes issues with evaluating the space properly. Using static kine property to use as a base for transformation calculations is good though I'd also suggest putting ICE Kine ICE Trees on an object that remains at world 0 to ensure that calculations are based off of true world space.
Yes, im aware of the multiple transforms problem. I always put an ice tree on a null that stays at the origin. (In this case, its a pointcloud, but it doesnt matter...) And i get it now why it continues adding the value to the kine.global...
Its this constant reevaluation that im still not happy about. As Mr.Core explains, this seems to be just the way ICE works, but i cant believe a simple comment node triggers the whole tree to reevaluate.
sigh.. yeah.. welcome to the party. We have some very computation heavy setups at work and simple plug / unplugs have me waiting quite a while for it to come back. It's definitely an area many of us have sent in requests for.
Users browsing this forum: No registered users and 3 guests
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot post attachments in this forum