Creating a Forest Biome with Photogrammetry
Subscribe:  iCal  |  Google Calendar
Miami US   15, Jul — 20, Jul
Orlando US   24, Jul — 27, Jul
Grapevine US   25, Jul — 29, Jul
Los Angeles US   28, Jul — 29, Jul
Los Angeles US   28, Jul — 2, Aug
Latest comments
by UtopiaNemo
1 hours ago

I have the utmost respect for each of these developers. I must say I think they’re mostly incorrect in their assessments of why the Dreamcast failed. The Dreamcast’s ultimate failure had so little to do with the way Sega handled the Dreamcast. Sega and their third party affiliates such as Namco and Capcom put out so many games of such stellar quality, that the Dreamcast won over a generation of gamers who had previously been diehard Nintendo or Sony fans. They even won me over, who had been a diehard Sega fan since the SMS days, but was so disillusioned by the Saturn’s handling that I had initially decided to sit the Dreamcast out. At that time, the Dreamcast launch was widely considered to be the strongest console launch in US history. In my opinion, the three issues leading to the fall of the Dreamcast were (in inverse order):1)piracy, 2)Sega’s great deficit of finances and cachet following the Saturn debacle, and 3)Sony’s masterful marketing of the PlayStation 2. Piracy’s effect on Dreamcast sales is a hotly debated topic, but I’ll say that the turn of the millennium, most college and post-college guys I knew pirated every bit of music or software they could. Regarding the Saturn debacle, the infighting between SOA and SOJ is well known, as are the number of hubristic decisions Mr. Nakayama made which left Sega in huge financial deficit. They were also directly responsible for erasing a lot of the respect and good will Sega had chiseled out worldwide during the Mega Drive/Genesis era. With the Dreamcast, Sega was digging itself out of a hole. They had seemingly done it as well, and would have surely continued along that path, had it not been for the PS2. There is no doubt in my mind that the overwhelming reason the Dreamcast failed was because of the PS2.

by Philip Ho
4 hours ago

Great stuff Fran!

What the hell are you saying? I can't make sense of it.

Creating a Forest Biome with Photogrammetry
10 July, 2018
Environment Art
Environment Design

Théophile Lebeau shared his breakdown of creating a Forest biome with seamless photogrammetric textures and scans using SpeedTree and Houdini.


Hi everyone! my name is Théophile Lebeau. I work at Kylotonn Games (Paris) where I am currently a Junior vegetation artist for the production of V-rally 4. 


In the future, I would like to create a large database of textures for my personal work. In order to ease the creation, I decided to automate the production. For this, I created my own graph in Substance Designer.

For texture scan (2D), I used the scan processing in Substance Designer along with a 12×12 inch LED panel and a LED ribbon. Those allowed me to create normal maps, subsurface color textures, diffusion, and my alpha channel for foliage. The images are shot with a 5D Mark II and a 50mm f / 1.4.

I use a tripod, with my 5D connected to my computer, to import the image with EOS utility and Lightroom. I can see then the result immediately and apply the corrections in real time: Color Balance, Curve, Sharpen etc.

Seamless photogrammetry textures

Generally, for the ground textures, I shoot large areas. This allows me to bake two 4K textures from a single model generated by Agisoft. For trees, trunks, and branches, I shoot to create one texture (4K or 8K):

I bake my ground mesh directly on a plane. For trees, I use ZRemesher tool from Zbrush and I unwrap in Maya or 3ds Max.   

When the baking is done, I create roughness and glossiness textures from diffuse in Photoshop.

I created 9 planes placed next to each other. All planes have overlapped UVs.

We can now import the planes and textures into Substance Painter, where I use the stamp tool to hide the seams between the planes.

An example of the final textures:

Leaves and needles meshes

I used Maya to build the meshes and their LODs (for leaf, needle, and grass), that I imported next into SpeedTree.

For a good optimization and in order to avoid alpha overdraw, I cut my meshes with least alpha test space possible. It is necessary to strike a balance between polycount and alpha test space. An example of the mesh and LODs: LOD0 14tris, LOD1 8tris, LOD2 5tris.

Trees production

Passionate about the architectural models of the trees, I spend a lot of time observing them and I usually refer to botanists works such as Francis Hallé (his books) or Patrick Blanc and his wonderful vegetal walls.

Here are some references for the creation of the forest scene:

I observe the branches separation into the trunks, (vertically, horizontally),  rhythmic or random organization etc. Then I look at the global shape.
In the end, I try to reproduce the same characteristic in SpeedtTree. Obviously, I adapt the trees to my scene. I wanted a small scene, so it was necessary to block the view.  

I generated a trunk, branches and finally, I added the leaf/needle mesh. SpeedTree also creates a smooth LODs with the meshes it generates.  

Houdini and procedural heightmaps

We understand the potential of Houdini for the video game industry. I started using this software over the past few months. During my first try for the Forest scene, I generated my ground height map with the Houdini’s field map nodes. The nodes of highfield allows to create different noise or 2D mask for reinterpretation in height field.

An example of a step-by-step progression to create a ground mesh in Houdini:

The red line is painted as mask coupled to the node “height field terrace” which can flatten a path in a matter of second. After it, we can export the high and low poly meshes for the usual procedure (bake, import the low poly model in your engine etc.) or export a heightmap of your terrain directly from Houdini. As my scene did not need a complicated terrain, a simple heightmap was enough.

Another example of ground creation with Houdini:

I learned a lot about Houdini with Alexander Dracott‘s Conference, A Big thank for his work!

Material in Unreal Engine

Here is the material I made for flowers and other foliages. With this graph, I can simulate the wind effect with the simple grass wind node, but also adjust the strength of the normal map.

For the ground textures, I used several materials function blended into a single material. Then in my instance material, I could modify the tiling, roughness level and the glossiness for each material without recomputing them.

I used 2K ground textures, without tessellation for optimization reasons. Here is a screenshot of the 4K ground textures with tessellation:


My asset imported, materials set, a hint of lighting, here is a screenshot of the scene!  

I would like to thank Maximilien Torti and Kevin Darnis who taught me a lot about SpeedTree, as well as my Lead Environment Stéphane Cambier who was also mentoring me a lot and who trusted me with my work during the productions.

Théophile Lebeau, Junior Vegetation Artist at Kylotonn Games


Leave a Reply

6 Comment threads
0 Thread replies
Most reacted comment
Hottest comment thread
6 Comment authors
RafalLewis Cowles510340686@qq.comPeter Lebanluke van aarle Recent comment authors

Did you made trees textures also seamless? If yes, how? 🙂

Lewis Cowles
Lewis Cowles

Looks amazing

Hello boss, I am also studying this process. I would like to consult you, but I don’t know how to connect it in Designer. If it is convenient for you, could you please send it to me for me to learn .

Peter Leban
Peter Leban

Oh my, this looks fantastic! Super insightful breakdown, too. Thank you!

luke van aarle
luke van aarle

You should checkout dabarti capture for Al the leaf scanning btw very nice work

Maxime Dumon
Maxime Dumon

Good article buddy

Related articles
Partners’ project
Partners’ project
Partners’ project
CGI/Static Rendering
Environment Art
Environment Design