该偏移量可以存储在贴图中,这个贴图就叫做法线贴图。 切线空间中的法线是相对于真实法线的偏移(有的也说扰动,偏移和扰动一个意思)! 在Tangent Space中,坐标原点就是顶点的位置,其中z轴是该顶点本身的法线方向(N)。另外两个坐标轴就是和该点相切的两条切线。这样的切线本来有无数条,但模型一般会给定该顶点的一...
现在法线贴图(高模)上的法线信息全部都是切线空间中的了,我们继续解决模型(低模)上的问题。 局部空间->切线空间的变换矩阵是通过低模上的面TBN轴得到的,每个面得到的变换矩阵都不同,面上的每一个点都通过uv映射取出法线贴图上的法线信息,我们不需要用低模的顶点法向来做插值了。上一节中我们是在世界空间中计算...
第一个,英文单词WorldToObject就是表示把世界空间的法线变换到物体自身的法线,但是刚才我说的是要把物体自身的法线变换到游戏世界的发法线 你没有学过shader,那这个地方你可以忽略,但是如果你学过shader,准备面试,一定要注意一下这个问题,为什么在这儿用的是把世界空间变换到对象空间,灯光位置照射世界空间的灯光位置,...
刚才我们说的是在二维空间中的情况,前面我们说了在二维空间当中两个点构成一个线段,它会有一个法线方向 同理在三维空间当中,我们可以通过三个点定义一个三角形,跟三角形所在的平面,大家看这个白色的平面,垂直的方向向量,我们就叫它法线向量 同样的道理,跟平面垂直的法线方向有两个,只有其中一个代表了这个物体表面...
在本集视频中,我将以尽量深入浅出的方式介绍你可能不知道的『法线贴图』和『切线空间』背后的技术原理、错误用法以及性能优化;有基础建议1.5倍速观看;本视频《进阶篇》请加qq: 1517069595或 wx: alice17173,或在评论区留言,我整理好后发送给你~, 视频播放量 1.6万播放
切线空间的法线贴图存储的是相对法线信息,即各个点在各自切线空间中的法线扰动方向,切线空间的z轴方向由顶点法线方向定义,因此若顶点法线没有扰动,则存储的相对法线信息为(0,0,1),映射到颜色值上对应(0.5,0.5,1)浅蓝色。顶点法线一般不会被大幅度扰动,因此扰动后的法线方向总是靠近z轴方向,法线贴图总是如下图一...
首先,我们来看一下切线空间(TBN,Tangent, Binormal, Normal,切线空间由这三个向量组成)的计算方法,一般呢,我们是选择面法线作为切线空间的Z轴,而面上贴图的UV方向作为切线空间的XY轴,这里有人就会有疑问了,贴图的UV方向可不一定垂直呀?这样能作为坐标系的坐标轴么?没错,这个想法是正确的,UV的确是不一定垂直的...
模型的三角形面能确定一个法线,根据这个法线再构建出另外两个基向量,就可以组成一个坐标空间,法线贴图中存储各个点的法线在这个空间下的向量,这样的话法线就只跟表面有关系了。在使用贴图的法线前,构建出这个表面空间相对于模型或世界中的变换矩阵,然后把法线变换到模型或世界空间中,就可以进行光照计算了。这个空间称...
是可以从普通 「texture」贴图中计算法向量的。但是还有很多其他的办法 左图为普通 texture,右图为由左图计算的法线贴图 这样的法线定义在切线空间中 还没完 这样的法线贴图,有一个问题 举个例子,有一个正方体,每一面都贴相同的图,而由相同的图来说,法向量永远一样。但是由于在空间中位置的不一样,每一面的...
法线和切线 ,所以这个副切线我们是可以求出来的(以为同样是与一个平面垂直的单位向量是有两方向的,在Unity中模型会提供一个副切线的方向的数据)。 来上一个图,让我们更好的理解这个所谓的切线空间。 所以,法线贴图...,这也就解释了为什么法线贴图基本都是呈现蓝色。使用切线空间的法线贴图还有一个重要的一点就是...