次世代游戏的到来,使游戏行业向前迈进了一大步。次世代本来代表的是拥有更高cpu硬件设施的电视游戏,即戴着头盔能感到wii拳击的震动、拿着拳套能感应阴森恐怖的氛围。绝对让玩家融入气氛的Xbox360的还带有场景破坏,能打下一片墙。
次世代的到来掀起了技术和美术的小浪潮。总之,美术上增添的法线、高光、自发光和节点式材质(unreal3引擎)、occlusion等高端技术促使了我们由2D到3D的跨越。人体也可以按照肌肉去布线,这使得我们的模型更漂亮,K动作的时候也会更有运动规律,画起贴图来也一样会容易得多。用更强大的引擎来制作照明,只需要画上物体本身的diffise,用occlusion叠加材质,让美术师们可以在制作中享受雕刻等喜欢的制作过程。
可是次世代的教程并不多,学习起来或感觉没有头绪。借这次机会,与大家分享一下我个人的次世代制作经验和插件,包括下文提到的制作规范和技巧、提高效率的插件和一个完整的制作流程及制作思路。在刚过去的火星参与的D3比赛里面,有很多不为人知的技术,比如CGTalk上一些经典的获奖作品用到的xnormal和crazybump等。
这一节给大家介绍一下终极算法线occlution的几个工具(基本游戏市面上主流的法线方向插件),和先进的uv编辑器uvlayout和它的嵌入脚本(for max.for maya大家可以搜索一下。会帮助我们提高很多效率)等方便的减面工具,以及一个实例总结。
1、xnormal
当zbrush刷出来的高模不小心按了快捷键,或者改动了什么。而内存又不是很高,Zmpper
无法使用的时候,只能用重置细分的命令来解决。然后再映射,
或者导入三维软件。但是面数过多,进入max maya也不能调整cage框造成的一些困扰,或者是先高后低的模型制作流程。用topology拓补工具生成的低摸。我觉得zmapper没有xnormal专业,在zmapper的观察器中效果是不错的。如果说观察器,那xnormal的更牛了,官方网站有介绍过,我觉得相当于一个支持法线图形引擎。Zb的效果在3维软件里面查看,效果就不是很好,接缝和深度感没有xnormal严谨。不过优势就是zmapper更快得多,因为如果高低模有差异,把distance改大,深度感就差了。可以把低模高模导出,用xnormal算。
放入高模:
放入低模,batch protection是忽略蓝色通道。一般都是默认参数:
这个是限制最小最大距离的,一般0.5-1.5
设置一下采样数值(sample)、图片类型和edge padding(边缘扩散)就可以了。
大家可以看到,除了normal,还有occlution(环境光遮挡) bent normal(物体空间法线)cavity(深度图)可以烘焙,它们是很专业的次世代烘焙利器。接下来generate map就可以了,可以看到渲染过程。(3。15以上版本)
和zmapper作了一下比较,虽然整体效果差异不大。但是xnormal在细节上更胜一筹:
左边为xnormal,右边为zmapper
另外:x normal还有很多附带的工具:
还有一个类似引擎一样的观察器,即时渲染的技术很不错:
2、Crazy bump/nvidia tool (for ps)
Crazy bump可以拿照片参考图来压一张法线,比如地面,脏痕什么的东西;还可以来加重衣服褶皱,使软件界面很简单明了,属于傻瓜式的软件。但用来加重normal map的强度,效果要比在ps里面加重蓝色通道的强的多。比如衣服褶皱,zmapper算得太浅,而引擎的法线效果不明显,就可以用这个。下载网址:
Nvidia for Ps插件工作流程在物件实例中讲到,这里就不重复了,(xnormal也有for ps的插件。)
turtle for maya(海龟渲染器)
来举一个实例说一下这个maya插件,可号称烘焙的老大,拥有最快的烘焙速度,最专业的occlution参数调节,dirt map(凹处的脏痕)。
对于包裹的模型,可以再复制一个底模,也可以用原来那个底模,都一样。然后要包住高模才能算出最好效果的法线。通常我的方法是:在点的选择状态下,按住W,选择NORMAL的坐标方式,然后沿着N方向扩大,就是整体扩大了。但是比缩放工具好用,因为是按照法线的坐标方式,不规则的物体也能规则的扩大。
打开渲染设置面板,然后先选择海龟渲染器。
渲染法线贴图可以看到过程,而MAYA不能。这个很重要,比如说烘焙一张2048的图的时候,等到最后才知道,软硬边没分什么的,就惨了,这个技术绝对是一大突破!
渲染白模(occlution)的效果也是不错。
4uvlayout
强大的uv插件,可以嵌入max maya里,最好均匀缩放到0-1空间,可以拉直uv、 可以镜像uv,而且处理拉伸不错,很多朋友热衷于unflod3d,大家可以试试这个。
介绍个重点的,把这个代码用max run script打开,
--UVLayout Simple Import/Export Plugin --this will replace your object so if you have a stack you cant afford --to lose dont use this plugin. -- *R_K* rollout UVL_Main "UVLayout Simple In/Out Plugin" width:200 height8 ( button UVL_Unwrap "导入UVLAYOUT" pos:[8,8] width:93 height:42 toolTip:"Send mesh to UVLayout" button UVL_Refresh "载入模型" pos:[104,8] width:93 height:42 toolTip:"Import mesh from UVLayout" label lbl1 "by Softglow" pos:[128,72] width:72 height:16 enabled:true label lbl2 "bin" pos:[0,56] width:128 height:16 on UVL_Unwrap pressed do ( exportFile "C:\UVL.OBJ" #noPrompt selectedOnly:trueShellLaunch "C:\Program Files\headus UVLayout v2 Demo\uvlayout.exe" "-plugin C:\UVL.OBJ"
) on UVL_Refresh pressed do ( actionMan.executeAction 0 "40020" -- Edit: Delete Objects$delete
doscommand "copy C:\UVL.OUT C:\UNLIN.OBJ"
importFile "C:\UNLIN.OBJ" #noPrompt
doscommand "echo exit >> C:\uvl.cmd"
) )createdialog UVL_Main
然后选择模型,运行脚本,在uvlayout编辑完再回到max点载入模型,模型的uv就好了。.
模型做完后,直接点导入uvlayout,编辑完在uvlayout点send,回到max点一下载入模型即可自动缩放到0-1空间,排列有序。而且可以在3d试图看数字格。这就觉得比unflod3d专业多了。Maya的脚本一样的道理,注意一点的是ShellLaunch "C:\Program Files\headus UVLayout v2 Demo\uvlayout.exe" "-plugin C:\UVL.OBJ"这个句子是指路径,如果你的uvlayout不是这个路经更换下就可以了。
Polygon cruncher减面插件的小实例:
对于生物建筑等一些不参与动画。需要减面的模型大家可以用polygon cruncher来解决。先来小谈一下,一个生物物件的制作。
先是给一个大体形状,在max或者maya里面制作大体,因为生物建筑,物件之类的东西不参与考虑布线,剪影也是zb,mudbox这样的软件雕刻完之后回到1级细分,导出。唯一考虑的就是面数问题,,先做个大体。然后进zbrush或者mudbox里雕刻。
把1级细分低模导出,然后uvlayout分好uv,用find命令对称一半分出uv,选中对称中线回车。
到uv模块,然后shift f,空格展开,
然后s键把对称uv对称,缩小一块uv这样可以减少接缝(算完法线删除对称复制)—(算完演示)
把6级细分的高模导出。
然后xnormal算法线。
删除刚才缩小的那块uv,然后对称复制,这样左右对称的模型中间的接风可以说已经看不见了,因为xnormal比zbrush的插件zmapper处理接风的效果要好,而且它是采用溢出一个cage框去算上法线。
接着打开polygon churche
模型被载入到polygon churcher
勾选keep materials discontinuities
keep textures freeze uv 保持uv不变,贴图不拉伸。开始减面,调节输出面数即可
减面然后apply,保存到max就可以了。细节不会损失,剪影。
总结:
插件——怎么简便怎么用。
有些东西是软件做不出来,或者插件可以帮你提高效率的。那么插件就是王道,如本人正在研究的mapzone等,用程序节点表现贴图凹凸划痕这些,不需要自己手绘的简便工具。技术在进步,要求次世代游戏美术们跟着它的步伐。比如不参加运动的物件减面用polygon churcher 当zb,mudbox算出的法线是错误的,但是找不到哪的参数调错,可以用xnormal(3维软件根本支持不了的面数)。想看见法线渲染过程用海龟渲染器,加入法线细节用crazy bump ps-nvidia插件或者xnormal都可以做到。只有灵活运用插件才能提高效率,做出更好的效果。
再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!