Create Extrusion Along Strands V2

Discussions about SOFTIMAGEs© Interactive Creative Environment©
User avatar
guillaume
Posts: 41
Joined: 19 Jul 2009, 00:01
Contact:

Create Extrusion Along Strands V2

Post by guillaume » 09 May 2011, 17:16

Hi all,

Here is a new version of the Create Extrusion Along Strands compound. This version is focused on compatibility with public compounds (like the excellent Kristinka hair system from Anto Matkovic and the great Tree generator from Fabricio Chamon) and on performance.

The performance of the mesh generation is improve by a big factor (not measured but it could be like 10X faster).

Here are the new features :

- "Rotation Angle" : You can now twist the extrusions using this parameter.

- For advanced users : when choosing "From Custom Vector" in the "Base Up Vector" mode, you can use you own array to define each strand position up vectors.
if you turn off "Rotate Normal", your array will be use as is. If your array is smaller than the StrandPosition size, its size will be increased an its last element will be used.

- In the "Advanced" group, you can choose to remove some strand positions from the source point cloud. This is useful when your point cloud generate the first strand position on the same position than the particle. You must turn it on when using Fabricio procedural Tree compound for example.

- In the "Advanced" group, you can also turn on "Mute Deformation". When on, the topology is generated, but all the vertices are at the origin. This is very useful if your source point cloud is simulated or deformed. This way, "Create Extrusion Along Strands" is only executed once and not every frame. To get it working correctly, you must use two source point cloud. The first one will be used in the polygonal mesh generation. The second one will deform the mesh. You can create an ICETree in the animate region and use the new "Deform Strand Extrusion" compound.
(take a look in the sample scenes below to see how it works without freezing the mesh).

Here is a quick test of twisted strands using the sample model from Krinstinka hair tools : http://dl.dropbox.com/u/5533643/Softima ... kaHair.mov

Image

And here is a meshed and textured procedural tree using Fabricio compound : Image

Here is the compounds and two sample scenes showing how to setup the new "Deform Strand Extrusion" :

Create Extrusion Along Strands V2 : http://dl.dropbox.com/u/5533643/Softima ... sicompound
Deform Strand Extrusion : http://dl.dropbox.com/u/5533643/Softima ... sicompound

Meshed Strand Tree sample scene : http://dl.dropbox.com/u/5533643/Softima ... Meshed.scn
Meshed Kristinka hair sample scene : http://dl.dropbox.com/u/5533643/Softima ... formed.scn

Cheers !

Guillaume

User avatar
druitre
Posts: 471
Joined: 25 Jun 2009, 23:35

Re: Create Extrusion Along Strands V2

Post by druitre » 09 May 2011, 17:44

Hi Guillaume,

thanks! Will these compounds be default ones for next Service Pack?
(BTW, the last link points to a .jpg instead of a scene file, maybe some mistake?)

[edit] Eh! It's a scene now... you caught me at it :-)

Leo
Posts: 128
Joined: 04 Jun 2009, 17:06

Re: Create Extrusion Along Strands V2

Post by Leo » 09 May 2011, 19:19

I'm very interested in this compound, but like version 1 I can't seem to get it to work.
My Particles all have the same size of strandposition array, none of the strandpositions is the same as the particles, but I still don't get anything but 16 points at [0,0,0] out of it.
I have experimented with this quite a bit now, but obviously I'm missing something here and I therefore turn to you.

I added a very basic test-scene for download and I hope someone can stir me onto the right path.

Thanks in advance.
Attachments
ExtrusionAlongStrands_Testscene_1.rar
(222.03 KiB) Downloaded 385 times

User avatar
guillaume
Posts: 41
Joined: 19 Jul 2009, 00:01
Contact:

Re: Create Extrusion Along Strands V2

Post by guillaume » 09 May 2011, 20:28

Hi Leo,

In your simulated point cloud, you were setting the new positions in the wrong order for the StrandPosition array.
Here is the fixed scene : http://dl.dropbox.com/u/5533643/Softima ... cene_2.scn

Hope this help,

Guillaume

Leo
Posts: 128
Joined: 04 Jun 2009, 17:06

Re: Create Extrusion Along Strands V2

Post by Leo » 09 May 2011, 21:18

guillaume wrote:Hi Leo,

In your simulated point cloud, you were setting the new positions in the wrong order for the StrandPosition array.
Here is the fixed scene : http://dl.dropbox.com/u/5533643/Softima ... cene_2.scn

Hope this help,

Guillaume
First of all thank you very much.
Now I don't wanna turn this announcement into a help-thread, but I don't quite get what you mean with "the wrong order for the StrandPosition array". The order in which the positions are stored is the same with your Build Array node as it was with my Insert in Array one. Both add a new element at position 0 of the array and shift every other element by one index. The thing you did that made it work, was to only allow ice to add strandpositions one frame after we had created the particles.
And this is what I don't really understand. Yes, with the strandposition being added directly after the particle was created, the particleposition and the one position in the StrandPosition-array are the same, but the particle immediately gets moved away from that position by the Simulate Particles node.

Edit: Scratch that, I see that you are getting the PointPosition with a Get At Previous Frame-Node.

So does that mean, that the 3DVector at [0] of the StrandPosition-Array can never be the same as it's corresponding pointposition, even within the evaluation of one icetree, if you wan't the compound to work?

User avatar
guillaume
Posts: 41
Joined: 19 Jul 2009, 00:01
Contact:

Re: Create Extrusion Along Strands V2

Post by guillaume » 09 May 2011, 21:31

Sorry I can't spend time to understand exactly your problem. But yes, if the current point position is the same than the StrandPosition[0], chances it won't work.

So maybe it is the only difference with my scene, I don't know. At least, your problem is fixed...

