UnityTips 之特殊的粒子顶点坐标
2023-05-30 本文已影响0人
暴走TA
简介: 偶然听到特效同学想要获取单个粒子局部顶点坐标,也就是物体坐标系下的,然后使用 ASE 怎么链都是世界坐标,平时到时没有注意这一点,记录一下
unity版本:20222.1.7fc1
分析
如果是上述描述,那么可能有这么几点
- 粒子在顶点阶段就不存在一个从局部到世界的转换
- 粒子的顶点坐标默认使用世界坐标更有利于粒子的合批,因为粒子数量大,如果使用一般的合批方式那会导致除了传入粒子基本数据外,还要传入一个很大的转换矩阵buffer,直接将世界坐标写入到顶点数据则避免了这一转换过程
验证
我们可以尝试输出转换矩阵的不同行列,来观察一下其值是多少
第一行 1 0 0 0第二行 0 1 0 0
第三行 0 0 1 0
第四行 0 0 0 1,单独测了w,第四行的w是白色
所以最终的变换矩阵其实是一个单位矩阵,所以没有发生任何转换,故,粒子系统的单个粒子坐标的确是世界坐标