Making random / natural vegetation for scene

You are correct. The vegetation in Flamingo is “grown” in memory at render time and does not export.

This is just rough while figuring out scripts. My scale and rotation randomizer is working pretty alright.

Still don’t have a good way to scatter points. Doing it manually.

Random Point cloud you can generate with grasshopper very easy.

Did. you tried the land Design Plugin na asuni?

Eike

I’d use blender possible systems with grooming and texture control to that, then export to Rhino. But no doubt with Grasshopper it should be possible to create some good setups, controlled with one or more textures. Use block instances where possible.

I’d like to make a progress printout in the command line. How do I find out how many objects are in my GetObjects array?

Ubound(arrObjects) will give you the total count - 1 (arrays are 0-based in RS)

hth,

–jarek

Yeea. Thanks Jarek.

Hello wynott,
You might find it useful, a script @clement has created. It allows you to place blocks to points and give them random Z rotation.
You can find it here:
Populate trees
Saved me a lot of time already.

Cheers!

Shoot. Jonish, yeah I made a new script that does the same thing.

Next module I want to do is a script that checks the bounding box then sinks the object into the ground a random (definable rang) percent of the height of the object… Use on rocks and coconuts and other ground clutter.

That would be cool. I believe that for trees, random Z rotation and scaling would be sufficient. (Sadly now I have to do the scaling manually. I really miss block manipulation in Grasshopper.)

One of the rhino deficiencies for those who make 3D visualization: a random distribution system with advanced options, like forest pack or skatter, with full support for blocks and proxy,
Surely I would pay for that …

2 Likes

What would you consider a reasonable price?

I think I’ve figured out how to do some scatter tricks with what we have available now. Will post what I come up with.

Need some help with math on the scaling side though:

Looking for a bit of code that will do a simple version of what I believe is called exponential probability. https://en.wikipedia.org/wiki/Exponential_distribution

Would like to have an input that changes the shape of the curve… So when doing the scaling the majority of trees would be more closely sized, and then less often they are scaled to a much greater extent than the others. I.e. the less frequent the tree, the greater the size variation. Of course will have normal distribution as an option also if a more uniform look is desired… say for an orchard or some other more controlled growth situation.

Think I’ll be able to use the same formula to cull insertion points from areas with a feathered edge around structures or whatever for clearings.

I guess to clarify…

When I generate a random number to determine the scale amount of any given tree, what I want to do is find where on this curve that number falls, and then determine the scaling based on the height of the curve at that point.

I guess if I confined the random number to something like 1-100 then could do the curve by looking up hard coded numbers on a table.

But I suspect the math to do this numerically is simple and a way cleaner method. I’m just kindof not good at math and will need a hand to do it that way.

Actually I think i’ve got this solved

1 Like

maybe between 100 and 200 $

Here’s some test scenes showing the tree scaling with random as comparison.

Base

Random distribution

Exponential distribution, rate 1

Exponential distribution, rate 0.1

Exponential distribution, rate .05

Ok, now square grid, identical tree blocks, rotated

Random distribution

Exponential distribution, rate 1

Exponential distribution, rate 0.1

Exponential distribution, rate 0.05

So, to my eye the Exponentially distributed scaling definitely looks more natural than the purely random one. The rate sweet spot probably varies a little bit depending on the situation but somewhere between .1 and .05 seems to give a good result.

2 Likes

There is allready a plug in, rhinogrow, you can find it in the repository of food for rhino, i use it every time i need to scatter something…

It does its job, but it is really limited compared with skatter and forrest pack…

The other limit is the lack of trees and other 3d models ready for rhino, but I can understand since rhino is not a specific software for rendering

Would you be willing to post the script? Would love to play around with it and post results. I’m pretty bad at coding and grasshopper as well…
Thank you!

@Gerry_Ali check out this :arrow_right: Rhino Nature Plugin - Alpha stage is completed - Still no clear ETA but it will happen i can assure you.