童年记忆 - 三维静帧作品《阿拉蕾》制作过程解析

  [复制链接]
cgfile 发表于 2017-3-17 19:17:05 | 显示全部楼层 |阅读模式
中文图文CG教程
行业: 影视动画
模块: 建模 材质 贴图 灯光 渲染 
软件/插件: Blender 2.67
版权: 本资源来自互联网,仅供学习交流

马上注册CG织梦网,结交更多CG好友,下载更多CG素材,让你轻松学习。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
0.jpg
前言:感谢火星网给我这样的机会,能在这里与大家分享《阿拉蕾》的创作经验。想了许久不知该如何开始,如果要介绍《阿拉蕾》的整个制作过程,实在太过冗长,这幅作品是用Blender制作的,可能有很多朋友对这个全能的轻量级3D软件还比较陌生,所以我决定借制作中的几个重要环节,来让大家了解一下Blender的一些特点。由于《阿拉蕾》是静帧作品,只涉及到了Blender的建模、雕刻、UV、材质绘画、灯光、渲染和输出的功能。其它如:拓扑、动画、rig、游戏引擎、动力学、流体、气效、毛发、后期合成和影片剪辑将不会提到。


制作阿拉蕾模型时使用的Blender版本是2.67,我现在写这个制作过程截图用的版本是2.69.10。


个人资料:


姓名:刘洋(John)


1.创作初衷:


我从小就十分喜爱鸟山明先生的漫画作品,作品里的每个角色都十分的有趣、可爱,所以很早之前就有想做个3D阿拉蕾的想法,只是因为很忙的关系一直没能实现。


2013年年初我开始接触Blender这个很独特的三维软件,在学习过程中,我并不想用自己的原创作品试水,想来想去突然做阿拉蕾的念头就出现了。说来也巧,朋友家正好生了个超可爱的小宝贝,胖乎乎的小圆脸实在很可爱,所以制作阿拉蕾的时候就想把这种感觉也带进去。


最终的效果:



1.jpg


2.jpg


3.jpg

2.收集资料:


我几乎把阿拉蕾的漫画重新看了一遍,在浏览过程中挑出认为很不错的几幅插画,其中那个侧面的肖像(上图左上角)是自己第一眼看上去就想做的,所以就决定做它了。在决定之后,我开始找寻其他角度的参考内容,并且上网搜索了帽子的资料。




3.模型制作:


Blender的整个建模感觉十分象3ds Max和Modo的结合体,需要你记住很多快捷键,开始会很不习惯,但当你熟悉之后就会发现Blender的建模十分高效。


阿拉蕾建模用的是传统的polygon方法,并没有用到雕刻的流程。其实建模部分并不困难,只需要制作几个简单的部件而已。按照侧面的参考图,我基本上在头脑中就已经完成了对立体模型的构建,所以在这里不再赘述了,我还是侧重于分享Blender建模部分的一些特点。




Blender的Poly边可以独立于面的存在,用【E】键可以生成一条边出来,这样你可以用它便捷地勾勒出物体在空间中的结构,然后从这些边中可以快速地生成面,接着制作整体的模型。Blender也有象Maya里“点、边、面”同时激活进行编辑的功能,这样你可以省去不少来回切换的时间。




Blender的Mirror修改器十分好用,它带了一个Clipping功能,可以很好的把中间镜像相交的部分永远固定在中间,无论你选择它们进行怎样的移动,相交部分的点和边永远都在中间。




在点或者边的状态下,【F】键可以快速帮你完成这样的4边补洞操作。


其他建模技巧与大部分3D软件的大相径庭,挤出、倒角、整理布线、分割等等,只是需要你记住这些快捷键。




用以上这些技巧如法炮制而出其他的部件,上图是这些部件的布线结构,是添加了一个细分修改器后的效果。


一般来说,布线都是按照物体本身该有的结构而进行的,所以即便做到后面发现有问题也不会导致重制的情况。




