Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios SceneKit:根据设备运动数据旋转节点,同时使其在其方向上加速_Ios_Objective C_Iphone_Scenekit - Fatal编程技术网

Ios SceneKit:根据设备运动数据旋转节点,同时使其在其方向上加速

Ios SceneKit:根据设备运动数据旋转节点,同时使其在其方向上加速,ios,objective-c,iphone,scenekit,Ios,Objective C,Iphone,Scenekit,我最近一直在摆弄SceneKit,我想做以下事情: 当从Xcode创建游戏模板时,您会看到一个带有飞船的场景。 我想在点击屏幕后,根据我的iPhone的相对位置来设置这艘船的动画和方向。举个例子,如果我水平地拿着我的iPhone,轻触屏幕,这就是我水平的iPhone的参考姿态。然后,当我举起它(改变螺距)时,我想让船自己这样定位 我一直在尝试使用姿态俯仰、偏航和横摇更改我的船舶节点euleranges,如下所示: CMAttitude * attitude = deviceMotion.atti

我最近一直在摆弄SceneKit,我想做以下事情:

当从Xcode创建游戏模板时,您会看到一个带有飞船的场景。 我想在点击屏幕后,根据我的iPhone的相对位置来设置这艘船的动画和方向。举个例子,如果我水平地拿着我的iPhone,轻触屏幕,这就是我水平的iPhone的参考姿态。然后,当我举起它(改变螺距)时,我想让船自己这样定位

我一直在尝试使用姿态俯仰、偏航和横摇更改我的船舶节点euleranges,如下所示:

CMAttitude * attitude = deviceMotion.attitude
_ship.eulerAngles = SCNVector3Make(-attitude.pitch, attitude.yaw, attitude.roll);
每当我这样做,船就会回到它在场景中的原始位置。我似乎不明白,当我改变它的eulerAngles时,如何在不使它复位到其原始位置的情况下,使它在它所面对的方向上有一个速度

理想情况下,飞船会有某种发动机的动力使它朝着它所面对的方向加速,同时它仍然会受到重力的影响。我该怎么做?谢谢