maya制作唐朝美人

✏️ 修改
来源: 管理员 👁 26886 📅 2010-06-07 0

本教程中从构思到贴图,再从质感到毛发等,讲述的是制作流程及心得,头发的制作是本教程中的难点,如果网友想获得漂亮的效果,关键在于后面的合成,希望本教程能给您带来一点启示。

完成图

一、创作思路:

前段时间,看到唐朝的手绘,突然想做个有点唐朝风格的角色,然后就找了相关的一点图片参考,衣服,发式等,做这个作品的时候,发现现实和3d有好大区别,想做的和现实肯定会有区别,头发,衣服等,做这个尝试是为了让自己的在maya的某些技术和模块上能有提高和进步,现在把这个古装美女的创作过程和大家分享。

二、制作过程:

在做古装前,找了许多相关实物进行参考,包括头发,衣服等等,衣服上用参考唐代的一些服装,而在头发设计方便,因为没什么古代的头发实物参考,也就参考一些电视剧的和一些现代元素,设计制作。模型方面,其实网上都有好多相关的制作教程,详细的不多说了,现在说最重要模型的uv划分和贴图上的一点小技巧。

1、衣服

因为衣服是色彩色块比较大的,所以我在找寻一点相关的贴图,并将贴图制作成无缝贴图。最终完成衣服的贴图:因为原始的图层的材质我已经合成了,所以只能发完成后的贴图效果了。

参考图1

参考图2

而衣服的明暗,我通过叠加一个反射贴图,制作出带少许明暗的贴图,制作一点假的皱纹效果,这样可以省下一点雕刻模型的时间。

2、UV划分及pose

因为衣服的贴图用bodypaint不是太好画,所以我打算用重复贴图的办法贴到模型上,所以我把uv的边界划分到袖子的底下,这样可以避开接缝问题,因为我选的镜头是看不到袖子底下的。

衣服建模图1

对于现代的紧身装束,那就容易绑定,而对于这个古代唐装长袖就比较麻烦了,当时对Zbrush不太熟悉,于是用晶格对其进行大型的修改而没进行蒙皮绑定。

衣服建模图2

而在衣服的材质上,我因为用了层,所以mr是渲染不出来的,所以我使用mr的一个材质mi_shadow_trans做遮罩。

衣服建模图3

单独用mr sss渲染出人的皮肤。

3、眼球材质

眼球材质我使用了sss材质,感觉这样会真实好多。

下面介绍的是角膜的材质:

眼睛建模参数图1

至于高光上的贴图,为了让眼睛更有特色,我改了角膜上的高光遮罩贴图,让颜色偏蓝。

眼睛建模参数图2

眼球的sss材质

|

眼睛建模参数图3

而为了让眼球产生高光,显得眼睛更有神,我用了反光板。

材质参考图

4、身体皮肤的材质

为了让皮肤白点,所以我改亮了sss subdermal的贴图,让渲染出来人的皮肤更白亮。

超级渲染器

头部贴图参数

Mr sss渲染后的皮肤效果:

上身贴图渲染图

因为我在sss的epidermal加了黑色的毛发贴图,所以会让模型渲染后,不会让头顶太白。产生类似有头发在头皮上的效果。

眉毛和眼睫毛的制作是使用了最基本的锥体,弯曲后制作就可以了,基本就是体力活。

头部建模图

5、发型的创建

因为Maya hair比较复杂,先来说说它的基本参数。

在三维里,逼真的毛发效果一直以来都是很难解决的问题,一直到maya 7的出现,才把这个问题完满解决。Maya 的毛发系统还能和Maya Fur整合,使用 Maya的动态曲线技术集成,应用逼真的动态特性,并且可以整合 Fur和Hair一起使用,使fur的动态效果更逼真,令人信服。

[next]

Maya Hair还可以把毛发从一个模型移植到另一个模型(包括在nurbs和poly间转移),并为属性(例如:光秃和颜色)的纹理映射提供支持。Hair(毛发)也可以直接在用于Maya的mental ray中渲染,得到更逼真的毛发效果。并且Maya 7为毛发动画创作人员提供了十多种毛发预置样式- 包括:辫子、发髻、卷发、"雷管头"和发型。这是一个很有用的毛发创建工具,可以成为那些对该功能不熟悉的新用户的学习工具。

首先,下面我们来介绍Maya Hair system,这个功能是MAYA从6.0开始增加的新模块,用于创建真实的头发效果,现在的MAYA,已经不再需要外加插件来模拟头发。接下来就系统讲解hair的各个部分以及具体的使用方法。

