Maya 质感高级教程卡通着色技术.docx
《Maya 质感高级教程卡通着色技术.docx》由会员分享,可在线阅读,更多相关《Maya 质感高级教程卡通着色技术.docx(10页珍藏版)》请在冰豆网上搜索。
Maya质感高级教程卡通着色技术
01Maya真不愧是三头六臂,面对这些挑战,我收集了针对Maya质感部分具有代表性,权威性的教程。
尽管这些教程不是那么振奋人心,但他们可以工作并可为进一步考究和改进的基础,通过这些练习的学习来探讨Maya各种节点的工作原理,是力图帮助我们能攀登到Maya贴图技术的顶峰,从而构造出一套有条不紊体系结构。
随着经验的增长,不久我们就会发现自己已经变成专家了。
由于本文涉及有关Maya质感的高级运用,是一种更适合有经验的用户的形式来编写的。
加上我的翻译水平有限,文中所译难免有不妥之处,恳请诸位看官海涵。
在这一课里,完全地展示了如何创建卡通材质(Cartoonshader)的实际工作步骤,我们使用RAMP节点,以及其他的几种工具节点,对Blinn材质进行重新分布(Remapping),最终,即能达到类似卡通效果的着色方式(Shader)。
此外,本课的内容能加深对连接编辑器(ConnectionEditor)和工具节点(Utilitynodes)、创建自制的着色网络(CustomShadingNetworks)的深层理解。
第一步:
在Hypershade窗口里,选择Create->CreateRenderNode..分别创建下列节点:
Materialnodes:
Blinn(noShadingGroup)(无着色系)
SurfaceShader(withShadingGroup)(有着色系)
Texturenodes:
Ramp(noTexturePlacement,Normal)(无贴图坐标)
Utilitynodes:
SamplerInfo
Clamp
Condition
在Hypershade中应该如图:
Blinn材质节点用于描绘物体上的高光。
因为Ramp可以将灰阶值重新分布成连续的色彩,会使灰阶blinn变成卡通效果。
Samplerinfo节点获取物体边界的信息。
02第二步:
在Hypershade窗口里,鼠标中键拖动Blinn1节点至Clamp1节点上释放,选Other…,弹出连接编辑器(ConnectionEditor)窗口,
将左边Blinn1节点的Outcolor与Clamp1节点的Input相连。
03接下来,让Clamp1节点降低灰阶值,使这些值小于等于1(<=1),同时会切断所有灰阶大于1(>1)的高光。
(superwhite)。
开启Clamp1节点的属性编辑器(AttributeEditor),将Max左边的输入框设为1。
这个输入框代表红色通道(中间=绿色,右边=蓝色),
由于灰色是R,B,G各相等值混合而成的,所以,在此只需要一个通道就可以了。
Min应设为0。
04第三步:
以上述方法,用连接编辑器,将Clamp1节点的OutputR与Ramp1节点的Vcoord相连。
05请确保Ramp1节点的Type为VRamp。
现在Ramp1的coloroutput实际上等于Input的灰阶值(0<=clamp1ColorROutput<=1)。
这种方法称为重绘(Remapping)。
06第四步:
将Ramp1节点的OutColor与Condition1节点的ColorIfTrue(Color1)相连。
将Sampleinfo1节点的FacingRadio与Condition1节点的FirstTerm相连。
FacingRatio是表面上点面向摄影机的角度,如果这个点距离摄影机90度,FacingRatio=0,
如果表面法线和摄影机射线之间角度是0,FacingRatio=1。
具体请查阅Maya在线手册
第五步:
开启Surfaceshader1的属性编辑器。
选Add->AddAttributes…添加下列属性(float,scalar):
LineThickness:
Min0,Max1,Default.2
LineR
LineG
LineB
LineThickness和颜色都属于用户可定(user-definable)的。
07第六步:
将Suerfaceshader1节点的LineThickness与Condition1的SecondTerm相连。
Suerfaceshader1节点的LineR与Condition1的ColorIfFalse(Color2R)相连。
Suerfaceshader1节点的LineG与Condition1的ColorIfFalse(Color2G)相连。
Suerfaceshader1节点的LineB与Condition1的ColorIfFalse(Color2相连。
将Condition的Operation设为GreaterThan。
08如果FacingRatio(condition1的第一个条件)小于LineThickness(第二条件),Condition1的Output=Color2(surfaceshader1里
设置的LineRG,否则Output=Color1(来自ramp1-blinn1的颜色)。
将Condition1节点的OutColor与Surfaceshader1节点的OutColor相连。
下图是Hypershade中的节点关系:
09第七步:
可以把Ramp1调成你喜欢的色彩。
卡通材质通常把Ramp颜色之间的Interpolation设为None,这样能产生较为均匀的边线。
下图为Ramp1
最终的外观。
此外,也可以做一些额外的修改:
1.在surfaceshader1属性编辑器里调整LineThickness和colorRGB,这两个值分别控制边线的粗细和颜色。
2.调节blinn1参数能产生不同的高光。
3.甚至可以给Blinn1添加一个凹凸贴图,这种方法一般用于运动的小虫。
4.也可用其他的材质代替Blinn1,产生各式各样高光。
总结:
本课阐述了如何创建卡通材质,通过这一课的学习,掌握了创建卡通着色技术,同时也对各种节点之间工作原理及建立
复杂的着色网络有了更
加清楚地认识。