ICE tree evaluation problem

Discussions about SOFTIMAGEs© Interactive Creative Environment©
User avatar
bottleofram
Posts: 355
Joined: 17 Aug 2010, 09:21

ICE tree evaluation problem

Post by bottleofram » 03 Apr 2012, 22:24

Hi guys,

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

iamVFX
Posts: 697
Joined: 24 Sep 2010, 16:28

Re: ICE tree evaluation problem

Post by iamVFX » 03 Apr 2012, 22:33

That's part of the cycle too. Most of the time ice driven kinematic cycles are not tracked by the script editor

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

Re: ICE tree evaluation problem

Post by TwinSnakes007 » 03 Apr 2012, 23:11

kine is a weird beast right now....you cant set it directly from another object, it must be from a property.

So in your tree, you're doing this:

object1.kine -> object2.kine

..and what you need to do is

object1.kine -> object3.property
object3.property -> object2.kine

Edit: SI 2013 may have addressed this issue, maybe someone who has it can check for you.
Last edited by TwinSnakes007 on 03 Apr 2012, 23:13, edited 1 time in total.

User avatar
Mr.Core
Posts: 148
Joined: 10 Aug 2011, 10:35
Skype: giga-core
Location: Kharkov, Ukraine

Re: ICE tree evaluation problem

Post by Mr.Core » 03 Apr 2012, 23:13

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.

User avatar
bottleofram
Posts: 355
Joined: 17 Aug 2010, 09:21

Re: ICE tree evaluation problem

Post by bottleofram » 04 Apr 2012, 01:36

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.

EricTRocks
Moderator
Posts: 754
Joined: 25 Nov 2009, 00:41

Re: ICE tree evaluation problem

Post by EricTRocks » 04 Apr 2012, 04:12

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.
Eric Thivierge
Lead Kraken Developer, Fabric Engine
http://fabric-engine.github.io/Kraken

User avatar
origin
Posts: 619
Joined: 09 Jun 2009, 09:59
Location: warsaw

Re: ICE tree evaluation problem

Post by origin » 04 Apr 2012, 09:50


User avatar
bottleofram
Posts: 355
Joined: 17 Aug 2010, 09:21

Re: ICE tree evaluation problem

Post by bottleofram » 04 Apr 2012, 13:09

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.

EricTRocks
Moderator
Posts: 754
Joined: 25 Nov 2009, 00:41

Re: ICE tree evaluation problem

Post by EricTRocks » 04 Apr 2012, 14:02

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.
Eric Thivierge
Lead Kraken Developer, Fabric Engine
http://fabric-engine.github.io/Kraken