首先打开Hair模块。

打开MAYA,选择模块为动力学--Dynamic。

Hair system详细说明

图1

(1)create hair

打开hair模块的主菜单,找到create hair选项,点击后弹出设置面板如(图2)

output--hair输出方式选项

Maya的hair可以选择以下三种输出方式,分别为Paint Effects 、 NURBS curves 、Paint Effects 和Nurbs curves,下面便通过更详细的分析,来说明这三种不同的输出方式。

Paint Effects 方式(图 3):?在图上我们看到,hair从创建的NURBS球体生成了一簇簇毛发状物体,这就是hair system生成的paint effects 的Hair。而红色的圆圈就是发射毛发的毛囊。需要注意的是,在生成hair的物体中,有分nurbs和poly,nurbs的毛囊分布是很均匀的,而poly上生成的毛囊,是由多边型的uv决定毛囊的分布的,当出现uv重叠的时候,uv重叠的地方就会不能生成hair毛囊,所以均匀分布的uv是poly生成hair的先决条件。

图3

NURBS方式(图 4):我们看到,在球体上生成的为一根一根的NURBS曲线,每一根NURBS曲线都是受hair system控制的动力学曲线,可以结合maya的场控制它的动态,而且曲线是可以用变形器对其进行再一步编辑,例如晶格变形等。

图4

Paint Effect and Nurbs Cures方式(图 5):这是结合前两种生成的,图中的蓝线就是NURBS Cures,这种方式生成的头发,可以用于更为复杂的发型或者其它的特效。

图5

Create Rest Curves(图6):创建静止曲线,这个选项和头发静止受不受场的影响有关联,因为在maya的hair system里,hair的动态受两种曲线影响,一种是start position的曲线,一种是rest position的曲线,这两种曲线在平常是看不到的,要通过显示菜单来分别显示这两种状态。而start position的曲线是储存hair在当前的形态,也就是所谓初始状态,而rest position的曲线是当hair system不受场和重力的影响时,所倾向的形态。如果start position的曲线和rest position的曲线不一至,而又不受场的影响,start position曲线的形态会趋向 rest position的曲线。

[next]

图6

生成方式(图7):

Gird:以物体的网格为基础的方式生成头发,与物体的UV有关系。

At Selected Points/Faces:以选择的物体的点和面为基础生成头发,属于比较随意的一种创建方式。

图7

U Count/V Count:在UV方向上生成的毛发数量,数值越高生成的头发越多,其实就是在物体上毛囊的采样数。

图8

当(UV Count值为30时)

图9

(UV Count值为默认的8时)

图10

Passive Fill:被动填充,主要是创建主动和被动毛囊,并且通过主动曲线来驱动被动曲线的动态,通过插值的方式驱使被动曲线运动,在要求精度不高的情况下,可以通过这样方式来减少毛发动态的运算量。但产生的被动毛囊所生成的头发方受主动曲线驱动。

Randomization:头发生长随机值,这个参数还和uv 有关,如果uv不均匀,就算Randomization为0,头发的生长都不可能是均匀的,值越大产生的毛囊越不均匀,随机值越大,毛囊生长的越是不均匀。

(随机值为0时毛囊的分布)

图11

随机值为2时毛囊的分布)

图12

图13

Edge Bounded:选中该项后毛囊会按着一条边的形式生长。

Equalize:选中该项后,毛囊会按uv空间和世界空间的方式生长。

图14

Dynamic:动力学模式,选中该项后生成的头发会自行进行动力学解算,也就是创建主动毛囊。

Static:静态模式,选中该项后生成的头发不进行任何动力学解算,也就是创建静态毛囊。

Points Per Hair:每条动力学曲线的顶点数,数值越大,在碰撞的精确度上越高,运算量越大,不过其实这个点数目在创建后是可以通过重建而改变的。

(值为3时动力学曲线的cv数目)

图15

(值为10时动力学曲线的cv数目)

Length:长度,指头发的长度。

Place Hair into:这个选项决定了,新生成的头发系统是重新生成一个新的头发系统,还是加入到现有的头发系统里去。

(新创建方式,outliner里看到有两个hair system)

图17

(加入到现有方式,outliner里看到只有1个hair system)

图18

Scale Hair Tool:缩放头发,在生成头发后选中头发,可按住鼠标左键或中键拖动鼠标任意控制头发的长度。

