Difference between revisions of "Foliage"

From polycount
Jump to: navigation, search
m (Foliage Examples)
(GuerillaGames_HorizonZeroDawn)
 
(9 intermediate revisions by 2 users not shown)
Line 4: Line 4:
  
 
== Foliage Tutorials ==
 
== Foliage Tutorials ==
 +
 +
[[image:GuerillaGames_HorizonZeroDawn.jpg|120px]][https://twvideo01.ubm-us.net/o1/vault/gdc2018/presentations/gilbert_sanders_between_tech_and.pdf The Vegetation of Horizon Zero Dawn] (PDF) Gilbert Sanders, Principal Artist, Guerrilla Games. Maya, Speedtree, Photoshop.
  
 
[[image:AlexDracott_ForestLightingStudy.jpg|120px]]
 
[[image:AlexDracott_ForestLightingStudy.jpg|120px]]
Line 58: Line 60:
 
* [http://polycount.com/discussion/comment/1020341/#Comment_1020341 Low-poly Tree Using Maya PaintFX] - by ''[http://www.mobygames.com/developer/sheet/view/developerId,107125/ Jeramy Cooke]''.  Using ''Paint Effects'' in Maya to create the foliage texture, then hand-modeling the tree.
 
* [http://polycount.com/discussion/comment/1020341/#Comment_1020341 Low-poly Tree Using Maya PaintFX] - by ''[http://www.mobygames.com/developer/sheet/view/developerId,107125/ Jeramy Cooke]''.  Using ''Paint Effects'' in Maya to create the foliage texture, then hand-modeling the tree.
  
===CryEngine===
+
===CRYENGINE 5===
* [http://www.crydev.net/viewtopic.php?p=985051#p985051 Creating foliage in 3ds Max for CryEngine 3] Crydev forum post.
+
* [http://docs.cryengine.com/display/CEMANUAL/Tutorial+-+Vegetation+Asset+Creation Vegetation Asset Creation for CRYENGINE 5.]
* [http://http.developer.nvidia.com/GPUGems3/gpugems3_ch16.html Vegetation Procedural Animation and Shading in Crysis] - by ''[https://www.cmpevents.com/GD08/a.asp?option=G&V=3&id=563008 Tiago Sousa]''.  A detailed overview of Crytek's process for vegetation shading.
+
* [https://www.cryengine.com/community_archive/viewtopic.php?p=985051#p985051 Creating foliage in 3ds Max for CryEngine 3.] Crytek forum post
 +
* [https://developer.nvidia.com/gpugems/GPUGems3/gpugems3_ch16.html Vegetation Procedural Animation and Shading in Crysis] - by ''[https://www.cmpevents.com/GD08/a.asp?option=G&V=3&id=563008 Tiago Sousa]''.  A detailed overview of Crytek's process for vegetation shading.
 +
* [https://www.youtube.com/watch?v=9P3Fr2TL9mo Forest Tutorial - Quixel Megascans in CRYENGINE 5 - by Joe Garth] ($)
  
===Unity===
+
===UNITY===
* [http://www.unifycommunity.com/wiki/index.php?title=TreeCreator_Tutorial Tree Creator Tutorial] - by larsbertram. Using Unity to create trees.
+
* [https://forum.unity.com/threads/tree-creator-tutorial-published.103078/ Tree Creator Tutorial] - by larsbertram. Using Unity to create trees.
 +
* [https://docs.unity3d.com/Manual/tree-FirstTree.html Tree Tutorial] - by Unity. First Unity tree.
  
 
===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://polycount.com/discussion/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://polycount.com/discussion/92432 Polycount forum thread].
 +
 +
===UNREAL ENGINE 4===
 +
* [https://docs.unrealengine.com/latest/INT/Engine/OpenWorldTools/ProceduralFoliage/QuickStart/ Procedural Foliage Tool Quick Start for UE4] ($).
 +
* [https://www.youtube.com/watch?v=FzoY062kY1s Create a Forest in UE4] - By Quixel.
 +
  
 
== Vertex Normals ==
 
== Vertex Normals ==
Line 84: Line 94:
 
|[[image:Tree_Normals.gif]]
 
|[[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].
+
|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 [[VertexNormal#Normal_Thief_MAXScript|Normal Thief]], and clump-based normals.<br/>Image by [http://ericchadwick.com Eric Chadwick].
 
|}
 
|}
  
Line 100: Line 110:
  
 
===Stand Alone===
 
===Stand Alone===
* [http://www.frecle.net/index.php?show=treed.about frecle tree[d]] (exports formats .B3D, .OBJ, .X) ([https://web.archive.org/web/20130715071506/http://www.frecle.net/index.php?show=treed.about alternate download] via web.archive.org)
+
* [http://www.evolved-software.com/treeit/treeit Tree It] (exports formats .dbo .fbx .obj .x)
 +
* [http://www.frecle.net/index.php?show=treed.about frecle tree[d]] (exports formats .B3D .OBJ .X) ([https://web.archive.org/web/20130715071506/http://www.frecle.net/index.php?show=treed.about alternate download] via web.archive.org)
 
* [http://renderhjs.net/shoebox/ ShoeBox: Mask Image] by [http://renderhjs.net Hendrik-Jan "renderhjs" Schoenmaker] - converts tree photos into transparent textures.
 
* [http://renderhjs.net/shoebox/ ShoeBox: Mask Image] by [http://renderhjs.net Hendrik-Jan "renderhjs" Schoenmaker] - converts tree photos into transparent textures.
 
* [http://ngplant.sourceforge.net/ ngPlant]
 
* [http://ngplant.sourceforge.net/ ngPlant]
Line 111: Line 122:
 
===UDK===
 
===UDK===
 
* [http://www.youtube.com/watch?v=bG79EosNiBQ SpeedTree in UDK] ($)
 
* [http://www.youtube.com/watch?v=bG79EosNiBQ SpeedTree in UDK] ($)
 +
 +
===UNREAL ENGINE 4===
 +
* [https://www.youtube.com/watch?v=M0RrdZmYoNM SpeedTree in UDK] ($)
  
 
== Foliage Examples ==
 
== Foliage Examples ==
Line 136: Line 150:
  
 
== More Information ==
 
== More Information ==
* [[TransparencyMap#Alpha_Blend|Alpha Blend]]
 
 
* [[Foliage Vertex Color]]
 
* [[Foliage Vertex Color]]
 +
* [[GrassTechnique]]
 +
* [[HairTechnique]]
 
* [[Normal map]]
 
* [[Normal map]]
 
* [[TransparencyMap#Sorting_Problems|Sorting Problems]]
 
* [[TransparencyMap#Sorting_Problems|Sorting Problems]]
 +
* [[TransparencyMap]]
 
* [[Vertex color]]
 
* [[Vertex color]]
 
* [[VertexNormal]]  
 
* [[VertexNormal]]  

Latest revision as of 12:17, 16 May 2020

Topics about foliage and vegetation in games.

Foliage Tutorials

GuerillaGames HorizonZeroDawn.jpgThe Vegetation of Horizon Zero Dawn (PDF) Gilbert Sanders, Principal Artist, Guerrilla Games. Maya, Speedtree, Photoshop.

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 5

UNITY

UDK

UNREAL ENGINE 4


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

UNREAL ENGINE 4

Foliage Examples

Airborn_Trees.jpg
Airborn Trees2.jpg
SlideNormalThief.jpg
Images from Airborn - Piño's Journey by Airborn Studios. Also see A Game Art Trick: Airborn – Trees.


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