我从深度相机获得了一个传入的实时点云(大约300K点)。我已经设法使用GPU实例和60+ FPS的计算着色器可视化数据。我唯一的问题是点云是以世界坐标传入的。我想相对于另一个GameObject定位和旋转点云。基本上,如果我旋转“父”对象,点云就像它的孩子一样。
我如何计算点相对于另一个GameObject的位置和旋转的位置?
使用transform.localToWorldMatrix.MultiplyPoint
就是答案。
以下是上下文中的代码行:
PointCloud[i].position = Pivot.localToWorldMatrix.MultiplyPoint3x4(incomingDataPositions[i]);