procedural modeling

   11515   19   4
User Avatar
Member
70 posts
Joined: March 2009
Offline
Hi every body

1. how can i make fractal geometry in houdini? should i start coding? because i've heard fractal is some kind of l-system. can i use l system to make fractal geometry?

2. you have probably watched procedural forest- the intro tutorial-.if you add volume to the trees then they don't look right because they will interfere with each other. how can i solve this problem?

thanks
User Avatar
Staff
2540 posts
Joined: July 2005
Offline
1. lsystems can be used to do fractals.
Take a look at the space filling Koch Curve example preset that comes with the Lsystem SOP.
To access the presets for any SOP, just press on the gear in the upper right of a parameter pane.

2. This is a difficult problem to handle right inside the lsystem rules. You “can” do this if you tackle each tree in turn. You use metaballs to grow the tree inside. Look at the Lsystem help for “Limit L-system growth inside a shape”. Just select any lsystem SOP and press the ? help icon in the upper right of the parameter pane and read the help for the L-system SOP. Actually the first question is answered right off in the introduction.

Growing lsystems and doing the meta test is quite slow.
It is probably better to prune the various trees after they are build and after they are “planted” to the ground using SOPs.

You can test to see if two or more trees are interacting with each other. Best to assign an unique id integer per tree as an attribute. Then iterate over each tree bringing in the trees around that tree and prune a percentage of the branches in the overlapping regions.

Metaballs are fantastic for this. Each tree is encompassed with a metaball. When two metaball fields interact the total weight increases. You can detect this inside a VOP network using the metaweight VOP. You can also add attributes to metaballs and iterate over all the metaballs affecting a position in space using the meta* VOPs.

I am sure there are other ways to deal with the overlapping tree regions but no matter what you do will involve pruning of some kind. That's what real trees do: When trees crowd each other, they steal light, branches don't get enough light, branches die, branches fall down. Nature always solves these problems quite elegantly.
There's at least one school like the old school!
User Avatar
Member
70 posts
Joined: March 2009
Offline
thanks for answering

1. but fractals i meant fractal geometry. i want the result to be some kind of surface not a bunch of lines.

2. metaballs look interesting and in the help it is written that it can be used to prune as you mentioned but how? i used the copy SOP to copy a metaball to points of an l system but don't know how can use it to prune
User Avatar
Member
349 posts
Joined: Aug. 2006
Offline
ramin22
1. but fractals i meant fractal geometry. i want the result to be some kind of surface not a bunch of lines.

Turn on point attributes in an L-System, and append a polywireSOP. Now you have a surface. This method stops the broken joints if you use the tubes setting inside the L-SystemSOP.

By fracal geometry and surfaces I assume you mean something either quite abstract like this

http://art.bt-3d.de/fragment/index.html [art.bt-3d.de]

Or recursive surfaces like the file.

Also look inside VOPS, for a MandlebrotVOP. Thats a famous fractal.

Attachments:
recursiveGeo.hipnc (285.1 KB)

User Avatar
Member
70 posts
Joined: March 2009
Offline
WOW :shock: are they all made using the L system? do you know how exactly they are made?
User Avatar
Member
70 posts
Joined: March 2009
Offline
and by the way by fractal geometry i meant something like a mountain or landscape. i know that houdini has a fractal SOP and Mountain SOP which will do the trick but i was wandering if it is possible to use l system to do that.
User Avatar
Member
349 posts
Joined: Aug. 2006
Offline
No they wasnt made with L-Systems, just platonic solid and a few transforms fed inside a foreachSOP. Double click the for each sop and see. Real simple stuff.

For surfaces like terrains/oceans and such, using VOPSOPS is a good way of generating the displacements.

L-Systems are really good for doing things like trees, plants and human circulatory systems (veins and arterys). Although there are many applications for L-Systems, however I dont understand them that deep to pull off cool L-System related items.
User Avatar
Member
70 posts
Joined: March 2009
Offline
i mean those artworks in that website you mentioned. do you kow how they are made?
User Avatar
Member
349 posts
Joined: Aug. 2006
Offline
To recreate some of those arty pieces, you are going to need lots of particles. 8)
User Avatar
Member
349 posts
Joined: Aug. 2006
Offline
Not quite as pretty as those website pieces, but this should get you on the right track.

