跳转到内容

Trainz/Blender 教程

来自维基教科书,开放世界中的开放书籍

新手从这里开始

[编辑 | 编辑源代码]

Blender 是一款复杂的专业级 3D 建模工具,用于创建静态和动画模型,电脑游戏 以及 动画短片。您可以直接前往下面的 Trainz 特定的移动房屋教程,或者您可能希望花时间学习熟练使用该软件,然后再尝试为 Trainz 创建内容。关于 Blender 的信息来源很多,包括高中和大学级别的课程、论坛和教程。

  • 由宾夕法尼亚州哈里斯堡中央道芬高中的詹姆斯·克罗尼斯特创建的免费 高中课程
  • 由塔夫茨大学的尼尔·希尔斯格创建的免费 大学课程

帮助来源

[编辑 | 编辑源代码]

除了可以下载软件的官方 Blender 网站,用户可以在该网站上找到 论坛教程,还有许多第三方网站提供支持 Blender 的教程或论坛。截至 2013 年第一季度,这些网站包括(但不限于):

YouTube 还托管了许多创建 Blender 教程的人员的频道。

其他注意事项

[编辑 | 编辑源代码]
  • 由于 Trainz 专门使用照片纹理,因此希望创建内容的用户最好具备对图像处理软件的熟练知识,该软件能够以 jpeg 和未压缩的 ~.tga 格式写入图像文件。

Blender 在 2010 年 7 月发布的 2.50 版本中进行了重大更新,该更新彻底改变了用户界面。不幸的是,许多 Trainz 教程是使用旧界面创建的,虽然精通最新版 Blender 的用户可以完成这些教程,但想要使用旧界面的不太熟练的用户仍然可以从 下载网站 获取教程中使用的该软件版本。


您要做的第一件事是安装 Blender。因此,请直接前往 https://wikibooks.cn/wiki/Trainz/Tutorial_for_Blender#Getting_started 并按照有关安装 Blender 和导出器的说明操作。

Trainz 特定的移动房屋教程

[编辑 | 编辑源代码]

建议在尝试基本房屋教程之前观看视频教程 https://wikibooks.cn/wiki/Trainz/Tutorial_for_Blender#Video_tutorials_from_Blender.org,但这并非必需。

接下来,您需要创建一些东西并将其导出。

要对这所房子进行纹理化,请下载 kuid:86627:2491 或其任何版本,例如 kuid2:86627:2491:3。您需要其中的纹理文件 (Terrace one.tga)。使用该文件和纹理教程对房屋进行纹理化。这是一个 3.25 MB 的下载文件,因此,如果您没有头等车票,最好从 TrainzProRoutes.com 下载。该对象名为 带前院和路面的利奥波德巷板岩屋顶

要导出房屋

要将其转换为移动房屋

如果我们改变形状,我们实际上可以得到一个合理的基本货车。


另外请注意,Paul Hobbs 在这里有三个 Blender 教程:http://www.44090digitalmodels.co.uk/

这些教程涵盖了很多材料,而且 Paul 知识渊博。

关于本页

[编辑 | 编辑源代码]
本页的目的是帮助人们使用 Blender Exporter for Trainz 将他们的 Blender 作品直接导出到 Trainz。这里只描述与导出器相关的项目。如果你在 Blender 中遇到问题,或者对内容创作本身有疑问,那么你可以在以下链接中找到很多解释和经验丰富的人。
Blender 文档
Blender 社区
TRS2006 内容创作指南
Trainz 讨论论坛

教程


来自 Blender.org 的视频教程。

[编辑 | 编辑源代码]

Interface.avi 开始,然后接着 3dview.avi

Blender 入门教程
Blender 视频教程
Blender 动画视频教程 查看这个视频,了解如何制作屋顶。


纹理 标题下有一个基本教程,它将指导你如何在 Blender 中创建圆柱体,然后将其导出为场景对象和货车到 Trainz。圆柱体的示例 config.txt 文件可在 DLS 上获取。请先完成视频入门教程。

Blender 是一个庞大而复杂的软件,但我们只需要一小部分功能来构建 Trainz 的模型,所以从纹理下的教程开始,然后浏览入门视频,尤其是界面部分。


在使用 Blender 时你可能会发现有用的东西。

