Origin
mp.weixin.qq.com
Tags
流程规范
经验分享
性能优化
开放世界
项目
巫师三
收藏夹
创建时间
收藏类型
Cubox 深度链接
更新时间
原链接
描述
notion image
图片
在城市规划完成后,我们的下一步就是建设整个城市,让它在艺术上更酷
第一步:划分区域
首先我们将城市划分为四个区域
黄色为宫殿区域,红色是上层城市,紫色是下层城市,绿色是海港区域。
这是因为每个区域都有其特有的建筑和物件风格,角色 NPC 和独一无二的东西。
因此将我们将其划分为不同区域并分到不同组,这让接下来的工作更容易展开。
notion image
图片
城市区域分布图
notion image
图片
各区域风貌截图
第二步:确定预算
我们从技术人员手中得到一些基本的数值,以下是场景方面的容量数值
notion image
图片
可看到所有场景模型容量为 200MB
贴图容量总共 500MB,其中 200MB 是环境贴图。例如远处的房屋,山脉,地形,森林,这些是玩家一直能看到的东西,这部分占了很多资源。
chunks 是我们的材质球系统打包方式
整个场景部分面数预算为五十万  三角面
我们始终关注预算
l 必须小心容量和性能
l 提高贴图和材质球精度
l 有效率的创建物件
l 需要更多的美术体验和许多视觉变化
因此我们每星期都会和 QA 确认预算和容量,下图是早期的容量截图,红框部分为超预算区域,可以看出一切都超预算了(笑)我会告诉你们为什么会这样
notion image
图片
下面这个例子是一栋上层城市的房子,左边为原画设定,最右边为游戏内模型
notion image
图片
它的外部结构容量如下
notion image
图片
同时它的内部结构有两层楼,里面有许多的家具和装饰,容量如下
notion image
图片
然后,它还有内墙和地板,容量如下
notion image
图片
所以只是一栋有两层结构的房子,我们就超出了这么多预算
notion image
图片
但我们总不可能只让城市里只有 1-2 栋房子吧(笑)所以我们应该怎么做?
解决方案
由于制作时间非常紧,因此不能把一切都推翻重做,因此我们着手解决,其实都是些基本的优化方案:
1. 优化流程
2. 制作 LOD
3. 一些技术小技巧
notion image
图片
从上图可以看到 LOD 设置
l 50M 以外地方只显示内存里的最低模型
l 50M 到 20M 之前显示为 LOD1
l 20M 以内显示为 LOD0,即最多细节的模型
游戏中建筑 LOD 形态如下图,可以看出从 LOD0 到 LOD1 数值基本对半减少
notion image
图片
室内建筑 LOD 预算如下图
notion image
图片
对远处的室内
我们在窗户上使用带反射材质球表示室内
游戏中实际没有内部模型
notion image
图片
但是我们还是有很多地方可以看到很远,视野非常广阔,这给性能带来很大压力
比如下图,我们可以看到许多山脉 湖泊还有船只 街道等等…
notion image
图片
因此我们使用和巫师三一样的技术支持 UMBRA 来节约渲染时间
如下图所示, 我们将建筑按部件和楼层拆分开 UMBRA 会将视野中看不到的部件直接隐藏, 这很大程度上解决了同屏面数问题
notion image
图片
另一方面,通过拆分建筑再组合得到了更多视觉独特的建筑. 但使用的是相同的模型, 这大量的节约了时间和资源
notion image
图片
通过部件组合,得到更多风格的建筑
贴图工作
下面是我们贴图工作的要点
l 需要建筑外观看上去有各种变化
l 需要各种新鲜不同的材质感
l 2 倍多精度的贴图平铺面积
l 房子有许多大的墙面和表面
按贴图精度要求,光一栋建筑 4 个面的贴图面积计算需要 72mb 的容量,显然已经超出预算
那么贴图明显不能定制,而要设法共用但同时要看上去充满变化
notion image
图片
贴图精度要求示意图
因此我们使用了融合材质球
下图例子可以看到
第一排为底纹,为了让它更好上色,我们将底纹调节得非常干净明亮
第二排为黑白通道的 MASK 通过前两排叠加融合可以组合出不同变化的墙面
第三排为融合后效果,通过指定颜色和贴图叠加我们可以为它赋予不同颜色和质感
notion image
图片
这些贴图可以用在地图所有的模型中,从小的物件到大型建筑,从富裕的到贫穷的地区,我们可以通过手动调节材质球参数达到定制的效果
下图是在 3DMAX 中使用插件绘制 MASK 的范例
notion image
图片
当顶点绘制完成后我们将其导入引擎,可以调节任何一个底纹为任何颜色
如下图我只调节了基础底纹颜色,砖块的颜色保持不变
notion image
图片
同时通过调节 MASK 制作出污渍和脏迹
notion image
图片
同时我们可调节破损 mask 贴图的强度和 UV 分布位置
notion image
图片
图中露出的白色砖块破损可以调节
当融合贴图调节好后,最后我们添加一张假的 AO 阴影贴图,让它更立体
notion image
图片
通过上面的方法在保持模型数量不变的情况下做出了许多不同的变化,但大部分使用了相同贴图,同时也减少了工作量
下图的房子共享了同一个材质球,只用一套贴图,但看上去都很独一无二,我们通过调节融合材质球做出了各种变化,这大大的节约了美术工作时间
notion image
图片
艺术工作总结
通过以上我们总结出艺术工作的关键点
/ 首先要了解并控制我们的技术限制
/ 寻找更好的办法达到最终目标(使用融合材质球 shader)
/ 在不牺牲艺术效果的前提下节约制作时间
/ 个性化我们的场景资产
关卡搭建要点
当场景资产都准备好后,最重要一步便是该如何搭建一个可信的开放世界
这次最大的问题不是技术限制,而是时间
在工作室中,大家的共同目标便是需要有独一无二,定制感和手制感
但同时我们的制作时间线也十分紧迫
我们想出最基本的解决方案就是使用 Enities(预设)系统
/ 预设主要针对基础装饰物资
/ 物体不论大小,使用预设的效果都非常好
/ 加速了工作进程
/ 简单易用而且方便个性化设置
在我们工作室内部有专门的 Deco 小组,负责制作这些装饰品的预设
如下图是一个室内场景的装饰物预设组件
notion image
图片
当摆放好一个预设后,我们只要复制做些简单修改就是一个新物件,而不需要从零开始制作
notion image
图片
下面这个例子是市场中的摊位,可以看到里面有非常多的细节
notion image
图片
事实上如果让我从头做起可能需要花 1 个月的时间才能完成这些物件并摆放好
但我们先让 Deco 小组制作好这些预设后,在搭建关卡时我只需要直接摆放到场景中就可以了,这大大节约了关卡美术的时间
如下图,右边是 Deco 小组做好的物资预设,关卡美术师可以直接拖入场景中摆放和修改,不需要自己从头制作
notion image
图片
最终我只需要小半天就能完成一个繁荣可信的关卡搭建
notion image
图片
最终我们做到了以下几点:
/ 使用 Deco(预设)来节约时间
/ 在不牺牲手制感前提下,创建自动化流程
/ 更快速的搭建复杂的场景
最终总结
(一) 首先预计划和测试阶段
Layout 的重要性,地形搭建需要对游戏行走路线有强大的支持
这让玩家有很丰富的游玩体验
同时使用 Blockout 也非常有效地解决了性能和美术表现的限制
(二) 确认和解决技术问题阶段
1. 优化流程
2. 制作 LOD
3. 使用 UMBRA
4. 使用融合材质球 shader
5. 使用预设和 Deco 小组创建物资
通过这些努力,我们达成了这些目标
  •  大量的开放视野和远景同时保证技术效率
  • ** 各不相同的 NPC 和场景细节**
  • ** 风格各异的城市街区**
同时相较于狂猎我们还取得了这些进步
  •  细节丰富且繁荣的街道场景
  •  比巫师 3 贴图精度的高出 2 倍的材质球
  • ** 更快速的关卡场景搭建流程**
最后想说的:
希望我分享的这些关于场景制作的流程和技术能对你们现在所做的项目有所帮助
但我最想说的是不要害怕反复的修改和被打断。因为在我们的经验看来,一次又一次的反复修改和打断,让我们的游戏品质越来越高
作为美术要有持续进步的精神,我们从来都不认为现在做的是我们最好的一作
同时有一点也很重要,当需要快速开发一个游戏时,良好沟通是非常重要的一个环节,对我们来说保持愉快的团队协作和良好沟通可以让开发变得更有效率。
翻译菌在此也感谢观看完全文的朋友,希望这篇文章能帮助到你实际工作中 XD~
END
编辑 / linca > 本文由简悦 SimpRead 转码