接下来就是制作阿拉蕾的面部了。虽然是静帧作品,但由于自己职业是做动画的,所以阿拉蕾的布线仍然按照可动画的布线标准制作,在这里侧重说一下明制作中要注意的问题,阿拉蕾面部的关键有两个,一个是她著名的小嘟嘟嘴,还有一个就是胖乎乎的小圆脸。


制作嘴的时候一定以侧面的参考图为主来进行立体的塑型,因为这个嘟嘴的形状在侧面时效果最好。制作脸蛋时注意保持一个圆的概念,多观察那些可爱的小婴儿,肉肉的小脸,看上去就想捏一下,尽可能把这种感觉带入到作品中。上面的图里有不同角度的脸颊布线图,我用黄线画出了在不同角度时脸颊弧线的走势。


头发和背环制作:




头发本来可以用Blender的毛发系统来完成,后来观察了原稿后发现,阿拉蕾头发的质地比较像尼龙线,并不像真实的毛发(这个绝对是借口,因为自己不会用Blender的毛发系统……)。我十分希望能做出原稿中头发那种曲线的感觉,所以用了最笨的办法,就是用曲线一根一根的排出来,排了整整一个下午(排到后面会有种想死的节奏)。背环的制作非常简单,就是打上字母,用圆环曲线当路径就出来了。


4.局部雕刻:


Blender拥有完善的雕刻功能,它支持如同zbrush的DynamicMash的功能,可以轻松胜任各种复杂结构的对象,并且支持3D打印,只是Blender现在还在成长,你要用它雕刻上亿面细节内容比如:角色身上极细的毛孔、极细小的布纹等等,那是非常吃力的,因为Blender自己拥有两个强大的渲染引擎,它们所支持的凹凸和置换都非常出色,所以,在Blender中不需要雕刻到如此细腻的程度,直接通过贴图控制就可以了(这里没有用到Blender的DynamicMesh,所以不会涉及到DynamicMesh的内容)。




运用雕刻给帽子增加了皱褶细节的效果。


选择物体后,进入到修改器面板:




【1-2】加载一个精度修改器,你就会看到【3】的内容了。


【3】你会看到里面有细分选项,这个选项和Zbrush里的【Ctrl+D】是一样的,细分精度,然后可以前进或返回到哪一级精度,而且它还可以把雕刻数据单独保存。




【4】 切换模式为Sculpt Mode 雕刻模式。




光标确保是在3D视图区,按下【T】键打开左侧的参数栏。


在【5】上点击一下,就会看到和ZB几乎一样的雕刻笔刷了,Blender预制了23个笔刷,你也可以自定义保存自己的笔刷,这里就不用细说了,要结合自己的手绘板压感对模型进行细节创造。




模型最终完成!顺便说一句:保存文件很重要!




制作调整时,无论你用的是哪个3D软件,请养成分步骤保存文件的好习惯,不然意外总是会神不知鬼不觉的找上门来。Blender默认提供了一个文件两个备份和自动保存临时文件的功能,当然你也可以去设置中进行修改。


5.UV:


Blender的UV功能十分快捷方便,只是制作者需要对模型结构有一定了解,比较合理的定义裁切线,然后一键就可以完成展开操作。


这里以阿拉蕾的头部模型为例来简单介绍下Blender的UV步骤。




【1】【2】是Uvmap的管理,在【2】的地方你可以新建无数个Uvmap,Blender的这个理念与Lightwave和modo的uv理念一模一样。


【3】进入模型的边模式,选择要分开的边,【ctrl+E】打开【4】选择Mark Seam,然后按【U】打开展UV菜单【5】,选择Unwrap,把视窗切换成UV/image视窗,就会看到【6】,然后就在这里进行调整UV,可以自己贴个棋盘格看看是否有问题。这个过程很需要耐心,因为总共有10多个对象需要展开。


6.绘制贴图:


