'Real' crowd

Discussions about SOFTIMAGEs© Interactive Creative Environment©
User avatar
Mathaeus
Posts: 1778
Joined: 08 Jun 2009, 19:11
Location: Zagreb, Croatia

Re: 'Real' crowd

Post by Mathaeus » 04 Aug 2015, 10:36

anhungxadieu wrote:i have a project, and i want to try a envelope by point cloud, i know Dual quaternion compound can do it but i don't know how to find exactly deformer id in order to have same envelope weight.
As far as I know, these compounds are dealing with four arrays. Matrix array of static kine states (reference poses), matrix array of actual transforms, scalar array of weights, integer array of assigned indices. Last two should be created by something else, by weighting part of SI envelope operator, or some another ICE compound.
First two, usually are coming from SI group, where group has to match the data in envelope operator, by order and size of group - if not, you use 'select deformer from envelope' command, and create a new group.
So, to replace values of first two, you use something like 'get array indices' ICE node, plug this into 'ID to location', location is your point cloud. You can also build just an new array of same size as group (for ICE, group is an array, as long as all members have some common attribute, let's say kine.global).
On point cloud side, you'll want to create custom matrix attributes, for static kine state and actual transforms. For example, just by converting the SRT into 4x4 matrix.

anhungxadieu
Posts: 175
Joined: 17 Apr 2014, 08:39
Skype: nguyenvuducthuy

Re: 'Real' crowd

Post by anhungxadieu » 04 Aug 2015, 15:15

hi Mathaeus,

how can i build my own array "Envelope Deformer Indices" if i don't have a group of deformer

User avatar
Mathaeus
Posts: 1778
Joined: 08 Jun 2009, 19:11
Location: Zagreb, Croatia

Re: 'Real' crowd

Post by Mathaeus » 04 Aug 2015, 18:20

anhungxadieu wrote:hi Mathaeus,

how can i build my own array "Envelope Deformer Indices" if i don't have a group of deformer
Envelope Deformer Indices is per - point array, not defined by any group. It tells, which deformers (bones or so) are assigned to particular point. Let's say if two transform arrays (which are per - object arrays) have around 100-200 members, 'Indices' array is choice of just 3 - 5 of them, where size of array could be varying for each point.
'Indices' array is automatically created by SI envelope operator. Now, if you don't have an SI envelope operator, anywhere in your calculation - you'll be able to create something with ICE.
But, in my humble opinion, once the SI envelope operator is not present, entire that ICE dual quaternion stuff has no sense, anymore. Should be better to build something in ICE from scratch, while it will be very hard to match the performance, allowed by optimized weighting of SI envelope.

anhungxadieu
Posts: 175
Joined: 17 Apr 2014, 08:39
Skype: nguyenvuducthuy

Re: 'Real' crowd

Post by anhungxadieu » 05 Aug 2015, 13:12

thank Mathaeus! maybe you are a guy who is still pay attention to some questions regarding to softimage right now, thank you very much.
one more question, i have entire rig have done via ice, and for every matrix output from the rig i need to create a null in order to do an envelope i already done it, but it quite slow(about 4 fps) so i need to find a way to solve it. i think about point cloud rig. But i don't know how to dealing with envelope weight. Do you think i keep finding or stop? i know softimage is discontinue by Autodesk and more difficult to find a way to resolve my own problem.

User avatar
Mathaeus
Posts: 1778
Joined: 08 Jun 2009, 19:11
Location: Zagreb, Croatia

Re: 'Real' crowd

Post by Mathaeus » 05 Aug 2015, 18:19

anhungxadieu wrote: one more question, i have entire rig have done via ice, and for every matrix output from the rig i need to create a null in order to do an envelope i already done it, but it quite slow(about 4 fps) so i need to find a way to solve it. i think about point cloud rig. But i don't know how to dealing with envelope weight. Do you think i keep finding or stop? i know softimage is discontinue by Autodesk and more difficult to find a way to resolve my own problem.
hello,

Here is scene with walking Martians. Each one utilizes only a weighting part of SI envelope operator, while transformations are coming from point cloud. It has a classic rig, but only for building the basic structure and enveloping, rig is not animated. You can duplicate some of Martian, and change the 'driver ID' parameter, just to see what happens.

Regarding optimizations, I'd be free to point again, to structure of ICE enveloping compounds:
- completely static ( evaluated only once, probably on scene load) weighting, provided by SI envelope operator
- per object arrays of transforms - that is, evaluated each frame, but only for entire object, still not 'actualized' on point level
- per point evaluation of only small part of transform arrays, defined by array of indices

Beside standard rule of thumb, that everything which is possible to evaluate only once, it should be evaluated just and only only once - in systems like ICE or Houdini VEX, I think it worth to checkout, is it the thing *really* evaluated or not. For small example, even if Houdini has lazy evaluation of nodes, on deformation system I'm working, I'm constantly getting a small boost when static part is locked, manually, and scene is re loaded. 'Lock' in H = sort of non destructive freeze.

About ICE kinematics unfortunately I have zero experience.

Does it worth to still use SI - I'd say, your choice. Just personally I'm on Houdini right now, but, my Softimage version is 7.01 - after seven years perhaps there's time for change :) . Now serously, if you're making a system like body rig, hair system or so, imho most important is to get feedback of skilled artist, to get a picture, what to add or remove. Let's say, you're working as TD somewhere. If not... from my knowledge, only place on planet earth, where it was possible to get an skilled artist, ready to play with something created with visual programming system like ICE - it was Softimage community in times of what I'd call 'Golden ICE Age' around 2009 - 2012. In Houdini crowd, everyone seems to be an author, artists are rare animals, especially skilled ones.

However, there's chance in future, with Fabric Canvas and Implementation of H engine. I think we will have some more exact info by the end of this year.

anhungxadieu
Posts: 175
Joined: 17 Apr 2014, 08:39
Skype: nguyenvuducthuy

Re: 'Real' crowd

Post by anhungxadieu » 06 Aug 2015, 07:05

Hi Mathaeus,

Thank for your answers and the scene, i will keep using softimage until i can't use it any more :), i also research Houdini but right now i don't have time to continue, maybe the end of this yeah i can continue ... and still wait for fabric 2 (visual program), i am an artist and not good in code so though ice i can understand how 3d work.

thank you again Mathaeus your work is awesome!!! :)

