I’m trying to make a 3d flight controller with a more arcade feel (think Ace Combat or Rogue Squadron). I’m somewhat new to working in 3d in Godot though and I don’t really understand what methods I should be using to achieve this.

I want up and down to control pitch and left and right to be something of a hybrid roll/yaw. I’m setting direction to -transform.basis.z and multiplying that by speed, but when I use rotate_x() with the pitch, the plane itself rotates, but I only move flatly across the world plane rather than climbing up or down as I’m attempting to achieve.

What am I missing here?

  • MossBear@lemmy.worldOP
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    I haven’t gotten all the way there, but this was really helpful for taking some steps forward! Now I just need to figure out how to make the pitch controls rotate with the orientation of the plane. It wants to pull up or down relative to the world space it seems. Either that, or my maybe my rotation isn’t rotating the local space at all?

    I’ll keep working on this. Thanks for your help!

    • Cid@lemmy.sdf.org
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      I think I have it working as you describe - in the latest version on GitHub. That is more complete now than the code snippet above. See if that helps.