Search Unity

  1. Improved Prefab workflow (includes Nested Prefabs!), 2D isometric Tilemap and more! Get the 2018.3 Beta now.
    Dismiss Notice
  2. The Unity Pro & Visual Studio Professional Bundle gives you the tools you need to develop faster & collaborate more efficiently. Learn more.
    Dismiss Notice
  3. Let us know a bit about your interests, and if you'd like to become more directly involved. Take our survey!
    Dismiss Notice
  4. Improve your Unity skills with a certified instructor in a private, interactive classroom. Watch the overview now.
    Dismiss Notice
  5. Want to see the most recent patch releases? Take a peek at the patch release page.
    Dismiss Notice

moving a space ship

Discussion in 'Physics' started by numerousamigos, Oct 10, 2018.

  1. numerousamigos

    numerousamigos

    Joined:
    Oct 4, 2018
    Posts:
    3
    hi i am having some issues with moving along local axis as apposed to the world axis

    im making a jet/spaceship move

    Ship.localRotation = Quaternion.Euler(pitch, 0, roll);
    Ship.localPosition = Ship.localPosition + new Vector3(0, 0, Speed * Time.deltaTime);

    the problem is when i tilt the jet it continues moving along the world axis same issue with the pitch when i bank the ship and pull up to turn it just rotates on the world axis :/

    im not sure what im doing wrong
     
  2. BoogieD

    BoogieD

    Joined:
    Jun 8, 2016
    Posts:
    178
    The local position is in relation to the parent of your Ship.
    You are adding a vector which is in world coordinates.
    transform.forward is a vector (0, 0, 1)
    Try using:

    Ship.localPosition += Ship.forward * Speed * Time.deltaTime;