Trainz/资产层次结构
| |||
|
|||
|
词汇表 |
HKeys-CM |
HKeys-DVR |
HKeys-SUR |
HKeys-WIN |
鼠标使用 |
符号 |
操作说明:单击正文中的脚注([2])或注释标签([注释 12])将导航您(定位页面)到该条目的确切文本。 • 然后:单击那里的?符号,将返回您从开始阅读的地方继续阅读。 |
操作说明:单击正文中的脚注([2])或注释标签([注释 12])将导航您(定位页面)到该条目的确切文本。 • 然后:单击那里的↑符号,将返回您从开始阅读的地方继续阅读。 |
就像软件中经常出现的情况一样,魔鬼在细节中
当 N3V Games 在 2007 年接手 Trainz 系列软件的持续开发工作时,年轻程序员的思维方式是他们的便利性,而不是他们的更改将对数以万计的现有资产产生的影响。通过使用网格和转向架表、缩略图和扩展以及其他此类容器来明确指定资产元素的首选方法,在 Trainz UTC 时,这些方法大多已“到位”。
在 Trainz 论坛 上,人们经常互换使用资产和内容这两个词,因为除了上下文之外,它们是相同的。从严格的技术(计算机科学定义)意义上讲,一个“资产”需要在容器内才能成为“内容”,在最高层面上,这意味着它将是 路线(或地图) 或 个人资料(或会话) 的依赖项。但这些资产并未报告所有所需的依赖项,因为它们只是列出了与引用 KUID 关联(链接或调用)的一系列其他上层 数据类型[注释 1] 对个人来说,最重要的容器是她的本地数据库(通过在 内容管理器 中使用“本地内容”过滤器(或选项卡)来选择),它列出了资产——最初只对我们所有人而言是路线和会话;但随后添加到 代码构建 的基础 数据柜 中的资产。某些项目是可选的。某些车辆部件仅适用于动力车辆。
Trainz 资产都以同一个文件夹中的数据开始,通常在编辑时,文件夹将以 用户名 命名,该用户名列在 TrainzBaseSpec 的强制部分中,位于 config.txt 文件 中——该文件是中心数据自定义的 INI 文件,用于设置每个资产。当一个人开始 修复有缺陷的内容 时,会发现有两个关键数据元素定义了此类 config.txt ini 文件中必须定义的其他内容:类别-类别标签,它(最初)仅松散地定义了某些枚举类型,这些类型描述了内容创建者希望资产的使用方式(例如,各种类型的车辆、风景、交互式轨道旁物品,如信号等)和 KIND 规范(标签和 容器 的混合,指定某些子元素,这些子元素是定义面向对象类的数据元素所必需的。在较新的数据模型中,特别是对于 样条对象 而言,类别-类别标签具有处理确定角色,并作为 种类轨道 定义的一部分进行交互,这是当前唯一允许的样条数据类别(再次面向对象思考),并且 DLS 上传过滤器现在不允许上传较旧的样条种类。
首先说明一下资产数据存储和有缺陷的内容 | |
---|---|
许多(如果不是大多数)下载内容中的内容错误都是由于 路径规范 不匹配造成的,也就是说,较新的数字模型并不总是与原始数据约定相连接。此类资产在较旧的 Trainz 版本中运行良好,但在 N3V Games Trainz 版本中,许多资产将无法运行,除非对资产进行调整以符合 N3V 程序员面向对象编程的数据组织理念。 | |
|
通常与资产的 用户名 相同,除非该用户名重复 |
|
将 TrainzBaseSpec 和 KIND 需要合并到一个 INI 文件中。配置文件还“包含”依赖项——具有已建立 KUID 的其他资产部件。 |
|
—其他资产部件,尤其是常用的纹理文件,由资产的几个部件使用,通常还有资产的屏幕截图文件。 |
|
—此类文件夹的总数各不相同,由内容创建者 (CC) 组织,从无到有,某些种类有很多文件夹。其他种类,尤其是 种类风景(如建筑物或树木),通常根本没有子文件夹。 |
|
—通常是网格、纹理和 texture.txt 文件,但也包括动画文件。如果没有子文件夹,这些文件必须位于资产根文件夹中(无需指定公共部分,因为所有文件都在同一个 路径规范 中)。提示:请注意上面关于路径规范的内容! |
|
—各不相同,根据约定,资产通常在大多数数字模型中都有三个子文件夹,尤其是车辆 火车车厢数字模型。 |
|
—通常是网格、纹理和 texture.txt 文件,但也包括动画文件等。 |
|
—各不相同,由内容创建者 (CC) 组织,从无到有,但根据约定,在 火车车厢数字模型 中通常有三个子文件夹。该约定基于 Trainz 1.0 中资产的组织方式。 |
|
—通常是网格、纹理和 texture.txt 文件,但也包括动画文件。 |
常见的约定文件夹名称 | _art、_body、night 或 nighmode、_shadow(带下划线的文件夹名称在车辆资产中非常常见)。 |
在 Trainz 中,所有此类子元素关联并不一定是独立的资产,但有些被称作 引用(表示一个子数据类型,一个具有特定属性和成员的结构——但与种类不同,它可以在各种种类中作为子元素使用,构成父-子关系),并且包含在各种 种类 中,其活动效果(后续处理)基于 类别-类别标签 和指定该子元素的种类。
|
驾驶员会话或场景
类别-类别标签是地图,手册、Trainz 菜单和勘测工具控制使用“路线”和路线构建以及路线构建工具,而模型铁路爱好者世界使用的是布局。在每种情况下,它都是指定义虚拟世界的那个数据集,在 Trainz 中,它从单个基础地图板开始。
- 以下资产附加到地图资产
- 地面纹理(地形绘制,F2 工具)
- 建筑物(除非是交互式产业,否则属于 风景类型。)
- 其他结构,例如动物、动态或静态人物、风车、灯塔等。
- 电力线杆 - 以前是样条线对象,现在归类为轨道。
- 植被 - 植物景观(树木、灌木、花卉、田间作物)
- 道路 - 以前是样条线对象,现在归类为轨道。
- 路标和路牌(特殊“树木”,带有文字和有时符号!)
- 轨道 - 包括隧道和样条线工程(可扩展)桥梁。如上所述,所有样条线类型现在都被 DLS 上传筛选强制退休。
- 轨道旁物体 - 包括大量通用内容:(信号、速度板、龙门架、电气面板等)
- 工业(包括客运站)
- 产品
机车车辆,例如机车(发动机)、客车(车厢)和货车(货车)放置在 Surveyor 编辑器模块的地图上,但实际上是在相关的 Trainz 会话模块 中连接,同时在 地图中的参考表(kuid 代码列表)中列出。
- 这些资产类型是机车车辆资产的组成部分
- 转向架(美式英语:卡车)
- 引擎规格
- 引擎声音
- 喇叭声音
- 内饰
- 受电弓
Trainz 中的媒体资产执行各种功能。
- 声音 - 声音文件类型用于创建背景噪音,例如小溪的轻柔低语、乌鸦的喧嚣鸣叫、远处教堂钟声的声音或喧闹繁忙的工业区有打桩机的声音。它们是必不可少的听觉景观项目,与设计精良的三维景观建筑(例如树种或豪华房屋)具有相同的功能。许多是附加的,是更动态对象的组成部分,并且仅在有特定动作时才触发(机械开关改变交叉点位置的噪音)。
- HTML 资产 -
本节内容较少。 您可以通过 扩展它 来帮助 Wikibooks。 |
- 规则 - 规则是小型小程序(通常称为脚本小程序),用于 游戏脚本 资产,用于 驾驶员 的 会话 内部。它们为 路线 (地图类型) 的数字模型功能提供“软件钩子”,并使会话的编码能够与游戏软件通信值。此类规则通常还涉及监控、存储和处理表格数据,例如对会话进行编码以让驾驶员加速一次,但不能两次而不会受到惩罚,或其他可能的评分互动想象。
- 驾驶员命令 - 是用户可修改的规则,可以在驾驶会话期间更改,或者作为 AI 驾驶员 任务命令逐个执行。
- 允许的驾驶员命令由驾驶员命令规则控制,该规则将可选选择限制为我们在驾驶期间下拉驾驶员命令菜单中的选择。这意味着如果会话设计师不希望您通过轨迹标记导航,或允许自动耦合或解耦,则必须在 会话编辑器 中修改会话(将捆绑的路线和会话自动克隆到您的个人版本)以在新的修改后的会话中访问此类规则。
- 支持场景的文件
- - 场景支持存在于所有版本 Trainz UTC 到 TS12 中,但由于 TrainzScript 的未使用,它基本已经消亡。它在 TANE 中不受支持。
- 场景 TSO 文件 - 场景支持文件,Trainz 场景的主要程序
- 场景 GS 或 GSE 文件 - 场景支持 Trainz 脚本文件。
|
- 备注
- ↑ 其中,依赖资产被并入,因为它被独立资产使用,而独立资产本身就是一个资产(例如机车转向架)放置在容器中(机车数字模型,自定义资产)。引擎声音显然属于 KIND 引擎规格。
- 参考文献
此 Trainz/资产层次结构 部分是一个占位符,一个概述或标记,表明本书的这一部分尚未完善。您可以通过 扩展它 来帮助 Wikibooks Trainz 项目,使其更全面地讨论该主题。 需要工作: 将此分解为表格,并继续为新手添加注释和解释。 |
此参考页面可能基于或改编自用作示例的免费软件(公共领域)资产的部分内容和/或来自 TrainzOnline Wiki,根据 CC-BY-SA 3.0 许可证。与源页面相比,此页面可能会包含更多文本解释、说明、历史和/或示例。 TrainzOnline Wiki 主要由程序员或知识渊博的 内容创建者 维护,可能包含有关当前 trainz-build 代码 标准的更新信息,这些标准随着软件功能的添加而有一些变化趋势。 |