Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by hanso23 · Mar 25, 2013 at 10:17 PM · gravitycontrolspaceshipairplane

help needed: moving smoothly in 4 directions + 1 constant forward acceleration ?

hey everyone! i need some help with a simple moving script problem. Just before we go into details, I'm rookie, so detailed "instructions" are welcome

what i want to acchive:

a spaceship which can fly into 4 directions ( up, down, left, right and for diagonally) and a constant "forward" acceleration. it a firstperson view game. Maybe the movement from starfox is an good example, basically an on-rail shooter with this movement.

right now it's looking like this:

1 gameobject,

our shipour ship forward acceleration (js):

 ar moveSpeed = 10.0;
 var sideMovement = 10.0;
 var upMovement = 10.0;
 function Update ()
 {
 var sideMovement = Input.GetAxis("Horizontal") * moveSpeed;
  
 sideMovement *= Time.deltaTime;
  
 transform.Translate(sideMovement,0,moveSpeed);
 
 var upMovement = Input.GetAxis("Vertical") * moveSpeed;
  
 upMovement *= Time.deltaTime;
  
 transform.Translate(upMovement,0,moveSpeed);
 }  

our ship movement:

 var keyboardSpeed = 20.0;
  function FixedUpdate () {
     // This is where we move the object.
  
     // Get input from the keyboard, with automatic smoothing (GetAxis instead of GetAxisRaw).
     // We always want the movement to be framerate independent, so we multiply by Time.deltaTime.
     var keyboardX = Input.GetAxis("Horizontal") * keyboardSpeed * Time.deltaTime;
     var keyboardY = Input.GetAxis("Vertical") * keyboardSpeed * Time.deltaTime;
  
     // Calculate the new position based on the above input.
     // If you want to limit the movement, you can use Mathf.Clamp
     // to limit the allowed range of newPos.x or newPos.y.
     var newPos = rigidbody.position + Vector3(keyboardX, keyboardY, 0.0);
  
     // Move the object.
     rigidbody.MovePosition(newPos);
 }
  
 // Require a Rigidbody component to be attached to the same GameObject.
 @script RequireComponent(Rigidbody) 

THE PROBLEM:

if we move our ship in any direction (especially in the diagonal ones) the moving animation looks kinda laggy or "not smooth"). how can we solve this? any script snips & pieces are welcome

EDIT: this was just our first way to do it, i have no problem with replacing the code with an other one!

Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

1 Reply

· Add your reply
  • Sort: 
avatar image
0

Answer by fabio1955 · Mar 25, 2013 at 10:50 PM

In one case you move the object via the transform.position in the other you act on the rigid body. I also see something strange in the 2 translate statement: both act on x and z axis.

Hope this help..

Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

11 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

How to make camera position relative to a specific target. 1 Answer

how to let an object drive on a road? 1 Answer

Mesh Collider stops me from controlling the object? 0 Answers

Airplane Stall 0 Answers

Fix flying control 1 Answer


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges