游戏论坛-游戏美术-游戏制作-游戏培训-游戏设计 女猎手Varga 角色建模及法线贴图全解 - abcway123的个人空间 - DOGAME游戏兵工厂 游戏技术媒体 - Powered by X-Space 游戏技术媒体 DOGAME游戏兵工厂-游戏行业技术媒体网|手游媒体|游戏开发人才招聘平台
2015金翎奖

女猎手Varga 角色建模及法线贴图全解

上一篇 / 下一篇  2008-03-10 16:38:42 / 个人分类:分享

女猎手Varga角色建模法线贴图全解

 

        这个角色是我参加 Dominace War II 大赛——低多边形游戏角色设计——的参赛作品,大赛对模型的多边形数量和纹理大小作了相应限制——主要角色不得超过6000个三角形,附加1000个三角形左右的武器或装备,角色可带宠物,但三角形数量要和主要角色一起计算;主要角色和宠物的纹理合并在1张2048的正方形贴图里,武器和装备的纹理总计为1024大小,可以使用漫反射、高光、法线、凹凸、不透明度、辉光和反射贴图效果。
 

这不是一篇手把手的教程,而是假定你有一定的 normal map 基础,介绍整个游戏建模的工作流程,软件使用了 Maya/mudbox/photoshop 等。
首先放上我参赛用的成品文件,让你对这个教程的目的有大致的了解。
设定

模 型

纹 理

动 作

2.游戏建模流程
现在几乎所有的游戏内角色都使用 mormal maps 法线贴图,通常需要制作出角色的高精度版本,烘培出法线贴图后应用到低多边形模型上。不过高精度模型也不是必须的,法线贴图的制作方法比较自由,比如使用凹凸贴图即可,甚至可以直接手绘(后面我会为你介绍 Photoshop 绘制法线贴图的相关技巧),当然效果可能没有使用高精度模型烘培来的好。
创建一个角色需要的素材一般包括
·低多边形版本(或根据不同LODs-镜头距离-的多个版本)。
·高分辨率版本,用来生成法线贴图(可同时烘培 occlusion 闭塞贴图或其它贴图来辅助生成最后的纹理效果,具体参照4.3)。
·游戏引擎支持的所有纹理贴图效果(漫反射、法线、高光等常用贴图效果)。
下面,在做好设计图的前提下,我来介绍建模/贴图的各个步骤。
建模时有两种主要方法(即素材创建的先后顺序不同)。
·低多边形->漫反射贴图->高分辨率模型->法线贴图及其它纹理
·高分辨率模型->低分辨率模型->法线贴图->漫反射及其它纹理
操作正确的话,两种方法的最终效果是一样的,具体选择哪种需要看工作习惯和流程安排。我个人倾向于后者。
尽管通过-低/漫反射/高-的方式有一些优点:比如低多边形模型可以很快进入下一个流程制作动画;如果漫反射贴图保留了详尽的选区,可直接作为置换贴图应用到高分辨率模型上。但是,它有一个非常大的缺陷——我会在下面用简单的图例指出。
这是一个带漫反射纹理的模型片段(带几粒扣子的Tshirt)

接下来将多边形导入 mudbox,同时读取漫反射贴图,增加细分等级,并根据贴图添加相应位置的模型细节-比如衣服的皱折。

使用漫反射贴图制作出置换贴图,为模型增加进一步的细节(使用置换贴图可以加快处理速度,同时可以保证计算出的法线贴图与漫反射贴图的细节位置尽可能接近)。

上述工作完成后,将细分模型导入 maya/3dsmax 或其它软件中使用光线追踪计算法线贴图。如果处理得稍有不慎,就会遇到下图的错误。

可以看出法线贴图和漫反射贴图的细节没有完全对齐...这是因为我在雕刻时模型的位置可能稍稍有所变动;另外尽管我使用置换贴图来生成纽扣这样的细节,但不能保证光线追踪下法线贴图和漫反射贴图能够完美的叠加到一起。如果想避免这种情况的发生,要尽可能降低原低多边形模型的置换贴图的强度。
使用 Zbrush 可以降低这个问题的影响。它使用自己内部的运算法则代替光线追踪来计算法线贴图,计算时会把细分等级一并考虑进去,但这样计算出来不能在其它软件或引擎中正确显示出来,比如会有贴图接缝。我使用的所有软件在法线贴图的切线区间算法上都有少许不同。
最好的解决方法是在同一软件中计算并渲染法线贴图。比如本例中我使用 Maya 渲染,因此必须在maya中计算出法线贴图,以确保得到正确的渲染效果。如果在 Maya 中计算法线,在 MentalRay 中渲染,就需要在 Render Settings->mental ray 面板->Translation->erformance里钩选 Maya Derivatives(这个选项默认为关闭)。这将强迫 MentalRay 使用兼容 Maya 的算法进行凹凸贴图的渲染计算,注意该选项只有在钩选 Export Polygon Derivatives 后才可用。

第二种建模方法:高/低/UV/纹理。这种方法可以省却上述的诸多麻烦,为模型雕塑和细节添加带来更多自由度。
在制作高分辨率模型时,时刻记住它的目的是用来烘培法线贴图的,哪些细节必须建模,烘培成贴图贴图能否适当的表现出来,都是需要考虑的环节。
用下面的图片举个简单的例子,假如我有这样的一组高分辨率模型。