Leo
Posts: 128
Joined: 04 Jun 2009, 17:06

Re: Create Extrusion Along Strands V2

Post by Leo » 09 May 2011, 21:36

Yes, I now know how to work with it.

Thanks for helping me out, thanks for the great compound and have a good day.

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

Re: Create Extrusion Along Strands V2

Post by origin » 26 May 2011, 22:34

Thanks!
How do you copy UVs created by this compound to custom uv set (for editing, or rendering in vray)?

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

Re: Create Extrusion Along Strands V2

Post by origin » 28 May 2011, 17:04

It seems that I need to script it? to transfer ice attribute uvs to my editable uvset? If anyone got some idea how to copy ice uvs please share ;)
Right now Im gatoring uvs from nurbs surfaces that were used to build strands (with knit the strand by Mathaeus) but this is only workaround

(this compound is really fast!!)
Attachments
iceextrude.JPG
iceextrude.JPG (73.03 KiB) Viewed 10420 times

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

Re: Create Extrusion Along Strands V2

Post by Mathaeus » 28 May 2011, 18:03

Hi there,

there are a few 're-mapping' nodes in latest Kristinka Hair, for UV work too, all have 'MT extrusion' in name. I made them just for meshes created by Helge's operator, where formula for mesh indices is something like (ID on Point Cloud * size of strand array * mesh subdivision count) + (indices of strand array * mesh subdivision count). Don't believe they will work with 2012 extrusions, but maybe you can get the idea.
The best trick I know, it's to freeze meshes, apply compound that fits them in shape of simple cylinder(s), apply and freeze UVs using the 'ordinary' UV tools. Then you fit meshes back to strands, using a new ICE node..

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

Re: Create Extrusion Along Strands V2

Post by origin » 28 May 2011, 22:14

Thanks Mathaeus. Yeah mt stuff doesn't work in 2012. Anyway I will try to script it, there are too many models I must do to go with some complicated setups.

edit: Okay I'm an idiot, I can just copy Self.StrandToMesh_Texture_Projection to my texture projection's .uvws via ICE tree.
But it seems only first strand is mapped correctly.

edit2: nevermind again, Build Array From Set was disconnected in Build First Extrusion Array compound. Not sure if I its my fault or was it already disconnected in original Guillaumes compound.

dominikmk
Posts: 9
Joined: 10 Feb 2011, 15:51

Re: Create Extrusion Along Strands V2

Post by dominikmk » 02 Jun 2011, 20:14

Hey guys,

I'tried the new ice modeling tool for the first time this week and i use this nice compound with melena to create a phone cord, but i encounter some problem with the rotation of the shape extruded along the strand.

It's seem that I have to check Rotate normal in the deform strand extrusion compound if not it make weird geo flip always at the same space along the extrusion, but when it's checked, the shape seem to rotate along the strand, here some image to explain my problem.

I hope some one could help me with this.

Rotate along normal not checked, the shape is correct but flip at some position.
Image


Rotate long normal checked, the shape rotate along the strand and it's not wanted, not flip in the mesh btw.
Image

Thx

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

Re: Create Extrusion Along Strands V2

Post by Mathaeus » 25 Jun 2011, 15:54

Hi,

I would like to know, is there a some unified pattern for creating these meshes. For example, that's order in MT extrusions by Helge Mathe. It takes strand array only, vertex IDs are added to Point cloud's IDs.

Thanks

Image

User avatar
guillaume
Posts: 41
Joined: 19 Jul 2009, 00:01
Contact:

Re: Create Extrusion Along Strands V2

Post by guillaume » 26 Jun 2011, 01:18

Hello Mathaeus,

For sure there is a specific pattern for the vertices indices of those extrusions.
I don't know exactly what you need but for example, in this scene (link bellow) I'm building a U value along the extrusion using the number of points per extrusion and the number of side of the base shape :

http://dl.dropbox.com/u/5533643/Softima ... ion_01.scn

On the polygon mesh called "StrandMesh", take a look at the "Get U from Extrusion" compound in the "Disconnect and Push Tips" one.
And just in case you didn't notice, the "Create Extrusion Along Strands" create a useful attribute called "StrandToMesh_ExtrusionID" to get the index of each extrusions.

I was using this U value to drive the disconnexion of some vertices along the strands in this ICEModeling test :

Image

Hope this help,

Cheers

Guillaume
Last edited by guillaume on 26 Jun 2011, 05:13, edited 1 time in total.

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

Re: Create Extrusion Along Strands V2

Post by Mathaeus » 26 Jun 2011, 03:57

Thank You kindly

Actually I'm thinking how to enable the sticking strands back to these meshes, for people who will try this in Kristinka Hair 3. On another side, if I bring Autodesk Softimage 2012 to my home, probably I'll get divorce too, as a 'bonus'.

Anyway thanks, I think I got enough info.

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

Re: Create Extrusion Along Strands V2

Post by origin » 04 Jul 2011, 20:46

dominikmk wrote:Hey guys,

I'tried the new ice modeling tool for the first time this week and i use this nice compound with melena to create a phone cord, but i encounter some problem with the rotation of the shape extruded along the strand.

It's seem that I have to check Rotate normal in the deform strand extrusion compound if not it make weird geo flip always at the same space along the extrusion, but when it's checked, the shape seem to rotate along the strand, here some image to explain my problem.

I hope some one could help me with this.

Thx
I've fixed this flipping by using 'From custom vector' and plugging YourPointcloud.StrandNrm into UpVector slot. afaik strandnrm was set by 'Knit Strand Prepare MT_Extrusion' compound in my case...

Post Reply

Who is online

Users browsing this forum: No registered users and 34 guests