Clutter Effect Layer

From TrainzOnline
(Difference between revisions)
Jump to: navigation, search
m
m (See Also)
 
(26 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.
  
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.
+
[[File:clutter_effect_options.jpg|right]]
  
If it's not obvious on that Art Recommendations page; for any large amount of clutter objects you use onscreen at one time, it's best to have at least the lowest LODs (which shouldn't be very far from the camera) using an [[Texture Atlas]]. The texture atlas should be as small as 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.
+
====name====
 +
The name of this effect layer. This is used for display and identification purposes only, and has no effect on use or visuals.
  
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.
+
====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.
  
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.
+
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.
  
== Clutter Asset Selection ==
+
====spacing====
There are several factors to consider when determining which assets you should put in a clutter layer:
+
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.
  
1. How big is the assets? Anything that has a size of 1 meter 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.
+
====random-rotation====
 +
Enables/disables random mesh rotation around the height (z) axis.
  
2. To get the nice fade out transition (and fade in if you've configured that) you will want your clutter asset to be using the material [[m.clutter]].
+
====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.
  
3. LODs are a MUST! If your asset as poor LOD don't even consider using it for clutter as it could bring your machine to its knees.
+
====mesh-assets====
 +
This is where you select one or more assets to be randomly generated for your clutter layer.  
  
== Creating and Editing Clutter Layers ==
+
* 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.
  
[[File:effectlayertopology1.jpg]]
+
====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.
  
=== Effect Layer Window ===
+
== Asset Configuration ==
  
The Effect Layers window allows you to edit your effect properties. The UI in this window will change based on what effect you choose (clutter, turf, something else).
+
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.
  
[[File:effectlayerwindow1.jpg]]
+
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.
  
==== Select ====
+
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.
  
This allows you to select any existing effect layers to view and edit their parameters.
+
== Mesh Asset Creation ==
  
[[File:effectlayerwindow1a.jpg]]
+
There are several factors to consider when determining which assets you should put in a clutter layer:
 
+
 
+
 
+
==== Delete ====
+
 
+
This button will delete the currently selected effect layer.
+
 
+
[[File:effectlayerwindow1b.jpg]]
+
 
+
 
+
 
+
==== Add ====
+
 
+
This button will allow you to create a new effect layer.
+
 
+
[[File:effectlayerwindow1c.jpg]]
+
 
+
 
+
 
+
==== Name ====
+
 
+
Enter a name for your effect layer.
+
 
+
[[File:effectlayerwindow1d.jpg]]
+
 
+
 
+
 
+
==== Clutter-Density Data Binding ====
+
 
+
The "clutter-density" options and associated "constant" value control the [[Effect Layer Data Binding]] (read this link for details) which controls the density of this clutter layer across the route. Density ranges from 0.0 (no clutter present) to 1.0 (maximum density).
+
 
+
[[File:effectlayerwindow1e.jpg]]
+
 
+
[[File:effectlayerwindow1f.jpg]]
+
 
+
 
+
 
+
==== Spacing ====
+
 
+
Determines the spacing in meters between each clutter asset. The smaller the spacing the closer your clutter assets will be to one another (but most likely, the smaller the spacing the worse your performance will be).
+
 
+
[[File:effectlayerwindow1g.jpg]]
+
 
+
 
+
 
+
==== Random-Rotation ====
+
 
+
If true, randomly rotates every clutter asset in the effect layer. False will rotate each clutter asset to face the same direction.
+
 
+
[[File:effectlayerwindow1h.jpg]]
+
 
+
 
+
 
+
==== Draw-Distance ====
+
 
+
How far away the clutter layer will render out to in meters. The smaller you can make this the better your performance will be. If you don't need the default 300 meters and clutter looks fine at 100 meters then do it. 
+
 
+
[[File:effectlayerwindow1i.jpg]]
+
 
+
 
+
 
+
==== 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 asset row. From there you can select an asset you want used in your clutter layer from the dropdown list. Finally, the slider on the right of that asset dropdown box tells the clutter layer how frequently to spawn this particular asset. Sliding the layer all the way to the right gives it a very high spawn frequency. Sliding it all the way to the left stop it from spawning altogether (0 spawn frequency). You will notice when you slide it all the way to the left you get a delete button, click that to remove this asset row.
+
 
+
[[File:effectlayerwindow1j.jpg]]
+
 
+
 
+
 
+
== Painting Clutter ==
+
 
+
 
+
[[File:paintingeffectlayers1.jpg]]
+
  
 +
# 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]].
  
= Example Usage =
+
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.
  
[[File:clutterexample1.jpg|1000px]]
+
== See Also ==
  
= Asset Creation =
+
* [[TurfFX_Effect_Layer]]
The clutter effect layer is a pre-release feature and details of the asset creation techniques may change prior to release.
+
* [[Effect_Layer_Assets]]
 +
* [[Color_effect_layer|Color Effect Layer]]
  
TBD.
+
Back to [[Effect_Layer]]
  
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 horrendous performance.
+
[[Category:Modeling]]
 +
[[Category:Content creation]]
 +
[[Category:TRS19]]

Latest revision as of 20:38, 30 January 2024

Clutterexample1.jpg

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.

Clutter effect options.jpg

[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:

  1. 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.
  2. To get the nice fade-out transition (and fade-in if you've configured that) your clutter asset should use the material m.clutter.
  3. 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

Personal tools