Attachments:
paint.hipnc (766.1 KB)

User Avatar
Member
349 posts
Joined: Aug. 2006
Offline
A very basic terrain setup here if you want a look.

Attachments:
terrain_displacements2.hipnc (135.2 KB)

User Avatar
Member
87 posts
Joined: Aug. 2009
Offline
Ragupasta, forgive my ignorance and thanks for sharing this file. I,m learning Houdini and am still not familiar with the various ways things can be done. May I ask why, in your paint hip file, you used the Material nodes in the paint network? Why do you need to go through them to pipe into your popnet?

And why do both materials need to be merged and piped into an out null?

If these questions are too basic for this forum, I apologize.

Thanks in advance

Alex
User Avatar
Member
349 posts
Joined: Aug. 2006
Offline
For the materialSOP. The idea was to keep things as relative as possible, without splitting things into various extra nodes at object level. I should have really placed the materialSOP that is above the popnet, to the right side branch that runs into the merge node, however the fact that it runs into the popnet is for no reason other than my overlooking that. ops:
It still picks up that material at rendertime due to it also running into the merge node anyway.

As for why both branches need to be merged, is because the aluminium pipes (curves) are running into the popnet node to be used as collision objects. In doing this all you get from the popnet is the ouput particles and not the mesh that goes into it. So we merge together the particle output from the popnet and the aluminum pipes so that both can be seen by mantra when you fire off a render.

As for the nullSOP called “OUT”, trust me you will begin to do this all the time.
Basically if you are inside any context in Houdini and you need to reference the last node in the chain, inside an object node, then its easier to think “the node im looking for is called : /obj/paint/OUT”.
If you have a node heavy scene, its way easier to look for “OUT” inside the file browser, since capital letters always sits at the top of the list.

Hope I was clear enough, explaining things is not my best asset. :shock:
User Avatar
Member
87 posts
Joined: Aug. 2009
Offline
That just explained all my questions in the best possible way, thanks so much

I just started playing with the particlefluidssurface node, and can't really get it to look as smooth as what you have in your example. What is usually a good way to achieve this nice liquid look you have using that node? I'm trying to get water to run out of a faucet, but using the particle fluid approach is way to slow. A friend suggested using the particlefluidsurface approach, but I can't get things to not look blobby.

Thanks!
Alex
User Avatar
Member
349 posts
Joined: Aug. 2006
Offline
It's really trial and error with the surface node. Step size parameter with give more detail to the surface mesh, but as expected this will slow things down somewhat.

Really its a tweaking game of parameters and trade-offs between the different settings.

The variance/noise of the particles in the particle system itself, step size, point radius scale, surface tighness, the method toggle are all settings you can play with to affect the surfacing. Some will work better than others. Also chck the toggle for “exclude lone particles” as well.

Also on the particle surace node, there is a filtering subtab, this really does smooth the surface out, but becareful setting this too high if you have lowered the step size significantly, things will slow down.
User Avatar
Member
1145 posts
Joined: July 2005
Offline
You can also use the Smooth sop after the particle surfacer.
“gravity is not a force, it is a boundary layer”
“everything is coincident”
“Love; the state of suspended anticipation.”
User Avatar
Member
130 posts
Joined: April 2009
Offline
Hi,

Take a look at the following link:

http://sweb.cityu.edu.hk/sm4123/ [sweb.cityu.edu.hk]

One of the tutorials (might be no. 8 or 9) deals with creating fractal geometry in Houdini.

Cheers,
Grzegorz
User Avatar
Member
87 posts
Joined: Aug. 2009
Offline
Doesnt look like those are available for download though…Do you have a copy of the lessons?
User Avatar
Member
130 posts
Joined: April 2009
Offline
Since the guy took the PDFs down, I'm not sure about the copyrights, therefore the followup goes via PM.

G.
User Avatar
Member
7 posts
Joined:
Offline
Because the semester begins, and I would like to prepare some modification on the course notes, so I remove the PDFs temporary (will be added back on the lesson date).

Meanwhile you can download the “old” version of my notes:

http://sweb.cityu.edu.hk/sm5320/ [sweb.cityu.edu.hk]

Lesson 10 and 11 are about L-system and (a little bit) fractals.

Kam
  • Quick Links