Staggered Height Floating Populations

Started by dandelO, February 16, 2008, 10:11:03 pm

Previous topic - Next topic


I had a brainwave at work today, someone else before me has no doubt thought of it before but, here goes anyway...

I often use a population of birds in scenes but the default settings don't seem to allow for height difference of each instance when 'sit on terrain' is unchecked. So, I'd been rescaling the pop' instances from around .25 - 1.5 of the original model size to fake depth and distance of the flat airborne population..

That method is decent enough for scenes where you're looking up to the sky but not for an eye-level shot of some floateries.

Here's a little .tgd and basic bird model .tgo for a scene where each instance of the bird model is at a different height in the air!
The trick is to create a new plane object, large enough to be your main landscape and fill your FOV, set a PF shader (or more, here I've just used 1 for quickness) as the displacement/colours/etc. of the plane. Now twiddle away until you have a decent terrain made from your plane object and shaders.

Go to the objects tab and add your population, leave 'sit on terrain' checked.
Add a terrain, the regular way, and adjust settings of that one to be the height distribution of your population and then visit the 'planet1' settings.

Uncheck 'render surface' in planet1 and populate your birds.

Now the birds fly above your terrain at varying heights! They are sitting on the surface of the terrain that isn't being rendered anymore.

Here's the .tgd and .tgo.
First, you'll need to go to 'heightfield generate1' and hit generate now, then populate the birds.



The area of the image where your population is akin to a natural flock formation is the quadrant around and including the upper right hand conner of the image, but there is some thing not quite natural about the rest of the flock! Nice image though.  ;D

Regards to you.



So this is Disney World.  Can we live here?


Cheers, folks.

Cyber Angel: Yup, you can clearly see the contours of the hill that the birds are sitting on in most of the image, that's what isn't quite right about it. That's just because I threw the .tgd together quickly for demonstrative purposes in around 10 minutes  :D.
With a bit of playing though, a nice effect could be achieved with this basic idea, I'm sure.

Thanks again!


Another idea using the same method, needs work but I'm happy that this method works so well.

The terrain used for snowflake distribution was a heightfield I made in Terrabrush that just consists of solid horizontal bars of peaks and troughs, like looking down a square Toblerone bar. (See screenshot in next post, too big to post here).

*** Ignore the dalmation mountains, I struggle with the new intersection settings and this one was another quickie for demo purposes.
On a sidenote, my old scenes where intersection was used don't work like they used to with the most recent build. Now rock intersects snow instead of the opposite way around. need to work on that area a bit more.
These are default 'displacement intersection' settings, which, I'd imagined, should be the same as the single option that was in the previous release. Not so... ***


Snowflake distribution screenshot...


Intersect Underlying was essentially broken in previous versions. It has been fixed and expanded though at the expense of working a bit differently. It's now more flexible and powerful though.

And to keep it on topic, these are cool and fairly effective experiments. Keep it up. :)

- Oshyan


dandelO - Cool!  We've been needing snowflakes.  This could do it.  Another things we talked about, once it's fixed, is using the sphere object to make rain drops.
So this is Disney World.  Can we live here?


Great experiments, dandelO. :) You have come up with two great ways to deal with height variation in the air, I look forward to trying both out.


Thanks everyone. :)

The water droplets work aswell by the way, Calico. You just can't use the TG2 sphere object for it as they appear in a ring when populated.
I tested this the same way with a tiny sphere object of my own and water shaders before making the snowflake .tgo. I thought that the raindrops required a deal of refraction and transparency to appear convincing, in my opinion (although, that's neither here, nor there), the fact is that anything in object format can be given real depth of field(some motion blurring would be nice too...) as a floating population, there are only 8 'planes' of snow layered along 'Z' in this image via the terrain distribution and, I only rendered at 640x480, larger resolution and greater depth could be fantastic.
This could be really nice with a bit of thought and a little more work. I'm happy with my results so far at least. More to come hopefully...

Also, did you know?:

That the default lake object can be used as a population source object...

So can the default SUN! Alas, it suffers much the same as the sphere though. It populates as a ring of suns and appears at the elevation height of the original Sun, when sit on terrain is left checked. It also doesn't render, just like the sphere.
I had an inkling that the sun was an actual 'object' as opposed to a lightsource only, but I didn't test that until last night. Now if PS could enable these populations of spheres and suns etc. to be rendered properly...

Someone asked in here before: 'What is the output on lightsource nodes for?' Planetsides answer was, in a nutshell, 'Nothing, the output is for nothing and does nothing, other than to keep all the nodes in much the same format. I'd like to debate that answer, at least to prove me wrong and point me on the right tracks again, I know very little of the workings of these things but, I know I'd like to use them if I could, will PS be 'fixing' these object/sunlight issues so they are regular objects that respond correctly(and I use 'correctly' very liberaly here. ;)) to the numbers I type, Oshyan?

Now I realise, I have only tested this population idea with suns, not lightsource objects... I'll be back! :)

I love this program! It's like it was made just for me!


QuoteNow I realise, I have only tested this population idea with suns, not lightsource objects... I'll be back! Smiley

Doesn't work at all. :(


dandelO, I don't want to appear daft, but how are you doing this with the heightfield?  Do we also need to create a heightfield like you did to do this?  If so, would you give a little clearer instructions on how to do this, unless I missed something?  If I did miss something, do you mind clarifying?
So this is Disney World.  Can we live here?


Got to go to work soon Calico but, maybe later I'll put a .tgd together and .rar it with this heightfield. Basicaly, in your terrain group, you'll load a heightfield(I made this one in an app called Terrabrush), which side-on, looks like a saw, like this: ^^^^^^^,  now, scaling the height of this(really high, 10,000m) and using these 'knife blade' mountains as the terrain for your pop' to sit on, then unchecking render surface in 'planet1' makes the heightfield nothing more than a distribution map. Simple!
You don't set your POV looking down the direction that the grooves of the distribution terrain run, you look at it front on, through it.
In the screenshot in my above post, you can see where the camera is facing, through these 10,000m high walls.

I'll make some kind of demo later, got to go...



Of course, you can't use the terrain tab anymore to add landscapes, this has to be done another way, my method of choice is a 100,000x100,000 metres TG2 plane object. Use PF shaders and a new compute terrain node in it's internal network for displacement, then rack up your colour shaders after that.
Set the last in the series as the 'surface shader input' of the plane, you could even now add another population of trees or such to the plane terrain, by using it's internal network 'compute terrain'.