Clutter Effect Layer
(→Asset Creation) |
m (→See Also) |
||
(25 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
+ | [[File:Clutterexample1.jpg|right|500px]] | ||
+ | |||
The [[Clutter Effect Layer]] is an [[Effect Layer]] type which is used to render small localised ground clutter (small foliage, stones, etc.) As with all effect layers, clutter is painted onto the terrain and automatically generates appropriate geometry for the area surrounding the camera. | The [[Clutter Effect Layer]] is an [[Effect Layer]] type which is used to render small localised ground clutter (small foliage, stones, etc.) As with all effect layers, clutter is painted onto the terrain and automatically generates appropriate geometry for the area surrounding the camera. | ||
− | = Configuration = | + | == Surveyor Configuration == |
+ | In Surveyor, effect layers are added and configured using the [[Help:Effect_Layer_Dialog| Effect Layers dialog]]. Once added to the Route, the effect itself is "painted" onto the world using the topology tools (e.g. "Height up", "Plateau", etc.). Below is a detailed breakdown of the editable fields for a clutter effect layer. | ||
− | + | [[File:clutter_effect_options.jpg|right]] | |
− | + | ====name==== | |
+ | The name of this effect layer. This is used for display and identification purposes only, and has no effect on use or visuals. | ||
− | + | ====clutter-density==== | |
+ | Data storage semantics for the clutter density data. This controls the amount of data that this effect layer will use within the Route. Allocating more data for an effect layer allows more control over painting it, but there is a (shared) limit to how much data you can allocate for effect layers so it's best to keep this as low as possible. | ||
− | + | Effect data bindings have 3 configurable field. The first field is the bit depth, which controls how much data each effect "vertex" uses. A higher bit depth means more layers of control between the minumum and maximum values, but uses more data. This field can also be set to Zero, meaning that it uses no data within the Route files, and every vertex will use the Default value for this binding. The second field is the vertex grid size. This controls the distance between each effect layer vertex. A smaller value means you can paint the effect with very high precision or over a very small area, but uses more data. A large value is better for quickly bulk filling, and uses much less data storage space, but can be difficult to pain precisely. The final field is the default value. The default is used when the bit depth is set to zero, and to pre-fill newly added ground sections. | |
− | == | + | ====spacing==== |
− | + | Controls the distance new clutter objects will spawn from each other. A smaller distance also means more meshes will be added, so this field can heavily impact performance. | |
− | + | ====random-rotation==== | |
+ | Enables/disables random mesh rotation around the height (z) axis. | ||
− | + | ====draw-distance==== | |
+ | Sets the maximum distance at which this clutter effect will draw. The smaller you can make this the better your performance will be, so take the time to consider a sensible value. | ||
− | + | ====mesh-assets==== | |
+ | This is where you select one or more assets to be randomly generated for your clutter layer. | ||
− | + | * Click the "Add Asset" button to add a new asset row. | |
+ | * Click in the text box to show the list of available clutter assets. | ||
+ | * Select the asset you want to use in from the dropdown list. | ||
+ | * Adjust the slider next to each asset to determine how frequently to spawn this particular asset. | ||
+ | * Move the slider all the way to the right to give a very high spawn frequency. | ||
+ | * Move the slider all the way to the left stop it from spawning altogether (0 spawn frequency). | ||
+ | * When the slider is all the way to the left a delete button will also be displayed. Click that to remove this asset row. | ||
+ | Note that performance of each individual mesh asset can vary, so editing this may heavily impact performance. | ||
− | + | ====avoid-water==== | |
+ | Whether to avoid rendering this effect under water. This feature was added for the TRS19 2020q1 subscriber update, and is currently only available to subscribers. | ||
+ | ====altitude-range==== | ||
+ | The minimum and maximum altitude at which to render this effect. This feature was added for the TRS19 2020q1 subscriber update, and is currently only available to subscribers. | ||
+ | ====gradient-range==== | ||
+ | The minimum and maximum terrain gradient (degrees) on which to render this effect. This feature was added for the TRS19 2020q1 subscriber update, and is currently only available to subscribers. | ||
+ | ====ground-texture-mask==== | ||
+ | Causes this effect layer to only render on specific ground texture assets. This feature was added for the TRS19 2020q1 subscriber update, and is currently only available to subscribers. | ||
− | == | + | == Asset Configuration == |
− | + | Before you start looking at creating assets for Clutter Effect Layers you should have a very good knowledge on how you go about modelling efficient meshes for each LOD level and what textures you should be using for each mesh LOD. You can find an excellent reference on how to model and texture assets under the [[Art_Recommendations#Modeling_Overview|Modelling Overview]] on the Art Recommendations Trainz wiki page. | |
− | [[ | + | When using a large amount of clutter objects onscreen at one time, it's best to have at least the lowest LODs (which shouldn't be very far from the camera) using a [[Texture Atlas]]. The texture atlas should be as small as it can be while maintaining good visual results (256x256 perhaps) and will hold all the images for all the assets lowest LODs. This means when the lowest LODs are showing (which should be the majority of clutter onscreen most of the time) you'll only be paying the cost of 1 material shared across all the lowest LODs. |
+ | You will also want to share as many single textures between as many assets as possible to cut-down on draw calls where possible - If you have 3 ferns all of different sizes, don't make 3 copies of the same texture. | ||
+ | You will want to make sure you understand how to create a Trainz [[Mesh Libraries|Mesh Library]] asset so you can utilise texture atlases and sharing of textures between multiple meshes. | ||
− | + | Once you start to construct your Trainz mesh library asset be sure to use the [[m.clutter]] material for all your meshes. This will allow your clutter asset to fade in and out where required. You will also want to take note about the fadeInEndDistance and fadeOutEndDistance in your [[mesh metadata file|mesh metadata files]] to get your fade transitions correct. | |
− | + | == Mesh Asset Creation == | |
− | + | There are several factors to consider when determining which assets you should put in a clutter layer: | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
+ | # How big is the asset? Anything that has a size of ~1 metre cubed or smaller can be considered as clutter. This is not to say it must be clutter but anything larger than that you should place with the Objects tab. | ||
+ | # To get the nice fade-out transition (and fade-in if you've configured that) your clutter asset should use the material [[m.clutter]]. | ||
+ | # LODs are a MUST! If your asset has no LOD or poor LOD it will be far too performance heavy for use as clutter. | ||
+ | You can find all the information on creating clutter mesh assets under [[m.clutter]]. | ||
− | + | It is strongly recommended that assets created for use in a clutter effect layer are small, relatively low polygon (100-500 polygons at highest LOD), with very efficient LOD (typically down to 5-10 polygons at lowest LOD) and using the [[m.clutter]] material type. It is possible to create very attractive and high-density scenery with well-built clutter assets. However inefficient asset creation can very quickly lead to very poor performance. | |
− | + | == See Also == | |
− | + | * [[TurfFX_Effect_Layer]] | |
− | + | * [[Effect_Layer_Assets]] | |
+ | * [[Color_effect_layer|Color Effect Layer]] | ||
− | + | Back to [[Effect_Layer]] | |
− | + | [[Category:Modeling]] | |
+ | [[Category:Content creation]] | ||
+ | [[Category:TRS19]] |
Latest revision as of 20:38, 30 January 2024
The Clutter Effect Layer is an Effect Layer type which is used to render small localised ground clutter (small foliage, stones, etc.) As with all effect layers, clutter is painted onto the terrain and automatically generates appropriate geometry for the area surrounding the camera.
Contents |
[edit] Surveyor Configuration
In Surveyor, effect layers are added and configured using the Effect Layers dialog. Once added to the Route, the effect itself is "painted" onto the world using the topology tools (e.g. "Height up", "Plateau", etc.). Below is a detailed breakdown of the editable fields for a clutter effect layer.
[edit] name
The name of this effect layer. This is used for display and identification purposes only, and has no effect on use or visuals.
[edit] clutter-density
Data storage semantics for the clutter density data. This controls the amount of data that this effect layer will use within the Route. Allocating more data for an effect layer allows more control over painting it, but there is a (shared) limit to how much data you can allocate for effect layers so it's best to keep this as low as possible.
Effect data bindings have 3 configurable field. The first field is the bit depth, which controls how much data each effect "vertex" uses. A higher bit depth means more layers of control between the minumum and maximum values, but uses more data. This field can also be set to Zero, meaning that it uses no data within the Route files, and every vertex will use the Default value for this binding. The second field is the vertex grid size. This controls the distance between each effect layer vertex. A smaller value means you can paint the effect with very high precision or over a very small area, but uses more data. A large value is better for quickly bulk filling, and uses much less data storage space, but can be difficult to pain precisely. The final field is the default value. The default is used when the bit depth is set to zero, and to pre-fill newly added ground sections.
[edit] spacing
Controls the distance new clutter objects will spawn from each other. A smaller distance also means more meshes will be added, so this field can heavily impact performance.
[edit] random-rotation
Enables/disables random mesh rotation around the height (z) axis.
[edit] draw-distance
Sets the maximum distance at which this clutter effect will draw. The smaller you can make this the better your performance will be, so take the time to consider a sensible value.
[edit] mesh-assets
This is where you select one or more assets to be randomly generated for your clutter layer.
- Click the "Add Asset" button to add a new asset row.
- Click in the text box to show the list of available clutter assets.
- Select the asset you want to use in from the dropdown list.
- Adjust the slider next to each asset to determine how frequently to spawn this particular asset.
- Move the slider all the way to the right to give a very high spawn frequency.
- Move the slider all the way to the left stop it from spawning altogether (0 spawn frequency).
- When the slider is all the way to the left a delete button will also be displayed. Click that to remove this asset row.
Note that performance of each individual mesh asset can vary, so editing this may heavily impact performance.
[edit] avoid-water
Whether to avoid rendering this effect under water. This feature was added for the TRS19 2020q1 subscriber update, and is currently only available to subscribers.
[edit] altitude-range
The minimum and maximum altitude at which to render this effect. This feature was added for the TRS19 2020q1 subscriber update, and is currently only available to subscribers.
[edit] gradient-range
The minimum and maximum terrain gradient (degrees) on which to render this effect. This feature was added for the TRS19 2020q1 subscriber update, and is currently only available to subscribers.
[edit] ground-texture-mask
Causes this effect layer to only render on specific ground texture assets. This feature was added for the TRS19 2020q1 subscriber update, and is currently only available to subscribers.
[edit] Asset Configuration
Before you start looking at creating assets for Clutter Effect Layers you should have a very good knowledge on how you go about modelling efficient meshes for each LOD level and what textures you should be using for each mesh LOD. You can find an excellent reference on how to model and texture assets under the Modelling Overview on the Art Recommendations Trainz wiki page.
When using a large amount of clutter objects onscreen at one time, it's best to have at least the lowest LODs (which shouldn't be very far from the camera) using a Texture Atlas. The texture atlas should be as small as it can be while maintaining good visual results (256x256 perhaps) and will hold all the images for all the assets lowest LODs. This means when the lowest LODs are showing (which should be the majority of clutter onscreen most of the time) you'll only be paying the cost of 1 material shared across all the lowest LODs.
You will also want to share as many single textures between as many assets as possible to cut-down on draw calls where possible - If you have 3 ferns all of different sizes, don't make 3 copies of the same texture.
You will want to make sure you understand how to create a Trainz Mesh Library asset so you can utilise texture atlases and sharing of textures between multiple meshes.
Once you start to construct your Trainz mesh library asset be sure to use the m.clutter material for all your meshes. This will allow your clutter asset to fade in and out where required. You will also want to take note about the fadeInEndDistance and fadeOutEndDistance in your mesh metadata files to get your fade transitions correct.
[edit] Mesh Asset Creation
There are several factors to consider when determining which assets you should put in a clutter layer:
- How big is the asset? Anything that has a size of ~1 metre cubed or smaller can be considered as clutter. This is not to say it must be clutter but anything larger than that you should place with the Objects tab.
- To get the nice fade-out transition (and fade-in if you've configured that) your clutter asset should use the material m.clutter.
- LODs are a MUST! If your asset has no LOD or poor LOD it will be far too performance heavy for use as clutter.
You can find all the information on creating clutter mesh assets under m.clutter.
It is strongly recommended that assets created for use in a clutter effect layer are small, relatively low polygon (100-500 polygons at highest LOD), with very efficient LOD (typically down to 5-10 polygons at lowest LOD) and using the m.clutter material type. It is possible to create very attractive and high-density scenery with well-built clutter assets. However inefficient asset creation can very quickly lead to very poor performance.
[edit] See Also
Back to Effect_Layer