Search Unity

  1. Unity 2018.3 is now released.
    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. Want more efficiency in your development work? Sign up to receive weekly tech and creative know-how from Unity experts.
    Dismiss Notice
  4. Build games and experiences that can load instantly and without install. Explore the Project Tiny Preview today!
    Dismiss Notice
  5. Nominations have been announced for this years Unity Awards. Celebrate the wonderful projects made by your peers this year and get voting! Vote here!
    Dismiss Notice
  6. Want to provide direct feedback to the Unity team? Join the Unity Advisory Panel.
    Dismiss Notice
  7. Improve your Unity skills with a certified instructor in a private, interactive classroom. Watch the overview now.
    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:
    200
    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;