我正在构建一个向目标(平面)发射球的游戏。飞机向后旋转 45 度。我想将全局球位置(x,y,z)转换为目标的局部坐标,以便检测它击中的位置。
有任何想法吗?
我正在构建一个向目标(平面)发射球的游戏。飞机向后旋转 45 度。我想将全局球位置(x,y,z)转换为目标的局部坐标,以便检测它击中的位置。
有任何想法吗?
使用目标平面inverseSceneTransform
来变换position
球的矢量。那应该这样做。
var localPosition : Vector3D;
localPosition = plane.inverseSceneTransform.transformVector( ball.position );
这应该会给你球在飞机的局部空间中的位置。
仅当物品/球直接在舞台上时,上述解决方案才有效。如果不是,你应该使用 ball.scenePosition!
item.position = targetContainer.inverseSceneTransform.transformVector(item.scenePosition);