跳转到内容

Trainz/AM&C/材质文件

来自维基教科书,开放世界的开放书籍
logo
Trainz 资产维护和创建

Trainz 注解参考页面
TOC | 开始乐趣 | AM&C | 创建 | 书内参考资料 ORP 参考资料:  • 索引 • 容器 • 种类 • 标签 | 附录  • 版本
 词汇表
 HKeys-CM
 HKeys-DVR
 HKeys-SUR
 HKeys-WIN
 鼠标使用
 符号

主条目:Trainz/references/texture.txt 文件 (如果更详细,此页面应合并到其中,否则应改写为入门和介绍,(并且首先) 用于错误修复,然后用于更简单的内容创建形式。


范围: 本指南适用于以下每个 Trainz 类型规范

KIND 材质, KIND 地面材质, , , 以及 缩略图容器.
相关数据类型:"Texture-variants"_container "Texture-variants" 容器 (资产提供材质的替代配置,以便材质显示为季节性变体。)

 

Trainz 材质文件 是 ASCII 文本格式规范文件,描述单个材质 (根据 N3V 的文章名称 [注释 1]) 或者 在常用用法中,Trainzer 可能指的是图形格式文件,例如 texture.txt 文件 控制。这些 texture.txt 文件不是压缩的 .texture 文件,这些文件是二进制生成的,如以下所述,但与图形材质图像一样,成为一对文件的组成部分,这些文件在 Auran 格式中被强制配对并压缩,生成的 '.texture 文件'CM 在资产提交时构建。这些有时在资产打开时可见,尤其是在它是一个新克隆 的时候。

材质文件具有 ".texture.txt" 文件名扩展名,但是当在 config.txt 文件 中指定材质文件时,必须省略 ".txt",在标签数据值字段中仅保留 ".texture" 扩展名。(这看起来很奇怪,似乎违反直觉,但对于 Trainz 来说,'.texture' 意味着 '.texture.txt',而后者形式 (这是操作系统格式) 在CM 操作数据 时是可以理解的,但在 TrainzUtil、Driver、Railyard 或 Surveyor使用已提交 和已处理的准备使用 数据 时则不是。(TrainzUtil 是一个后台进程,它执行由其他 Trainz 模块命令的许多数据库操作。)


  具有 *.texture.txt 后缀和扩展名的文件用于配置 Trainz 中的材质行为。这些文件还可以控制 内容管理器 如何处理材质。这些文件位于与源材质文件相同的文件夹中,通常是 .bmp、.tga 或 .jpg 文件 (以及 TANE 中的 .png),并与它们建立 '路径规范连接' 引用。修复这些路径规范通常是故障资产所需的唯一调整,因为在 TS09 之后,软件对文件引用的要求更加严格。这些 texture.txt 文件由来自 CC 的资产源文件夹的相应 3D 图形软件导出器或导入器实用程序自动生成,但在需要它们控制的效果的专门化 时,可以手动编辑 - 这是在修复故障内容时偶尔会遇到的需要。

文件格式

[编辑 | 编辑源代码]

用户可编辑的 *.texture.txt 文件 是 ASCII 文本格式的键值对,具有以下选项。请注意,此格式与 Trainz 使用的其他基于文本的格式不同 (尽管有一些相似之处)。在命名材质和图像文件时,请注意 文件名字符限制

语法

每个令牌在新的行上指定。在 '=' 符号的两侧都没有空格。空值有时是有效的。语法为

<token>=<value>
示例
Primary=WayCoolTexture.tga
Alpha=WayCoolTexture.tga
Tile=st
AlphaHint=masked
Anisotropy=16
MagFilter=linear
MinFilter=linear
MipFilter=linear

(仅示例,不推荐设置)


令牌和值

[编辑 | 编辑源代码]
Primary=diffusemap.bmp

此标签指定表示材质的颜色 (R、G、B) 通道的图像文件的名称。图像文件中的任何 alpha 通道将被忽略。生成的材质将具有纯白色 (100%) alpha 通道。

主材质,不同 Alpha

[编辑 | 编辑源代码]
Primary=diffusemap.jpg
Alpha=diffusemap.bmp

此标签组合指定表示材质的颜色 (R、G、B) 通道的图像文件的名称以及表示材质的 alpha (A) 通道的图像文件的名称。alpha 通道图像应为灰度。两个文件都不应包含 alpha 通道。

主材质,相同 Alpha

[编辑 | 编辑源代码]
Primary=diffusemap.tga
Alpha=diffusemap.tga

此标签组合指定单个图像文件的名称,该图像文件表示材质的颜色和 alpha (R、G、B、A) 通道。在这种情况下,两个标签都必须引用相同的名称。图像文件必须包含 alpha 通道。

Compression=dxt1

此标签强制使用特定的材质压缩方案。如果省略,Trainz 将根据提供的图像文件的内容选择合适的材质压缩方案。如果您没有特定的效果需要实现,请不要包含此标签。有效的选项为 'none'、'dxt1'、'dxt3'、'dxt5'。参考 DXT 压缩

法线贴图提示

[编辑 | 编辑源代码]
NormalMapHint=normalmap

'NormalMapHint' 标签允许将纹理指定为法线贴图。默认情况下,Trainz 会假定您的纹理是漫反射贴图,并应用一些不适合法线贴图的处理选项。您必须为法线贴图指定此选项。有效选项为“none”和“normalmap”。

ModifyMap

[编辑 | 编辑源代码]
ModifyMap=flipgreen

'ModifyMap' 选项允许翻转纹理的绿色颜色通道。某些程序,例如 3ds Max,会创建法线贴图,其 Y 轴朝向与 Trainz 着色器预期相反的方向。此选项可用于使凹凸效果在 Trainz 中看起来正确。此选项由内容管理器在提交时应用。有效选项为“none”和“flipgreen”。

AlphaHint

[编辑 | 编辑源代码]
AlphaHint=opaque

'AlphaHint' 标签允许您在纹理上强制使用特定 alpha 模式。有效选项为“opaque”(表示 alpha 通道未被使用,实际上是纯白色)、“semitransparent”(表示 alpha 通道是灰度混合)和“masked”(表示 alpha 通道是纯黑白色位图)。如果省略,Trainz 会根据 Alpha 通道为此标签提供适当的值。指定此选项可防止遮罩纹理中的轻微变色触发混合 alpha 路径。

Anisotropy

[编辑 | 编辑源代码]
Anisotropy=1

各向异性采样质量。数字越大,视觉质量越好,但性能成本会显著增加。在需要纹理质量的地方指定更高的值。Trainz 目前默认为超高各向异性过滤,然后由游戏内的各向异性滑块进行限制。有效值为整数“1”(默认值) - 无各向异性过滤,“2” - 低,“4” - 中,“8” - 高,以及“16” - 超高。

MagFilter

[编辑 | 编辑源代码]
MagFilter=linear

控制纹理放大过滤样式。当纹理元素以大于真实尺寸显示时使用(例如,单个纹理元素用多个像素表示)。放大过滤器的有效设置是“nearest”、“linear”和“default”。Trainz 目前默认为线性插值。选择“nearest”将使用最近邻过滤模式,这将导致“像素化”输出。

MinFilter

[编辑 | 编辑源代码]
MinFilter=linear

控制纹理缩小过滤样式。当纹理元素以小于真实尺寸显示时使用(例如,单个像素用多个纹理元素表示)。缩小过滤器的有效设置是“nearest”、“linear”和“default”。Trainz 目前默认为线性插值。选择“nearest”将使用量化过滤模式,这将导致“噪点”输出。

MipFilter

[编辑 | 编辑源代码]
MipFilter=linear

控制纹理mipmap 选择的过滤样式。Mipmap 在缩小时使用,以帮助防止摩尔纹图案。使用 mipmap 的成本是生成的图像会稍微模糊。使用 mipmap 的好处是减少量化噪声并减少内存占用(因为当不使用时可以卸载更详细的 mip 等级)。mipmap 过滤器的有效设置是“nearest”、“linear”、“default”和“none”。Trainz 目前默认为三线性插值。选择“nearest”将导致硬件为每个像素选择一个 mipmap,这会导致在 mipmap 边界处出现可见的条带。选择“none”将禁用 mipmap,导致性能降低、内存使用增加和“噪点”输出。


Tile=st

平铺是指纹理坐标超出 (0.0 .. 1.0) 范围的能力,可以被视为无限平铺纹理上的有效坐标。使用平铺时,经过纹理右侧/底部的坐标实际上会包裹到左侧/顶部,等等。有效选项包括“s”(水平平铺)、“t”(垂直平铺)、“st”(水平和垂直平铺)和“none”(不平铺图像)。


评论和建议

[编辑 | 编辑源代码]

令牌Hint 仅供内部使用,但自其被发现以来,已被善意的人们使用和滥用。Anisotropy 应用于提高纹理质量,而MipFilter=none 仅应用于禁用界面纹理的 mip 映射。


图像格式

[编辑 | 编辑源代码]

以下图像格式可以作为纹理文件的源数据。

  • Targa (.tga) 文件。Targa 是一种无损图像格式,具有可选压缩和可选 alpha 通道。
  • JPEG (.jpg) 文件。JPEG 是一种有损图像压缩格式,不支持 alpha 通道。
  • Windows 位图 (.bmp) 文件。BMP 是一种无损图像格式,没有压缩,并具有可选 alpha 通道。

这些图像与相应的 *.texture.txt 文件一起由内容管理器用于创建 Auran/N3V 二进制纹理 (*.texture 文件,没有其他扩展名!),这些纹理在 Trainz 模拟器中使用。N3V 二进制纹理使用并包含图像 LOD 信息.

  • 所有内置内容仅包含无法使用普通图像软件打开的 N3V 二进制纹理。可以在页面上找到查看这些纹理的适当工具。

任何大于 2048x2048 的图像将被调整为该最大尺寸,因此在资源中使用大于该尺寸的图像毫无意义。最好使用您喜欢的图像编辑程序中首选的重采样选项调整图像大小,而不是让内容管理器调整图像大小。实际上,图像的大小不应大于在最典型的观看距离处提供适当的细节级别所需的尺寸。单色图像应尽可能小,当然不应大于 16x16。

关于图像编辑器的说明

[编辑 | 编辑源代码]
  • 与某些旧版本的 Adobe Photoshop 附带的 Targa 导出器插件已损坏,并且会静默地破坏或丢弃 alpha 通道;一个免费的更新可以解决此问题。
  • 某些图像编辑器不支持 BMP 文件的 alpha 通道。


.txt 文件扩展名

[编辑 | 编辑源代码]

纹理文件具有“.texture.txt”文件名扩展名,但是,当在config.txt 文件或类似文件中指定纹理文件时,必须省略“.txt”,留下“.texture”扩展名。例如,在kind groundtexture 配置文件中,使用语法texture "grass.texture" 指定名为grass.texture.txt 的纹理文件。

使用图像文件代替纹理文件

[编辑 | 编辑源代码]

Trainz 历来支持使用 *任何支持的图像文件* 类型来代替 纹理文件。这种技术有明显的局限性,并且 不再推荐使用。


  1. TrainzOnline wiki 同时将 'Texture File' 和 'texure.txt 文件' 作为主题标题,首席程序员 Chris Bergman 做出的修改表明他希望合并这两个页面。事实上,这两个页面中的信息几乎完全相同,因此我们在 texture.txt 文件 页面上复制了这些信息,并注意到了源 '权威' 的双重位置,并且这种情况已经持续了很长时间。
华夏公益教科书