Blender拥有相对很完善的绘画功能,你可以象用Bodypaint一样在模型上绘制材质,但内容实在繁多,不在这赘述,我主要用它定义了模型的一些关键位置,比如:嘴的轮廓、鼻头的颜色区、头盔上的字母位置和处理材质接缝。然后输出UV、定位的图片和烘培AO,放到二维平面软件里进行更加细致的绘画处理。由于不是商业项目,贴图尺寸不需要太高,我最大的贴图尺寸是2048X2048大小。




上图中,你即可以在左边的平面中绘画,也可以在右边的模型上进行绘画。通过侧边的参数栏可以进行笔刷大小、压感、柔边、色彩、纹理素材载入和蒙板素材载入的设置操作,还可以保存自己定义好的笔刷。


7.灯光和渲染:


Blender的灯光和其他众多3D软件的灯光是一样的,有点灯、面灯、聚光灯、太阳光、天光和半球灯等等,这里主要说一下渲染器。


Blender 2.69版本内置两个强悍的渲染器,一个是内部BlenderRender,简称为BI。另一个是CyclesRender高级物理渲染器,这个Cycles的能力与Maxwell和Arnold十分接近,它支持N卡的实时渲染,先进的材质节点架构,阿拉蕾之所以有如此舒服的光线,完全是Cycles的功劳。


阿拉蕾的布光:


万物生长靠太阳,再好的模型,没有光的绚丽描绘什么也不是,所以在3D软件的世界中,真正重要的是光的运用,一个平淡无奇的球体,经过灯光照明渲染后会展现出独特的魅力。下面给大家讲一下布光的概括思路:





首先,把渲染引擎从BI切换到Cycles,定义摄像机到阿拉蕾的侧面合适的位置,调整镜头焦距尽可能让镜头里的阿拉蕾与原作中的一致。




Cycles的预览渲染参数,由于本人的显卡不好CUDA版本太低,GPU渲染不太可能,所以用了CPU来进行渲染。


注:目前的Blender 2.69支持CUDA2.0以上版本的N卡,如果你实在不知道自己N卡的CUDA版本,可以到NVIDIA的网站查询。




先确定主光效果,这里你会发现我用了两盏面光灯作为主光源,可以让阿拉蕾的面颊突出于其它部件,让她成为画面里的视觉中心。


不要太依赖布光理论,模式化的方法是无法得到好效果的,“光”的关键在于你平时对自然界的观察、不断的尝试和积累,布光的套路一般用在一成不变的对象上比较靠谱,对于阿拉蕾这个作品来说,模式化显然不可靠,这里需要让你对“光”的直觉发挥首要作用。当然,这个前提是你已经拥有了很丰富的灯光练习和实战积累经验。




然后是环境光照,在环境中用了一个天光照明节点,控制了强度0.3左右,得到一张光感很舒服的预览稿。




根据现有效果再增加偏蓝的侧边光,使模型本身更有空间层次感。然后我们为护目镜和眼镜添加反光板,添加时要耐心调整,直到反光板位置满意为止。如果你是用GPU来预览,显卡是GTX480以上或是Quadro卡,那么这一步会非常有效率,因为是实时显示的。




仔细观察发现阿拉蕾后面色调太过单一,灯光缺乏变化导致画面太平,所以追加一盏补光,色彩偏向紫红。


这样一来明暗对比、灰阶过渡和冷暖对比都达到一个自己满意的程度了,这时可以考虑加入材质,根据材质反馈的色感进行更加深入和细微的调整。这是最无奈也是最耗时的一个阶段,电脑配置不给力,大部分时间都是在等待中度过。


8.材质:


材质是整个制作流程中最复杂、最耗时的一步,必须十分耐心的精调每一个节点参数,然后是无数遍的等待渲染效果。

这里给大家分享几个关键材质的节点图,请不要硬搬里面的参数,主要是思路。




蓝色帽盔的材质:总体方向是按照车漆材质制作的,这里制作成了一个Cycles的材质节点组,绿色部分就是上面节点组的展开内容。


注:材质节点组的好处是,可以单独保存,以后做其他作品,要用到的话可以方便快速的调用它。




布帽:在最终效果里你会发现布帽上的纹理很不错,并没有用置换功能而是使用了Cycles的凹凸,效果非常出色。




