Jump to content

Growth Thingy Help!


Recommended Posts

Hello! This is my first post on odforce, I feel I'm finally taking a step in the right direction! I'm new to houdini only been using it for 4-5 ish months now. Anyways, just happy try and be a part of the community. Are there any other places besides the discord server that houdini people hang out at? Anyways, to the point --

 

The thing I'm having trouble with, is orienting geometry to the direction of the normal of what it's getting copied to. I've been orienting my geometry in Z and using @orient.z = @N; and @P.z = @N; to attempt it, but it's not giving me exactly what I want.

In the file, i'm using a for loop to run over each primitive and grabbing the centers, then blasting away everything but point 0, the instancing on 0. I'm using 0 because the for loop automatically sorts the points. (This is a different approach to Simon Holmedal's growth that he showed during his demo, I won't take credit.) 

Do i need another for loop inside of the one I currently have to orient the new geometry to the normal? 

I apologize if this is too vague, it's my first time posting a question, I can be more specific about things if needed.

 

I appreciate your time!

- Thanks  

triangleGrowthImage.jpg

triangleGrowth.hiplc

Link to comment
Share on other sites

Hey Mitch
Cool topic! Love the drawing!

As a general approach I would build the growth path so I get the hierarchy relations (tri25 is child of tri76) and the hierarchical distance from the start (tri45 is 13 steps away from the starting tri) which allows me to build the transforms between the tris and then control them by a gradient generated from the hierarchical distance.

I wondered about this recently because I've done something with regular hexes before. But unlike with regular polygons, where everything stacks into place neatly, with irregular ones you will have different shapes that stack weirdly and the chain of transforms they produce it's not as predictable as well. Is this going to be a field of regular triangles, or you're after applying to an arbitrary triangular surface, like for example a character? This will have an impact in the complexity of the setup, I think. I see  tetrahedrons in your file so I'm a bit confused. 

I'm not familiar with Simon's take. When I did the hexes the point was placed at the center of the rotation, i.e at the edge between hexagons; represented by those little matrix axes. In your case wouldn't it be the case you want the point also at the edge of the tetrahedron instead at the center of the face?

This video is part of a blog entry where I dumped elements of this topic. Nothing coherent or files to share, but may inspire you.  http://probiner.xyz/2017/06/20/rigging-chains-with-arrays-of-matrices/ 

Looking forward to see your progress as I also will dive into this again one day! Good luck!

Cheers

Edited by probiner
Link to comment
Share on other sites

On 9/10/2018 at 10:01 AM, vicvvsh said:

Hi Mitch

How about this approach? You only need to consider logic of growth direction.

triangleGrowth_01.hipnc

 

On 9/10/2018 at 9:30 AM, probiner said:

Hey Mitch
Cool topic! Love the drawing!

As a general approach I would build the growth path so I get the hierarchy relations (tri25 is child of tri76) and the hierarchical distance from the start (tri45 is 13 steps away from the starting tri) which allows me to build the transforms between the tris and then control them by a gradient generated from the hierarchical distance.

I wondered about this recently because I've done something with regular hexes before. But unlike with regular polygons, where everything stacks into place neatly, with irregular ones you will have different shapes that stack weirdly and the chain of transforms they produce it's not as predictable as well. Is this going to be a field of regular triangles, or you're after applying to an arbitrary triangular surface, like for example a character? This will have an impact in the complexity of the setup, I think. I see  tetrahedrons in your file so I'm a bit confused. 

I'm not familiar with Simon's take. When I did the hexes the point was placed at the center of the rotation, i.e at the edge between hexagons; represented by those little matrix axes. In your case wouldn't it be the case you want the point also at the edge of the tetrahedron instead at the center of the face?

This video is part of a blog entry where I dumped elements of this topic. Nothing coherent or files to share, but may inspire you.  http://probiner.xyz/2017/06/20/rigging-chains-with-arrays-of-matrices/ 

Looking forward to see your progress as I also will dive into this again one day! Good luck!

Cheers

I think you're right! I was attempting to copy onto the center of the primitive using it's normal to get the direction of the new copy, but I think using the previous matrices will give me more control. Instead of having to manipulate each normal. Thank you so much for a look into some of your work! It's very inspiring. I'm currently in finals week, so I might not be able to post the rework soon, but thank you so much for your help!

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...