使用ARKit和SceneKit,我正在尝试让无人机模型飞行。
现在,我可以成功地将无人机放在一个表面上,模拟碰撞结束检测基地和无人机之间的接触。
现在我想试着飞这架无人机,施加一些恒定的力!(我不想简单地移动Y轴来向上移动无人机),但我想模拟一个力将其向上拉起,就像在现实生活中发生的那样。
我开始编写一些代码,并在按下向上按钮后调用此方法。
// hit test and find object with specific name
func applyForceToDrone() {
print("tapped apply force drone at position ")
let nodo = arrayDrone[0] // return the scnNode of the Drone in the scene
let force = SCNVector3(0, 15, 0)
print("appply force")
nodo.physicsBody?.applyForce(force, asImpulse: false)
}
这段代码的结果是无人机在我每次按下向上键的时候都会上下跳跃。但是这个力需要在时间上是恒定的。
我如何不断地施加力来保持无人机在空中飞行?我如何解决这个问题的任何建议...
我找不到任何对物体施加恒定力的例子。
谢谢你的帮助。
发布于 2021-03-15 18:33:12
你必须在其中一个循环函数中施加力。为此,请定义一个变量var applyForce=false。然后,例如在buttonUp触摸开始时,设置applyForce=true,在触摸结束时设置applyForce=false。Then内部循环函数:如果为applyForce,则应用强制。你必须调整力量的大小。您还可以添加更多参数。
https://stackoverflow.com/questions/66240917
复制相似问题