护目镜和眼镜材质:这个没什么难度就是一个Glass节点和透明节点的融合运用。




最后介绍一下阿拉蕾的皮肤材质,就是3S。本来是想用Cycles的3S节点来做,但发现实在是太慢了,只好放弃用了BI引擎的3S。由于Blender的3S控制简单而且效果非常好,所以这里只做了一个表皮层材质和一个深皮层来混合。


9.输出:


渲染输出我会为每个部件分好ID,这样便于后期对局部的有效控制,一般还会输出Z通道、Diff层、主光照明层、AO、Normal、对象ID和材质ID。




阿拉蕾背环是单独渲染输出的,便于在后期合成。




渲染通道输出设置。渲染一次不容易,能勾的选项都勾上。


Blender的渲染层十分独特,有别于其它软件的层概念,利用20个层的相互排除或是增加,你可以轻松实现物体Mask的输出或是某个物体的单独渲染输出。




成品渲染Cycles的采样设置要求不高,只在小幅画面有不错的平滑品质和渲染速度就好。渲染块的大小是8x8最小的,这样CPU渲染速度最快。




格式选择Blender的多层EXR格式,它可以包含所有通道层的内容。如果你对Blender后期合成节点非常了解,那你直接就可以在Blender里完成在PS里的所有工作,只是本人不才还不是很会用。由于这种文件目前AE和PS都无法直接读取,所以只好乖乖的把这些通道一一输出成PS读取的文件格式,然后再到PS里进行合成操作。


10.合成:


合成部分没有悬念,无非是整体或者局部的增强或者减弱色彩对比、明暗对比,让阿拉蕾的小嘴再粉嫩一点,修饰一下反光和高光。最后再将整体的色彩平衡和曲线做色感统一的调节,这样就算大功告成了。


这个阿拉蕾插画还有一个很特别的地方就是它的背环和阿拉蕾本体分别存在于2D和3D的世界中,这也是我为何想做这幅插画的一个初衷,背环存在于2D中,而阿拉蕾又是3D的,这样两者结合将会呈现出独特的视觉感受。特别是你把目光盯着帽盔背后和背环的地方看时,大脑会给你一种无法解释的感觉。


结语:由于个人能力有限,没有表述清楚的地方还大家请见谅,因为这个作品的制作过程实在太复杂,几页篇幅难以说清,所以只在这里抛砖引玉的介绍了一个静帧作品在Blender里的基本流程。本人也在学习中,如果有朋友发现不对的欢迎批评指正,谢谢大家耐心看到最后。

南篱丶 发表于 2017-3-18 23:57:23 | 显示全部楼层
66666666666666666666666666
回复 支持 1 反对 0

使用道具 举报

ashlee 发表于 3 天前 | 显示全部楼层
很好,谢谢分享
回复 支持 反对

使用道具 举报

andrewyu86 发表于 2017-11-15 07:52:45 | 显示全部楼层
习惯马克,努力学习
回复 支持 反对

使用道具 举报

3hfwee 发表于 2017-11-9 21:29:49 | 显示全部楼层
哦 阿拉蕾这个可爱的小人 如果未来机器人技术发达了 外表似阿拉蕾这样的小人会设定同样的性格成为很多人的萌宠吧
回复 支持 反对

使用道具 举报

wuming123 发表于 2017-11-9 09:58:55 | 显示全部楼层
66666666666
回复 支持 反对

使用道具 举报

ly星扬 发表于 2017-11-8 18:55:13 | 显示全部楼层
不错的教程
回复 支持 反对

使用道具 举报

wuming123 发表于 2017-11-8 17:20:25 | 显示全部楼层
不错,谢谢分享.....
回复 支持 反对

使用道具 举报

xiaoxi2700 发表于 2017-9-28 07:11:41 | 显示全部楼层
感谢楼主发布如此优秀的资源
回复 支持 反对

使用道具 举报

Apr-J 发表于 2017-5-17 09:02:46 | 显示全部楼层
感谢楼主分享!!!!!!!!!!!!!
回复 支持 反对

