mid
unread,Oct 14, 2022, 7:13:15 AM10/14/22Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to ode-...@googlegroups.com
Hello, all. I'll try to condense this to the bare minimum, but prepare for a doozy.
My character is an up-right capsule. The capsule is made to walk with continual calls to dBodySetLinearVel (the Y coordinate is unchanged for gravity).
However, if this capsule walks into any box geometry, or any short trimesh wall, or any tall trimesh wall at any angle over 90 degrees, it begins to climb upward.
All of my contacts have mode dContactApprox1 and a mu of 1. My time step is 1/20s.
Things that don't work:
* Increasing mu
* Decreasing the time step
* Decreasing walking speed
* Moving the capsule using forces
Removing dContactApprox1 works but causes all bodies to move in a jumpy manner, and they even phase through the level geometry if pushing on it for long enough. Here, decreasing the time step appears to fix that, but 1/100s seems needlessly inefficient. Without dContactApprox1 ODE also spams my console with LCP internal errors.
Adding dContactSlip1 | dContactSlip2 works but causes other unwanted behaviour.
Making the character a box or a cylinder seems to fix the issue, but then it bounces around as it walks, giving a very bad user experience.
I complain about all of my above solutions, because they appear to only fix the symptom, not the real issue at hand.
I thought this would be a very common problem, but I could not find anything. Help will be appreciated. Hoping someone with an intuition can snap toward the bug. I can attach a video showcasing the behaviour.
Thank you for reading.
Sent with Proton Mail secure email.