Create extrusion along strands - Knit the strand

Discussions about SOFTIMAGEs© Interactive Creative Environment©
Post Reply
mihaiNL
Posts: 29
Joined: 26 Nov 2011, 18:32

Create extrusion along strands - Knit the strand

Post by mihaiNL » 23 Feb 2013, 16:56

My knowledge on strands is pretty limited but trying to learn...I've read the posts about Knit the Strand and the post about v2 of the Create Extrusion along strands, but no clear info on what to do to make these two work together.

All I get is this:

Image

Asking kindly for a push in the right direction :)

User avatar
mattmos
Posts: 445
Joined: 02 Dec 2009, 16:59

Re: Create extrusion along strands - Knit the strand

Post by mattmos » 23 Feb 2013, 17:11

Have you rendered that? Think the extrusions only appear at render time.

mihaiNL
Posts: 29
Joined: 26 Nov 2011, 18:32

Re: Create extrusion along strands - Knit the strand

Post by mihaiNL » 23 Feb 2013, 17:31

I rendered it, and I think that compound is supposed to go into an empty polygon mesh and it sets the topology right?

User avatar
Maximus
Posts: 1105
Joined: 09 Jun 2009, 15:45

Re: Create extrusion along strands - Knit the strand

Post by Maximus » 23 Feb 2013, 18:30

Take a look at the scene from here:

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

To get the extrude along strands to work you need basically a setup that involves 2 pointclouds, and 1 empty polygon mesh.
You also need the Deform Strands compound which is added on top of all those 3 objects.

here is the link http://dl.dropbox.com/u/5533643/Softima ... sicompound

From what i gather

One pointcloud is to generate strands
One pointcloud is to read form the previous pointcloud the number of points and add points on those positions and set the strands positions.
One empty polygon mesh which will create the geometry extrusion

Each of those objects has 2 Ice trees on them, the second one added on top has the Deform Strands position. In the scene Guillame posted as example is quite clear i think.

In your scenario, the Knit the strand is nothing more than the TreeGenerator from that scene, its the main strand generator in the scene.

Hopefully that helps a bit, i've managed to get it to work following the example scene, but it produces some mesh artifacts on extrusion, probably due to some wrong ID or rotation.


Edit: actually you could just open the scene example, go to the tree_pointcloud and in the first ICE tree swap the tree generation setup with your Knit the strands pro. (Be aware to change the NB cycles in the knit compound, because by default its set to 84 and it will crash softimage, try with 10).
Last edited by Maximus on 23 Feb 2013, 19:07, edited 2 times in total.

User avatar
mattmos
Posts: 445
Joined: 02 Dec 2009, 16:59

Re: Create extrusion along strands - Knit the strand

Post by mattmos » 23 Feb 2013, 18:33

Forgot to add - do you really need to have a mesh in the scene? Could you not just use the strand set to capsule shape?

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

Re: Create extrusion along strands - Knit the strand

Post by Mathaeus » 23 Feb 2013, 19:55

mihaiNL wrote:I rendered it, and I think that compound is supposed to go into an empty polygon mesh and it sets the topology right?
Hello,
about Knit Strand compound, I made this thing around 2009 - before ICE topology. It seems you're showing the last version, which is, more or less a cleanup.
So there are three options:

1. as mattmos said, just to render it, using Mental Ray. I think compound already sets the particle shape to cylinder, and Self.StrandDeform attribute to true - last is needed for rendertime extrusions. It also enables two officially un-supported attributes, Self.ShapeResolutionU and Self.ShapeResolutionV, for getting the parametric subdivision in Mental Ray render.

2. If you have Melena addon installed: select point cloud, go to model>primitive>create ICE strand extrusion ( or something like). Melena addon should create mesh along strands

3.ICE topology - here I know only what I gathered from internet. Anyway, compound is supposed to go on empty point cloud, into un-simulated ICE tree. Then, probably you can use the point cloud, as guidance for ICE topology on new mesh. It should work. Well, most likely, with some small adjustments, enabling some missing attribute if necessary, so on.

mihaiNL
Posts: 29
Joined: 26 Nov 2011, 18:32

Re: Create extrusion along strands - Knit the strand

Post by mihaiNL » 24 Feb 2013, 14:37

Thanks for the pointers. Looking at that tree scene, I'm wondering a few things:
One pointcloud is to generate strands
One pointcloud is to read form the previous pointcloud the number of points and add points on those positions and set the strands positions.
It seems I have to generate strands twice? So I tried just not using the Deform Strand Extrusion, and using the Create Extrusion along strands directly. Reading the docs, it says about Deform strand extrusion:
Deforms the geometry created by Create Extrusion Along Strands, when that compound's Mute Deformation option is on
So then I disconnected Deform, unmuted Extrusion - result, no extrusion anymore. I saw that in the Create extrusion tree (in the mesh modelling stack), it's connected to the strand_topology point cloud, not the one that generates the tree. So I tried instead connecting that one, and now it works.... :-\

