Difference between revisions of "Foliage"

From polycount
Jump to: navigation, search
(Foliage Tutorials: FuturePoly_Grass)
(Foliage Shading moved from VertexNormal to Foliage)
Line 67: Line 67:
 
===UDK===
 
===UDK===
 
* [https://www.3dmotive.com/f102101/ Creating Foliage for UDK] ($) - 3dmotive tutorial by ''[http://www.damianlazarski.com/ Damian 'teaandcigarettes' Lazarski]''. Using 3ds Max 2012, Photoshop, and UDK to create grass and tree branches. See also the [http://www.polycount.com/forum/showthread.php?t=92432 Polycount forum thread].
 
* [https://www.3dmotive.com/f102101/ Creating Foliage for UDK] ($) - 3dmotive tutorial by ''[http://www.damianlazarski.com/ Damian 'teaandcigarettes' Lazarski]''. Using 3ds Max 2012, Photoshop, and UDK to create grass and tree branches. See also the [http://www.polycount.com/forum/showthread.php?t=92432 Polycount forum thread].
 +
 +
== Vertex Normals ==
 +
Foliage meshes in game are usually made using flat planes with a [[Transparency map]] containing a bunch of leaves (or grass blades). These textures are used instead of modeling each leaf or blade of grass discretely, because they would slow the framerate too much. Also the increased vertex count uses much more memory.
 +
 +
However the flat planes do not shade very well when lit. To counteract this, the [[VertexNormal|vertex normals]] can be bent to influence the shading, helping to hide the flatness of the geometry.
 +
 +
If you want to use edited vertex normals on 2-sided models, you must explicitly create those backfaces yourself. If you let a game engine create backfaces automatically, the engine has to generate new polygons so it has to figure out where the new normals will point, resetting them all in the process.
 +
 +
{| border="1"
 +
|[[image:TreeMakerScript_plus_NormalThiefScript.gif]]
 +
|-
 +
|Foliage shading is improved by bending the vertex normals.<br/> The [[file:TreeMakerScript_plus_NormalThiefScript_Max2010.zip|model in Max 2010 format]] (textures copyright SpeedTree).<br/>Image by [http://ericchadwick.com Eric Chadwick].
 +
|}
 +
 +
{| border="1"
 +
|[[image:Tree_Normals.gif]]
 +
|-
 +
|A comparison of different flat geometry types, with and without bent normals.<br/>Top row uses "crossing planes", bottom row uses "tri planes".<br/>Left to right: wireframe, default normals, "global" normals using [[#Normal_Thief|Normal Thief]], and clump-based normals.<br/>Image by [http://ericchadwick.com Eric Chadwick].
 +
|}
 +
 +
{| border="1"
 +
|[[image:tree_shading_examples.jpg]]
 +
|-
 +
|Foliage shading examples compared, with and without [[Vertex color]].<br/>Image by [http://ericchadwick.com Eric Chadwick].
 +
|}
 +
 +
 +
* [http://wypierpapier.blogspot.com/2010/02/vertex-normal-tutorial.html Vertex Normal tutorial] by [http://wypierpapier.blogspot.com/ 'gutekfiutek']. This is a blog post in Polish that explains in pictures how vertex normals can be used for better foliage shading ([http://translate.googleusercontent.com/translate_c?hl=en&ie=UTF-8&sl=pl&tl=en&u=http://wypierpapier.blogspot.com/2010/02/vertex-normal-tutorial.html&prev=_t&rurl=translate.google.com&twu=1&usg=ALkJrhiAwMTQRdRZ8uQcN3n4w1XypaFsVQ translation by Google here]). He used this technique to great effect in his [http://wypierpapier.blogspot.com/2010/03/polished-landscapes-m-mod.html Polished Landscapes Mod] for Mount & Blade.
  
 
== Foliage Tools ==
 
== Foliage Tools ==
Line 84: Line 112:
 
* [http://www.youtube.com/watch?v=bG79EosNiBQ SpeedTree in UDK] ($)
 
* [http://www.youtube.com/watch?v=bG79EosNiBQ SpeedTree in UDK] ($)
  
== Foliage Rendering ==
 
* [[TransparencyMap#Alpha_Blend|Alpha Blend]]
 
* [[TransparencyMap#Sorting_Problems|Sorting Problems]]
 
* [[VertexNormal#Foliage_Shading|Foliage Shading]]
 
* [[EmissiveMap|Emissive]]
 
* [[NormalMap|NormalMap]]
 
  
 
== Foliage Examples ==
 
== Foliage Examples ==
Line 114: Line 136:
 
* [http://www.crydev.net/viewtopic.php?p=981387#p981387 Foliage growth in CryEngine 3] Crydev forum post. Probably using a gradient in the alpha to grow the leaves. Another video [http://www.crydev.net/viewtopic.php?p=1000239#p1000239 here] showing both grass and leaf growth.
 
* [http://www.crydev.net/viewtopic.php?p=981387#p981387 Foliage growth in CryEngine 3] Crydev forum post. Probably using a gradient in the alpha to grow the leaves. Another video [http://www.crydev.net/viewtopic.php?p=1000239#p1000239 here] showing both grass and leaf growth.
  
 +
 +
== More Information ==
 +
* [[TransparencyMap#Alpha_Blend|Alpha Blend]]
 +
* [[Foliage Vertex Color]]
 +
* [[Normal map]]
 +
* [[TransparencyMap#Sorting_Problems|Sorting Problems]]
 +
* [[Vertex color]]
 +
* [[VertexNormal]]
  
  
 
----
 
----
 
[[Category:Environment]] [[Category:EnvironmentFoliage]] [[Category:EnvironmentModeling]] [[Category:EnvironmentTexturing]]
 
[[Category:Environment]] [[Category:EnvironmentFoliage]] [[Category:EnvironmentModeling]] [[Category:EnvironmentTexturing]]

Revision as of 12:18, 21 July 2015

Topics about foliage and vegetation in games.

Foliage Tutorials

AlexDracott ForestLightingStudy.jpg Forest Lighting study. Maya and Unreal 4.


FuturePoly Grass.jpg Creating Grass and Vegetation For Video Games. 3ds Max and CryEngine.


Airborn Trees.jpg A Game Art Trick: Airborn – Trees. Modeling and texturing for stylized bushes.


MarkDygert Hedges.jpg Hedges and Topiary a quick tutorial. Modeling and texturing for stylized bushes.


EricChadwick NormalThief.jpg Tree making fast technique? Tree modeling techniques discussed.


RexMcnish latestfirs.jpg My Work - New Forest Asset update


Steppenwolf eDgLo.jpg Modeling a tree crown with ease. Foliage modeling for easy LODs.


AllodsOnline Clumping 29.jpg any tutorials on grouping and spreading out vegetation realistically.


JamesStout foliage.jpg "BC" - some simple, game-friendly ivy. How to create game-friendly ivy meshes & textures.


TreeTutorialbyJeramyCooke-image005.jpg 3D Trees Tutorials. Multiple methods.


3ds Max

Maya

CryEngine

Unity

UDK

Vertex Normals

Foliage meshes in game are usually made using flat planes with a Transparency map containing a bunch of leaves (or grass blades). These textures are used instead of modeling each leaf or blade of grass discretely, because they would slow the framerate too much. Also the increased vertex count uses much more memory.

However the flat planes do not shade very well when lit. To counteract this, the vertex normals can be bent to influence the shading, helping to hide the flatness of the geometry.

If you want to use edited vertex normals on 2-sided models, you must explicitly create those backfaces yourself. If you let a game engine create backfaces automatically, the engine has to generate new polygons so it has to figure out where the new normals will point, resetting them all in the process.

TreeMakerScript plus NormalThiefScript.gif
Foliage shading is improved by bending the vertex normals.
The File:TreeMakerScript plus NormalThiefScript Max2010.zip (textures copyright SpeedTree).
Image by Eric Chadwick.
Tree Normals.gif
A comparison of different flat geometry types, with and without bent normals.
Top row uses "crossing planes", bottom row uses "tri planes".
Left to right: wireframe, default normals, "global" normals using Normal Thief, and clump-based normals.
Image by Eric Chadwick.
Tree shading examples.jpg
Foliage shading examples compared, with and without Vertex color.
Image by Eric Chadwick.


Foliage Tools

These tools are useful for creating game-resolution models.

Stand Alone

3ds Max

UDK


Foliage Examples

Airborn_Trees.jpg
Airborn Trees2.jpg
SlideNormalThief.jpg
Images from Airborn - Piño's Journey by Slide London.


AdrienThierry tree 02.jpg
AdrienThierry tree 01.jpg
Trees from DISHONORED by Adrien "Crêpator" Thierry, from the Polycount Forum thread DISHONORED assets.



More Information



Personal tools
Namespaces

Variants
Actions
Navigation
Tools