whoimi

A geek blog

View on GitHub

法线空间变换推导

问题:法线在遇到非统一的缩放时会出现问题。

解决方案:使用变化矩阵的逆转矩阵进行变换。

推导: 为变换矩阵。 切线。 为法线。 为模型坐标。

​ 正常的模型变换为:

​ 这个变换对切线也适用:

​ 而法线不行。对于法线我们通过 这个条件来推到用于法线变换的矩阵

​ *注:上面没有用操作的 当做 的矩阵看待。

所以 ,所以的逆转矩阵.

​ 操作

​ 在Unity当中操作结束以后都是

​ 所以:

n_WorldSpace = mul(n_ObjectSpace, unity_WorldToObejct) ;