Paint Hair Follicles:笔刷绘制毛囊,这可以说是Maya的独特功能了,可以直接在物体上像画画那样绘制出头发,提供用户更大的创造性和自由度。

图19

而比较特别的是paint mode,其包括Create Follicles、Create Passive Follicles、Delete Follicles、Edit FoLLicle Attributes、Trim Hairs、Extend Hairs的几种方式(图 20)。

图20

Paint Mode:笔刷模式

Create Follicles:创建毛囊

Create Passive Follicles:创建被动毛囊

Delete Follicles:删除毛囊

Edit Follicle Attributes:编辑毛囊属性

Trim Hairs:修剪头发

Extend Hairs:延长头发

[next]

可以通过它来绘制,改变毛囊的属性,比手动改要更方便。而其它的参数上与前面的一样,这里就不重复说明了。

Follicle Attribute:毛囊属性,必须在Paint Mode中选择Edit Follicle Attributes才可以进行编辑毛发属性的选项(图 21)。

图21

Clump Width Mult:调节每个毛囊生成每一束毛发的宽度,通过调节笔刷的压值来进行设置。

Density Mult:毛发的稀疏度,可以控制每个毛囊生出的头发数目。

Curl Mult:卷曲值,可以通过这个调节每根头发的卷曲程度。

Clump Twist Off*:调节毛囊生成的头发的自扭曲值,因为默认生成的头发之间太规则了,在处理真实头发效果时,适当的增大扭曲值为好,注意的是它与卷曲值不同,它是控制每个毛囊生成的所有头发的。

Color Blend:色彩混合,在制大量头发时,可以用它来和头发的原有颜色进行混合。

Braid:辫子,俗话说的马尾,通过它决定那一束头发作为辫子。

Hair Scale:头发缩放长度,与Scale Hair Tool 功能上一样,需要通过调节笔刷压强。

Inclination:倾斜度,调节头发生长的方向。

Roll:滚动控制,可使多个毛囊为单位的头发生长方向呈不规则的变化。

Polar:两极控制,使毛囊所生出的头发规则的朝一个方向发生变化。

Surface Insert:插入表面,使头发生长方向为进入物体内部。

Stiffness:硬度,通过笔刷压强的大小来控制头发的强度,与动力学解算有直接关系。

图22

Display:显示状态,这个菜单显示头发曲线的各种状态,你可用菜单切换到头发曲线显示模式,当你要需要对头发作修改和调整都需要这个参数。

Current Position:当前状态,指的是头发在进行动力学解算的当前状态。

Start Position:起始状态,选择头发后点击, 起始状态的曲线就能够编辑,头发静止时的曲线被显示出来,通过多种的编辑方式,就可以控制头发起始时的形态了。

Rest Position:静止状态,编辑头发静止状态,这个状态可以通过设置得到同样可以从任何一个状态转为rest position。

Current and Start:这个功能十分好用,可以直接改变头发的形态,点击后编辑曲线可实时改变头发的形态,而且结合maya内部的变形器,能更好的改变头发的形状。

图23

Current and Rest:与Current and Start相似,只不够控制的状态不一样。

All Curves:编辑所有曲线,包括Current和Rest曲线。

图24

设置起始状态。

Form Current:来自当前,把当前进行的动力学演算或者手工调整好一个发型,选择这个后为当前头发的形态。

From Rest:来自静止状态,把rest的静止状态传递给start position 的状态。

图25

设置静止状态,在动力学演算后选择该项可将当前头发的状态设为静止后的状态。

图26

From Start:来自起始,与上面讲过的Set Start Position搭配使用。

From Current:当前状态,把当前的状态设置为静止状态。

[next]

图27

修改曲线,主要是在头发的编辑曲线下进行各种编辑。

图28

Lock Length:锁定头发曲线的长度,锁定后头发曲线长度不能改变。在锁定后,移动曲线的点,曲线其他部分会连带运动。

图29

Unlock Length:解除锁定头发曲线长度,解除锁定头发的长度。当这个选项打开后,头发的长度不受限制。可以随意更改。

Straightness:拉直度,调节拉直头发的强度。默认值为1

Preserve Length:保持长度,默认为打开。

图32

Smooth:平滑度,头发的平滑度,用该命令后使头发曲线能更平滑。

图33

Smooth Factor:光滑因数,值越大头曲率就越光滑。

Curl:卷曲,头发自身的卷曲。

