fabric engine skinning research

Forum for users who have migrated or are migrating to the Fabric Engine
anhungxadieu
Posts: 175
Joined: 17 Apr 2014, 10:39
Skype: nguyenvuducthuy

fabric engine skinning research

Post by anhungxadieu » 02 Mar 2016, 05:39

hi there,

little research in fabric with skinning stuff, right now still not get anything work like the way it's is in ICE. I'm try to rea create a simple Linear blend skinning in fabric ...
have a look at my video and sample canvas file to get an idea
thank for your attention
You do not have the required permissions to view the files attached to this post.

User avatar
Mathaeus
Posts: 1711
Joined: 08 Jun 2009, 21:11
Location: Zagreb, Croatia

Re: fabric engine skinning research

Post by Mathaeus » 02 Mar 2016, 22:37

Tried to get your sphere.abc into Houdini Indie and Modo, both seems to recognize only point position, nothing else. And..... of course later :D , saw Helge's answer on FE forums, that skin weights and indices are actually one 2d array.
By the way if you're already around getting the classic skin into FE, perhaps it could be a nice exercise to somehow store the weights as point positions on mesh copies in ICE, export these mesh copies into FE and re assemble all in FE...
The renderer "turtle" used by this scene, is not currently available. The "turtle" renderer will be used instead.

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

Re: fabric engine skinning research

Post by anhungxadieu » 03 Mar 2016, 02:13

Mathaeus wrote:perhaps it could be a nice exercise to somehow store the weights as point positions on mesh copies in ICE, export these mesh copies into FE and re assemble all in FE...
Hi Anto,
Nice idea, but i think only way to do is create a pointcloud an store it into a pointcloud .. :-s, not try yet but look like it's difficult

Pooby
Posts: 493
Joined: 27 Aug 2010, 22:25

Re: fabric engine skinning research

Post by Pooby » 03 Mar 2016, 08:25

Wouldn't a pointcloud be the same as a mesh? Sure;y yoU just end Up with an array of positions either way..

Why can't you store it as an ICE attribute and use crate to embed it in the alembic file?

Or if you don't want to deal with 2d arrays, split the second dimension into separate attributes.

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

Re: fabric engine skinning research

Post by anhungxadieu » 03 Mar 2016, 09:41

Pooby wrote:Wouldn't a pointcloud be the same as a mesh? Sure;y yoU just end Up with an array of positions either way..

Why can't you store it as an ICE attribute and use crate to embed it in the alembic file?

Or if you don't want to deal with 2d arrays, split the second dimension into separate attributes.
sorry Pooby, can you explain more? i still not clear. Even i try to embed ice attribute to alembic it still end up with array there is no way for me can folow the same concept in ice.
Here is what i already store in abc file
i store weight as "thuy_w" and indices as "thuy_e"

Code: Select all

// INFO : [KL]: [FABRIC:MT] [".geom/.selfBnds",".geom/P",".geom/.faceIndices",".geom/.faceCounts",".geom/.arbGeomParams/thuy_e/vals",".geom/.arbGeomParams/thuy_e/subArrayIndices",".geom/.arbGeomParams/thuy_w/vals",".geom/.arbGeomParams/thuy_w/subArrayIndices"]
in ice when i end up with this i can plug into set pointposition node :x
2016-03-03 at 15-36-00.png
but in fabric ... =((
2016-03-03 at 15-35-05.png
You do not have the required permissions to view the files attached to this post.

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

Re: fabric engine skinning research

Post by anhungxadieu » 03 Mar 2016, 10:40

well another try! :))

User avatar
Mathaeus
Posts: 1711
Joined: 08 Jun 2009, 21:11
Location: Zagreb, Croatia

Re: fabric engine skinning research

Post by Mathaeus » 03 Mar 2016, 10:52

anhungxadieu wrote:
Mathaeus wrote:perhaps it could be a nice exercise to somehow store the weights as point positions on mesh copies in ICE, export these mesh copies into FE and re assemble all in FE...
Hi Anto,
Nice idea, but i think only way to do is create a pointcloud an store it into a pointcloud .. :-s, not try yet but look like it's difficult
It's not only idea, already utilized something similar to get things in Houdini. While is not so elegant, it gives you a very visual feedback of what you really have. Two arrays (deformed indices and weights) already are stored on mesh, it's just a bit of work to decompose them in ICE and compose back in FE. If you have only few deformers assigned to point, a few meshes should be enough to store everything as 3d vectors (as indices are integers, weights are scalars). If I'm correct, in case of three deformers, it is 3x3=9 let's say scalars, so, 3 meshes.

P.S. are you completely sure that your attribute went to FE, finally. I saw a nice diagnostic example, posted on forums. Maybe there's some cleaning mechanism in export, to do not export if weights aren't utilized, or something like that.
The renderer "turtle" used by this scene, is not currently available. The "turtle" renderer will be used instead.

Pooby
Posts: 493
Joined: 27 Aug 2010, 22:25

Re: fabric engine skinning research

Post by Pooby » 03 Mar 2016, 12:43

Its harder than I anticipated. I forget that "per-point context" in ICE, is dealt with as just an array in Fabric, so you've used up one array dimension just on that.

Thats so locked into my way of thinking, that its hard to get my head around the fact that a simple ICE array is in fact a 2D array in Fabric. Its difficult to work with, seeing as Canvas doesn't support them yet.

