跳转到内容

Trainz/KUIDs

来自维基教科书,开放世界中的开放书籍
(重定向自 Trainz/KUID)
logo
Trainz学员基础知识

Trainz资产维护与创建
TOC | 开始乐趣 | AM&C | 创作 | 书内参考 ORP参考:  • 索引 • 容器 • 种类 • 标签 | 附录  • 版本
 词汇表
 HKeys-CM
 HKeys-DVR
 HKeys-SUR
 HKeys-WIN
 鼠标使用
 符号
editor screenshot
在Windows中使用Programmer's Notepad的多标签窗格来管理Trainz资产数据。
 • 大块的 逗号分隔的kuid 在设置自定义路线构建的SPEED方面非常有用——Surveyor需要查阅的资产越少,所有 Surveyor热键 和构建或装饰过程的速度就越快。
 • 这样的列表在不同版本之间的 内容管理器 中以及在本例中也占有一席之地——例如,像页面顶部(显示 缺少的资产)这样的列表可以转换为像页面底部列表那样的CSL块,适用于在另一个Trainz安装中进行搜索(例如,在进入GUI驾驶或 路线构建之前查看所有依赖项或所需资产是否可用)。
需要思考的要点

各种资产名称和KUID,例如
内容管理器 中“全部复制”可能会给您
Highland Valley SD38 No23, <kuid:62941:123>
Sub Station, <kuid:58973:27012>
GW Malt Sec5, <kuid2:97212:5200:1>
ken, <kuid:119692:840>
mack-truck, <kuid2:50567:15770:1>
fred2, <kuid:50567:15717>
Erie covered hopper Mfx2, <kuid:58422:1067>
Tanker MBLX (FUEL), <kuid2:64038:151024:1>
Tanker UTLX 950423(LARS), <kuid2:113556:61005:1>
Tanker ExxonMobil (FUEL), <kuid2:64038:151023:1>

仅供参考,Fred是现在用于列车尾部的红色发光仪器包,以前是车尾。现代的Fred包含RFID电路和GPS,并与驾驶室中的接收仪器通信数据——如今,甚至是倒车摄像头视图——让工程师准确地知道他的列车尾部在路线上的位置。

KUID是在创建资产时分配给它的唯一标识符。TRS2006手册将它们称为从Kool Things Unique Identifier Data派生的助记符,Trainz依靠它们来理清事物并组合正确的子资产以呈现3D虚拟世界。KUID的核心部分是作者的Trainz ID代码编号,它将是他创建的每个资产共有的。这是kuid在第一个分隔符(冒号“:”字符)之后的第一部分。没有kuid代码,就没有资产。Trainz将读取 一个没有kuid的配置文件 并立即报告多个错误之一,最常见的是——"警告:无法读取位于'<文件夹名称>'处的资产的配置文件"而不是“资产没有有效的kuid”。

