首页 > 办公 > Maya > 正文

MAYA中法线贴图该怎么理解和应用?

2020-10-20 18:57:22
字体:
来源:转载
供稿:网友

教大家个使用MAYA中法线贴图的应用的综述,个人感觉这个教程太有用了,很全面很直观的分析了MAYA中发现的各种使用方法及技巧。很是实用收藏一下吧,最近搜集了不少资料和试验,打算把MAYA中法线贴图(NORMAL MAP)的相关信息综合一下并且心思一下思路。慢慢来!:)

法线贴图(NORMAL MAP)是一种较新的贴图技术,类似于BUMP MAP,通过对模型表面的法线的矫正来用以表现模型的细节与纹理,其效果比后者要好,能达到BUMP MAP所达不到的效果,但是其并不能真正的在模型表面产生细节,相对于DISPLACEMENT MAP而言,又不如其满意。而且其制作和应用很麻烦,问题也很多,所以这种技术CG中并不常用,不过,在游戏中却有相当的发展空间。其他不多说了,先来看个图:

为什么同一个模型(10*10段的多边形球体)会出来两种效果,我使用了SOFTEN/HARDEN EDGE命令来柔化了右边的模型边,这样看起来就圆滑了很多!

我现在打开了CUSTOM POLYGON DISPLAY OPTIONS,显示出来法线来看看区别:

模型的法线有两种:点法线和面法线。面法线是在面中心发出,表示面的方向;而点法线是从点发出的,取决于点周围的面的方向,左右模型的区别说明了SOFTEN/HARDEN EDGE命令工作原理。同时也NORMAL MAP的基础。(其实还有一种:UV COODINATE NORMAL。但MAYA中似乎没有这个概念,这个东东是在NORMAL MAP应用中许多问题产生的根源,这里暂不讲述)

下面我们开始。建立一个POLYGON球体,参数如下。

然后再复制出一个隐藏。

对这个球体平滑2次后,用雕刻工具作出一些细节。

打开HYPERSHADE,赋予这个球一个新的LAMBERT材质。

再建立一个SAMPLEINFO和SETRANGE节点,作如下连接:

这样我们把这个球的法线与摄象机信息输入,将其输出到物体材质的COLOR上,这里我的材质选择了SURFACESHADER,这并不重要。只是为了方便观察效果。

调节参数:我们将法线变量转化为颜色值,需要重新定义取值区间,由[-1,1]转化为[0,1]。

颜色改变,但是你会发现硬件显示的颜色与渲染的颜色不一样!这可是个问题的关键!而且不管你如何移动或旋转摄象机和模型,物体的颜色分布都不变化,上面是绿色,左边蓝,右边红。这可不是我们想要的。

这个问题的原因是因为SAMPLEINFO输出的法线信息是基于摄象机的,所以与摄象机关联,而并非物体本身,这样我们后面的得到的也是不能用的法线信息。

为了解决这个问题,我们断开SAMLPEINFO和SETRANGE之间的联系,新建一个VECTOR PRODUCT节点,如下连接。

将透视摄象机的节点拖进,输入其世界矩阵信息到VECTOR PRODUCT节点,运算方式为VECTOR MATRIX PRODUCT,再将输出值连接到SETRANGE的VALUE上。

这样做是矢量与矩阵运算,把摄象机坐标系转换为世界坐标系,这样摄象机的变化不在影响物体的颜色分布了,但是如果我们转动物体,问题仍然出现。所以要把物体的变化的信息也要加进去,将世界坐标系转换为物体坐标系。

如果将此时的颜色转换为贴图,我们就叫它World-space normal map。(后面在介绍这些分类),如图再加入如下类似的节点,注意这次选择的是WORLD INVERSE MATRIX。图中COLORBALL就是这个球体的模型节点,你可以在OUTLINER中找到它,拖到HYPERSHADE里。

这样,我们看到颜色显示与渲染的一致了,以渲染出来的为准,这样移动摄象机或物体,颜色分布就正确的象贴在物体上一样。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表