Between Tech and Art: The Vegetation of Horizon Zero Dawn
Creating Assets with SpeedTree
In this section, the speaker discusses the process of creating assets using SpeedTree for the game Horizon Zero Dawn.
Asset Creation Process
- The team starts by sketching out the texture or silhouette of the asset.
- They then build the assets using SpeedTree, considering factors like performance and density.
- If they are not satisfied with the results, changes can be made quickly at this stage.
- Once happy with an asset, they create high-resolution components needed for textures.
- High-resolution models are built and laid out in Maya for texture baking.
- Custom shaders are applied to these models before baking them into UV space for game models.
Using LODs and Billboards
This section focuses on how LODs (Level of Detail) and billboards are used in asset creation.
LOD Implementation
- The team treats their speed models as LOD 3 and starts detailing them further.
- Workarounds like adding small triangles around measures ensure similar LOD bounding boxes in SpeedTree.
- Newer versions of SpeedTree do not have this issue, but switching software midway was avoided.
- The speed model meshes are replaced with new low chain meshes in SpeedTree production.
Billboards
- Billboards are included in load 4 and 5 of the asset creation process.
- However, no special information is provided about billboards other than being cross plains.
Shadow Casting Techniques
This section explains shadow casting techniques used in Horizon Zero Dawn.
Shadow Cascades
- Cascades 0 & 1 use standard shadow maps for rendering vegetation shadows.
- A distance cascade uses a height field-based system to render shadows.
- LOD selection for shadow rendering is distance-to-camera based, causing noticeable popping.
- To solve this, objects are rendered into specific cascades based on fixed distances.
- Each object in a cascade uses the same shadow LOD to avoid popping during transitions.
Introduction and Conclusion
The speaker introduces themselves and concludes the presentation.
Introduction
- Gilbert Saunders, a principal artist at Guerilla Games, introduces himself.
- He mentions his role in creating vegetation for Horizon Zero Dawn.
Conclusion
- The speaker thanks the audience for their presence and attention.
- A small movie showcasing vegetation in the game is shown on loop.
The transcript provided does not contain any content that is not in English.
Working on Killzone 2 and Killzone 3
The speaker discusses their work on the games Killzone 2 and Killzone 3, specifically focusing on vegetation and environment art, shader texture art, and shadow casting.
Working on Vegetation and Environment Art
- Worked as a vegetation and environment artist for Killzone 2.
- Separated assets as a shader texture artist for both Killzone 2 and Killzone 3.
Shadow Casting Team
- Joined a small team of shadow casting artists.
- Had two shadow casting artists within the studio.
- Tested and prototyped visual meshes for future games.
Transition to Horizon Zero Dawn
- Started full-on production on Horizon Zero Dawn in 2014.
- Shifted focus from alpha testing to final production.
Importance of Vegetation in Horizon Zero Dawn
The speaker summarizes the importance of vegetation in Horizon Zero Dawn and provides recommendations for utilizing vegetation in game development.
Importance of Vegetation
- Discusses the significance of vegetation in creating immersive game worlds.
- Mentions that some players may not have focused on vegetation due to other aspects of the game.
Recommendations for Utilizing Vegetation
- Recommends using a custom-made chain for creating vegetation assets.
- Emphasizes keeping shadow casters separate from visual meshes.
- Highlights the use of placement systems for vegetation assets.
- Mentions that dealing with similar challenges helped in iterating and improving nature assets.
Conclusion and Q&A
The speaker concludes the presentation by thanking the audience. They provide references related to the topic discussed. The section ends with an invitation for questions from the audience.
Conclusion
- Thanks the audience for attending the presentation.
- Shares a slide with references related to creating more with less in game development.
Q&A
- Invites the audience to ask questions.
- Mentions that there is time for questions if anyone wants to ask.
Snow Assets and Rule Sets
This section discusses the use of snow assets and rule sets to create believable environments in a game.
Snow Assets
- Snow assets can be used to describe a large variety of environments, such as forests or open fields.
Rule Sets
- Rule sets are used for layering and creating interesting and believable environments.
- The goal is to have a system that can be applied anywhere in the world and seamlessly integrate with manually placed art.
- The system should be highly deterministic, locally stable, and data-driven. It should allow artists to define what they want to achieve when painting in different environments.
Testing and Performance
- The system is also tested for scale, performance, and integration with new assets.
- The Ghost Recon instance is recommended for further exploration of placement techniques.
Movement of Foliage and Weather System Integration
This section focuses on the movement of foliage in the game and its integration with the weather system.
Real-time Simulation
- The movement of foliage in the game is almost real-time, providing a simulation of nature.
- The simulation needs to be tied in with the weather system to create realistic effects.
Design Considerations
- When designing for the game, it was important to consider whether there was something missing in terms of art or gameplay-driven technology.
- Vegetation shaders play a crucial role in simulating nature and driving the movement of particles.
Global Wind Force Field
- The base of the simulation solution in the game is a global wind force field.
- The global wind force field helps in achieving realistic movement and behavior of foliage.
Requested Improvements
- One of the requested improvements is the ability to have trees overhanging rivers or on the outskirts of forests. This requires an extension of the global wind force field based on curvature.
Photogrammetry and Scaling
This section discusses the use of photogrammetry and scaling techniques for creating realistic assets.
Photogrammetry
- Photogrammetry is used to capture real-world objects and convert them into 3D textures that can be used as shaders.
- It allows for high-resolution details, especially for close-up views.
Scaling Techniques
- Different scaling techniques are employed to optimize performance while maintaining visual quality.
- Lower resolution textures are used for distant views, while higher resolutions are used for closer views.
Tree Trunk and Branch Simulation
This section focuses on simulating tree trunks and branches in the game.
Shader Setup
- The shader setup allows for realistic simulation of tree trunks, branches, and other vegetation elements.
Treating Spring Settings without Additional Gameplay
The discussion focuses on how to treat spring settings without any additional gameplay. They explore the use of shader logic to set distinctive movement for animated branches in a vertex shader.
Shader Logic for Animated Branches
- A branch being animated can have a different movement in a vertex shader.
- Different types of assets are divided into categories, such as shooting assets with force fields attached.
- Collision simulation is used to determine if an arrow will collide with a branch.
- A collision sample is used to drive banners and tarps, while collisions with trees are handled differently.
Wind Force Field and Grass Animation
The conversation delves into the wind force field and how it affects grass animation. They discuss the generation of gusts of wind and the need for dedicated shaders.
Simulating Wind with Force Fields
- Wind simulation is achieved through math-based calculations in shaders.
- A force field represents an area defined for assets' movement on screens.
- The wind's effect needs to be translated into shaders for rendering and shading purposes.
- Skinned data is stored using different force field properties, such as flow and max speed.
Grass Animation
- Grass animation initially involved mimicking real-life motion when characters walked over it.
- Three levels of detail were considered, including large-scale motion, medium-scale motion (branches or leaves), and small-scale interaction (grass).
- Reacting to wind and bending convincingly were desired features for grass animation.
Interaction Between Wind and Foliage
The discussion revolves around experimenting with wind interaction on foliage. They explore the concept of large-scale motion, complete bend, medium-scale motion (branches), and small-scale interaction (leaves).
Wind Interaction on Foliage
- The goal is to have the entire asset react to wind, with bending being more pronounced at the top.
- Height of the snow asset is used as a gradient for large-scale motion.
- Medium-scale motion involves branches or leaves, while small-scale interaction focuses on grass.
- The desired outcome is to create a more realistic and enjoyable experience through increased interaction and less rigidity.
The transcript provided does not contain any content beyond this point.
DLC and Gradient Assets New Section
In this section, the speaker discusses the use of DLC (Downloadable Content) and introduces a system for creating gradient assets.
Introduction of Gradient System
- The speaker explains that they have introduced a system where gradients can be used to approximate curves in blue.
- This system is utilized to add rigidity to branches in the game, allowing them to appear more realistic.
Expanding the Use of Gradient System
- The speaker mentions that they have started using the same gradient system for other elements, such as restoring distance between trunks.
- They express excitement about exploring further possibilities with this system.
Last Level: Leaves
- The speaker briefly mentions that small and thin objects like leaves are also included in the use of gradient assets.
The transcript provided does not specify a language. Therefore, I have assumed it to be English based on your request.