在文件下是“加载工厂设置”,在 Blender 中可以更改默认设置,这个选项可以让你恢复到正常状态。

当使用外部 .tga 文件进行纹理贴图时,导出器需要特定类型的纹理贴图。即使你可以在 Blender 中看到它,它也可能无法导出。按 F6,选择纹理类型为“图像”,然后加载你的图像文件。

b 用于框选,即选中框内的所有内容。

Trainz 需要绝对尺寸和位置。输入“N”打开属性对话框,以便直接输入尺寸。请注意,名称是在这里输入的 OB:a.limback 等。你可以在大纲窗口/视图中选择或搜索并选择一个对象,然后将鼠标悬停在 3D 视图上,在那里你可以使用 Tab 键进行编辑。你可能需要在大纲中进行实验,以找到允许你进行选择的视图。

使用四个 3D 窗口(在按钮窗口上方)是有意义的。如果你进入用户偏好设置(点击文件添加标签下方,然后下拉),点击视图名称按钮,每个象限将被标记。

数字键盘 0 是摄像机视图,其他分别是 1 3 7。<Ctrl>3 或 <Shift>3 给出相反的一侧等。5 在正交视图和透视视图之间切换。

fa: 在 www.blender.org 2.46 旁边显示面的数量,乘以 2 得到多边形数量。M 将选中的项目移动到不同的级别,以查看选定项目的顶点数。可以通过选择不可见的表面并删除它们来减少顶点数。

F9 打开双面按钮,用于关闭双面纹理。

使用追加 (<Shift><F1>) 从两个文件组合内容。 http://wiki.blender.org/index.php/Manual/Using_Linked_Libraries

要更改纹理文件名,按 F6,然后在静止状态下更改文件名。

要按名称选择项目,请使用大纲。

在创建动画负载时,请注意第一帧和最后一帧似乎会相互影响,因此最高负载应该是倒数第二帧,否则没有负载的货车在空载时可能会显示高负载。此外,请将帧号设置为最高数字进行导出。

要在 Blender 中平铺纹理,“选择你的平面,按 F,按 A 直到所有面都被选中,然后在 UV 图像编辑器中按 A 几次,直到所有内容都被选中。按 S 并向上缩放。就是这样……只需将其缩放至大于 UV 纹理窗口,它就会自动为你平铺。”


以下链接显示如何(使用)将蓝图导入 Blender。

http://www.the-blueprints.com/index.php?tutorials/blender/

从 GMAX 导入 Blender

过程如下

http://www.44090digitalmodels.co.uk/

第一个教程是设置 GMAX。

第 6 页和第 7 页参考了 Tempest 游戏包,它可以让你进行 MD3 导出。它还告诉你在哪里下载 Tempest 游戏包。如果你绝望了,我想我应该在某个地方有它。从 GMAX 中退出是最困难的部分。

然后访问这里:https://svn.sourceforge.net/svnroot/...trunk/blender/

将所有脚本复制到你的 Blender 脚本文件夹中。

导入 md3。

参考资料

http://blenderartists.org/forum/showthread.php?t=91838

https://wikibooks.cn/wiki/Blender...pts/md3_import


[1]
使用 Blender 为 Trainz 创建内容,你显然需要 Blender 本身,注意 2.49b 版本,许多 Trainz 特定教程使用该版本,可以在这里获得 Blender2.49b Blender Exporter for Trainz。该脚本由 Torsten 为 Blender 2.45 开发,但任何更高版本都应该可以使用。要使用 Blender Exporter for Trainz,你需要解压缩存档并将包含的文件 trainz_exporter.py 复制到 Blender 的脚本目录中。这通常是位于子目录 .blender 中的文件夹 scripts,因此,如果你使用默认路径在 Windows 系统上安装 Blender,则必须将文件 trainz_exporter.py 从存档复制到文件夹 C:\Program Files\Blender Foundation\Blender\.blender\scripts 中。在一些 Blender 安装中,它可能位于文档和设置下的 Application Data\Blender Foundation\Blender\.blender\scripts 中,应用程序数据可能是 Windows 中的隐藏文件夹/目录,这使得定位它变得很困难,尤其是在 Windows 7 机器上,你可能需要关闭 UAC 才能访问它。或者,如果你安装了两个不同版本的 Blender,或者从一个版本升级到另一个版本,你会在“\Application Data\Blender Foundation\Blender”位置找到额外的文件夹。打开你正在使用的 Blender 当前版本的文件夹,例如“Application Data\Blender Foundation\Blender\2.60\scripts\addons\”。

