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 Stamatis · Mar 25, 2015 at 07:58 AM · physicstranslatestutter

Synchronise translation with Physics

I am trying to make a platformer and the main character has a rigidbody attached. He moves horizontally with the translate function (inside the Update) and vertically by addForce and gravity. However there is a stutter when player falls or jumps because my camera follow script uses Update while gravity is calculated in FixedUpdate. I tried everything from interpolate, changing everything to FixedUpdate and lerping the camera movement but there is always a slight stutter. My question is if it's impossible to sync physics with translate perfectly. If not can you suggest me anything? I start to think that i should use a character controller and make my own gravity which is calculated in the Update function. Thank you for listening!

Comment
Add comment · Show 4
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 Stamatis · Mar 26, 2015 at 05:58 PM 0
Share

First of all thanks for the answer! I did as you said. I actually had already tried this setup! While interpolation, horizontal translation in FixedUpdate and LateUpdate completely fixes the jitter on y axis, both on player and the scene, they introduce jitter on the x axis. Only the scene jitters, not the player! The player's motion is perfect! But this setup also makes the game unplayable. All this happens without lerping the camera... When i lerp the camera then again i only have jitter on x axis but on the player this time ins$$anonymous$$d of the scene. Thanks for trying to help!

avatar image hexagonius · Mar 26, 2015 at 06:49 PM 1
Share

You said translation in FixedUpdate. Set the velocity x value ins$$anonymous$$d

avatar image Stamatis · Mar 26, 2015 at 07:41 PM 0
Share

Yep i tried this a few $$anonymous$$utes before i saw your post and it indeed fixed the problem entirely! You were very helpful and i wouldn't get it right without your initial reply! How can i mark it as correct answer? I am new around here! Also i would like to know why translation inside FixedUpdate was not so smooth but velocity did the trick. Is translation inside FixedUpdate a bad thing?

avatar image hexagonius · Mar 26, 2015 at 08:54 PM 0
Share

FixedUpdate runs frame independent. The rigidbody can only interpolate there when it knows where it will be at all times, via velocity that is. When you translate it it will be "somewhere"when it gets rendered. If you set the time scale to a very low value you can see the rigidbody jumping when translated and smoothly moving when correctly affected by physics.

1 Reply

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

Answer by hexagonius · Mar 25, 2015 at 05:54 PM

It is possible. Set the rigidbody to interpolate. Do all movements in FixedUpdate() (For AddForce it's not important since the force is applied correctly in FixedUpdate). Have your Camera translate in LateUpdate().

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

4 People are following this question.

avatar image avatar image avatar image avatar image

Related Questions

Limit & Scaling Translation Rate. 0 Answers

RigidBody2D Movement Stuttering 3 Answers

Gravity only rigidbody 1 Answer

Using Rigidbody.MovePosition With Local Position and Lerp 2 Answers

2D 360 degress platformer example needed 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