KIND Mesh

From TrainzOnline
(Difference between revisions)
Jump to: navigation, search
(mesh-table-lod-transition-distances)
 
(8 intermediate revisions by 3 users not shown)
Line 2: Line 2:
 
[[KIND Mesh]] provides the basis for many mesh-based assets. It may be used to create attachments, and acts as the basis for various standalone mesh-based objects.
 
[[KIND Mesh]] provides the basis for many mesh-based assets. It may be used to create attachments, and acts as the basis for various standalone mesh-based objects.
  
This page describes [[trainz-build]] 4.1.
+
This page describes [[trainz-build]] 4.6.
  
 
=KIND Hierarchy=
 
=KIND Hierarchy=
Line 10: Line 10:
 
* [[KIND Product]]
 
* [[KIND Product]]
 
* [[KIND Scenery]]
 
* [[KIND Scenery]]
* [[KIND Track]]
+
* [[KIND Bogey]]
 
+
* [[KIND Interior]]
* ...
+
* [[KIND Pantograph]]
  
  
Line 23: Line 23:
 
  {
 
  {
 
  }
 
  }
  mesh-detail-level-count 1
+
  mesh-table-lod-transition-distances
 
  season-selector
 
  season-selector
 
  {
 
  {
 
  }
 
  }
 
  visibility-radius (varies)
 
  visibility-radius (varies)
 +
maximum-lod-distance 0
  
  
Line 37: Line 38:
 
A scaling factor used to influence the way that this mesh is represented for in-game 3D asset pickers. This can be useful if the default display scale results in the asset being zoomed too far in or out for practical viewing.
 
A scaling factor used to influence the way that this mesh is represented for in-game 3D asset pickers. This can be useful if the default display scale results in the asset being zoomed too far in or out for practical viewing.
  
==mesh-detail-level-count==
+
==mesh-table-lod-transition-distances==
The "mesh-detail-level-count" tag determines how many mesh-table LODs are supported by this asset. This is used in conjunction with the "lod-level" tag in the [["mesh-table" Container]] but is not related to the [[LM.txt file]] format.
+
The "mesh-table-lod-transition-distances" tag (float array) determines the distances in meters at which each [[mesh-table LOD]] level ends. This means that there is effectively one more mesh-table LOD than entries in this array. With an empty array (i.e. to tag value), no mesh-table LOD is used. With three values in the array, four mesh-table LOD indices are used (ie. 0, 1, 2, 3). For small objects, it may be appropriate to not provide any meshes for the final mesh-table LOD index, effectively giving some number of meaningful LOD variants and a final "null" LOD where no rendering occurs.
 +
 
 +
This is used in conjunction with the "lod-level" tag in the [["mesh-table" Container]]. Note that mesh-table LOD is an entirely separate concept from [[LM.txt file]] format LOD. You should not attempt to configure the LM.txt transition distances using this tag. It is, however, possible to [[Advanced LOD Techniques|combine the effects]].
 +
 
 +
This tag does not override user settings for draw distance and scenery detail. If a LOD transition takes place beyond the master draw distance for that object type, it will never be visible. Furthermore, at lower detail settings the LOD ranges may be adjusted to be more aggressive than specified by the content creator.
  
 
==mesh-table==
 
==mesh-table==
Line 51: Line 56:
 
==enable-pfx-collisions==
 
==enable-pfx-collisions==
 
Bool value, defaults to 1 and is not compulsory. Defines whether or not this mesh object should be used for collision detection against particles (e.g. smoke, steam). Disabling it for objects that are unlikely to interact with particles is a good idea.
 
Bool value, defaults to 1 and is not compulsory. Defines whether or not this mesh object should be used for collision detection against particles (e.g. smoke, steam). Disabling it for objects that are unlikely to interact with particles is a good idea.
 +
 +
==maximum-lod-distance==
 +
If specified, controls the distance (meters) at which the maximum mesh-table LOD is reached. Only valid if a mesh-detail-level-count is specified. If configured greater than the user's current scenery draw distance setting, the draw distance acts as the maximum limit instead.
  
 
=Downloads=
 
=Downloads=

Latest revision as of 13:18, 4 July 2018

KIND Mesh provides the basis for many mesh-based assets. It may be used to create attachments, and acts as the basis for various standalone mesh-based objects.

This page describes trainz-build 4.6.

Contents

[edit] KIND Hierarchy

[edit] Parent Classes

[edit] Child Classes


[edit] Supported Tags

The KIND Mesh config.txt file supports the following tags. Each tag is show here with its default value.

preview-mesh-kuid <NULL>
preview-scale 1.0
mesh-table
{
}
mesh-table-lod-transition-distances 
season-selector
{
}
visibility-radius (varies)
maximum-lod-distance 0


[edit] preview-mesh-kuid

An alternative mesh asset to use when representing this asset for in-game 3D asset pickers. If not specified, the game defaults to displaying the asset itself. TBD: Unclear why you'd want to do this for a modern LOD-capable asset.

[edit] preview-scale

A scaling factor used to influence the way that this mesh is represented for in-game 3D asset pickers. This can be useful if the default display scale results in the asset being zoomed too far in or out for practical viewing.

[edit] mesh-table-lod-transition-distances

The "mesh-table-lod-transition-distances" tag (float array) determines the distances in meters at which each mesh-table LOD level ends. This means that there is effectively one more mesh-table LOD than entries in this array. With an empty array (i.e. to tag value), no mesh-table LOD is used. With three values in the array, four mesh-table LOD indices are used (ie. 0, 1, 2, 3). For small objects, it may be appropriate to not provide any meshes for the final mesh-table LOD index, effectively giving some number of meaningful LOD variants and a final "null" LOD where no rendering occurs.

This is used in conjunction with the "lod-level" tag in the "mesh-table" Container. Note that mesh-table LOD is an entirely separate concept from LM.txt file format LOD. You should not attempt to configure the LM.txt transition distances using this tag. It is, however, possible to combine the effects.

This tag does not override user settings for draw distance and scenery detail. If a LOD transition takes place beyond the master draw distance for that object type, it will never be visible. Furthermore, at lower detail settings the LOD ranges may be adjusted to be more aggressive than specified by the content creator.

[edit] mesh-table

The "mesh-table" Container provides details about the meshes which comprise this asset.

[edit] season-selector

The "Season-selector" container provides details about the seasons which influence this asset.

[edit] visibility-radius

The radius of this mesh (in meters), for visibility and collision purposes. This defaults to a value calculated from the mesh file, however for various reasons including the effects of animation and the use of external render plugins such as SpeedTree, it is sometimes necessary to override the generated value.

[edit] enable-pfx-collisions

Bool value, defaults to 1 and is not compulsory. Defines whether or not this mesh object should be used for collision detection against particles (e.g. smoke, steam). Disabling it for objects that are unlikely to interact with particles is a good idea.

[edit] maximum-lod-distance

If specified, controls the distance (meters) at which the maximum mesh-table LOD is reached. Only valid if a mesh-detail-level-count is specified. If configured greater than the user's current scenery draw distance setting, the draw distance acts as the maximum limit instead.

[edit] Downloads

Attach sample files here


[edit] Categories

Personal tools