gpt4 book ai didi

ios - 使用 SceneKit 控制飞行器的运动

转载 作者:行者123 更新时间:2023-12-01 16:40:19 24 4
gpt4 key购买 nike

我目前有一个场景,它在场景的根部包含一个具有类地几何形状的中心节点和一个代表飞行器的节点。

但是我找不到控制车辆运动的正确方法。我需要在以静态高度和速度进行轨道运行时左右转的能力。

我尝试了许多动画和物理体力的组合,所有这些都导致了不良结果。

我最接近的是:

  • 将车辆的pivot属性设置为场景中心
  • 然后设置一个像下面这样的 Action 来控制前进
    [_vehicleNode runAction:[SCNAction repeatActionForever:[SCNAction rotateByX:-1 y:0 z:0 duration:10.0]]];
  • 然后最后施加力左转和右转
    [_vehicleNode.physicsBody applyTorque:SCNVector4Make(0, 1, 0, 1) impulse:YES];

  • 但是,我似乎无法将枢轴和/或位置设置为正确的值以获得所需的结果。

    编辑:似乎上述方法将是我正在寻找的解决方案,但是由于某种原因,当我将几何图形添加到车辆节点时,它在场景图中的位置发生了巨大变化。当我添加硬编码按钮以将它的位置更改为它所属的位置时,它只对那个单帧显示正确,然后直接回到不知名的地方。

    编辑 2:用原始球体替换所有几何体以测试节点现在按预期旋转,但现在不受物理力的影响,似乎忽略了它作为 dynamicBody 的声明。

    最佳答案

    如果我了解您要正确实现的目标,则可以尝试以下操作:

  • 将第一个节点添加到场景中,定位在 (0,0,0) 并使用 SCNAction 使其沿 Y 轴永远旋转
  • 将您的船节点添加为第一个节点的子节点。将其定位在 (X,0,0) 处,使其绕地球运行
  • 使用 Action 或动画沿 X 轴旋转您的船节点
  • 关于ios - 使用 SceneKit 控制飞行器的运动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24959794/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com