Issues with Crawl and Capsule Collider Positioner

Cheo

Active member
Hello, I spent some time experimenting with the Crawl ability this morning, and have a few things to report about it and the Capsule Collider Positioner. First here's a video :


-This is not just about the agility scene, but when unchecking Adjust Height and using the hips bone (which is assigned by default) the character quickly experiences some vertical jitter.

-The Crawl ability was not designed to work on slopes. Nonetheless, the demo agility character is able to crawl onto one correctly if Hips Position Adjustment Speed is set to 0 in Character IK.

-I tried rotating the capsule collider by 90 degrees when starting the ability, but that caused it to be moved forward and backward successively for 2 frames before being in a correct position. The reason why I did that is that the Capsule Collider Positioner is meant to be used with a capsule on the Y axis, which, in the specific case of the Crawl ability, is a significant limitation - it would also be in the niche case where a dev were to create a character that has a long horizontal shape.

-When trying this method, I got correct results when crawling onto flat surfaces, but not when going up a slope. As you can see on the video, the capsule collider is elevated above the slope, and I was not able to get the character model to be positioned correctly even when changing the center offset value.

I've said it before, but this current crawl example is not good, I'm not asking for something with the same quality as MGS 5's crawl, but I really wish we could have an example with a simple horizontal collider in the future.
 
-This is not just about the agility scene, but when unchecking Adjust Height and using the hips bone (which is assigned by default) the character quickly experiences some vertical jitter.
This is because the hips position is changing due to the vertical animation position. Ideally you'd have a different target that is not animated in order to better adjust the height.

-The Crawl ability was not designed to work on slopes. Nonetheless, the demo agility character is able to crawl onto one correctly if Hips Position Adjustment Speed is set to 0 in Character IK.
That makes sense, the CharacterIK component is designed for an upright character so setting the weight to 0 makes sense.

-I tried rotating the capsule collider by 90 degrees when starting the ability, but that caused it to be moved forward and backward successively for 2 frames before being in a correct position. The reason why I did that is that the Capsule Collider Positioner is meant to be used with a capsule on the Y axis, which, in the specific case of the Crawl ability, is a significant limitation - it would also be in the niche case where a dev were to create a character that has a long horizontal shape.
Instead of setting the rotation you could try changing the axis of capsule collider to X-axis. I'm not sure how well this would work at runtime though.

-When trying this method, I got correct results when crawling onto flat surfaces, but not when going up a slope. As you can see on the video, the capsule collider is elevated above the slope, and I was not able to get the character model to be positioned correctly even when changing the center offset value.
Blitz provides a good example of a horizontal collider. It does use a different movement type but that shouldn't affect the collision detection.
 
Here's a video I had on the back-burner for a while in which I come back to this topic.


You can see some issues with the demo horse being unable to go up slope starting from 35 degrees regardless of the Slope Limit value. The horse is still able to climb up by moving in small diagonals. In addition, you can see briefly at 2:30 that the horse is moving slightly upward when idle, and some force seems to be applied to him when going off a slope.

You can also see what happens when setting a capsule collider's axis to X at runtime (makes the character fall through the floor and widens indefinitely the length of the collider) and when activating a collider which axis had already been set to Z - it throws an error saying that the Capsule Collider Positioner can only handle capsule collider on the Y axis. Could a Capsule Collider Positioner able to adapt to X and Z axes be taken as a feature request in the future ?

I'm still not done testing this however, the fact remains that Blitz can handle low slopes without issues while Atlas still has issue with that. I will likely come back to this thread soon, hope that all of this was helpful already.
 
Back
Top