欢迎光临散文网 会员登陆 & 注册

补档:05.【扩展研究】着色与材质,车体效果,载具灯光,贴图等的指南

2023-01-01 12:17 作者:零贰02  | 我要投稿


《ZM3 GTA5 导入与导出插件》技术文档

原创教程:零贰


以下是技术文档的目录:

01. GTAV 导入与导出插件的准备工作:如何安装 ZM3.1.0

02.【基础知识】GTA V:场景层级,复合物体,几何体模型

03. 【使用指南】ZM3《GTA V 导入与导出插件》使用指南

04.【拓展研究】GTA V:玻璃破碎数据指南 (*.cwgv 文件)

05.【扩展研究】GTA V 着色与材质,车体效果,载具灯光,贴图等的指南

06.【扩展研究】GTA V:物理特性和碰撞体指南


写在前言,这是 ZM3 插件扩展研究的第二篇,主要阐述了 GTAV 中载具的材质与贴图问题。

05.GTA V: Shaders and materials guide.

05.【扩展研究】GTA V 着色与材质,车体效果,载具灯光,贴图等的指南

原创翻译:零贰


你在 MOD 上所使用的每一项材质都必须符合游戏内的着色配置要求,你可以在“common.rpf 

-> shaders -> win32_40_final”下找到这些着色配置文件,这些配置可以应付绝大多数的材质

需求。眼下,我们需要的是载具方面的着色配置,你可以在上面的文件夹下定位“vehiclespecific”类着色文件。GTAV 导入与导出插件中材质面板里的设置也是基于这些着色文件做了

相应的编码。

为了让你模型的材质使用着色文件,你需要:首先,从材质面板左侧的着色器“Shaders”列表

中选择一个配置,左键按住后,拖拽到右侧材质球上;接着,在下图中的材质属性栏

“Adaptation (or Adapt)”内填写上你的模型所对应的着色配置,之后在导出 MOD,游戏加

载 MOD 时,便会依据你所填写的配置文件来针对性地对 MOD 着色。

考虑到要理清这些着色配置文件比较复杂,因此我在插件里已经写好了一个专门针对载具的

配置列表,方便各位使用。你可以选择一个材质球,然后点击材质面板右上角的配置按钮,

在弹出的下拉列表里选择你想要的配置文件。此时,材质球会自动的被赋予相关配置

材质球被赋予着色配置数据的同时,相应的贴图文件配置也会被赋予给材质球。这个贴图文

件配置包含了颜色配置、UV 贴图、凹凸贴图和环境光贴图等等,因此你可以很方便的进行贴图文件的修改,大大的节省了你的时间。你可以在材质面板的属性面板里看到这些设置,

如下图。

在完成材质球的配置后,回到场景,在层级“Hierarchy”面板里选中你要赋予材质的模型,然

后点击隔离“Isolated”按钮,将此模型从场景中隔离出来。接着点击属性面板“Property”,找

到多边形设置“Polygon”,展开此设置。在其中的材质选项里,你可以看到右侧的材质名称,

展开下拉列表,找到你刚才设置好的材质,接着点击下方的应用按钮“Apply”,便可以将材质

赋予到你的模型上了。

相关的配置文件脚本“GTAV.xml”在 ZM3 的“Config -> Materials”文件夹下,如同 ZM3 的其他

组件一样,它也是可以随时更新的。

尘土贴图层

游戏引擎内大部分的载具着色器支持尘土绘制。尘土贴图归类于遮罩类贴图,你可以在材质

的设置面板下的颜色参数单元找到它的设置。在高级着色配置“Advanced Shader Colors”的下

拉列表里,选择“Dirt, Mud”(尘土,污泥)。接着在右侧的遮罩通道“Masked by map/channel”,

会自动选择 MASK(遮罩),并且自动选择“R”(红色通道)。下图是一个比较常见的配置。

上图是一个尘土贴图的默认配置,这个配置你可以在名为“vehicle_paint1”的着色配置文件

内找到,它使用了"vehicle_genericmud_car.dds"这张贴图作为污泥的贴图。另外要注意的是,

贴图的法线坐标(UV coordinates)选项上,它选择了“Manual UV#2”来展开贴图。

灼烧效果

游戏的载具着色器(Vehicle shaders)支持灼烧效果的渲染,包含正在燃烧和燃烧结束两个

过程 , 具体 又 分为 三 个步 骤 :早 起 燃烧 , 完全 燃 烧和 燃 烧殆 尽 。游 戏 引擎 使 用

“vehicle_generic_burnt_int”或“vehicle_generic_burnt_out”两张贴图来渲染灼烧效果。

不得不说,制作这两张贴图是相当困难的,因此在制作 MOD 的时候,你完全没有必要自己

重新制作新的贴图,直接使用游戏自带的。唯一要注意的是,你的 MOD 在匹配这个灼烧贴

图时,位置是否准确,燃烧效果是否符合。

