跳转到内容

Trainz/容器/轨道部件容器

来自维基教科书,开放世界开放书籍
logo
Trainz 注释参考
TOC | 开始乐趣 | AM&C | 创作 | 书中参考 ORP 参考:  • 索引 • 容器 • 种类 • 标签 | 附录  • 版本

一个 轨道部件容器 是一个 config.txt 文件 条目,由 kind track 内容类型使用。 它并不对应于单个特定的标签,而是一个由多个不同标签重复使用的格式。

此页面描述了在 TS2009 中引入的数据模型,当时样条线对象被合并到 Kind Track 数据类型中,并且是 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

[编辑 | 编辑源代码]

mesh-length 值是以米为单位的轨道距离,它定义了 track-lod-tree 描述的轨道基本单位长度。 track-lod-tree 可以提供此长度的单个网格,也可以将单位 mesh-length 分割成多个较小的网格片段。

adjust-height-to-ground-threshold

[编辑 | 编辑源代码]

任何模型空间 Z 值小于此阈值数的顶点都将根据该顶点下方地面的高度进行调整。

调整背后的数学原理大致如下

outputVertexPosition.z = modelVertexPosition.z + adjustHeightToGroundOffset + groundHeight

通常,这种高度调整用于建造桥梁或类似的结构 - 模型的大部分保持在实际的样条线高度,但腿部或支撑柱的底部顶点会下降到地面高度。

adjust-height-to-ground-offset

[编辑 | 编辑源代码]

提供模型空间 Z 轴上的一个偏移量,该偏移量用于将顶点调整到地面高度。 如果设置为 adjust-height-to-ground-threshold 值的负数,这将有效地导致该高度的任何顶点精确地下降到地面水平。 任何低于该高度的顶点都将下降到地面以下。 任何高于该高度的顶点都不会被修改。

通过改变偏移量,这允许顶点略微漂浮在实际地面高度之上。

adjust-cross-section-to-ground

[编辑 | 编辑源代码]

如果此布尔值被设置 (1),则轨道网格将沿着其 X 轴变形以跟随其所依附的地面平面。 如果清除 (0),则网格将从中心点获取地面高度。 此设置对位于 adjust-height-to-ground-threshold 范围内的顶点没有影响。

track-lod-tree

[编辑 | 编辑源代码]

track-lod-tree 容器 用于选择合适的网格以进行运行时网格拼接。

coordinate-transformation

[编辑 | 编辑源代码]

coordinate-transformation 设置确定如何将模型中的顶点映射到世界中。 可用以下技术

  • "spline"(默认)- 此选项提供默认的适应样条线行为。
  • "linear" - 此选项提供简单的线性缩放。 这不会尝试剪切网格的末端以适应相邻部分。
  • "shear" - 此选项提供简单的线性缩放。 这将“剪切”(线性拉伸)网格的末端以适应相邻部分。
  • "horizontal" - 此选项提供的效果类似于“linear”,但高度在给定的组件网格中是固定的。 这在缺乏垂直变形比与下一个网格首尾相接更重要的情况下很有用。
  • "horizontal shear" - 此选项提供的效果类似于“shear”,但高度在给定的组件网格中是固定的。 这在缺乏垂直变形比与下一个网格首尾相接更重要的情况下很有用。

注意! 这取代了 Trainz 2.7 之前的版本的 bendy 标签。

follows-spline-gradient

[编辑 | 编辑源代码]

如果此布尔值被设置 (1),则网格将变形以平滑地跟随样条线的高度梯度。 如果清除 (0),则网格将变形以跟随样条线中心线上的地面高度(“adjust-cross-section-to-ground 1”)或每个顶点下方(“adjust-cross-section-to-ground 0”)。 某些游戏内状态(例如,已将高度梯度设置到样条线上(测量师中的黄色轨道顶点)或位于父桥样条线上)可能会覆盖此选项。

follows-ground-height-at-ends-of-mesh

[编辑 | 编辑源代码]

如果此布尔值被设置 (1),则样条线高度将有效地变形,使得每个网格重复的端点跟随地面高度。 整个网格的样条线高度以线性方式变化。 如果清除 (0),则样条线高度不会受到影响。 某些其他选项(例如,“follows-spline-gradient 0”或“coordinate-transformation spline”)可能会使此选项几乎毫无意义。

dont-scale-mesh-to-fit-length

[编辑 | 编辑源代码]

如果此布尔值为清除 (0),则每个组件网格的长度将按比例缩放以适应样条曲线中的可用区域。由于重复次数和细分数是整数,因此样条曲线网格通常会略微拉伸或收缩以确保网格重复端对端。如果设置为 (1),则网格将以其自然长度呈现,即使这意味着网格会重叠或拉伸并不会彼此接触。这通常用于样条曲线代表一组重复的杆或塔架,而不是连续梁的地方。

 

注释和参考资料

[编辑 | 编辑源代码]
华夏公益教科书