anhungxadieu
Posts: 175
Joined: 17 Apr 2014, 08:39
Skype: nguyenvuducthuy

Re: 'Real' crowd

Post by anhungxadieu » 23 Dec 2015, 05:00

hi Mathaeus,

Sorry this is very old topic i know bear with me about this, because i think it still useful in future :).
Can i ask some question it is possible to use an animation clip or i need to cache a pointcloud, because i want to use an animation i already create.

Thank for your attention! :D

User avatar
Mathaeus
Posts: 1778
Joined: 08 Jun 2009, 19:11
Location: Zagreb, Croatia

Re: 'Real' crowd

Post by Mathaeus » 23 Dec 2015, 10:42

anhungxadieu wrote:hi Mathaeus,

Sorry this is very old topic i know bear with me about this, because i think it still useful in future :).
Can i ask some question it is possible to use an animation clip or i need to cache a pointcloud, because i want to use an animation i already create.
Well, nothing of that in download a few post above. If I remember correctly, there's sort of procedural animation ( that's why Martians are walking, as nobody knows how they are doing this). I'm not sure, are even all numbers synced (does change in base skeleton structure, screws up everything). As i said before, I really don't see any reason why would you use this small-but-still-hard-to-manage experiment, instead of Crowd FX.

anhungxadieu
Posts: 175
Joined: 17 Apr 2014, 08:39
Skype: nguyenvuducthuy

Re: 'Real' crowd

Post by anhungxadieu » 23 Dec 2015, 11:11

hi,

i also try crowdfx and found it quite limit for my knowledge( correct me if i wrong :) ), so i try another way and want to understand it, and i found that i can understand it well form your way. Right now, i combine collision avoid dace in crowdfx and your idea, i found that i can have more control over crowd now
;)