Forcing data on ice-trees to be persistent.

22 views
Skip to first unread message

Jules Stevenson

unread,
Mar 14, 2013, 12:02:26 PM3/14/13
to soft...@listproc.autodesk.com
I'm building a tool which sets data to weights via ICE (an auto weighter). What I need it to do is working great, however, as it's ICE, it executes all the time - whenever a deformer is moved it re-evaluates the tree. The tree is slow. What I really need is some way of making the ice data persistent without constantly re-evaluating, In an ideal world this would mean when I disconnect the Ice Node, the data that it has written to the weights *doesn't* disappear. 

I know the easiest way to achieve this is freeze the object, but because this is an iterative user tool it's not an ideal workflow. Anyone got an ideas if something like this is possible?

Many thanks,

Jules


Vladimir Jankijevic

unread,
Mar 14, 2013, 12:09:37 PM3/14/13
to soft...@listproc.autodesk.com
cache it and use a switch to load the cached data or re-evaluate the tree.
--
---------------------------------------
Vladimir Jankijevic
Technical Direction

Elefant Studios AG
Lessingstrasse 15
CH-8002 Zürich

+41 44 500 48 20

www.elefantstudios.ch
---------------------------------------

Jules Stevenson

unread,
Mar 14, 2013, 12:19:09 PM3/14/13
to soft...@listproc.autodesk.com
Doh, of course. Thanks Vladimir.

Jules Stevenson

unread,
Mar 14, 2013, 2:44:57 PM3/14/13
to soft...@listproc.autodesk.com
Hmm, actually this is not so cool - just the process of reading in the cached attribute required (a copy of EnvelopeWeightsPerDeformer) and setting it to the envelope weights is slowing down the env operator to a pretty unintuitive level... This leaves no room for optimization as far as I can see, there's nothing simpler I can do. Any one have any other thoughts on methods to use for this?

Steven Caron

unread,
Mar 14, 2013, 2:52:45 PM3/14/13
to soft...@listproc.autodesk.com
hey jules

so you are setting the weights in the modeling stack? and using them in the animation stack?

s

Jules Stevenson

unread,
Mar 14, 2013, 4:02:07 PM3/14/13
to soft...@listproc.autodesk.com

Hey Steven, yep

Grahame Fuller

unread,
Mar 14, 2013, 5:56:57 PM3/14/13
to soft...@listproc.autodesk.com
And the inputs to the weighting tree aren't changing?

I can't test this quickly myself, but maybe try setting the weights using a tree on a different object, e.g., a "weighter" null.

gray

From: softimag...@listproc.autodesk.com [mailto:softimag...@listproc.autodesk.com] On Behalf Of Jules Stevenson
Sent: Thursday, March 14, 2013 04:02 PM
To: soft...@listproc.autodesk.com
Subject: Re: Forcing data on ice-trees to be persistent.


Hey Steven, yep
On Mar 14, 2013 6:53 PM, "Steven Caron" <car...@gmail.com<mailto:car...@gmail.com>> wrote:
hey jules

so you are setting the weights in the modeling stack? and using them in the animation stack?

s

On Thu, Mar 14, 2013 at 11:44 AM, Jules Stevenson <droo...@googlemail.com<mailto:droo...@googlemail.com>> wrote:
Hmm, actually this is not so cool - just the process of reading in the cached attribute required (a copy of EnvelopeWeightsPerDeformer) and setting it to the envelope weights is slowing down the env operator to a pretty unintuitive level... This leaves no room for optimization as far as I can see, there's nothing simpler I can do. Any one have any other thoughts on methods to use for this?

On Thu, Mar 14, 2013 at 4:19 PM, Jules Stevenson <droo...@googlemail.com<mailto:droo...@googlemail.com>> wrote:
Doh, of course. Thanks Vladimir.

On Thu, Mar 14, 2013 at 4:09 PM, Vladimir Jankijevic <vlad...@elefantstudios.ch<mailto:vlad...@elefantstudios.ch>> wrote:
cache it and use a switch to load the cached data or re-evaluate the tree.

On Thu, Mar 14, 2013 at 12:02 PM, Jules Stevenson <droo...@googlemail.com<mailto:droo...@googlemail.com>> wrote:
I'm building a tool which sets data to weights via ICE (an auto weighter). What I need it to do is working great, however, as it's ICE, it executes all the time - whenever a deformer is moved it re-evaluates the tree. The tree is slow. What I really need is some way of making the ice data persistent without constantly re-evaluating, In an ideal world this would mean when I disconnect the Ice Node, the data that it has written to the weights *doesn't* disappear.

I know the easiest way to achieve this is freeze the object, but because this is an iterative user tool it's not an ideal workflow. Anyone got an ideas if something like this is possible?

Many thanks,

Jules





--
---------------------------------------
Vladimir Jankijevic
Technical Direction

Elefant Studios AG
Lessingstrasse 15
CH-8002 Zürich

+41 44 500 48 20<tel:%2B41%2044%20500%2048%2020>

www.elefantstudios.ch<http://www.elefantstudios.ch>
---------------------------------------



winmail.dat

Steven Caron

unread,
Mar 14, 2013, 6:06:21 PM3/14/13
to soft...@listproc.autodesk.com
can you explain the 'iterative' part? cause freezing the modeling stack would do it.

On Thu, Mar 14, 2013 at 1:02 PM, Jules Stevenson <droo...@googlemail.com> wrote:

Hey Steven, yep

Vladimir Jankijevic

unread,
Mar 15, 2013, 6:14:35 AM3/15/13
to soft...@listproc.autodesk.com
one other thing you could try if the caching is to slow, is to set your ICE data through script and disconnect the tree to prevent re-evaluation. then, if something needs to be changed in the data, reconnect the tree, evaluate and set the data again with script. just an idea, didn't test it, but I have similar setups where the user selects some polygons and assigns ICE data to them. Those are persistent when set by script. Other trees can read them and do stuff with it. Hope this makes sense :)

Cheers
Vladimir
--
---------------------------------------
Vladimir Jankijevic
Technical Direction

Elefant Studios AG
Lessingstrasse 15
CH-8002 Zürich

+41 44 500 48 20

www.elefantstudios.ch
---------------------------------------
Reply all
Reply to author
Forward
0 new messages