首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用sceneKit对SCNnode应用恒定力

使用sceneKit对SCNnode应用恒定力
EN

Stack Overflow用户
提问于 2021-02-17 19:18:24
回答 1查看 45关注 0票数 0

使用ARKit和SceneKit,我正在尝试让无人机模型飞行。

现在,我可以成功地将无人机放在一个表面上,模拟碰撞结束检测基地和无人机之间的接触。

现在我想试着飞这架无人机,施加一些恒定的力!(我不想简单地移动Y轴来向上移动无人机),但我想模拟一个力将其向上拉起,就像在现实生活中发生的那样。

我开始编写一些代码,并在按下向上按钮后调用此方法。

代码语言:javascript
运行
复制
// 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)
            
        
    }

这段代码的结果是无人机在我每次按下向上键的时候都会上下跳跃。但是这个力需要在时间上是恒定的。

我如何不断地施加力来保持无人机在空中飞行?我如何解决这个问题的任何建议...

我找不到任何对物体施加恒定力的例子。

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2021-03-15 18:33:12

你必须在其中一个循环函数中施加力。为此,请定义一个变量var applyForce=false。然后,例如在buttonUp触摸开始时,设置applyForce=true,在触摸结束时设置applyForce=false。Then内部循环函数:如果为applyForce,则应用强制。你必须调整力量的大小。您还可以添加更多参数。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66240917

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档