Trainz/容器
| |||
|
|||
|
词汇表 |
HKeys-CM |
HKeys-DVR |
HKeys-SUR |
HKeys-WIN |
鼠标使用 |
符号 |
操作说明: 点击正文中的脚注 ([2]) 或注释标签 ([note 12]) 会将您导航(定位页面)到该条目的确切文本。 • 然后: 点击?符号,将使您返回到您开始阅读的位置。 |
- 有关 Trainz 容器的技术背景,请参见 Trainz/AM&C/容器.
本页面列出了此维基教科书中涵盖的特定 Trainz 容器的'参考页面链接',并在简要介绍了它们在 Trainz 数据模型 中的作用后进行介绍。
容器 是 Trainz 对比单个参数(通常在标签中表示)更大数据的术语,但仍符合所有 Trainz 数据文件强制要求的 ACS 文本格式。在这种背景下,容器是复杂的 数据结构,包含多个基本 数据类型,从处理软件的角度来看,它们表示一个 R 值(当定义正确时)。对我们人类来说,它们是每个相关标签和值的集合,也符合 ACS 文本格式标准,而且还代表着可重用分组数据定义,这些定义是特意定义的,以便在 Trainz 的多个 种类 中重复使用。配置文件和 KIND 在抽象意义上,本身就是“合并容器”,但 KIND TBS 和 KIND 共同创建了独特的类型和容器类型。
从某种意义上说,Trainz 资产不过是由正确的 枚举代码 组织起来的一组数据,这些容器,包括称为 种类 的父类容器,定义了资产的相互关系和配置,以及数字模型在 GUI 运行时软件(游戏引擎)中的行为。容器只是资产在由资产创建者初始化时进行自我定义的元素之一。
|
所有 Trainz 数据都由关键词和值表示。容器 由唯一的枚举关键词(标识符)标识,对于容器,成对的花括号 '{' and '}'
内的所有值在抽象意义上都是容器关键词的值。在里面,同样,所有元素都是成对的值,通常再次是关键词和值。
在许多容器中(或者在实践中,是子容器——参见 缩略图 中的形式、格式和示例,了解常见的易于理解的表示和示例),关键词实际上是变量(未枚举和未声明,不受约束),通常按照惯例表示为简单的整数{X: 1, 2, 3, ..., nn}后面是空格和“值”,作为 config.txt 文件中定义数据值的右栏。
这些被称为“虚拟参数”或“虚拟关键词”,或者“伪关键词”,内容创建者可能会很容易地改为使用{X: A, B, C, ..., xx}或{X: throttle1, throttle2, throttle3, ..., tt},因为在这些情况下,实际上所有容器中,值正在按顺序组织,以填充 KIND 依赖的内存物理地址,通常是 数组 的一部分(参见 节流功率容器)或 列表(参见 缩略图容器 中的几个示例)。
Trainz 维基教科书和 N3V Games TrainzOnline wiki(或 Trainz Wiki)有不同的侧重点和目的。TrainzOnline 页面旨在作为内容创建者的技术规范和参考,并作为一种交流运行时软件所需的资产在 Trainz GUI 内正常运行的数据的方式。它充当内容定义的简洁指南。
在 Trainz 维基教科书中,我们的重点是提供从初级到中级,有时甚至到高级的入门资料,即传授理解,帮助新的 Trainz 用户和老用户更详细地了解 Trainz 的来龙去脉。一家小型企业为了生存而苦苦挣扎,其成本和人力资源非常有限,这限制了 Trainz Wiki,它必须具有权威性。我们在这里力求达到相同程度的准确性,但也力求提供更宏观的视角,因此,对于 Trainz 不断发展过程中的一些变化,我们必然会有时间滞后。如果没有这样的改变,这款产品就不会生存下来,虽然这使得“追赶”变得困难,但也使得 Trainz 体验不断改进。
如果我们认为某个主题需要进一步阐述,并且缺乏基本知识的连贯构建,我们将使用 TrainzOnline Wiki 的页面,提供更多信息、解释、示例,并希望在 N3V 程序员(他们负责管理 Trsinz Wiki)不希望使用更严格、更简洁的写作风格的地方,帮助人们理解。以下是我们迄今为止的容器页面的目录。在目录下面,您将看到 TrainzBaseSpec 中一些关键基本材料的回顾。
作为 TBS 一部分的容器
[edit | edit source]
- 上面列出的两个链接中,第一个链接到关于容器类型的专用参考页面,第二个链接到 TrainzBaseSpec (TrainzBaseSpec) 中涵盖容器关键字(名称)的部分。大多数上面的链接将导航到 TBS 的正确部分。
不属于 TBS 的容器
[edit | edit source]这些是 Trainz 配置容器,不属于 TrainzBaseSpec,但被多个 种类 的资产使用。不属于 TrainzBaseSpec 的容器是常态,而不是例外,因为容器被定义为用于多个 KIND 的资产或资产部分的自定义的多用途数据子组。
- 附加样条线容器 -- kind track 资产的可选平行样条线定义,也就是说自 TS2009 数据模型发布以来 Trainz 中任何完全更新的样条线资产。
- 转向架容器 -- 在某些铁路文化中也被称为转向架,Trainz 使用转向架NN 符号来表示在车架上哪个车轮组在哪里布置,以及其他修饰符来调整车轮组的方向、滑动或旋转。转向架容器是火车车厢类资产的固有部分。
- 流量大小容器 -- Enginespec
- 交叉点顶点容器 -- 交叉点顶点容器
- 队列容器 -- 工业和交互式资产;此容器的定义用于装载火车车厢,以及在工业中卸载或装载商品。
- 音量容器 -- Enginespec
- 网格表格容器 -- 任何“显现”资产的基础,如果没有网格,就没有东西可以用纹理绘制,所以就没有东西可以看。
- 季节选择器容器 -- 在样条线资产中添加用于多季节纹理修改(自 TB v2.9/TS2009 数据模型 以来,所有资产都是 kind Track 的变体),TS12(TB V3.5)中的新功能。
- 烟雾容器 -- 最古老的容器类型之一。从水龙头喷出的水流到轨道旁牧场小屋烟囱上方的刺鼻松树烟雾,火车场周围到处都是烟雾和蒸汽;半透明的薄雾状物体创造了许多几乎神奇的效果。有人想要烟雾和镜子来帮助可信度吗?这种容器被用在各种资产中。不止一个获得了 NN 号作为后缀,形成 smoke0、smoke1、smoke2、…、smokeNN,因为资产需要。烟雾也是交互式的,并与软件具有各种接口,烟雾容器定义构成此类软件链接的一部分。
- 轨道 LOD 树容器 -- 在 TS2009 数据模型更改中新增,轨道 LOD 树容器用于呈现决定参数,用于在更高分辨率和更低多边形网格之间进行选择。实际上,它经常被递归地使用,为渲染软件提供在 LOD 系列中三个或更多网格之间进行选择。因此,它的主要功能是在对象距离越来越远时(无论是在近处、附近、更远、中间或远方)通过减少多边形计算数量来保持游戏帧速率高。
TBS 中的种类列表
[edit | edit source]TrainzBaseSpec (TrainzBaseSpec) 是所有 Trainz 数据模型 标签和容器的综合列表,这些标签和容器是必需的或可选的,在任何和所有 trainz 资产中。下面概括的部分列出了 Trainz 数据模型 中的 KIND,并提供指向上面的 TOC 或 N3V Wiki 的链接,以方便参考。
- KIND 是一种特殊的容器,因为它们的 defines 还包括偷偷潜入隐藏在 config.txt 文件中的标签的标签,因此看起来好像根本没有被包含。定义 kind 标签 会使这种判断处于危险之中——通过定义种类,就好像程序员在高级语言中添加了一个包含文件一样。在这种情况下,需要手动添加,而不是读取真正的包含文件的文本。
- KIND 定义中的标签也是 config 文件中的标签。理解这一点,就赢得了半场胜利。
KIND 的种类
[edit | edit source]所有 Trainz 定义的数据(内容)都有三个必需的元素:一个 config.txt 文件 来组织数据,一个身份,即 kuid(仅用户名对你无用,但合法资产可以在没有名称的情况下创建!),最后,一个合法定义的种类标签。种类是负责的,是管弦乐队的指挥,是排长或 CEO 指挥——设置在之后处理的所有事物的要求。简而言之,种类的价值——一个小的、精选的、严格定义的会员制小组——告诉 Trainz 软件在虚拟世界中渲染和显示什么,以及如何在虚拟世界中渲染和显示(或在虚拟世界中在哪里)找到在该 config.txt 文件中链接在一起的资产的其他部分。
下面的每个子类都被认为具有 TrainzBaseSpec 作为其数据的“父类”。[note 1] 下面列出的一些种类(带下划线的种类)是早于 TS2009 发布时的 Trainz 数据模型 更改的传统种类(即从 2008 年后期开始),N3V 程序员只对这些种类进行逐渐(增量)的更改。
基于这些遗留类型的资产修复详细信息目前可以在 N3V Trainz Wiki 的 内容创作者指南 部分找到 TrainzOnline 网站在此,并提供具有启发性的 遗留类型示例在此。强烈建议任何使用 Trainz 下载站 或正在考虑创建内容的用户仔细阅读 CCG。从理解旧内容定义的背景历史中获得的见解,可以与当前 TrainzOnline 对相同数据类型的覆盖范围进行对比和比较,因为这种过去与现在之间的对比通常可以为修复、更改和自定义资产提供宝贵的见解。更重要的是,CCG 中的写作是专业制作的,并且更具循环冗余性——它通常会让你洞悉更改某个方面或其他方面时所产生的扩展效果,而 Trainz Wiki 则没有提供这种信息。TrainzOnline 上的 CCG 是 TC1&2/TC3 版本——这是从 1999 年的 Trainz 开始印刷的几本小册子中的最新版本;TC3 CCG 包含来自 TRS2004/TRS2006 和 UTC 数据模型的已更改的 Enginespecs 机车资产,需要进行适当更新。