对于 Blender 2.5 及更高版本,你需要在 bitbucket 上获取 Torsten 提供的导出器 bitbucket.org。在撰写本文时,可供下载的脚本适用于 blender 2.65。

你还需要复制 Auran XML 导入器,这是 Blender 等所需的。 http://online.ts2009.com/mediaWiki/index.php5/Downloads 然后下载 Trainzimporter.rar。

每次 Blender 启动时,它都会扫描此目录并将找到的任何脚本包含到其菜单结构中。因此,如果你在复制导出器脚本后启动或重新启动 Blender,那么你可以使用 Blender 菜单 文件 > 导出 > Trainz 导出 调用它。在选择要导出内容后,如果没有任何问题,你会发现自己位于 Blender 的文件保存对话框中。选择所需位置和文件名,然后按 保存 最终创建资源文件。你应该始终检查 Blender 控制台以获取信息或警告,因为导出器只在出现致命错误时才会停止。

Blender 的帮助信息在这里: http://blenderartists.org/forum/

此论坛主题包含大量有用信息。 http://forums.auran.com/trainz/showthread.php?89501-Blender-Exporter-for-Trainz&highlight=Blender

Blender 设置

[编辑 | 编辑源代码]

我们仍在试验 Blender 设置,以获得 Trainz 中的最佳结果。然而,以下建议应该引起注意。

  • 在 Blender 中,无法为 Blender 单位设置参考比例,这与 GMAX 不同,在 GMAX 中我们可以指定一个 GMAX 单位等于例如一米。在 Blender 中,只需假设一个 Blender 单位 (BU) 等于一米。这是 Trainz Blender 导出器中内置的假设。如果你想使用英制单位,那么你可能需要探索 Blender 网格属性编辑器 脚本。
  • 如果你想将对象移动到绝对位置,请通过 Tab ↹ 切换到对象模式,然后按 N。变换属性窗口将出现,然后你可以输入所需的数值。但是,要注意:LocXLocYLocZ 指的是局部坐标系中的坐标。这些仅在对象没有父级时才指的是世界坐标系中的坐标。如果你已经分配了父级,那么你必须输入相对于该父级的坐标。
  • 并非所有在 Blender 中可视化的材料属性都会在 Trainz 中产生效果,而 Trainz 中可以实现的一些效果无法在 Blender 中可视化。因此,请务必在 Trainz 中查看你的模型,不要相信你在 Blender 中看到的内容。
  • 关于纹理:只有漫射、不透明度、反射和法线贴图在 Trainz 中有效。你也可以导出没有纹理的网格。
  • 如果您的安装文件夹位于引导驱动器上的“程序文件”中,您还需要确保您的临时文件夹(在用户首选项中设置)位于其他地方,否则 Blender 将无法写入临时文件。
网格是您将在 Trainz 中看到的 Blender 对象。您可以通过操作 Blender 基本体或甚至放置顶点并创建面来构建对象。请记住以下几点
  • 将您的创作居中于原点,因为 Trainz 在您插入资源时将此点放置在光标位置
  • 面可以是双面的或单面的,在 Blender 中,这是一个网格,而不是材质选项。您只会注意到 Trainz 中的差异,因为 Blender 始终双面渲染面。
  • 每个网格都需要一个材质;您可以对不同的网格使用一个材质
  • 注意顶点和面的数量