图34

Curl Amount:卷曲数量

Curl Frequency:卷曲频率

Bend:弯曲值

图35

Bend Amount:弯曲数量

Twist:弯曲值

Scale Curvature:缩放曲率

图36

Scale Factor:缩放因数

Max Curvature:最大弯曲率

图37

创建约束

图38

Rubber Band:橡胶带子,使头发绑在一起。

图39

Transform:变形在做发型时常用到。

图40

平移,缩放

图41

Stick:粘贴

也是比较常用到的一个命令

图42

Hair to Hair:头发与头发间的约束。

Hair Brush:头发束,一般并不常用。

Collide Sphere:碰撞球,主要是做减少碰撞运算的虚拟物。

Collide Cube:碰撞立方体,和球体一样,只不过是正方型的碰撞方式。

图43

转换选择

图44

To Follicles:到毛囊,因为毛囊不能很方便的选择,用这个可以快速的选择所有毛囊并修改其属性。

To Start Curves:选择初始曲线,快速选择所有初始曲线。

To Rest Curves:选择静止曲线,快速选择所有静止曲线。

To Current Positions:选择当前曲线,快速进入当前状态并选择所有的毛发。

To Hair Systems:选择头发系统,快速进入头发系统的属性参数面板。

To Hair Constraints:选择头发约束。

To Start Curve End CVs:到初始曲线的端点。

To Rest Curve End CVs:选择静止曲线的端点。

To Start and Rest End CVs:选择初始曲线和静止曲线的端点。

图45

指定到特定的头发系统

图46

将所选的曲线赋予动力学,用hair的动力学系统来驱动。

图47

创建碰撞

必须要先创建动力学曲线,并给与动力学,然后选择需要做碰撞物体,一并选择曲线,然后执行Make Collide。

图48

球体与曲线发生碰撞。

图49

分配Paint Effects笔刷到头发系统上

图50

在制作头发中,可以把任何pe的效果赋予到hair系统上渲染,可以实现很多特效。

图51

移植头发

图52

Copy Follicles:复制毛囊

Match UV:匹配UV.

Nearest Point:接近的点的复制方式。

Place Hairs into:把头发防在统一个系统里还是另外一个头发系统。

hairSystemShape Maya的头发系统节点属性。

[next]

图53

运算模式

Off:关闭

Static:静止,不接受动力学演算

Dynamic Follicles Only:仅仅是主动毛囊进行运算。

All Follicles:全部毛囊

图54

显示质量,这个参数很重要,在头发多的时候为了减轻机子和显卡的负担,建议尽量调小值,

只是显示的精度而已,对头发本身没有任何影响。

图55

Hairs Per Clump:每个毛囊的头发数目

Baldness Map:秃度贴图

Sub Segments:头发片断数,数值越高,头发越平滑

Thinning:稀疏度,控制头发末端的稀疏度

Clump Twist:每块头发的扭曲

Bend Follow:弯曲跟随

Clump Width:每束头发的宽度

Hair Width:每根头发粗细

图56

Clump Width Scale:范围调整,这是个很好用的东西,可以通过调整曲线图形来调整每束头发的宽度。

Selected Position:选择位置

Selected Value:选择数值

Interpolation:插补

图57

None:没有任何调整

Spline:曲线

Linear:直线型

Smooth:光滑

图58

卷曲曲线调整

其他命令同上一样

图59

扁平曲线的调整

它的作用是可以让头发变某处变得扁平。

Dynamics:动力学

Iterations:柔韧性,直接与头发进行动力学演算有莫大的关系,值越大头发越有韧性,值越小头发越缺乏弹性。

图61

数值为10时

图62

值为1时

Length Flex:长度伸缩,这个参数的意思是头发在动力学演算时是否伸缩,也就是拉长。

一般情况下调整为0。

Stiffness:硬度,值越大,头发受动力学的影响就越小,越不容易变形。

图63

硬度曲线:细致到可以调整头发的某部分硬度

图64

Drag:托拽力,头发在做运动时,可以通过这个来调整,加快和减缓运动的快慢。

Damp:抑制,抑制头发在动力学时可以较好的保持住形态。

Friction:摩擦力,头发与碰撞物体间的摩擦

Mass:质量

Gravity:重力,默认值为标准重力0.980

Start Curve Attract:开始曲线间的吸引,数值大时,曲线的动态愈会趋向start position的曲线。

Dynamics Weight:动力学权重,默认为1。

