【发布时间】:2019-04-07 09:06:39
【问题描述】:
我有垂直平面,比如说墙。在墙上,我必须从 point1 到 point2 添加另一个平面,其中 point1 和 point2 是来自 Wall 的命中测试的 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值改变
用红色箭头移动后
>【问题讨论】:
标签: ios swift math scenekit arkit