导出器仅识别在导出期间可见的网格。确保您要导出的所有对象都可见,并且您还选择了所有必要的图层!此行为有两个原因:首先,您看不到的任何内容都不会被导出(可能是一个长期遗忘的测试网格)。第二个原因是,您可以将大型或动画对象保存在一个 Blender 文件中,并通过更改可见性(图层在此发挥作用)来仅导出必要的部件。
本节中的术语骨骼通常代表帮助对象来构建层次动画系统。它与 Blender 骨骼中包含的子对象骨骼无关。到目前为止,Blender 导出器只识别格子为有效的骨骼对象。
以下是有关 Blender 中动画基础知识的两个教程
• 首先观看此视频教程以了解动画,例如帧号在哪里。[2]
• 接下来,对于 Trainz 中使用的简单动画,请观看此教程。[3]
一旦您想要为您的资源制作动画,就无法避免使用骨骼。您可以通过放置一个格子(添加 > 格子)并将其重命名为类似于b.r.something的内容来创建骨骼,正如 CCG 中描述的骨骼命名约定所述。
请注意,动画是通过使骨骼 b.r.rot 等成为对象的父级来实现的,然后将动画应用于骨骼。
如果您使用骨骼,则需要构建一个完整的层次结构,这意味着从根骨骼开始,所有其他骨骼或网格都需要是此根骨骼或任何从属骨骼的子级。如果您有松散的网格或骨骼,则导出器将失败,因为未绑定的网格不会显示在 Trainz 中。
根骨骼应位于原点,并且不应旋转。最佳实践可能是将其放置在顶视图(热键NumPad 7)中,并保持不动。根骨骼也不应该被动画化;它用作此资源中任何未动画化网格和任何不受动画父级驱动/依赖的骨骼的父级。
要导出骨骼,它们必须可见;因此请查看您的大纲和图层。

附件点

[编辑 | 编辑源代码]
附件点用于在 Trainz 中附加效果、轨道甚至其他网格。要创建 AP,您必须先添加一个空对象(添加 > 空对象)。之后,根据需要放置并旋转它,并为它起一个遵循 CCG-Rules for APs 的名称(a.whatsoever,您还记得吗?)。AP 不需要父级,因为此信息将在导出期间丢失。虽然使动画成为可能,但 Trainz 使用扩展的命名方案。假设您有一个骨骼b.r.john和一个 APa.doe。要告诉 Trainza.doe应该像b.r.john一样动画化,您必须将 AP 重命名为a.r.john/a.doe。在您的 config.txt 中,此 AP 仍然被引用为a.doe
对网格和骨骼有效的,对附件点也有效:如果它们不可见,它们将不会被导出。
您可以在 Blender 中操作漫射和镜面颜色,以便 Trainz 中的材质呈现您想要的视觉效果。您可以在材质面板中找到两者,Col 代表漫射颜色,Spe 代表镜面颜色
1 - Blender 材质面板
Trainz 支持另外两种颜色:环境色和自发光色。
Blender 中的环境色与 Trainz 中的工作方式不同,并且在大多数情况下,环境色和漫射色将相等,因此在导出期间环境色将从漫射色复制。自发光色用于 Trainz 中的自发光,在 Blender 中没有提供。由于物体通常即使被照亮或发光也具有相同的颜色,因此导出器在此也复制漫射色的值。
如果您计划使用纹理,则应将漫射颜色设置为纯白色,否则您的纹理在 Trainz 中的显示将比预期更暗。

不透明度

[编辑 | 编辑源代码]
您还在材质面板中找到不透明度滑块,在 Blender 中称为 Alpha(右侧的滑块A)。值为 1 表示材质完全可见,值为 0 表示您的材质完全不可见。如果您使用也影响不透明度的纹理贴图,那么最好将 Alpha 滑块保留在其正确位置,因为总体不透明度不会高于材质不透明度。

镜面反射

[编辑 | 编辑源代码]
可以使用着色器面板调整镜面反射。有趣的是面板中间的Spec(镜面反射)和Hard(硬度)滑块
2 - Blender 着色器面板
Spec(“镜面反射”)滑块用于调整镜面颜色的强度,从 0(无镜面高光)到 2(完全镜面高光),而Hard(“硬度”)滑块用于调整反射光的强度。较高的硬度值会产生硬镜面反射(想象一下玻璃或抛光表面),而较低的硬度值会产生暗淡的光泽(如沥青或粗糙/脏金属)。硬度范围(0 到 511)将被 Trainz 导出器缩放到 0 到 128。为避免 Trainz 中出现奇怪的效果,硬度值低于 4 会关闭镜面反射。

自发光

[编辑 | 编辑源代码]
亮度无需被照亮。您可以在着色器面板的右下角找到滑块Emit。您订购的自发光度越高,您的材质在漫射色中发光就越强。

这是最容易出现问题的领域。

