跳转到内容

Trainz/种类

来自维基教科书,开放世界开放书籍
(重定向自 Trainz/KIND)
logo
Trainz 培训基础

Trainz 注释参考页面
目录 | 开始乐趣 | AM&C | 创作 | 书内参考 ORP 参考:  • 索引 • 容器 • 种类 • 标签 | 附录  • 版本
 词汇表
 HKeys-CM
 HKeys-DVR
 HKeys-SUR
 HKeys-WIN
 鼠标使用
 符号

Kind 标签

[编辑 | 编辑源代码]
点击 此处快速导航到 KIND 的目录

定义 Trainz 资产 的所有元素,除了 本地安装 数据库之外,都包含在一个单独的文件夹中——资产文件夹资产源文件夹——无论哪种,在资产打开以编辑或构建时都可以访问——两者都涉及(可能很多种编辑)编辑和数据操作。

 

种类是这些资产源文件夹内的特殊父数据形式,并在文件夹唯一的 config.txt 文件 内定义。Kind 标签合法值严格受限。[注释 1] 每个配置都有一个种类,并且每个配置都在一个目录中有一个家,该目录在本地保存了构成该资产的其余部分。因此,资产源文件夹也可以分类为比 Trainz 容器 的一般数据类型高一级,并且每个都按类型指定,由其明确的唯一关键字控制即 Kind 标签值。 

因此,每个 Kind 都表示 Trainz 资产定义层次结构中一组基本 Trainz 资产类型或资产种类数据类的基本集合。其中的config.txt 文件的任务是定义唯一 KIND 行的“资产类型”数据需求,并将 KIND 要求定义为必要(或可选)的这些内容与 TBS 设置的其他强制性和可选资产数据定义汇总在一起——实际上,配置的任务是定义父 KIND,将这些由其他 TrainzBaseSpec 定义行所需的内容与父 KIND 行(种类“名称”)值所需的定义行合并,以创建KIND 类型的资产,如在 TBS 中设置“种类“KIND 枚举类型名称””行所定义。
将这种计算机科学翻译成英语:每个“Kind 标签”都设定了 资产 是什么,以及其 资产文件夹 提交给 Trainz 内容管理器以进行 提交(现在,奇怪地称为 提交,因为 TANE 内容管理器已经出现。)或 验证(错误检查和测试,在将资产提交(或提交)到数据库之前进行的步骤。在上传到 DLS 之前也是如此)时必须包含哪些数据类型和定义。每个种类都与一个源 config.txt 文件相关联,作为(通常)其最前面的行之一[注释 2]。所有内容都是 TAG--DATA 对的一部分。有些是 TAG-Container,很多是 TAG-Value,但所有配置数据都是成对的。容器中的子容器遵循相同的规则。即使是数组数据元素——字符串、多个值、多种可能性(类别时代和类别区域)都在一行上以成对关系定义。因此,容器是关键字标签,表示预期“{”和“}”,并按标签名称定义的规则处理两者之间的數據。

理解 KIND 的作用,可以说仅略微不比理解 TrainzBaseSpec 的作用和包含这两者的无处不在的容器 config.txt 文件的作用重要。所有这三种元素在某一时刻都是对用户来说最重要的数据元素,以便修复或创建资产。幸运的是,每种 Trainz 资产都有一个独特的 KIND,因此可以根据需要或系统地逐个掌握它们,同样,可以逐个理解每个 容器

实际上,所有这三个元素都紧密地相互关联,因为它们在资产 根文件夹 内协同工作,该文件夹必须包含 配置,而配置反过来又“必须”包含 TBS 中的 Kind 标签 和其他强制性 TBS 支持定义,例如 kuid用户名,并且根据在 TBS 行中定义和选择的 KIND,“必须”因此包含该 Kind 标签 和所有支持定义所需的内容……包括必需的容器和子容器。

在较小程度上,KIND 和 类别-类标签 协同工作,告诉 内容管理器 软件资产的 config.txt 文件 中哪些其他关键字是必要的、可选的或非法的,而后者的定义目的是将类别-类成员(正在定义的资产)添加到各种排序标准的混合中,这些排序标准对用户在 CM 的排序和选择操作中很有用。

在 Trainz 数据模型中定义资产


Trainz 种类是定义最小数据结构的上层 容器,用于在单个标识 kuid 下表征资产类型。

层次结构和级别

[编辑 | 编辑源代码]

Trainz 模拟器中的KIND 定义了与类别-类一起设置的属性,该属性设置了所需的信息字段,以使资产模型正确渲染。在非常真实的意义上,KIND 数据结构(将与模型渲染和运行时模拟需求相关的不同类型相关数据分组)是 Trainz 中的一级 容器(虽然有一个特殊名称“KIND”),并且几乎总是需要其他容器级数据组与之一起出现在 ini 文件中。这些是枚举的辅助容器和标签,种类标签和类别-类的组合使用这些标签来确定为这种资产必须定义哪些其他数据元素,这些数据元素可以被视为子种类,因为所有类似的资产都需要定义相同的数据元素。

现在,所有容器和类似容器的结构都占据了 config.txt 文件,但区别仅仅是“容器定义的类型”通常在几个不同的 KIND 定义的资产中具有范围(适用性),并表示一个共享属性(一个特征,例如转向架),而每个 KIND 对该类资产来说都是唯一的。KIND 引擎和 KIND 货车都有转向架(车轮在轮轴上),因此两者在其 ini 文件中都有一个转向架容器。