But WHY? How come the strand positions that strand_topology tree creates works via Create Extrusion(muted)->Deform Strand Extrusion, but not directly with Create Extrusion? What is really this point clouds purpose? I realize it may not be such a simple answer, just it's difficult to understand when you see a (complex) example which doesn't explain the why.

Maximus, I tried just hooking in Knit, and I get an extrude but also some points that I guess should be ignored aren't:

Image

How could I fix this? Something to do with how the strand position array is built I guess but.... @-)

I can already render strands directly in Maxwell which uses its hair primitive but in some cases it's useful to have the actual geometry, to grow more things on it easily or better control the shading, export it etc...Just trying to learn also how all this stuff fits together :) Hopefully soon I'll get an aha moment but for now it feels very overwhelming with the few complex examples available. I DID buy that Strand dynamics training from 3D quakers which seems good, just waiting for my activation code. Lazing on a Sunday afternoon.....
Last edited by mihaiNL on 25 Feb 2013, 07:44, edited 1 time in total.

User avatar
Maximus
Posts: 1105
Joined: 09 Jun 2009, 15:45

Re: Create extrusion along strands - Knit the strand

Post by Maximus » 25 Feb 2013, 02:56

I honestly am not that expert in strands, I just spend some times like you doing and came at the same roadblocks, to have the full control over those things i think one should be completely aware on what Knit the strands do, and how is built. Unfortunately the ICE tree is too complicated for me, even the example scene as you said is quite hard to figure out all the stuff going on.

Those things should work out of the box should come with some built in preset and easy to use access to it, but as i said multiple times ICE isnt that easy.
That scene for example is way over complicated to achieve a simple extrusion along strands in my opinion.

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

Re: Create extrusion along strands - Knit the strand

Post by Mathaeus » 25 Feb 2013, 15:14

mihaiNL wrote: How could I fix this? Something to do with how the strand position array is built I guess but.... @-)
As far as I remember, Knit Strand compound puts point position on top of first strand segment, which wasn't problem for original purpose (option 1 and 2 in my previous post), but might be for something else. In thread on this forum, about built-in strand extrusion compound, I think author mentioned special option for removing the point position from calculation. So if there is something like 'remove point position', you can try this.

If doesn't help - then yes, some rewiring inside Knit Strand compound is required. It creates strand array of variable size per point, it does cloning and deleting points too.

Btw, Melena on SI 2013 doesn't work ? Or what's reason to skip the option 2 ? Compound already have all ICE attributes for utilizing the strand extrusions from Melena.

mihaiNL
Posts: 29
Joined: 26 Nov 2011, 18:32

Re: Create extrusion along strands - Knit the strand

Post by mihaiNL » 25 Feb 2013, 18:33

Yes, the Melena extrusion operator works great, just I wanted to begin to understand the whole thing better. Also with the built in extrusion compound you can get UVs, as far as I can see it's not possible with the Melena operator?
I think author mentioned special option for removing the point position from calculation. So if there is something like 'remove point position', you can try this.
Yes, it has "Remove strand position" which the docs say:
Ignores the specified elements in the StrandPosition array. This is useful when using strand compounds that set StrandPosition[0] to the particles' PointPosition.
I've tried changing this index but nothing seems to happen.
It creates strand array of variable size per point
So perhaps this is the reason, it says in the docs:
All strands must have the same number of segments, that is, the size of the StrandPosition array must be the same for all particles. Among other things, this means that this compound is not compatible with strands created by Generate Strand Trails.
I will get back to this when I know more about basic strand creation, without the provided compounds...

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

Re: Create extrusion along strands - Knit the strand

Post by Mathaeus » 25 Feb 2013, 18:52

mihaiNL wrote:Yes, the Melena extrusion operator works great, just I wanted to begin to understand the whole thing better. Also with the built in extrusion compound you can get UVs, as far as I can see it's not possible with the Melena operator?
there is a way, to create some UV projection, using standard SI tools, then to modify it by ICE, following vertex IDs, as Melena nicely creates ordered vertices. Ordered = IDs are corresponding to "rows and columns" of mesh, like numbers of rooms in hotel. By what's called "modulo trick".

Idea of latest Knit Strand compound was to spare the count of used strands, by aligning rows and columns, which obviously wants different count along X and Y - probably, solution could be, using two point clouds, one for X, another for Y distribution.

Post Reply

Who is online

Users browsing this forum: No registered users and 51 guests