我可以只用一个平面就表现出来,但效果没有高分辨率的好。
从正上方看几乎一样。

但从侧面看就露馅了

更好的方法是增加一点多边形,让低多边形模型的形状与高分辨率模型相匹配。

再贴上法线贴图后,从侧面看效果就好多了。(当然,根据多边形的分布状况,你可以相应的增加多边形数量来降低坑坑洼洼的粗糙效果)

另外,模型还要避免过于复杂的结构,比如下面的例子,诸多管线很难套进低多边形框架里,想要正确显示出来又会吃掉太多面数。

或许上图的细节在高分辨率模型看起来效果会很好,但做低多边形版本的时候,一定要把面数预算考虑进来——通常是5-10k三角形。如果一开始没有规划好高分辨率模型的细节,你就会遇到上图的尴尬情况——需要比定额更多的面数才能正确匹配高分辨率模型的结构,甚至返回来高分辨率模型。不用紧张,多做几次你就能对模型细节的取舍有一个大体的把握了。
另一个巨大的优势是可以利用高分辨率模型的细节烘培 ambient occlusion 环境闭塞贴图(模拟全局光效果,让纹理看起来更真实)及其它贴图,从而为后面的纹理制作环节打下良好的基础。

3.工具的选择
在开始展示 Varga 的制作流程之前,我先来介绍一下这个项目所用到的工具。
首先是我的电脑,工作时遇到的大部分限制都是来自于这些硬件配置:
·athlon xp 2500+ @2400(不过超频对机器不好)
·1GB 内存
·GeForce 6600GT 显卡
你可以想象这么一台老机器对我建模上会有怎样的限制——在Mudbox中虽然可以增加到2M多边形数量,但显示会非常缓慢;Maya中导入1.5M多边形数量以上的obj文件就会经常出错退出(内存不够),只能将模型分成头、腿、手臂等片断逐个导入。想要正常操作而不出错退出,这台机器的极限也就在1M三角形左右。
作为 Maya 用户,软件方面我主要使用 Maya 进行建模、UVs、纹理烘培和渲染。
高分辨率的雕刻工作使用 Mudbox 完成(在Maya中建立低多边形框架,导入 Mudbox 添加细节)。雕刻完成后导出一个高细分等级的obj文件(通常为100-300k三角形数量即可,不用细分的太高)并导入 Topogun(重建拓扑结构的游戏向软件)沿低多边形机构重建拓扑。再之后将模型的高低分辨率版本导入回 Maya,并用贴图转换工具计算法线贴图。
4.Varga 工作流程
游戏角色有一些共性:三角形面数限制,纹理尺寸和数量限制;纹理尺寸和数量限制必须严格遵守,但如果模型面数超出500-1000个三角形(比如预算为8k面)并且能够提高角色的外观效果,那么客户也能够接受。
这次比赛的限制是6k,我不打算超出面数,因此首先要建一个低多边形的框架来分配角色、宠物、武器之间的面数比例。这不是最终成品,但可以让我只管的了解到那些细节可以加入到高精度模型中。
4.1.低多边形框架
下图是角色最初的低多边形框架的各阶段回放。

模型完成后,我对角色、宠物和武器的面数分配有了较全面的把握。接下来将模型断开,理顺网格——整理拓扑结构,尽量使用4边形,减少三角形,避免点的共享边超过4条。从而在雕刻时对模型表面的细分和边形更易掌控。
下图为整理好的模型网格,准备导入 Mudbox 作进一步处理。

4.2.Mudbox中添加细节
接下来将低多边形网格导入 Mudbox,在你机子的能力范围内狂加细节。
对我来说,这是整个流程中最有乐趣的环节。
下面是一些模型的处理回放。
靴子(最高细分等级略低于1M个三角形)


臀部(最高细分等级大约1.6M个三角形)腿(最高细分等级大约500k个三角形)


手臂(最高细分等级大约600k个三角形)

躯干(最高细分等级大约800k个三角形)

下图为完整的高分辨率模型:8.5M个三角形(为了做这个教程,我在新机子上把所有模型片断都导入进maya,结果maya吃掉了3.5G内存)。

详细内容浏览http://www.dogame.com.cn/bbs/viewthread.php?tid=18555&extra=page%3D1



2015金翎奖

TAG: Varga 法线 建模 角色 猎手

引用 删除 Guest   /   2018-02-03 21:11:53
-3
引用 删除 Guest   /   2018-01-29 19:54:08
3
引用 删除 Guest   /   2018-01-29 19:33:00
-5
引用 删除 Guest   /   2018-01-14 10:43:02
-1
引用 删除 Guest   /   2017-10-09 19:06:35
-1
引用 删除 Guest   /   2017-09-30 04:52:43
-3
引用 删除 Guest   /   2017-04-28 21:06:48
1
引用 删除 Guest   /   2017-04-27 21:18:38
5
引用 删除 Guest   /   2010-01-27 12:14:28
5
引用 删除 Sophist54321   /   2009-03-08 13:44:42
3
 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)