跳转到内容

Trainz/KUIDs

来自Wikibooks,开放世界开放书籍
(重定向自 Trainz/kuid)
logo
Trainz学员基础知识

Trainz资产维护和创建
目录 | 开始乐趣 | AM&C | 创建 | 书内参考 ORP参考:  • 索引 • 容器 • 种类 • 标签 | 附录  • 版本
 词汇表
 HKeys-CM
 HKeys-DVR
 HKeys-SUR
 HKeys-WIN
 鼠标使用
 注释
editor screenshot
在Windows中使用Programmer's Notepad的多标签窗格来管理Trainz资产数据。
 • 大块的逗号分隔的kuid在设置自定义路线构建的SPEED方面非常有用——越少的资产勘测员需要咨询,所有热键以及构建或装饰过程的速度都会加快。
 • 这样的列表在内容管理器的各个版本之间也有其位置,以及在本例中——类似于页面顶部(显示丢失的资产)的列表可以转换为类似于页面底部列表的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是现在用于列车尾部的红光发射仪器组件,以前是车尾。现代的包含RFID电路和GPS,并与驾驶室内的接收仪器通信数据——如今,甚至包括后视摄像头视图——让工程师准确地知道他的列车尾部在路线上的位置。

KUID是在创建资产时分配给资产的唯一标识符。TRS2006手册将其称为源自Kool Things Unique Identifier Data的助记符,Trainz依靠它们来保持事物井然有序,并将正确的子资产组合在一起以呈现3D虚拟世界。KUID的核心部分是作者的Trainz ID代码编号,这将是他创建的每个资产的共同点。这是冒号“:”字符后kuid的第一部分。没有kuid代码,就没有资产。Trainz将读取一个没有kuid的配置,并立即报告几个错误之一,最常见的是——"警告:无法读取资产在“<foldername>”处的配置文件",而不是“资产没有有效的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的第二个数字元素是由作者设置的唯一编号,可以是任意位数,通常为六位左右,并且通常编码,以便前几位数字表示创建的数字资产的类别或类型(例如,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> 相同,而其他版本则会对它们进行不同的处理,如果在搜索中使用 Kuid2 格式,则会忽略数据库中的基本 KUID 格式。
     • 经测试证实,在配置文件中使用 Kuid2 格式作为标识符值是完全可以接受的(在新资产和修改后的旧资产中),并且所有版本的 N3V 软件都能正确地将其归档。
     • 因此,许多人在创建资产时只使用 kuid2 格式,如果要手动维护 Trainz 之外的数据库(带有源文件的 OS 文件夹)档案,则使用格式“kuid2 xxxx yyyy n;v#-#; assetname,因为当所有资产都编码为 kuid2 语法时,这使得创建可基于 kuids 进行搜索的档案文件夹变得更加简单。(然后字母数字排序可以正常工作。)
     • 此类档案还允许在需要修复或创建新资产时搜索以找到纹理;并且是初始化新 Trainz 版本或重建旧版安装的资源。
  2. N3V 的 CM 版本会拒绝任何尝试打开文件以进行编辑,然后仅通过重新提交来升级它。但是,可以使用两种方法来达到相同的效果。
     • 1) 更改配置文件的 kuid,然后将文件夹拖放到 CM 中,因为较旧的 kuid 被“标记”为“已打开以供编辑”,软件只是将文件夹和数据视为导入的资产。然后可以重新编辑原始 kuid 并独立提交,或者假设它没有错误,可以只输入CTRL+R还原到原始的更改前版本。如果还原一个已打开以供编辑的文件,在移动或删除其文件夹之前,重新提交似乎不是必需的,但可能比这样做更安全。
     • 2) 将文件夹复制到另一个目录,然后在其中更改 kuid,同时通过在原始 kuid 下提交更新的表单来测试改进。这有利于在添加更新的 kuid 版本之前,对提交进行全面测试。

 

脚注

 

参考文献


 

华夏公益教科书