使用道具 举报

Apr-J 发表于 2017-5-17 09:02:32 | 显示全部楼层
萌萌哒的阿拉蕾!!!!!!!!!!!!!!!!!!!!
回复 支持 反对

使用道具 举报

就是尼(xxx) 发表于 2017-4-25 09:16:54 | 显示全部楼层
非常感谢,感谢分享
回复 支持 反对

使用道具 举报

lanjin 发表于 2017-4-24 07:51:00 | 显示全部楼层
这个可以,很强大~~~
回复 支持 反对

使用道具 举报

wjgmr 发表于 2017-4-24 06:36:51 | 显示全部楼层
学习了,谢谢。
回复 支持 反对

使用道具 举报

shenggen2 发表于 2017-4-23 10:01:29 | 显示全部楼层
非常感谢,感谢分享,一如既往,追逐梦想!
回复 支持 反对

使用道具 举报

2 rseInt  lass="plc""plbody"style="dlass="plc">2 lass="plc""plbody"style="dng>
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

stpot="r4em迫祇ver="checkpostrule('seccheck_khome癷觨verd=29到最后
&amod=cookit" "r4em迫祇ver="c') == 1ue;$" "r4em迫祇ver="c').rule(ed=m mb;}v>2parseInt(liked_post();'>还 ;"hars = parseInt(d cl!--[diy=m_h"yleum]--tedt mtn">m_h"yleumlaction=login" edt mtn"> rng>M4iK41> 您需要登rng> mex=-=448&am 莚ng>-1" edt mtn"> rng>M4iK41_lefnd.gif" cl idumn 莚ng>-1-c" edt mtn"> rng>M4iK41_lefn_tempd.gif" clmex=-=448&tempd>splay: none">2
od="pge%253D_qzone_sasse_ulete='" target="_blank">本版积分规则 funis.on succeedng="0"_div> < <
jq(".m_h"wr4 a.m_h"call").e ti(funis.on(){ jq(
d="pgeokitLuseo"plAjax("TEXT");geokitLuseo.od=("ge%253D1%26page%rule(tatfgeokit", funis.on() {});ostform" acinclink/div>ed_posheetr>
funis.on aaa(id,iv> ,_lefn){ od="phidid.lassAt?docu/tr>.od=Ele/tr>ById(id):t tyd1=docu/tr>.bodytyd2=docu/tr>.docu/tr>Ele/tr>; o//d1.ed_po.www.cg=d2.ed_po.www.cg= =iv> ?iv> +'px':0;则0?'lefn':'lefn')]=_lefn?Math.abs(_lefn)+'px':0; o则 )+(Math.max(d1.ecriv>T> ,d2.ecriv>T> )+iv> -"off" id=则 ))*0.1+'px';},10+"off" id=Math.rg="om()*20)); o1" typeargu/tr>s.c546ee; o} o o o oaaa('xixi',100,-152); oosSCRIPT>>2incd>
耄Scriv>Y=0; >2ind="pInterTimete=1; od="phaxWod=p=-1; od="phinWod=p=-152; od="pnumInterte=8;>2ind="pBigIntert; od="pS3546Intert; o od="paljote= docu/tr>.od=Ele/tr>ById(hxixi'); od="pite="off" id=aljohinWod=pp { oite="off" id=aljo>22 rseInt 2 rseInt rs = parseInt ass="authi./template/m_h"_cg_160522/m_h"cssslogo.pngvit&as = parseInt a在线客服(工作时间:9:00-22" r)18916069001iv id="fparseInt a.cgdras = parseInt 关于我们as = parseInt a> var var 帮助中心as = parseInt a> 用户帮助as = parseInt a> 精品资源as = parseInt a> ass="authi./template/m_h"_cg_160522/m_h"cssswx.pngvimod=p="109:1/ww.cgdras = parseInt a织梦网微信公众号a.cgdras = parseInt <.cgdras = parseInt 2 rseInt 2 rseInt