从0开始的技术美术之路(十二)Bump Mapping(凹凸贴图映射技术)

本文详细介绍了凹凸贴图映射技术,包括法线映射、视差映射、浮雕映射和视差遮蔽映射的概念、原理与实现方式。通过这些技术,可以提升模型表面细节,增强视觉真实感,而无需增加几何复杂度。文章引用了技术美术资源和PBR白皮书,提供了深入理解的依据。
摘要由CSDN通过智能技术生成

本篇参考B站视频 “技术美术百人计划”·霜狼_may
视差云的实现 https://zhuanlan.zhihu.com/p/83355147
PBR白皮书https://zhuanlan.zhihu.com/p/53086060

本篇主要用于自我复习,如有疑问或发现有什么错误,请多指教~
本篇内容主要包括:BumpMapping介绍以及法线映射,视差映射,浮雕映射;
参考里有个视差云感兴趣的可以看下;


一.介绍

1.Bump Mapping(凹凸映射)是干啥的?
答:用来表现物体的细节效果,是模拟中观尺度的常用方法之一;

对于细节根据尺度,我们可以将其分为宏观,中观,与微观三种;

  • 宏观尺度:

    • 特征覆盖很多像素;
    • 由顶点,三角形或者其他几何图元来表示
    • 宏观尺度上建模的例子如创造三维角色时的四肢或头部;
  • 中观尺度:

    • 特征只覆盖几个像素;
    • 描述介于微观尺度与宏观尺度间特征,包含细节较复杂,无法使用单个三角形进行渲染;
    • 但细节又较大,能够让观察者看到几个像素以上的表面曲率变换;
    • 如:人脸皱纹,肌肉细节,衣服褶皱
  • 微观尺度:

    • 特征小于一个像素;
    • 微观尺度在着色模型中工作,着色模型通常在像素着色器中实现,使用纹理贴图作为参数;
    • 着色模型模拟物体表面微观几何形状的相互作用;
    • 如:有光泽物体在微观尺度下光滑,漫反射物体表面在微观尺度下粗糙;

下图是来自毛星云大佬的第四节PBR白皮书的关于尺度的划分:
在这里插入图片描述

这一部分可以稍微延伸到PBR的微平面理论:
微平面理论是将物体表面建模成做无数微观尺度上有随机朝向的理想镜面反射的小平面(microfacet)的理论。在实际的PBR 工作流中,这种物体表面的不规则性用粗糙度贴图或者高光度贴图来表示。
(出自毛星云大佬的【基于物理的渲染(PBR)白皮书】(一) 开篇:PBR核心知识体系总结与概览

2.基本思想

纹理中把尺度细节相关的信息编码进去,着色过程中用稍微受到干扰的表面代替真实表面,使表面看起来具有小尺度的细节;

3.原理

  • 凹凸贴图映射技术对物体表面贴图进行变化,然后再进行光照计算的一种技术;
  • 如给法线分量添加噪音(法线贴图),在保存扰动值的纹理图中进行查找(视差映射贴图/浮雕贴图);
  • 这是一种提升物体真实感的有效方法,但却不需要额外提升物体的几何复杂度,无需对物体增加顶点或者改变顶点位置,达成提升物体表面细节或不规则性方面效果;

下图的右侧为加入法线贴图的效果,左侧则是未加的效果;
在这里插入图片描述
4.Bump Mapping分类

主要有法线映射,视差映射,浮雕映射;
其中最常用的是法线映射,增加法线贴图后,对局部的物体表面进行法线扰动,进而改变明暗关系,从而达到增加表面细节的效果。

下图自左往右分别是只加颜色贴图,加入法线贴图(法线映射),加入高度图(视差映射)
在这里插入图片描述


二. 法线映射

1.原理

  • 法线贴图:一张存有物体局部表面法线信息的一张贴图;
  • 计算光照时,程序读取法线图,并获取到当前像素点的法线信息,结合光线信息进行光照计算,从而让物体表现更丰富的细节,随光照方向变换出现实时的变化;
  • 法线贴图的做法一般是利用高模映射到低模上来生成,也可以借助一些程序化软件生成(如SD的Normalsobel节点可以将灰度图转换为法线贴图,ShaderMap软件也可以通过一张图获取其他所需的贴图)也有可以自己手绘的选择 );
    下图是一张传统和次时代的制作流程对比的图,其中高模映射到低模的过程处于次时代中流程中的烘焙过程;
    在这里插入图片描述

2.实现

  • 法线的存储:一般放到模型的切线空间中;
  • 切线空间:以切线(T),副切线(B)和法线(N)组成的几何空间,法线垂直于物体表面,切线与物体表面相切,副切线则是由这两个向量叉乘所获;
    在这里插入图片描述
  • 计算光照时,需要把光照运算的向量放到统一坐标系下。读取切线空间法线,需要世界坐标转切线空间的转换矩阵或切线空间转世界空间的转换矩阵,将向量统一到同一坐标系后再进行光照操作。
  • 世界与切线空间的转换:需要转换的向量都是方向向量,故可构建3*3的TBN矩阵(其中法线方向为z轴,切线方向为x轴,副切线方向为y轴)作为空间向量的坐标系转换矩阵。逆矩阵为切线空间到世界空间的转换矩阵,由于TBN矩阵为正交矩阵,故他的逆矩阵为TBN的转置矩阵,根
  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值