top of page
  • Writer's pictureLay Siong

Houdini Vines Growth - 05


This is the current result I got from my project.


Based on my previous post, my ideas building on this:

User paint on the area where vines grow. - CLEAR

Scatter point - random select starting point and grow - CLEAR

Use Scatter point Data I will create 3 different types of vines onto the mesh.

(Short & Thick, Long & Thin, Normal.) - CLEAR

After getting all the connections, using Wrangle/Ray to push point that is overlapping? -

Priority - Short - Long will overlap it- Normal will overlap others.

Poly Wire - CLEAR

From 6, getting the line data to copy to point for the leaf to around the vines. - CLEAR

Assign Vines Width data to the Leaf so it will have a different variety.

Making it look nicer...


Making it into the tool.


The problem I solved in some way (with the help of the teachers):

Trying to make it more organic and getting the thickness of the stem right where the endpoints should be thinner. (i get an idea on how to fix it but could not get it to work, go to Image 3)

I manage to solve this part by calculating each point having how many neighbour points. - the ideas behind it are if the point is at an edge, he will only have 1 neighbour points but to the points who start the spread around the obj, it tends to have up to 4 to 5 neighbour point depend on how many points I have settled to allow it to spread across the obj. So using this info, I write a wrangle where the point will be assigned with a width formula is (neighbour points/6). So the point with 1 neighbour points will be 1/6. - Image 07


From the picture, the vines are evenly distributed which I believe it could be solved in scatter point node later on.

Yup, solved it in scatter point node.


The problem I still face:

Vines Overlapping. - I can't see to really push the overlapping vines properly. -Image 08,09,10


Some changes I make ( STARTING POINTS OF THE VINES GROWTH)

Image 01
Image 02
Image 03

Initially, the starting points are random in the area where the user has points. Instead of doing that, I change it to starting points will only start from the top or the bottom part based on where the user have points. The reason of doing because vines usually either grow from the bottom to top or of course there are cases where it grows from the top to bottom. I guess it is hard from the centre of the obj unless there is a hold or something where it could grab on and grow outside.


- END OF STARTING POINTS

 

The ideas on how the points are spread. I will explain by each image. (IMAGE 04 TO 07)

Image 04

So after the starting point have been assigned those points/area, they will go through a solver node where it will check for infection points(starting points) and infect the neighbouring points of it. All the point will be carrying data of who infected them(parent) .

Image 05

After the solver, they will go this wrangle node where it will start to connect their points together.

Image 06

After Image 05, since the starting points start either from top or bottom. In the middle section, sometime there will be area where the end of each vine is not connected. So I create an if statement where if the points is red and its neighbour point count is less then 2, they will find the nearby point to connect.


I also created an if statement where if the neighbour point is == 0, it will remove those point from it. -I realise sometimes the way of the infect are spread might not hit all the scatter point so to be safe, I clean it off.

Image 07

This is where the width of the vines will be assigned to each of the points.

 

The problem I trying to fix:

Image 08

Problem with pushing the overlapping project, maybe I did but I guess is not accurate enough. I find when i try to ray the object, it seen not to be accurate too. Image 09 and 10 is how I push the overlapping points of the vines.


Image 09
Image 10

Grid 3 is being pushed above depend on the point on Grid 1. I used attrivop in this case to control the push being push.


 
Image 11

I have transfer the normal of the object to the vines to direct the leaf where it is pointing. Something that i could not get it to work is to transfer the width attribute of the vines to the leaf. In order to get a different variety of size for the leaf.



How I plan to carry on my project forward.

-Making it look nicer... ( the stem of the vines, the leaf...)

-I thought of making it with some simulation like the wind blow it or something.

-assign the random attribute to each point so the flower can grow from there.


I will just play around with it. haha


Thank Usama and Adam for helping out!

bottom of page