这是最简单的情况,所以先做它,一旦您完成了这部分工作,就可以增加复杂性。

右键单击下图并将其保存为Blender cylinder texture.jpg。Trainz 可以使用.jpg文件,但最好将其转换为Blender cylinder texture.tga

步骤 1: 启动 Blender 后,删除默认的立方体。按 空格键 然后创建一个 8 面的圆柱体。按 N,它将显示变换属性对话框。

步骤 2: 通过更改变换属性对话框中的值,可以更改对象的尺寸和旋转。这里,圆柱体通过将LocZ更改为2.00向上移动了 2 米,并且通过将其RotY设置为 90 改变了其方向。

步骤 3:F5。在链接和管道窗格中,从当前显示MA:Material的下拉菜单中选择添加新项

下拉菜单现在应该显示MA:Material.001

步骤 4:F6。在纹理窗格中,从当前显示TE:Tex的下拉菜单中选择添加新项

下拉菜单现在应该显示TE:Tex.001。从纹理类型下拉菜单中选择图像映射图像图像窗格将出现。

步骤 5:图像窗格中,按加载然后导航到您的图像文件。

双击图像文件,其名称将出现在文件选择对话框顶部的第二个字段中。按选择图像,图像的元数据将出现在图像窗格中。

步骤 6:F5 然后导航到映射输入窗格。按UV按钮将映射输入更改为UV。

步骤 7: 将三个 3D 显示窗口之一更改为UV/图像编辑器,然后按图像按钮右侧的按钮,以选择您刚刚加载的纹理文件。

步骤 8: 为了映射纹理,我们必须在编辑模式下展开网格。通过按 Tab ↹从对象模式切换到编辑模式。

步骤 9: 通过按 A确保整个网格都被选中。按 U 并选择展开(智能投影)以展开网格。

通过单击确定按钮接受默认设置。

步骤 10: 为了编辑 UV 映射,单击 UV/图像编辑器工具栏中的UV 岛屿选择模式按钮。该按钮看起来像一个等边三角形,其中包含代表顶点的方块。

步骤 11: 将网格的面移动到纹理贴图上的位置。首先,在UV/图像编辑器窗口中,选择构成圆柱体下端的八个面。右键单击选择一个面,以及 ⇧ Shift+右键单击依次选择多个面。选择后,将这些面定位在纹理贴图上的橙色圆圈上。为此,请使用抓取工具(按 G并移动鼠标)。如有必要,您可以通过按 G+XG+Y,分别约束抓取工具到x轴或y轴。如有必要,您可以使用旋转工具(按 R)旋转这些面。通过按 S然后拖动鼠标来缩放面以使其适合圆圈内部。以相同的方式将构成圆柱体上端的面定位在纹理贴图的蓝色圆圈上。

缩放下圆柱体侧面上的面,以避免中间出现彩色点。

要预览结果,请按 F12

步骤 12:Tab ↹ 返回对象模式。现在是时候将对象导出到 Trainz 了。转到 文件 菜单并选择 导出\Trainz 导出 (im, km, pm)...。将对象导出到 cylinder.im 以匹配示例 kuid。将 cylinder.im 文件、纹理文件和 texture.txt 文件复制到 DLS 上可用的风景对象克隆中,例如 kuid:86627:1791。风景对象应该会在 Trainz 中显示出来。

如果您没有 Trainz Exporter 脚本,请从 SourceForge 项目页面 获取。将脚本文件复制到 Blender Foundation\Blender\.blender\scripts\ 中。

要创建货车或机车,我们需要添加连接点,并使用不同的 config.txt 文件,例如 kuid:86627:1792(可在 Trainz 下载站 上获得)。

首先,我们需要旋转对象,使其沿着轨道放置。在对象模式下,按 N 进入 变换属性 对话框。注意这里的 RotYRotZ 值。

我们将在场景中添加更多项目,为了在 Blender 中轻松选择项目,我们使用概述。从 窗口类型 列表(底部窗口工具栏中的第一个按钮)中选择 概述。打开概述,然后按概述工具栏中的 视图 按钮,然后选择 显示概述

接下来,我们添加将成为连接点的空对象。


Trainz 希望在连接点上看到特定的名称,因此我们在 变换属性 对话框中将 OB: 名称从 Empty 更改为 a.limfront

变换属性 对话框中,将 LocZ 值更改为 0.89LocY 值更改为 -4.5LocX 值更改为 0.0

我们需要为后部联轴器添加另一个连接点。通过按 ⇧ Shift+D 复制 a.limfront 连接点。将副本重命名为 a.limback。将它的 LocY 值更改为 4.5

我们还需要为转向架添加连接点。添加以下连接点

  • OB: a.bog0,参数为 LocX = 0.0LocY = -1.0LocZ = 0.0
  • OB: a.bog1,参数为 LocX = 0.0LocY = 1.0LocZ = 0.0

如果您使用的是示例货车配置,您还需要添加

  • OB: a.bog2,参数为 LocX = 0.0LocY = 0.0LocZ = 0.0

现在保存您的工作(将文件命名为“cylinder”),并将模型导出到 Trainz。文件/导出/Trainz 导出。将 cylinder.im 文件、纹理和 texture.txt 文件复制到 DLS 上可用的货车对象克隆中,例如 kuid:86627:1792。货车对象应该会在 Trainz 中显示出来。注意示例 kuid 有两个圆柱体,因此如果您看到一个,那么您就成功了。

通用

[edit | edit source]

首先,一些关于纹理的常见事项

  • 切勿使用 .jpg 等压缩图像格式,因为它们通常会扭曲颜色,在加载时浪费资源(要提取它们需要额外的内存和 CPU 时间),并且在内存中的占位空间与未压缩的图片格式相同。一个不错的格式是 Targa (.tga),因为它没有压缩(不要使用 RLE 选项!),并且还能够存储 alpha 通道(如果需要)。
  • 尽可能缩小纹理尺寸。您可以创建比最终使用尺寸大两倍的纹理,然后在启用抗锯齿的情况下将其缩小。这样,您几乎可以获得与原始贴图相同级别的细节,但只需要 1/4 的内存。
  • 始终使用“2 的幂”值作为贴图尺寸(例如 64x64、128x128、128x512)。此类纹理可以非常快速地处理,因为“2 的幂”数字是您硬件的原生语言。如果您不遵循此规则,您的网格将在 Trainz 中显示为白色。您不必使用方形贴图,但必须避免长宽比大于 1:8(Trainz 不支持此比例)。

在 Blender 中,要访问纹理,您必须首先通过 材质按钮 窗口中的 纹理 面板将其添加到项目中。按 F5 访问材质按钮窗口,然后单击纹理面板中的 添加新 按钮以添加新的纹理。

3 - Blender 纹理面板 - 空
4 - Blender 纹理面板 - 创建的纹理对象

创建纹理 (TE:) 对象后,使用 贴图输入 面板告诉 Blender 贴图信息应该来自哪里,以及使用 贴图至 面板指定应该影响哪个材质属性。

5 - Blender 贴图输入面板
6 - Blender 贴图至面板

Blender 选择的默认贴图输入是 Orco。这对于反射贴图来说是可以的,但对于其他类型的贴图,Exporter 脚本只接受 UV 贴图输入。作为贴图目标(贴图至 面板),您可以选择以下一个或多个选项

  • Col,用于漫反射贴图
  • Alpha,用于不透明度贴图
  • Ref,用于反射贴图
  • Nor,用于法线(凹凸)贴图

您可以分配其他贴图目标,这些纹理将被导出,但您不会在 Trainz 中注意到任何效果。

剩下的就是当然要加载纹理本身。在 Blender 中,您可以使用纹理面板(按 F6 访问)定义纹理的内容。您可以导出到 Trainz 的唯一纹理类型是 图像,因此所有其他选项(DistortedNoise、Voronoi 等)都可以忽略。

7 - Blender 纹理按钮
现在,通过按图像面板上的 加载 选择相应的图像。
只剩下一个选项,“无纹理”。Blender Exporter for Trainz 允许您导出没有任何纹理的模型。由于可以直接在 Trainz 中对纯网格进行“快速检查”,这可以加快资产创建速度。要导出没有任何纹理的模型,您只需删除可能分配的纹理对象。

漫反射纹理

