跳转到内容

Trainz/Config.txt 文件

来自维基教科书,开放世界中的开放书籍
logo
Trainz 注释参考文献

Trainz 新手基础知识
目录 | 开始乐趣 | AM&C | 创建 | 书内参考文献 ORP 参考文献:  • 索引 • 容器 • 种类 • 标签 | 附录  • 版本

Config.txt 文件

[编辑 | 编辑源代码]
本页是对 Config.txt 文件的简要介绍,面向非专业人士和初学者。Config.txt 文件是 Trainz 中非常重要的数据定义元素;


这是对Trainz config.txt 文件的介绍,这是一种用于跟踪和初始化 Trainz 数据定义和数据库系统中所有资产ini 文件

年轻的读者可能不太熟悉 INI 文件的概念,但该技术在现代应用程序中仍然在使用,尽管许多曾经存储在 ini 文件中的设置数据现在被放置到 Windows 注册表条目中,而其他数据通常隐藏在一个通常不被 Trainz Windows 用户访问的文件夹中。{{efn| 从 C:\ 根目录搜索 *.ini 将发现 ini 文件仍然存在,甚至在 Microsoft Windows C:\Windows (系统) 文件夹及其子文件夹中。较新的 Windows 通常将应用程序的用户控制选择放置在 \Users\User's-LogInName\...\AppData 文件夹中的 .ini 文件中 - 因此,Trainz 早于 Windows 2000 和 Windows ME 发布,这两者桥接了 Windows NT 发布,[注 1] 如果该技术对它有用,它将继续使用该技术。

然而,Trainz 无法采用注册表路径,因为典型的 Trainz 版本中内置了超过 130,000 个资产,有些可能翻倍 - 然后还要加上来自 下载站 或第三方网站的免费或付费内容,如果使用注册表来记录甚至只是添加的内容,那么 Windows 注册表很快就会膨胀,导致运行速度变慢,这与注册表的历史设计目标背道而驰,该目标本该通过隐藏各种东西来让 Windows 应用程序启动更快并提高可靠性(从软件支持人员的角度来看),让普通用户无法访问和 fiddling 设置。(是的,Nanny-state 思维!)   总之,由于注册表现在已经存在了十多年,Window 进程切换速度快得多,应用程序信任注册表,因此被授权在自启动操作中进行更少的安全测试。

  然后是第二个问题,Trainz 资产 ini 文件是 .txt 文件,大多数 Trainz ini 文件很快就会消失 - 它们的根文件夹 的存在是临时的,作为包含数据定义 集的文件,它们的文件组件通常被压缩到其他部分处理、组织和索引的文件中(参见 chump 文件),Trainz 数据库在运行时 GUI 模块和 CM 中使用这些文件。这种处理后的“资产状态” 被称为提交,意味着根文件夹中的临时文件被捆绑在一起并插入到 Trainz Asset Data Base (TAD) 中,准备包含在路线或会话中,或者由 CM 操作进一步引用,例如检查依赖关系 或依赖资产。

所以我们现在必须解决一个重要的介绍性问题

Trainz 资产到底是什么? [注 2]???

Trainz 元素、Trainz 活动以及您想做的任何事情,除了卸载 Trainz 安装,都取决于 Kuids 和资产。一个您驾驶的会话,填充一个您使用的路线(地图,虚拟世界)并执行您需要完成的任务,这些都是通过编程 '脚本' (参考文献),,它的消息列表(HTML 或文本资产)以及当然的 机车车辆 - 基本上,可以被定义为代码的任何项目或 Trainz 部分整体的一部分的元素都是资产。我们使用 Config.txt 文件在内容管理器中保持所有这些信息的一致性,这些文件由唯一的 KUID 标识,这是一个索引和相互关系标识符,可用于将颜色(纹理或可见皮肤)、网格(皮肤覆盖的形状)、网格集合(例如 火车车厢 的部分,车轮,耦合系统卡车转向架,货物框架和形状[另一个网格,可能是网格库资产的一部分],所有这些都被颜色文件和反射属性覆盖,使不可见的形状看起来具有真实的形态。


那么 config.txt 文件是什么呢?

[编辑 | 编辑源代码]

Trainz 中的每个资产(或内容项)都从一个文件文件夹设置开始,每个部分由内容创建者定义。在 Trainz 的早期,由于技术原因,每种类型也都有一个定义的文件夹和子文件夹结构,其中一些名称受到限制、后缀或按惯例,传统上以某种特定方式定义。一些图形软件包,尤其是 Autodesk 的 3ds Max,N3V 的开发人员使用它,以及更简单的游戏专注的 Gmax(3ds Max 的子集,以前“捆绑在 Trainz 中”)喜欢使用某些子文件夹排列,其中许多被保留在 Trainz 文件夹组织中。  因此,对于一辆火车车厢资产,您通常会看到以下子文件夹从它的 **根文件夹** 开始,根据旧标准(TRS2006 之前) 将以“资产文件名”标签的值命名 (AssetName),在后来的数据模型中,通常是 用户名 标签值的价值(Asset_Name):[注释 3] 早期的 Trainz 数据模型(结构)依赖于 '资产文件名' ,后缀为 _art、_body 和 _shadow。以 Asset_Name(用户名)命名的资产及其“略有不同”的资产文件名将在根文件夹“Assetname”内定义以下文件夹结构

  • Assetname\Assetname_art
  • Assetname\Assetname_body
  • Assetname\Assetname_shadow,显而易见地存在冗余。

其他一些资产类型,特别是场景资产,可能会有不同的文件夹结构。一个带有灯光(“夜间模式”)的简单建筑可能会有一个主体子文件夹,但很可能只会将它的组件文件保存在它的本地根文件夹中,但仍然有旧式文件夹“ night”,其中包含不同的网格和纹理以在黑暗中显示对象。这会在路灯下产生光池,酒吧等商业建筑的霓虹灯,照亮的窗户,汽车展示厅的休息室内容的清晰视图等等。  关键是,虽然在包含 网格表容器 以及资产文件名标签的减少和最终消除之后,文件层次结构和命名约定不再是必要的,但活跃的内容创建者仍然会严重依赖这些习惯性定义以及事物通过一系列 内容创建者指南 被组织起来的方式,这些指南随着每次发布直到 TRS2009。因此,TC3 CCG 由于这个原因由用户社区发布在 Trainz Wiki 上,尽管 N3V 编程人员反对,并且仍然是咨询有关如何修复资产的宝贵资源。

config.txt 文件是将一个自定义的 3D 图形模型的各个部分连接在一起的粘合剂,它定义并提供有关 Trainz 虚拟世界背后的 Auran JET 3.0 图形引擎如何解释这些文件和子文件夹的说明。它可以引用其他资产,为它们的网格创建别名并替换不同的纹理套件,从而更改火车车的铁路涂装,完成称为重制皮肤的过程。两组纹理都应用于资产的网格,但可见的和顶部的纹理是定义为重制另一个基础资产的资产的纹理。配置文件还将一组复杂的资产粘合在一起;有时通过直接包含对多个网格的引用,有时通过 KUID 引用一个部分。  通过考虑常见的货车,这一点会更加清楚。这样的资产具有定义联轴器、制动软管、转向架(转向架)、车轮和车身的网格。如果车身允许可见的载荷,例如料斗车、敞篷车、平板车或井式车,则资产定义可能包括与相关载荷类型相关的动画组件,这些组件可以显示排水或灌装载荷水平的错觉。其中两种类型通常不承载散装货物,而是承载离散货物,例如板条箱,Auran 将这种产品类型称为“普通货物”。它们也可以承载奇形怪状的东西,例如农业设备、建筑产品、废料。在火车车定义内容纳每一个都会浪费精力。相反,每个可能的载荷都有 连接点,为载荷创建不可见的对接点,如果需要,它会自定义地改变外观。  所有这些部分都需要定义和配置才能协同工作。这些连接点需要与可能“对接”到它的载荷类型以相同的方式定向。这种魔法发生在资产的配置文件中。上面列出的许多部分是通用的,对许多车辆来说是通用的,因此很可能由它们自己的配置文件定义,并由 KUID 引用。需要什么,以及如何在整个过程中指定和收集它,取决于资产 种类。 

配置文件必须定义各种数据元素,其他数据元素是可选的。这些数据元素在 TrainzBaseSpec 中设置,这是一个 KIND 类数据集合,它可能或必须在每个 Trainz 子资产中定义。子资产是零件、车轮、机车驾驶室、转向架(转向架)、联轴器、连接到交互式工厂的轨道等等,这些可能会被多个更大的资产使用。工厂中的轨道或货车(货车)的车轮是两个易于理解的示例。

配置文件的味道

[编辑 | 编辑源代码]


以下是一个实际机车资产引擎组件文件文件夹的配置文件的示例。声音也是资产的一部分,而此声音将声音(可能适合其他机车)连接到“发动机规格”config.txt 文件,该文件通过引用其 KUID "<kuid:32711:100430>"(见下文)来调用它。发动机规格资产反过来在机车的 config.txt 文件中被引用,这意味着此资产具有父资产级别和祖父母资产级别;以及可能还有许多这样的关联

username                                "0-4-0T Sounds"
description                             "0-4-0T sounds"
category-class                          "ZS"
kind                                    "enginesound"
{{TR|T|trainz-build}}                            2.9
author                                  "Ben Neal original author/ updated and reskinned by Dap"
contact-email                           "[email protected]"
license                                 "You may not sell this package. You may not claim it as your own.
You may repaint it if you wish, just give bdaneal credit for original mesh and textures.
All items are presented as is, no warranty is included nor implied. I doubt this would 
cause any damage to your computer, but if it does bdaneal and/or Dap may not be held liable. 
The contents of this package are copyright 2008 Ben Neal. Thank you for your cooperation."

{{TR|C|thumbnails}}
{
  0
  {
    image                               "preview.jpg"
    width                               240
    height                              180
  }
}
{{TL|kuid}}                                   <kuid:32711:100430>
kuid-table
{
}

必填标签和容器

[编辑 | 编辑源代码]
请注意,在过去几年中,随着 Trainz 和 MAC 计算机世界的交互,此列表一直在迅速变化。在 trainz-build 3.4 或更高版本之后,原本可选的标签现在在 TrainzOnline Wiki 上显示为强制性标签。此外,DLS 接受测试通常领先于 Trainz 软件发布,因此上传的资产可能会因要求定义此类和此类强制性标签列表而被退回。

包含在“{”和“}”之间的资产元素位于“ 容器”或 KINDS

 

*在 trainzoptions.txt(TR04—TS12)中设置“ freeintcam”开关参数或在 TANE 及其之后检查具有相同功能的复选框(**释放内部摄像头**),会将键盘箭头的功能从旋转和倾斜功能更改为改为将相机位置前后滑动,或左右滑动。Freeintcam 模式使用户能够将许多摄像头完全移出驾驶室,或移至更具优势的观看(和鼠标控制)角度。

注释、脚注和参考文献

[编辑源代码]

Config.txt 文件在 Trainz 资产中是普遍存在的,因为没有资产可以在没有这种类型的 计算机科学容器 的情况下定义。在编辑或创建 Trainz 内容时,始终要牢记关键字-键的值对。 TrainzBaseSpec 包含在定义资产的 config.txt 文件中最常见的价值和容器。 

注释

  1. Windows 98 和早期的 Windows NT 极大地增加了操作系统可寻址的硬盘空间 - 磁盘大小已达到顶峰,Windows NT 中的新模式和 Windows 98 中的桥接技术允许使用更大的硬盘。
  2. 故意“s”... 编辑器的本地方言。问问任何来自宾夕法尼亚州西部的人!
  3. 新的 Trainzer 将了解或被提醒,资产名称标签在 TRS2009 中被淘汰,并且自那以后如果存在并且资产的 trainz-build 标签值高于 2.8,则会生成错误,这对应于 TC3 技术级别。

 

脚注

 

参考文献

华夏公益教科书