I made a game! Buy on Steam

I like trees. Of course there are many ways of creating them (e.g. explained here) but the tree of Airborn got my special attention because when i saw it the first time, i thought:

“Wow, this looks soo fluffy!”

Source: Airborn

I asked in their polycount thread how it’s done and the solution is pretty “simple”. KatziImSack replied and here is the picture:

Source: Airborn

Another thing i like about trees: you have to care about the leafs, because normally the shading would make their unlit faces pretty dark. So you need some kind of “translucency”. I asked Neox and the answer is worth the
FOX AWARD
cause they’re smart like a fox.

You could use an inverted light vector to lighten up the back faces but that would be too easy. :D

They modified the normals. This means they used the inner “bubble” object as a base and “projected” the normal orientation of it to the leaf “cloud”. So you don’t get too dark/bright faces in the wrong place but a very nice and soft shadow gradient all over the leafs.

Normal Transfer Script: SlideNormalThief @ Slide London

If you think i didn’t explain it good enough, feel free to read more about this in the polycount wiki. There you also find the mentioned script which makes the copy process possible. And of course this link, which is so awesome i have to post it here: It’s about the shading of gras.

Warby told me another very nice advantage about this technique: You avoid too many transparent planes being rendered over each other. The big blob mesh in the middle culls most of them so you only need to care about the stuff of the front/sides.

Update 1
Megan Varde was so inspired that she made these cool trees. <3 <3 <3
Update 2
Dave mentioned another great example for trees using a similar tech:
Update 3
Emory has created a TUTORIAL about how to adjust the Normals in Blender, to achieve similar results like the Airborn tree. Should this tutorial-link be dead or offline in the future for some reason, I stored it as a picture on my server.

Update 4
Just found this great tutorial (also available on Gumroad) by Romain Durand and had to post it here! :)

Update 5
There is a massive amount of programming magic presented in the fresh talk “Rendering Tiny Glades With Entirely Too Much Ray Marching” by Tomasz Stachowiak, but the trees stuck out to me. Instead of having an artist place little cross-plane-meshes all around a blob-mesh, here are the faces themselves are turned into camera facing billboards!

I tried to find out a bit more about this, and indeed there is this reddit thread by pomperi with some more information in the comments:


The tree crown consists of a quadrangulated mesh, where each quad face is unwrapped individually to 0-1 in uv space. The shader remaps the uv to -1 to 1 and is then multiplied with the view matrix to transform the uvs into view space, and are then used as a vertex offset in the vertex shader, which makes each face look towards the camera.

Oh, and thank you very much Belzecue for mentioning, that Pontus actually made a full tutorial about that process! Click below!

And Arvin mentioned, another tutorial:

12 thoughts on “Airborn – Trees

  1. Guategeek

    the images don’t seam to load on this post for me, I have tried at a number of different locations with different ISPs. Could you please check to see if the images are actually accessible and if they are not fix that. Thanks

    Reply
    1. Simon Post author

      That’s right! So logic … but i never would have thought making it like that by my own.

      Reply
    1. Simon Post author

      Usually this is done via Vertex Shader. Those shaders can push around vertices and move them for example with a simple sine-curve. By using vertex color, you can mask out the lower parts of the foilage to make it fix/not moving on the ground.

      You can google for “animate foilage” or something like that. I found this for example very quickly: https://www.youtube.com/watch?v=AYZcqOcP0B4

      Reply
  2. Emilio Vera

    Hi! Any advise on how to place all the bases of 3planes into the spheres faces, just manually or there is a better way? It seems to be incredibly obvious to everyone but I can’t find any info on how to do this in Maya

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *