材质贴图
材质(Material)与贴图(Texture)是贴在网格上的附属物,用于绘制物体的表面图案。为了便于理解,下文一律使用 材质 来称呼。
更改材质
在 Blender 中,我们可以直接在材质面板中手动添加或更改材质。
- 转到物体的材质面板,添加一个空材质槽,然后为其指定一个材质(位于新建材质按钮的左侧)。
- 在 3D 视图中切换到 编辑模式,按
3
切换到 面模式,然后选中你要上材质的面,在材质面板中点击指定
按钮。
材质系统
BBP 提供了一套与 Virtools 兼容的材质系统。
由于 Blender 的材质属性无法直接兼容至 Virtools,因此任何直接修改 Blender 物体材质的方法都是无效的,无法在游戏内生效。
正确的做法是转到材质面板的 Virtools Material 部分,如同在 Virtools 中一样,设置其中的参数,然后点击面板中的 应用 将其自动转化为几乎等效的 Blender 材质,以达到可视化的效果。
这么做的原因是 BBP 在导入导出材质的时候,读取和写入的是 Virtools Material 中的数据,而非 Blender 材质本身。因为 Blender 和 Virtools 年代差距过大,材质系统也大相径庭,这么做是迫不得已,也是在 Blender 中获得完全掌控 Virtools 材质的唯一方法。那么你或许会有疑问,什么时候该去使用 Blender 的材质系统?例如进行连线等操作。答案是:作图过程中完全不使用 Blender 的材质系统,所有作图的材质操作均需要通过 Virtools Material 面板来完成。只有当你地图做完了,希望在 Blender 中渲染预览图或制作动画的时候,才需要在 Blender 的材质系统中进行操作,为你的地图材质增加仅可以在 Blender 中呈现的效果,例如法线,Displacement 等。 —— yyc12345
调整 UV
BBP 为 Ballance 制图专门添加了数个调整 UV 的工具。
路面与木板
在编辑模式下选中要调整的面,然后在 Ballance
菜单中选择 沿边沿 UV
(展平 UV)。
随后观察左下角的对话框,如果是调整路面则选择 路面专用的展平模式(第二项)木板则选择 木板专用的展平模式(第三项)。缩放模式选择 按大小缩放,缩放设置中的大小填写 5。然后调整对话框中的 参考边(一般从 0 开始往上增加即可),直到你的路面变得正常。
钢轨
钢轨实际上不需要调 UV,因为在游戏中钢轨会自动平滑,调整 UV 后区别不大。
但为了在 Blender 中有更好的可视化效果,我们可以给钢轨一个特殊的 UV,让他显示出来和游戏中类似。
首先选中钢轨(不用进入编辑模式),然后在 Ballance
菜单中选择 钢轨 UV
。然后选择需要被调整的材质(一般名称中带有 Rail
,可以输入搜索),点击确定即可。
半透明材质
在 Ballance 中实现半透明材质不是一件容易的事情。主要原因是目前我们对 Virtools 材质系统的理解仍然不够透彻,其行为难以预测,很容易出现 Blender 中可以但游戏中不行的情况。
具体实现
下面将介绍如何从零开始实现一个半透明的玻璃。
- 首先建立一个几何体,建议使用方块(Cube),也可以使用平面(Plane)。
- 转到其材质面板,添加一个空材质槽,然后新建一个材质,并给它重命名为
Glass
(或任意你喜欢的名称)。 - 向下翻到材质面板的 Virtools Material 部分,设置其中的参数:
- 四种颜色:可以随意设置,实现透明需要将
漫反射
的透明度调节为 小于 1 的值。 - 双面:如果使用的是平面,则建议勾选此项,默认情况下材质仅会在单面显示。
- 透明度参数:
- 透明度测试:关闭即可。
- 透明度混合:打开,设置
源混合
为源透明度
,目标混合
为源透明度反转
。 - 深度缓存:勾选写入深度缓存,深度比较函数设置为
小于等于
(默认值)。
- 四种颜色:可以随意设置,实现透明需要将
- 点击 Virtools Material 中的 应用按钮,即可将材质转化为 Blender 材质并显示。
- 回到材质面板 再添加一个空材质槽,并将这个空材质槽移动到材质的第一位(这一步是为了保证 Virtools 能正确识别我们刚刚建立的透明材质)。
此时应该可以同时在 Blender 和在游戏中看到这块半透明的玻璃了。
常见问题
如果你想制作一个带贴图的半透明材质(例如半透明的钢轨或路面),按照上述操作的 3~4 步,直接给带贴图的材质设置参数并应用。如果你只想一个物体设置半透明,记得先给材质创建副本(即复制一份),防止干扰其它使用了这个材质的物体。
设置半透明后,如果你在 Blender 中看到的是贴图本身,看不到半透明效果,或者纯色块,也不用担心,在 3D 视图中按住 Z
切换到 实体模式 即可看到半透明效果。
如果在 Ballance 中看不到半透明效果,或者在 Ballance 中物体完全被隐藏(全透明)了,请确保 Blender 中 该物体的第一个材质槽为空材质槽,一般情况下 Virtools 只会从第二个材质槽开始识别。
遮挡问题
由于 Ballance 的渲染机制问题,半透明的材质会完全挡住带有透明通道的贴图。常见的情况是半透明的物体后面的柱子会被完全挡住。目前仍然没有较好的解决方案,需要制图者注意避免。