首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SceneKit -修改节点所面临的方向的速度

SceneKit -修改节点所面临的方向的速度
EN

Stack Overflow用户
提问于 2017-08-26 19:13:17
回答 1查看 1.1K关注 0票数 0

我目前正在使用ARKit开发一个SceneKit游戏,在控制和移动节点时遇到了困难。游戏的布局很简单,我有一个代表坦克的节点,它有一个动态的物理体。我可以成功地将节点添加到地图中,但是我希望使用操纵杆来控制节点。

我试图修改坦克的速度属性,以便当操纵杆向上推时,坦克朝它所面对的方向前进。为了做到这一点,我首先尝试简单地将速度属性设置为这样:

代码语言:javascript
复制
t.physicsBody?.velocity = SCNVector3Make(0, 0, -0.15)

这导致坦克以预期的速度移动,但方向不正确。据我所知,-z方向是面向前方的方向。苹果公司关于本地和世界空间的文档非常模糊,在网上查看之后,我发现了这篇堆栈溢出的文章SceneKit physics add velocity in local space。我已经尝试转换到父节点,它仍然没有达到预期的效果。我还尝试使用表示节点的物理体,它更新了值,但这两种方法都会引起紧张、不一致和不可预测的运动。

我会使用武力,但我希望SCNode有一个非常即时和卡通的运动,没有加速。任何帮助理解什么是正在发生和关于SceneKit的方式处理移动将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-27 07:53:13

我想您使用iOS11,所以我认为您可以使用SCNNode.convertVector来达到您的目的。

代码语言:javascript
复制
let velocityInLocalSpace = SCNVector3(0, 0, -0.15)
let velocityInWorldSpace = t.presentation.convertVector(velocityInLocalSpace, to: nil)
t.physicsBody?.velocity = velocityInWorldSpace
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45898833

复制
相关文章

相似问题

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