此KUID功能是在最初的Trainz 0.9 Beta原型中引入的,目的是将资产组件文件组织到单独的文件夹中,并为了方便对资产进行编目,因为最早版本的资产 下载站(在线免费库)需要一个内置的数据结构来跟踪几个相似资产之间的差异,以及一种使用正确指定资产的可靠方法——如果仅使用资产名称作为那个时代的硬盘数据原始组织中的文件夹名称,那么太多名称可能会相互覆盖。解决方案是不依赖可能重叠的名称,而是通过使用kuid派生的名称(用空格替换冒号(':’)字符)对早期Trainz(甚至现在)中的文件文件夹进行组织。请查看您..\UserData\local\hashfolders目录中的文件夹。

Kuid(基本kuid)格式
<kuid  : 作者ID# : 基本Kuid索引 >    
Kuid2格式
<kuid2 : 作者ID# : 基本Kuid索引 : 版本后缀>

还需要某种方法让用户能够识别资产的不同版本——将有效的试验与无效的试验区分开来。在早期开发中,曾设想过 过时的表格,但在实践中,这些表格存在某些缺点,因为它们的使用会永远“破坏”资产标识符代码。这种需求催生了扩展的kuid,即Kuid2格式,因为随着 Trainz 1.0 的一系列服务包的发布,跟踪特定资产修订版的问题变得越来越重要。可以说,Trainz正在经历磨合期和成长烦恼,但它正在快速成长和成熟。到 UTC 时,正如在其他地方提到的,它也可以算作Trainz 1.0的第四个服务包,这两种方法都已到位,软件经过培训可以识别kuid2和kuid格式,以及 过时的表格的旧版本。

此外,还希望能够识别资产的原始作者,以及根据国际法谁拥有其版权,以便Auran能够保护其所有权。有两种版本:KUID和KUID2。Trainz的TRS2006之前的版本需要手动创建资产,因此必须手动分配KUID。在TRS2006及更高版本中,当您点击“新资产”或“克隆资产”时,CMP会自动分配KUID。

原始格式的KUID如下所示
<KUID:123456:123456>.
  1. KUID的第一个数字元素是作者的用户ID。可以通过用户的Planet Auran个人资料访问用户ID。用户在注册Planet Auran时会获得一个用户ID,并且用户ID是按随机数字顺序分配的。大多数用户ID有5位或6位数字,其中5位数字占主导地位。但一些早期的用户ID可能只有4位或更少的数字。一些用户ID只有一个数字的作者代码。
  2. KUID的第二个数字元素是作者设置的唯一编号,可以是任意位数,通常为6位左右,并且经常进行编码,以便前几位数字指示创建的数字资产的类别或类型(例如,10表示火车车厢[滚动库存],因此101的前缀为 平板车,102为40' 箱车,103为 参考,等等。一些 CC 将类型品牌扩展到转向架等部件,或者可能为这类部件类型设置一个组。
  3. 如果使用CM/CMP创建或克隆资产,CMP会为每个用户 安装分配增量编号,默认情况下在1xxx范围内(开始)。例如,您创建的第一个内容很可能对内置的标准 路线会话进行更改,因此,如果您的用户标识符为“123456”,则kuid可能会创建为<KUID:123456:1001>,依此类推。
  4. TrainzUtil可用于更改下一个生成的kuid起始值,然后CM将在为新资产kuid代码分配时生成高于该值的下一个空闲编号。提示:在给定情况下,由于路线始终具有默认会话,因此路线修改将生成两个以1001和1002结尾的连续kuid

使用KUID时,如果作者将资源上传到DLS,其KUID为<KUID:123456:100001>,并且希望更新该资源,则需要为更新后的资源分配一个新的KUID,例如<KUID:123456:100002>。为了替换DLS上的资源编号100001,必须在新资源的配置文件obsolete-table部分记录过时的资源的KUID。(在其他地方讨论)。这可能会让人感到困惑,因此KUID2被设计出来作为这个问题的解决方案。

KUID2的格式与KUID略有不同。
<KUID2:123456:123456:1>,其中新增的字段是基于零的版本索引。

与之前一样,前两个数字元素是作者的用户ID和资源的唯一标识符。第三个数字是资源的版本号,可以高达“127”。KUID2实际上是基于零的,因此<KUID2:123456:123456:0><KUID:123456:123456>相同——尽管N3V的程序员在何时承认等效性方面并不一致,因此实际效果也存在差异。[注释 1]

现在,只需递增版本号即可更新资源。KUID2的巧妙之处在于,它们也可以应用于具有KUID的资源。例如,如果我们采用资源<KUID:123456:100001>并希望更新到KUID2,只需将更新后的资源的KUID标签更改为<KUID2:123456:100001:1>,DLS就会自动将原始资源标记为已过时(在CM搜索窗格的术语中为“已过时”;CMDLS通信并跟踪是否有更新的资源可用)。[注释 2] 在本地,每个用户的CM/CMP安装都会检测此类更新,并通知所有拥有该资源过时KUID版本的用户的更新版本可用。由于TS2009 CM也会以可视方式显示此信息,使用符号将其更新到KUID2版本。 

 

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

注释、脚注和参考文献

[编辑源代码]

Config.txt文件在Trainz资源中无处不在,因为没有资源可以在没有这种类型的计算机科学容器的情况下进行定义。在编辑或创建Trainz内容时,必须始终牢记关键字-键值对。 TrainzBaseSpec包含在定义资源的config.txt文件中最为常见的数值和容器。 

注释

  1. 某些N3V Trainz版本会在CM KUID输入窗口中将<KUID2:123456:123456:0>和<KUID:123456:123456>显示为相同,而其他版本则对它们进行不同的处理,并在数据库中忽略基本KUID格式,如果在搜索中使用KUID2格式。
     • 经刻意测试,在配置文件中使用KUID2格式作为标识符值是完全可以接受的(在新资源和修改后的旧资源中),并且所有版本的N3V软件都对其进行了正确处理。
     • 因此,许多人在创建资源时只使用KUID2格式,并且如果保留手动维护的非Trainz数据库(带有源文件的OS文件文件夹)档案,则使用格式“kuid2 xxxx yyyy n;v#-#; assetname,因为当所有内容都编码为KUID2语法时,它使得创建基于KUID进行搜索的档案文件夹更加简单。(然后字母数字排序可以正常工作。)
     • 此类档案还允许搜索以在需要修复或新建资源时找到纹理;并且是初始化新Trainz版本或重建旧安装的资源。
  2. N3V的CM版本将拒绝任何尝试打开文件进行编辑,然后仅通过重新提交来升级它并更改KUID。但是,可以使用两种方法来达到相同的效果。
     • 1) 更改配置文件的KUID,然后将文件夹拖放到CM中,因为较旧的KUID被“标记”为“已打开以供编辑”,软件只是将文件夹和数据视为导入的资源。然后可以独立地重新编辑回原始KUID并提交,或者假设它没有错误,只需键入CTRL+R恢复到原始的更改前版本。如果恢复一个已打开以供编辑的版本,在移动或删除其文件夹之前重新提交似乎不是必需的,但可能是比这样做更安全的。
     • 2) 将文件夹复制到另一个目录,然后在那里更改KUID,同时通过在原始KUID下提交更新的表单来测试改进。这使得在添加更新的KUID版本之前,可以对提交进行全面测试。

 

脚注

 

参考文献


 

华夏公益教科书