maya法线贴图[转帖] 

2006-09-11 12:12 发布

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

全部评论41

  • zhigu
    zhigu 2006-9-11 12:15:00
    为什么同一个模型(10*10段的多边形球体)会出来两种效果,我使用了SOFTEN/HARDEN EDGE命令来柔化了右边的模型边,这样看起来就圆滑了很多!
    我现在打开了CUSTOM POLYGON DISPLAY OPTIONS,显示出来法线来看看区别:[upload=jpg]UploadFile/2006-9/200691112152527862.jpg[/upload]
  • zhigu
    zhigu 2006-9-11 12:17:00

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

    下面我们开始。建立一个POLYGON球体,参数如下。
    然后再复制出一个隐藏。

    [upload=jpg]UploadFile/2006-9/20069111217431998.jpg[/upload]
  • zhigu
    zhigu 2006-9-11 12:19:00
    对这个球体平滑2次后,用雕刻工具作出一些细节。[upload=jpg]UploadFile/2006-9/200691112193793468.jpg[/upload]
  • zhigu
    zhigu 2006-9-11 12:29:00
    打开HYPERSHADE,赋予这个球一个新的LAMBERT材质。
    再建立一个SAMPLEINFO和SETRANGE节点,作如下连接:[upload=jpg]UploadFile/2006-9/200691112292799310.jpg[/upload]
  • zhigu
    zhigu 2006-9-11 12:30:00
    这样我们把这个球的法线与摄象机信息输入,将其输出到物体材质的COLOR上,这里我的材质选择了SURFACESHADER,这并不重要。只是为了方便观察效果。[upload=jpg]UploadFile/2006-9/200691112302828514.jpg[/upload]
  • zhigu
    zhigu 2006-9-11 12:31:00
    调节参数:我们将法线变量转化为颜色值,需要重新定义取值区间,由[-1,1]转化为[0,1]。[upload=jpg]UploadFile/2006-9/200691112311175218.jpg[/upload]
  • zhigu
    zhigu 2006-9-11 12:32:00
    颜色改变,但是你会发现硬件显示的颜色与渲染的颜色不一样!
    这可是个问题的关键!而且不管你如何移动或旋转摄象机和模型,物体的颜色分布都不变化,上面是绿色,左边蓝,右边红。这可不是我们想要的。[upload=jpg]UploadFile/2006-9/200691112315677778.jpg[/upload]
  • zhigu
    zhigu 2006-9-11 12:32:00
    这个问题的原因是因为SAMPLEINFO输出的法线信息是基于摄象机的,所以与摄象机关联,而并非物体本身,这样我们后面的得到的也是不能用的法线信息。
    为了解决这个问题,我们断开SAMLPEINFO和SETRANGE之间的联系,新建一个VECTOR PRODUCT节点,如下连接。[upload=jpg]UploadFile/2006-9/200691112324028938.jpg[/upload]
  • zhigu
    zhigu 2006-9-11 12:33:00
    将透视摄象机的节点拖进,输入其世界矩阵信息到VECTOR PRODUCT节点,运算方式为VECTOR MATRIX PRODUCT,再将输出值连接到SETRANGE的
    VALUE上。[upload=jpg]UploadFile/2006-9/200691112331442298.jpg[/upload]
12345下一页

你可能喜欢

maya法线贴图[转帖] 
联系
我们
快速回复 返回顶部 返回列表