Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 11 Next capture
2021 2022 2023
1 capture
11 Jun 22 - 11 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 shaibam · Jul 06, 2015 at 08:35 AM · rigidbody2dgravity2d-physicsdistancefalling

Why is distance not consistant on Upadte method with gravity?

created an object and added Rigidbody2d to it. (for gravity) when printing out the distance traveled in free fall the objects distance seems strange (it sometimes equals 0) Why? Doesn't the Rigidbody2d perform its changes to the object's position on each frame?

CODE:

 void Start() {
  D = transform.position;
 }
 void Update () {
   float dist = Vector2.Distance (transform.position, D);
   D = transform.position;
   Debug.Log("dist "+dist);
         
 }

OUTPUT:

 dist 0.003924012
 dist 0.007848024
 dist 0.2472119
 dist 0.04708803
 dist 0.05101204
 dist 0
 dist 0.05493605
 
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

2 Replies

· Add your reply
  • Sort: 
avatar image
1
Best Answer

Answer by Hellium · Jul 06, 2015 at 08:50 AM

Prefere the FixedUpdate() method for all physics-relative operations.

Here is the description from Unity documentation :

FixedUpdate should be used instead of Update when dealing with Rigidbody. For example when adding a force to a rigidbody, you have to apply the force every fixed frame inside FixedUpdate instead of every frame inside Update.

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
avatar image
2

Answer by Pangamini · Jul 06, 2015 at 08:58 AM

Rigid bodies are simulated in discrete steps that are not tied to the framerate (as Update() is). Instead, you can use FixedUpdate which is synchronize with physics steps. Actually you should use FixedUpdate for any over-time work with rigidbodies (applying steady force, reading changes etc). The rigidbody component has an option to smooth (interpolate / extrapolate) the motion of rigidbody and apply the result to gameObject's transform, so motion appears smooth even when framerate is higher than fixedUpdate rate (which is in most cases). But these interpolations will be physically incorrect (or none if you disable interpolation, that's where the zeros may be popping up)

In conclusion, use FixedUpdate and Time.fixedDeltaTime to work with RigidBodies

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

23 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 avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Freeze constrains bug or idk 0 Answers

Change a specific Gameobjects rigidbody gravity to horizontal (left) 1 Answer

How can I make a 2D object that apply gravity inside a hollow circular ? 1 Answer

which is best method for 2d player movement 0 Answers

Endless "Falling in place" Simulation Question 0 Answers


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