我有垂直平面让我们说墙。在墙上,我必须添加另一个从 point1 到 point2 的平面,其中 point1 和 point2 是来自 Wall 的 HitTest 的 SCNVector。
墙节点以动态值旋转欧拉角 Y。要在墙上画平面,我必须申请
plane.eulerAngles = wall.eulerAngles
它工作正常。我会画飞机。 但平面是从中心绘制的,这是我不想要的。我想从顶角绘制平面,所以我必须从 point1 减去宽度/2 和高度/2。
但是平面是旋转的,所以通过改变 x , y 值在这里不起作用。我还需要根据 Y 旋转更改 Z 值
问题:如何计算旋转平面的宽/2和高/2?
如何重现
1) 使用 ARKit 应用程序创建 Xcode 项目
2) 在ship.scn文件中添加SCNPlane对象
3) 在右侧面板中将 Y 的角度更改为 30
4) 用红色箭头移动平面,只观察到 X 值也改变了 Z 值
用红色箭头移动后
最佳答案
使用检查器时,您可以将“编辑空间”设置为“世界”(而不是“本地”),使用操纵器(视口(viewport)中的箭头)时,您还可以选择将编辑空间更改为“世界” "或 "parent",这样您的更改就不会考虑节点的旋转。
关于ios - ARKit 如何从角落而不是中心绘制平面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53130116/