Start Frame:开始祯

Current Time:当前时间祯

图65

Collisions:碰撞

Collide:是否碰撞,默认为打开,如果关闭,头发不会和物体产生碰撞。

Collide Over Sample:碰撞采样,默认为0,数值越大,碰撞越精确,所需要的运算时间就越长。

Collide Width Off*:碰撞偏移,碰撞后的偏移大小,如果打开自碰撞,这个值还会影响自碰撞。

Self Collide:自碰撞,打开后每根头发都会发生碰撞,但计算起来很慢

Repulsion:排斥,值越大,排斥的越厉害

Static Cling:静电黏着,真实的头发会有些静电反应并粘合在一起

Num Collide Neighbors:头发的邻近碰撞,主要是调节碰撞区域的范围。

Collide Ground:与地面碰撞,打开后头发系统会模拟头发与地面的碰撞。

Ground Height:碰撞地面的高度。

[next]

图66

Draw Collide Width:碰撞托拽范围,打开后会有圆圈,表示碰撞范围和Collide Width Off*有关,Collide Width Off*的大小就是自碰撞的半径大小。

图67

(Collide Width Off*为0.4时的显示)

图68

Turbulence:抖动

Intensity:强度,数值大时,头发不规则运动越厉害

Frequency:频率

Speed:速度大小

图69

Shading:纹理

Hair Color:头发颜色,可以使用贴图。

图70

Hair Color Scale:头发颜色混合比例

Selected position:选择位置

Selected Color:选择颜色

图71

Opacity:透明度

Translucence:半透明

Specular Color:高光颜色

Specular Power:高光强度

Cast Shadows:产生阴影

图72

Color randomization:颜色随机化

Diffuse Rand:漫反射随机化

Specular Rand:高光随机化

Hue Rand:色相随机化

Sat Rand:饱和度随机化

Val Rand:亮度随机化

Displacements:置换

Curl:弯曲

Curl Frequency:弯曲频率

Noise Method:噪波方式

图74

Random:随机

Surface UV:曲面UV

Clump UV:块UV

Noise:噪波

Detail Noise:细节噪波

Noise Frequency:噪波频率

Noise Frequency U:U方向的噪波频率

Noise Frequency V:V方向的噪波频率

Noise Frequency W:W方向的噪波频率

Sub Clump Method:片断块方式

图75

同上…………

Sub Clumping:块片断

Sub Clump Rand:块片断随机

Num U Clumps:U块

Num V Clumps :V块

图76

Displacement Scale:置换范围的控制曲线。

图77

Multi Streaks:头发补充,这个命令可以增加头发数目,但并不会增加太长的渲染时间

Multi Streaks:数值多时,头发的数量也就越多

Multi Streak Spread1:根部头发补充

Multi Streak Spread2:头发梢补充

Light Each Hair:每个头发接受灯光

在明白了maya hair上的各种参数后,我们就开始动手创建头发了。

首先,我们要知道,其实maya的hair曲线可以重建的,而且可以使用动力学和晶格进行编辑,下边我来说一个例子,相信看完后,好多人都知道一些大概的做法了。因为古代的发型,有好多都是假的头发加上的的,一团团的东西,不好做,但maya的变形器比较多,所以动动脑,方法就出来了。

图78

首先把hair曲线拉直,调整成如下样子。

图79

然后创建晶格变形,让晶格旋转45度,并增加其段数。

图80

接着使用bend弯曲变形器,并调整弯曲的大小。

图81

效果满意后,删除曲线的历史。在曲线横向上再创建一个bend变形,效果如图。

图82

这样就完成了发团的制作。

而我模型上的头发是先在tpose上创建,然后再用根据摆好的pose上用晶格改变基本形态的。

[next]

图83

头上的白毛装饰,我在圆柱上创建hair

图84

然后用curl让其弯曲来制作的。

下边是我hair的调整参数,这个大家可以按照自己的实际来调整。

图85

为了让头发有颜色的变化,我在Hair color放了ramp的贴图。

图86

最后衣服和hair使用默认渲染,而身体用sss渲染,最后用ps合成。

图87

完成图

背景制作用ps的画笔乱画了点颜色。

评论

{{ username ? username.charAt(0).toUpperCase() : '?' }}
Ctrl+Enter 发送
{{ (c.username || c.author_name || '?').charAt(0).toUpperCase() }}
{{ c.username || c.author_name }} {{ Utils.formatDate(c.created_at) }}