Page 1 of 1

Access Instance Object Attributes

Posted: 03 Apr 2017, 10:38
by oktawu
Hello all,

I would like to know if it is possible to access an instanced object attributes / deformers / modifiers, other than the ones showing up in the get data node.
To explain myself better, i will give you a quick example. Say i have a cylinder with a bend deformer on it, that is instanced in an ICE pointcloud.
I want to access the deformer and randomize some values, so that each instance will have a different bend angle.
So far, i haven't found a way to do that.

Is this even possible in ice?

Thanks.

Re: Access Instance Object Attributes

Posted: 03 Apr 2017, 15:47
by Draise
Good question. I'd love to know if this is possible too!

Re: Access Instance Object Attributes

Posted: 03 Apr 2017, 17:32
by rray
Instances just show the output mesh of the instance master, they don't have a construction history of their own. It's limiting, but it's also why you can have millions of them.

There's a workaround that might or might not work for you. You can set the point in time for each instance separately using an ICE point attribute. So say you have an bend left animations on frames 1-10, and a bend backward animation on frames 11-20 on your master, you could use this to control what animation is shown on each instance.

Also you can instance from a group and pick the object index in the group using a different point attribute - that also gives you back a bit more control.

For full access to the contruction history, you'll need duplicates. What also could work is to use ICE modeling to build a single mesh out of the instances, and then deform that using ICE. Involves a bit of picking apart the indiviual instances though. Modulo of point ID might work for that.

Re: Access Instance Object Attributes

Posted: 04 Apr 2017, 08:56
by NNois
Hi, to follow the rray answer on picking a frame from an animation.
Don't forget to pick an integer frames on your instance master, to get multiple instance with exactly the same frame.
In the other case you may completely get out of memory...

Re: Access Instance Object Attributes

Posted: 04 Apr 2017, 14:01
by Draise
Group instancing with the array sounds like the easiest one to me.

Though I am extremely interested in the Animation offset. How do you do that?

Re: Access Instance Object Attributes

Posted: 04 Apr 2017, 14:24
by oktawu
I believe that is only possible with arnold. Redshift unfortunately does not support instance time offsets.
The xsi viewport updates correctly, but the instance animation is reset at rendertime.

Re: Access Instance Object Attributes

Posted: 05 Apr 2017, 09:40
by NNois
It's possible with the "shape instance time" ice attribute. by default this follow the curent time so if your master is animated the instance are animated. but you can modify that or freeze it etc...
So in your case you can pick a particular frame for each instances

Re: Access Instance Object Attributes

Posted: 05 Apr 2017, 10:46
by oktawu
From the redshift devs themselves: :"Unfortunately, Redshift does not currently support instancing of meshes with deforming animations using the ‘Set Particle Instance Animation Time’ node. Basically Redshift cannot currently have different instances of the same mesh sampled at different points in time if the mesh’s geometry is changing. ‘Set Particle Instance Animation Time’ will work with animated transformations, but not deformations. It’s on our TODO list to fix." - BTW , it's been like that for 3 years now, and since xsi got discontinued, there are almost zero chances that this will ever get solved.

PS. Just ran quick test, using the set particle instance time node. In the viewport everything works. At rendertime it's broken.

Re: Access Instance Object Attributes

Posted: 05 Apr 2017, 12:51
by Pooby
as a Highly inefficient workaround, you can cache the object, duplicate it multiple times, and offset the cache on each one to make a bunch of animated meshes with different start times.
Then put those in a group and ICE instance the group.
Effectively then you can swap between them on your ice tree to the same visual effect as offsetting the animation.

Re: Access Instance Object Attributes

Posted: 07 Apr 2017, 12:04
by NNois
but forget about motion blur...
That's exactly why personnaly I give up quickly Softimage when i saw how well motion blur is working on Houdini, the trail SOP, the packed primitives...
Pooby wrote:as a Highly inefficient workaround, you can cache the object, duplicate it multiple times, and offset the cache on each one to make a bunch of animated meshes with different start times.
Then put those in a group and ICE instance the group.
Effectively then you can swap between them on your ice tree to the same visual effect as offsetting the animation.

Re: Access Instance Object Attributes

Posted: 09 Apr 2017, 17:49
by Pooby
I always forget about motion blur as I do it in post

Re: Access Instance Object Attributes

Posted: 10 Apr 2017, 03:04
by FXDude
oktawu wrote:From the redshift devs themselves: :"Unfortunately, Redshift does not currently support instancing of meshes with deforming animations using the ‘Set Particle Instance Animation Time’ node. Basically Redshift cannot currently have different instances of the same mesh sampled at different points in time if the mesh’s geometry is changing. ‘Set Particle Instance Animation Time’ will work with animated transformations, but not deformations. It’s on our TODO list to fix." - BTW , it's been like that for 3 years now, and since xsi got discontinued, there are almost zero chances that this will ever get solved.

PS. Just ran quick test, using the set particle instance time node. In the viewport everything works. At rendertime it's broken.
Hi,

Perhaps also this may be of help?
(Script is in vimeo description)


Redshift - Proxy animation control script for Softimage

from Fabricio Chamon
https://vimeo.com/208992822


( post eol user support from/for users :p )

Re: Access Instance Object Attributes

Posted: 10 Apr 2017, 14:45
by rray
great find