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 drulludanni · Dec 20, 2013 at 01:07 AM · charactercontrollergroundedprediction

How should I check if the charactercontroller is grounded next in the next calculation?

I need to find out whether my charactercontroller is grounded or in the next calculation, but I have no idea how I should do that.

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
1

Answer by supernat · Dec 20, 2013 at 06:09 AM

If you mean you need to determine if the player will be underground in the next frame, you can use Extrapolation. You would take the character's current downward velocity (and acceleration) and the last frame time (or frame time average) and forward extrapolate the position of the character assuming the next frame will occur at the same interval. In other words, take the current position and add velocity deltaTime + accel deltaTime * deltaTime / 2. Then you can look at the bounds.extents property of the collider to determine if they go under ground. You can use Terrain.SampleHeight() if you are using the built-in terrain to get the terrain height at the player's location.

Comment
Add comment · Show 1 · 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 drulludanni · Dec 20, 2013 at 11:10 PM 0
Share

I'm having a little trouble understanding how I would use the extrapolation, perhaps you'll be able to give me a simpler solution if i explain my problem a little better,

so, my initial problem was that when my character was walking down slopes he didnt stick to them on the way down but bumped down them ins$$anonymous$$d, so my solution to that was that if the was walking on a slope he would get a -y speed according to how steep the slope is in order to stick him to the slope. that worked pretty well except for one flaw that is if I walk off that said slope into mid air the character gets that -y speed for 1 cycle of calculation resulting in what looks like a downward lag spike, if I could check whether the character is grounded in the next calculation I would be able to prevent the character from getting that -y speed before he actually goes airborne so he wont get a sudden downward spike.

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

19 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

Related Questions

if (controller.isGrounded == false) (for more than) public int time = 1.0F; // do stuff 2 Answers

Grounded state problems when sliding 0 Answers

Predict Charactercontroler movement 1 Answer

adding a gravity system to character controller 1 Answer

Character Controller is never Grounded 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