Thus Trying to pick from the array of deformers is the bit I'm struggling with.

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

Re: fabric engine skinning research

Post by EricTRocks » 03 Mar 2016, 16:25

Pooby wrote:Thats so locked into my way of thinking, that its hard to get my head around the fact that a simple ICE array is in fact a 2D array in Fabric. Its difficult to work with, seeing as Canvas doesn't support them yet..
Sorry could you clarify this? 2D arrays are supported.
Eric Thivierge
Lead Kraken Developer, Fabric Engine
http://fabric-engine.github.io/Kraken

Pooby
Posts: 493
Joined: 27 Aug 2010, 22:25

Re: fabric engine skinning research

Post by Pooby » 03 Mar 2016, 22:21

This is not going to work because you will have to work with two dimensional arrays. I am afraid this is only possible in code for now. Essentially you will have a an array of arrays of weights and indices for the deformers. So you will have to move your experiment to code. Sorry!
I'm just going by this from Helge on the fabric forum

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

Re: fabric engine skinning research

Post by EricTRocks » 03 Mar 2016, 22:29

Ah correct you have to use code for 2D arrays yes. The way it was phrased sounded like 2D Arrays weren't supported in general. Carry on. :)
Eric Thivierge
Lead Kraken Developer, Fabric Engine
http://fabric-engine.github.io/Kraken

User avatar
FXDude
Posts: 923
Joined: 19 Jun 2012, 21:59

Re: fabric engine skinning research

Post by FXDude » 03 Mar 2016, 22:44

What I'm wondering is, in Nguyen's clip for example, what are the few 2 to 5 second delays when doing different things including making connections in the canvas view itself, especially that we are in this case dealing with a sphere with a moderate tree?

Is it always the case? or setup related?

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

Re: fabric engine skinning research

Post by anhungxadieu » 04 Mar 2016, 02:25

Pooby wrote:Its harder than I anticipated. I forget that "per-point context" in ICE, is dealt with as just an array in Fabric, so you've used up one array dimension just on that.

Thats so locked into my way of thinking, that its hard to get my head around the fact that a simple ICE array is in fact a 2D array in Fabric. Its difficult to work with, seeing as Canvas doesn't support them yet.

Thus Trying to pick from the array of deformers is the bit I'm struggling with.
Well, exactly Pooby
Now, no way to continue without code in kl.
Even now i'm trying to learn kl in general i still don't understand it, i watched kl workshop on Vimeo from beginning but it't not enough for me. I remember "Getting Started With Scripting in SOFTIMAGE" from Helge it very good course, and really help me a lot when i try to learn how to code in softimage hope in future Fabric have something like this just help beginner understand and use their product (ex: how to create a simple tool from start to finish) i'm not say their video on Vimeo page useless but it still not focus on what we need.
I know fabric team very busy, sorry! ;;)

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

Re: fabric engine skinning research

Post by anhungxadieu » 04 Mar 2016, 02:40

Mathaeus wrote: It's not only idea, already utilized something similar to get things in Houdini. While is not so elegant, it gives you a very visual feedback of what you really have. Two arrays (deformed indices and weights) already are stored on mesh, it's just a bit of work to decompose them in ICE and compose back in FE. If you have only few deformers assigned to point, a few meshes should be enough to store everything as 3d vectors (as indices are integers, weights are scalars). If I'm correct, in case of three deformers, it is 3x3=9 let's say scalars, so, 3 meshes.

P.S. are you completely sure that your attribute went to FE, finally. I saw a nice diagnostic example, posted on forums. Maybe there's some cleaning mechanism in export, to do not export if weights aren't utilized, or something like that.
Hi Anto,
i sure that my attribute went to FE successful via Alembic but what i don't really sure are they change or not. Sorry for my stupid i still not clear understand your method here :ymblushing:

User avatar
Mathaeus
Posts: 1711
Joined: 08 Jun 2009, 21:11
Location: Zagreb, Croatia

Re: fabric engine skinning research

Post by Mathaeus » 04 Mar 2016, 11:08

anhungxadieu wrote:
Mathaeus wrote: It's not only idea, already utilized something similar to get things in Houdini. While is not so elegant, it gives you a very visual feedback of what you really have. Two arrays (deformed indices and weights) already are stored on mesh, it's just a bit of work to decompose them in ICE and compose back in FE. If you have only few deformers assigned to point, a few meshes should be enough to store everything as 3d vectors (as indices are integers, weights are scalars). If I'm correct, in case of three deformers, it is 3x3=9 let's say scalars, so, 3 meshes.

P.S. are you completely sure that your attribute went to FE, finally. I saw a nice diagnostic example, posted on forums. Maybe there's some cleaning mechanism in export, to do not export if weights aren't utilized, or something like that.
Hi Anto,
i sure that my attribute went to FE successful via Alembic but what i don't really sure are they change or not. Sorry for my stupid i still not clear understand your method here :ymblushing:
I'll try to do working example this weekend, should be a good exercise for something else close to that, where I'm personally interested. So, expect the victory :) or.... admittance of defeat.
The renderer "turtle" used by this scene, is not currently available. The "turtle" renderer will be used instead.

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

Re: fabric engine skinning research

Post by anhungxadieu » 04 Mar 2016, 18:19

Mathaeus wrote:I'll try to do working example this weekend, should be a good exercise for something else close to that, where I'm personally interested. So, expect the victory :) or.... admittance of defeat.
wait to see it! :)