因此,同样的,我将灼烧效果的配置写在了插件里面,方便你们在制作时直接调用。下图中

是一个比较常用灼烧效果配置。你需要在高级着色配置“Advanced Shader Colors”的下拉列表

里,选择“Burn, Rust”(燃烧,生锈)配置,在右侧的遮罩通道选择“MASK”。区别于上方的

尘土贴图的配置,这里的遮罩通道需要选择“A”(Alpha)透明通道。最后,我们从“02.【基

础知识】GTA V:场景层级,复合物体,几何体模型”中学习到,燃烧的程度是在“蓝

色通道”内进行控制的,因此,我们在节点着色上需要选择“B”。

在本文的最后,我放上了两个从游戏原文档内提取出来的贴图包。针对此段文章说阐述的尘

土效果和燃烧效果,你可以使用“vehicle_genericmud_car.dds”这张贴图。它本身是带有透明(Alpha)通道的,因此可以宽泛的适用于这两种效果。

如果你想要更好一点的效果,那么也可以使用“vehshare_with_compiled_dirtburn_map”贴图

包内的贴图,为两种效果分别选取贴图进行匹配。

载具灯光,控制台灯光

部分着色配置文件包含了一个状态指令代码,这些着色材质一般赋予给了载具的灯具或发光

二极管等模型上,它们会渲染出放射性的灯光。载具灯光“vehicle lights”的材质的 adapt 属性

必须是“vehicle_lightsemissive”,选择此项着色配置后,你会在材质的属性面板中看到一张贴

图,包含了载具上所有灯光的贴图。

游戏为了分辨出车辆上灯光的位置,譬如大灯、刹车灯、转向灯等等,分别为这些灯光编排

了相关名字。通过这些名字,游戏可以根据你的操作来适时的开启或者关闭某一个灯光。如

下图 2 中,带有“light”后缀的均是灯光。

注意到这个列表里,有些灯光是粗体字,而有些灯光是标准字体。“brakelight_m”和

“Platelight”。在之前的基础知识里,我有提到过,粗体字代表的是实体模型,而标准字体代

表的是虚拟体。如下图 3 中,车牌灯便是一个没有实体的正方体线框。它会依据它的名字,

和位置在车牌上方投射下一束光线。

目前我还没有发表一个完整的载具模型的命名序号列表,因为当前我还只研究了 Buffalo2

这一辆载具。但是,你们自己可以随着研究的深入,去完善这个列表。然后,更新插件内

这几个着色配置文件:“vehicle_lightsemissive”,“vehicle_dash_emissive”和

“ vehicle_dash_emissive_opauqe”。

载具轮胎与轮圈

针对轮胎的材质,你只能使用名为“vehicle_tire”的着色配置文件。这个着色配置包含普通贴

图、凹凸贴图、镜面反射贴图(使用“R”红色通道来控制反射的强度)和环境反射贴图(使

用“G”绿色通道来控制环境反射的强度)。你可以制作出非常宽泛的轮胎效果来,从橡胶材质

到不锈钢材质。此着色配置支持涂抹绘制功能呢,你可以指定“[Paint:1]”或者“[Paint:2]”来绘制。针对一个轮

胎上各个部分的不同材质,自然可以单独的对它们进行设置。只是,在你设置材质前,必须

在材质属性项目里,填选“vehicle_tire”,告知游戏,这个模型是个轮胎,如下图。

GTA V:贴图

载具的贴图“Vehicle-specific”必须放置在与载具相同名字的包裹内。譬如,载具 Buffalo2,

它的模型文件为“buffalo2.yft”,而它对应的贴图包文件为“buffalo2.ytd”。buffalo2 的高模文件

为“buffalo2_hi.yft”,它对应的贴图包有两个:“buffalo2.ytd”和“buffalo2+hi.ytd”。高模的文件

一般都会优先加载带有“+hi”的贴图包。

另外,你也可以在导出载具模型的时候,直接让贴图绑定进模型的.yft 文件内。要进行这样

的操作,你需要在贴图的浏览器窗口内,新建一个组“New group”,然后将组的名字修改成

你即将要导出的载具名字。如下图中的组名为“buffalo2_hi.yft”的文件夹里,加入了一张

“rgb32.bmp”的贴图。

当导出时,导出插件就会根据你所命名的贴图组的名字,将“rgb32”这张贴图保存进模型文件

内。据此,你可以将高分辨率的贴图保存进高面数的模型文件里。这样游戏就只会在 当高

面数模型被加载时,才会读取这些高分辨率贴图。如此,你便完成了针对你自己载具的内存

优化,提升你载具的加载效率。如果你将高分辨率贴图一同放进“ytd”贴图包内,那么游戏会

读取所有贴图文件,给内存增加负担。反馈在游戏里,就是你的载具出现时,会有卡顿。


补档:05.【扩展研究】着色与材质,车体效果,载具灯光,贴图等的指南的评论 (共 条)

分享到微博请遵守国家法律