Trainz/Config.txt 文件
- 此页面是对 Config.txt 文件的简要介绍,适合非专业人士和初学者,这是 Trainz 中非常重要的数据定义元素;
- 而主要面向资产的Config.txt 文件介绍可以在 Trainz/AM&C/config.txt 文件中找到。
- 有关此主题的技术内容,请参阅: Trainz/references/config.txt 文件。
这是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 应用程序启动速度并提高可靠性(从软件支持人员的角度来看)。(是的,这是管制思维!) 总体而言,随着注册表已经存在十多年了,Window 进程切换速度快得多,应用程序信任注册表,因此已经赋予应用程序在自启动操作中进行更少的安全测试。
然后是第二个问题,Trainz 资产 ini 文件是 .txt 文件,大多数 Trainz ini 文件很快就会消失——它们的根文件夹的实际存在是临时的,作为包含数据定义集的文件,它们的组件文件通常被压缩到其他部分处理、组织和索引的文件(参见 chump 文件)中,Trainz 数据库在运行时GUI 模块和CM中使用这些文件。这种经过处理的“资产状态”称为已提交,这意味着根文件夹中的临时文件被捆绑在一起并插入 Trainz Asset Data Base (TAD) 中,准备包含在路线或会话中,或供 CM 操作进一步引用,例如检查依赖关系或依赖资产。
因此,我们现在必须解决一个重要的入门问题
“ | Trainz 资产到底是什么 [注释 2]???
|
” |
Trainz 元素、Trainz 活动以及你想要做的任何事情,除了卸载 Trainz 安装以外,都取决于 Kuids 和资产。你驾驶的会话,用你使用的路线(地图、虚拟世界)进行填充,并包含你需要完成的任务,这些都是通过'Scriplets' (参考文献) 的编程进行设置的,它的消息列表(HTML 或文本资产),当然还有机车车辆——基本上每个可以定义为代码的项目,或者作为 Trainz 的某一部分的整体的一部分的元素,都是一个资产。我们使用 Config.txt 文件在内容管理器中保持所有这些直观,这些文件通过KUIDs 进行唯一识别,这是一种索引和互相关联的标识符,可用于将颜色(纹理或可见皮肤)、网格(被皮肤覆盖的形状)、网格集合(例如,火车车厢的一部分,车轮、耦合系统、卡车或转向架、货物框架和形状[另一个网格,可能是网格库资产的一部分],所有这些都被颜色文件和反射属性覆盖,以使一个不可见的形状看起来有真实的形态。
Trainz 中的每个资源(或内容项)都从一个文件文件夹设置开始,并且每个部分都由内容创建者定义。在 Trainz 早期,由于技术原因,每种资源都有一个定义的文件夹和子文件夹结构,其中一些名称受到限制、后缀或按照通用约定,传统上以某种特定方式定义。一些图形软件包,特别是 Autodesk 的 3ds Max(N3V 的开发人员使用)以及更简单的游戏重点 Gmax(3ds Max 的子集,以前与 Trainz 捆绑在一起)喜欢使用某些子文件夹安排,其中许多被延续到 Trainz 文件夹组织中。因此,对于一辆火车车厢资源,你通常会在其 **根文件夹** 下看到以下子文件夹,根据旧标准(TRS2006 之前),*它将以“资源文件名”标签的值命名*(资源名称),在后面的数据模型中,通常是 用户名 标签值(资源_名称):[注释 3] 早期的 Trainz 数据模型(结构)依赖于 *“资源文件名”* 以及后缀 _art、_body 和 _shadow。一个以资源_名称(用户名)为引用,其“略有不同”的资源文件名将定义以下文件夹结构,位于根文件夹“资源名称”内
- 资源名称\资源名称_art
- 资源名称\资源名称_body
- 资源名称\资源名称_shadow,这明显存在冗余。
其他一些资源类型可能会有不同的文件夹结构,特别是风景资源。一个带有灯光(“夜间模式”)的简单建筑物可能有一个主体子文件夹,但它很可能只在其本地根文件夹中包含其组件文件,但仍然保留老式的文件夹“*night*”,其中包含用于在黑暗中显示对象的不同的网格和纹理。这会在路灯下产生光池,商业建筑(如酒吧)的霓虹灯,照明窗户,汽车展厅大厅内容的清晰视图,等等。关键在于,虽然文件层次结构和命名约定在 网格表容器 的引入以及资源文件名标签的减少和最终消除之后不再必要,但活跃的内容创建者仍然会严重依赖这些习惯定义和事物在历届 内容创建者指南 中的组织方式,这些指南伴随着每个版本发布到 TRS2009。出于这个原因,TC3 CCG 被用户社区发布到了 Trainz Wiki 上,尽管 N3V 的编程人员反对,并且仍然是一个非常有用的资源,可以帮助你了解如何修复资源。
config.txt 文件是将自定义 3D 图形模型的各个部分粘合在一起的胶水,它定义并提供指令,说明这些文件和子文件夹如何在 Trainz 虚拟世界背后的 Auran JET 3.0 图形引擎的解释下组合在一起。它可以引用其他资源,对其网格进行别名并替换不同的纹理套件,从而改变火车车厢的铁路涂装,实现一种称为重新蒙皮的过程。两套纹理都应用于资源的网格,但可见的、最顶层的纹理是定义为重新蒙皮另一个基础资源的资源的纹理。配置文件还将一组复杂的资源粘合在一起;有时通过直接包含对多个网格的引用,有时通过按其 KUID 引用一个部分。通过考虑常见的货车,这将更加清晰。这样的资源包含定义联轴器、制动软管、转向架(转向架)、车轮以及最终车身的网格。如果车身允许可见载荷,如料斗车、敞车、平板车或井口车,则资源定义很可能包括相关载荷类型的动画组件,这些组件可以显示排水或填充载荷级别的错觉。其中两种类型通常不承载散装货物,而是承载离散货物,例如箱子,Auran 称其为“普通货物”。它们还可以承载奇形怪状的物品,如农业设备、建筑产品、废料。在火车车厢定义中容纳所有这些东西将是徒劳无功的。相反,每个可能的载荷都有 连接点,为载荷创建不可见的对接点,这些载荷具有自定义的外观变化,如果需要的话。所有这些部分都需要定义和配置以协同工作。这些连接点需要与可能“对接”到它的载荷类型方向一致。这种魔法发生在资源的配置文件中。上面列出的许多部分是通用的,对许多车辆来说都是通用的,因此很可能由它们自己的配置文件定义,并由 KUID 引用。需要什么,以及如何在整个过程中指定和收集它,取决于资源 种类。
配置文件中必须定义各种数据元素,而其他数据元素则是可选的。这些数据元素在 TrainzBaseSpec 中列出,这是一个 KIND 类数据集合,它可能或必须在每个 Trainz 子资源中定义。子资源是部件、车轮、机车驾驶室、转向架(转向架)、联轴器、连接到交互式工厂的轨道等等,这些部件可能会被多个更大的资源使用。工厂中的轨道或货车(货车)的车轮就是两个容易理解的例子。
此页面 **正在建设中** 此处的內容可能會在很短的時間內發生重大變化。所有 Trainzer 和 Wikibookians,如果您对这个主题有所了解,欢迎加入我们的行列。 你可以移除这个标签,并用 {{Trainz-stub}} 或节桩模板({{Trainz-sect-stub}}) 替换它,用于未完成的节,当 *页面已经变得更加成熟时*。 |
以下是一个来自实际机车资源引擎组件文件文件夹的配置文件的小片段。声音也是部分资源,这个声音将声音(可能适用于其他机车)连接到“引擎规范”配置文件,该文件通过引用其 KUID "<kuid:32711:100430>"(见下文)来调用这个文件。引擎规范资源反过来又被引用到机车的配置文件中,这意味着这个资源既有父资源也有祖先资源级别;并且可能还有许多这样的关联
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 计算机世界的交互,这个列表一直在飞速地发展。以前是可选的标签,现在在 TrainzOnline Wiki 上显示为 trainz-build 3.4 或更高版本之后的强制性标签。此外,DLS 验收测试通常领先于 Trainz 软件发布,因此上传的资源可能会被退回,要求定义这样的强制性标签列表。
位于“**{**”和“**}**”之间的资源元素位于“*容器*”或 种类 内。
*在 trainzoptions.txt(TR04—TS12)中设置“*freeintcam*”开关参数或在 TANE 及其之后版本中勾选具有相同功能的复选框(**释放内部相机**),会将键盘箭头的功能从旋转和倾斜功能更改为将相机位置向前和向后滑动,或左右滑动。Freeintcam 模式使用户能够将许多相机完全移动到驾驶室外部,或移动到一个更具优势的观看(和鼠标控制)角度。
注释、脚注和参考文献
[编辑源代码]Config.txt 文件在 Trainz 资源中是普遍存在的,因为没有一个资源可以在没有这种类型的 计算机科学容器 的情况下定义。在编辑或创建 Trainz 内容时,必须始终牢记关键字-键值对。 TrainzBaseSpec 包含在定义资源的 config.txt 文件中最常见的数值和容器。
注释
脚注
参考文献
- Trainz 打印或 pdf 文件 手册,适用版本——通常位于 ..\extras 或 ..\extras\manuals 文件夹 中
- TrainzOnline Wiki Config.txt 文件页面 和其他页面
- TrainzOnline Wiki: 内容创作者指南页面 (各种)
- 各种 CCG 和 Auran 网站
本参考页面改编自 TrainzOnline Wiki,根据 CC-BY-SA 3.0 许可证。此页面可能包含比 [online.ts2009.com/mediaWiki/index.php/Config.txt_file 相同主题的源页面] 更多的文字解释、说明、历史和/或示例。
TrainzOnline Wiki 主要由程序员或知识渊博的 内容创作者维护,可能包含有关当前 trainz-build 代码标准的最新和更详细的信息,这些标准随着软件功能的添加而不断变化。