【UnityShader】坐标空间与坐标变换

本文详细介绍了Unity中坐标空间变换的原理,包括从子坐标空间到父坐标空间的变换过程,涉及矩阵运算和坐标轴方向的调整。在Shader中,通过3x3矩阵对法线和光照方向进行空间变换,理解这些变换对于理解和编写Shader至关重要。
摘要由CSDN通过智能技术生成

坐标空间变换

  • 每个坐标空间都是另一个坐标空间的子空间,反过来,每个坐标空间都有一个父坐标空间;
  • 对坐标空间的变换实际上就是在父空间和子空间之间点和矢量进行变换;
  • 假设
    现有父坐标空间 P 以及子坐标空间 C,已知在父坐标空间中子坐标空间的原点位置 Oc 以及 3 个单位向量的表示 xcyczc。把子坐标空间下的点或者矢量 Ac(a,b,c) 变换到父坐标空间下 Ap,步骤:
       1. 从坐标原点 Oc 开始;
       2. 向 xc 方向移动 a 个单位;
       3. 向 yc 方向移动 b 个单位;
       4. 向 zc 方向移动 c 个单位;

    最后xcyczc分别代表他们所在的列,这个公式还存在着加法表达式,即平移变换,由于3x3的矩阵无法表示平移变换,需要把他们转换到齐次坐标空间。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值