在 Trainz 数据模型中定义资产-II


以下列表截至页面编写时是完整的,并会定期更新。请参阅 Trainz-Wiki KIND TrainzBaseSpec 以获取可能的更新。(其中许多链接指向 N3V TrainzOnline Wiki,并且与 Wikibook 部分链接之间存在细微的颜色差异。那些在 2014 年 8 月下旬仍为红色链接的类别尚未在 N3V Wiki 中正式定义,尽管该类别可能已在其中一个 内容创建者 的论坛中发布。 


KIND 的种类

[edit | edit source]

所有 Trainz 定义的数据(内容)都具有三个必需元素:一个 config.txt 文件 来组织数据,一个标识,即 kuid(仅用户名是不够的,但是合法资产可以在没有名称的情况下创建!),以及最后,一个合法定义的种类标签。种类是负责的,是乐团的指挥,是排长或 CEO 指示 - 为所有在之后进行处理的内容设置要求。简而言之,种类的值 - 一个由少数严格定义的成员组成的封闭团体 - 告诉 Trainz 软件要渲染和显示在我们创建的虚拟世界中的内容,以及如何(或在哪里)找到在该 config.txt 文件中将这些资产部分链接在一起所需的其余部分。
  下面的所有子类都被认为具有 TrainzBaseSpec 作为其数据的“父类”。[注释 4] 以下列出的几种种类,那些带下划线的种类,是早于 Trainz 数据模型TS2009 发布(即 2008 年底以来)的更改的遗留种类,N3V 程序员仅从那时起实施了渐进式(增量式)更改。
  基于这些遗留种类的资产修复细节目前可以在 N3V Trainz Wiki 的 内容创建者指南 部分找到 TrainzOnline 网站在这里,其中有启发性的 遗留种类的示例在这里。强烈建议所有 Trainz 下载站 用户或考虑创建内容的任何人都仔细阅读 CCG。从了解如何定义旧内容的背景历史中获得的见解,可以与 TrainzOnline 对相同数据类型的当前报道进行对比和比较,因为这种过去与现在的对比通常可以为修复、更改和自定义资产提供宝贵的见解。更重要的是,CCG 在 TrainzOnline 上发布的版本是 TC1&2/TC3 版本 - 这是自 1999 年 Trainz 以来出版的几本小册子中的最新版本;TC3 CCG 包含来自 TRS2004/TRS2006 和 UTC 数据模型的已更改的 Enginespecs 机车资产,需要进行适当的更新。

TrainzBaseSpec 子类 KIND(类型资产组)

 


重要的日常 KIND

[edit | edit source]
本节提供指向一组示例子页面的链接,这些页面显示了通用资产的演变
到种类配置,从 v1.3-v1.5、v2.2、v2.5、v2.9、v3.7、v3.9 或其他版本,在这些版本中,活动的 数据模型 发生了变化,可以使用 文件比较软件 查看这些差异。
最重要的 KIND 是什么?

答案取决于您当前正在处理的资产和资产子类型。机车和货车在人类思维过程中都是 Kind "traincars",但在 Trainz 配置文件中是不同的 KIND 声明,柴油机车和蒸汽机车都需要定义不同的数据参数来模拟资产;配置文件中的这种差异来自 kind 的定义,并且强制性的 category-class 标签 仅在 CM勘测者 选择和排序过滤器中具有作用域。

景观种类

[编辑 | 编辑源代码]

这些通常比较简单,因此可以引入 KIND 的使用方式。

轨道 KIND

[编辑 | 编辑源代码]

轨道旁 KIND

[编辑 | 编辑源代码]

机车 KIND

[编辑 | 编辑源代码]

发动机规格

[编辑 | 编辑源代码]

KIND 引擎

  1. KIND 和许多其他 Trainz 数据定义,尽管范围广泛,但都是枚举数据类型... 意味着它们必须是从允许的合法单词列表中取出的 <值>。其他任何值都不被允许!
  2. 配置文件中,所有标签和容器的位置并不重要,只需确保数据结构在引号、括号和圆括号中正确嵌套即可。
  3. 虽然 N3V 编程人员没有正式承认(我在任何地方都没有看到),但LOD 文件[1](例如 'meshname.LM.txt' 和 filespec.texture.txt)文件可以被认为是ini 文件类型或包含文件类型,实际上扩展了配置文件中内联定义。 (texture.txt 文件 + LM.txt 文件) 每个文件不仅包含路径信息,还包含必要的如何实现数据指令行,并且与 config.txt 文件行一样,必须以正确的格式书写,否则资产将生成故障。
     • config.txt 文件和包含文件之间的一个主要区别是,包含文件不严格遵循 Trainz 的关键字—<值> 对的行格式,而是经常使用等号作为其语法的一部分。
  4. 注意: 此列表在 N3V TrainzOnline Wiki 上进行了“维基化”,这意味着在“KIND”一词之后首字母已大写,而 config.txt 文件中实际的数据标签名称都是小写文本。该维基还使用双引号来表示很多术语,在这里我们将避免使用双引号。
  5. 'KIND consist' 并不常直接看到,它只存在于菜单和内容管理器列表中。

参考资料

[编辑 | 编辑源代码]


华夏公益教科书