Trainz/容器/轨道部件容器
一个 轨道部件容器 是一个由 config.txt 文件 条目使用的 种类轨道 内容类型。它并不对应于单个特定标签,而是一种由多个不同标签重复使用的格式。
此页面描述了 TS2009 中引入的数据模型,当时样条线对象被合并到种类轨道数据类型中,并且是 trainz-build 的默认设置。
轨道部件容器 支持以下标签。每个标签都显示了其默认值。在某些情况下,轨道部件容器 可能会继承父容器上设置的值(除了 track-lod-tree 容器),而不是使用这些默认值;有关更多详细信息,请参阅各个内容类型描述。
mesh-length 0.0 adjust-height-to-ground-threshold -3.402823466e+38 adjust-height-to-ground-offset 0.0 adjust-cross-section-to-ground 1 track-lod-tree { } coordinate-transformation "spline" follows-spline-gradient 0 follows-ground-height-at-ends-of-mesh 0 dont-scale-mesh-to-fit-length 0
mesh-length 值是轨道距离(以米为单位),用于定义 track-lod-tree 所描述的基本轨道单元长度。track-lod-tree 可以提供一个此长度的网格,也可以将基本 mesh-length 细分为多个更小的网格片段。
任何模型空间 Z 值小于此阈值值的顶点将根据该顶点下方的地面高度进行调整。
调整背后的数学原理大致如下
outputVertexPosition.z = modelVertexPosition.z + adjustHeightToGroundOffset + groundHeight
通常,这种高度调整用于构建桥梁或类似结构——模型的主体保持在实际的样条线高度,但腿或支撑柱的底部顶点会下降到地面高度。
提供模型空间 Z 轴上的偏移量,该偏移量用于调整顶点到地面高度。如果设置为 adjust-height-to-ground-threshold 值的负值,这将有效地导致任何在该高度的顶点下降到地面水平。任何低于该高度的顶点都将低于地面水平。任何高于该高度的顶点都不会被修改。
通过改变偏移量,这允许顶点略微浮在实际地面高度之上。
如果此布尔值被设置 (1),则轨道网格会在其 X 轴上扭曲,以跟随其所在的平面。如果清除 (0),则网格将从中心点获取地面高度。此设置对位于 adjust-height-to-ground-threshold 范围内的顶点没有影响。
track-lod-tree 容器 用于为运行时网格拼接选择合适的网格。
coordinate-transformation 设置决定了模型中的顶点如何映射到世界中。以下技术可用
- "spline"(默认) - 此选项提供默认的、适合样条线的行为。
- "linear" - 此选项提供简单的线性缩放。这不会尝试剪切网格的末端以适合相邻部分。
- "shear" - 此选项提供简单的线性缩放。这将“剪切”(线性拉伸)网格的末端以适合相邻部分。
- "horizontal" - 此选项提供类似于“linear”的效果,但高度在给定的组件网格中保持固定。如果缺少垂直失真比与下一个网格首尾相接更重要,这将很有用。
- "horizontal shear" - 此选项提供类似于“shear”的效果,但高度在给定的组件网格中保持固定。如果缺少垂直失真比与下一个网格首尾相接更重要,这将很有用。
注意! 这取代了 Trainz 2.7 之前的版本中的 bendy 标签。
如果此布尔值被设置 (1),则网格会变形以平滑地跟随样条线的高度梯度。如果清除 (0),则网格会变形以跟随样条线中心线上的地面高度(“adjust-cross-section-to-ground 1”)或每个顶点下方的地面高度(“adjust-cross-section-to-ground 0”)。某些游戏内状态,例如在样条线上设置高度梯度(Surveyor 中的黄色轨道顶点)或位于父桥样条线上,可能会覆盖此选项。
如果此布尔值被设置 (1),则样条线高度会有效地变形,使得每个网格重复的端点跟随地面高度。整个网格的样条线高度以线性方式变化。如果清除 (0),则样条线高度不会受到影响。某些其他选项,例如(“follows-spline-gradient 0”)或(“coordinate-transformation spline”)可能会导致此选项基本无意义。
如果此布尔值被清除 (0),则每个组件网格的长度都会缩放以适合样条线中的可用区域。由于重复和细分的数量是整数,样条线网格通常会稍微拉伸或压缩,以确保网格重复首尾相接。如果设置 (1),则网格将以其自然长度呈现,即使这意味着网格会重叠或拉伸分开,并且不会相互接触。这通常用于样条线表示一组重复的杆或塔架,而不是连续的梁。
本参考页面改编自TrainzOnline Wiki,遵循CC-BY-SA 3.0 许可证。本页面可能会包含比同主题的源页面更多的文本解释、说明、历史和/或示例。 TrainzOnline Wiki 主要由程序员或精通内容创建者维护,可能包含关于当前trainz-build 代码标准的更新信息,这些标准随着软件功能的添加而不断变化。 |