[edit | edit source]
漫反射纹理是最常用的纹理类型。它们本质上定义了物体的表面。要使用它们,您需要在 贴图输入 面板中选择 UV 按钮,在 贴图至 面板中选择 Col 按钮。您可以使用 贴图至 面板右侧的 Col 滑块调整纹理的量。

不透明度纹理

[编辑 | 编辑源代码]
Alpha 纹理用于模拟透明材料或使物体的一部分不可见。你可以创建脏窗户,或使一个简单的平面看起来像一个转向架零件。Alpha 贴图通常与漫射贴图一起使用,因此所需的UV贴图应该已经完成。选择Alpha作为目标。纹理数量由Map To面板右侧的滑块Var控制。
如果你使用带 Alpha 层的图像,你可以组合漫射和不透明纹理。你需要在“Map Image”面板中选择“UseAlpha”选项,并在“Map To”面板中选择ColAlpha作为目标。
如果你使用不透明度,可能会出现一个小问题:由于 Trainz 中的一个 bug,不完全不透明或透明的区域可能会相互重叠。你可以从 SourceForge 下载两个相关示例来查看问题和一个可能的解决方法。

反射纹理

[编辑 | 编辑源代码]
这些纹理在使用方式上与其他纹理略有不同,因为 Trainz 使用球面映射自动映射它们。你可以想象,如果你创建一个光滑的球体并分配一个反射贴图,这个过程是如何运作的。哪个贴图部分被显示取决于从相机到物体表面的想象光线反射的方向。这就是为什么你在光滑球体的表面上看到整个贴图的原因。
要使用反射贴图,你只需要在“Map Input”面板中按下Refl按钮,并在指定纹理的“Map To”面板中按下Ref按钮。你会注意到材料预览和渲染窗口中都不会出现任何颜色。这是因为 Blender 使用反射纹理来修改反射的强度,而不是颜色。但不要担心,在 Trainz 中你会看到你的颜色回来;)。

硬度纹理

[编辑 | 编辑源代码]
你可以分配硬度纹理,但你会失望。它们不会影响硬度,而是会在导出期间被视为反射纹理。这种行为是从原始导出器复制来的,因为任何试图影响“shinestrength”的尝试迄今为止都会导致一个完全白色未照亮的物体。

法线纹理

[编辑 | 编辑源代码]
法线纹理用于模拟平面上高低起伏。要使用它,你需要一个UV贴图输入和一个Nor贴图输出。请注意使用法线贴图,而不是凹凸贴图。两者用于相同的目的,但它们包含不同的数据。

纹理组合

[编辑 | 编辑源代码]

纹理对物体在 Trainz 中外观的影响由所谓的“材料名称装饰”控制。除一个例外外,Trainz 的 Blender 导出器会根据你分配的纹理选择合适的装饰。这个例外是m.billboard,因为这种材料装饰用于始终面向相机的物体。由于导出器无法检测到你是否想要这种行为,你需要自己用m.billboard结尾来装饰材料名称。通常,导出器不会覆盖已知的材料装饰,因此,如果你想确保你的材料将被导出为m.gloss,那么只需要自己将m.gloss附加到材料名称。

目前支持的所有纹理组合列表

[编辑 | 编辑源代码]

单纹理

  • 漫射纹理
  • 反射纹理
  • 硬度纹理(将显示为反射纹理)

双纹理

  • 漫射和 Alpha 纹理
  • 漫射和反射纹理
  • 漫射和硬度纹理(与漫射和反射相同)
  • 漫射和法线纹理

三纹理

  • 漫射、反射和 Alpha 纹理(在这种情况下,Alpha 纹理影响反射纹理,而不是漫射纹理)
  • 漫射、Alpha 和法线纹理(不允许反射或硬度纹理)
  • 漫射、反射和法线纹理(不允许 Alpha 纹理)
在动画导出情况下,原始导出器会要求你提供一个事件文件,以将事件绑定到特定帧。在 Trainz 的 Blender 导出器中使用事件类似。将 Blender 窗口切换到文本编辑器窗口,并通过文件>新建(热键Alt N)创建一个新的 TX 对象。为每个事件输入一行,其中包含帧号、事件类型和事件名称。如果你最终将此 TX 对象重命名为events,那么导出器将解析此文本并在动画文件中创建所需的条目。
示例作为附加文件,可以在 SourceForge 的下载部分找到。
华夏公益教科书