New Character Controller for Worlds
in progress
Fax
We're working on a new character controller for VRChat worlds.
It works mostly like VRChat's current character controller, but has a variety of improvements:
- Players can stand on moving platforms.
- Going up stairs and slopes is smoother.
- Players can get pushed around by the colliders.
- It's better at getting players unstuck from geometry.
- Udon has greater control over the character controler.
... And more! This feature is still in development and subject to change.
Log In
DrakenStark
Was about to make a canny specifically for scalable player colliders. This will be exactly what I need for this:
`Squishy
I want to link this system and it's demo world by Prismic247, for consideration in this work on the character controller.
Whilst the system itself relies on typical ingenius but janky work arounds in true VRChat fashion, having accurate scaled collision feels so right. Being able to imersively crawl under a low space especially, rather than getting stuck on something far above your avatar, makes the current fixed collider we've all had to become accustomed to, just feel primitive and un-intuitively strange by comparison.
Thanks.
Shaun
As long as the fixed collider remains the default option for backwards compatibility, this would be awesome!
Nidonocu
>Players can stand on moving platforms
Does this mean we might finally be able to get away from using VRCStation for things like vehicles?
Xiexe
Nidonocu a moving platform could technically be a vehicle in the sense that you could for instance have a truck bed, and be standing in the truck bed as the truck is moving.
Ideally, a station would still be used to seat the player who is actually driving the truck, though.
One limitation here is the slope angle limit - if you’re on a platform and it rotates past the max angle of a surface that the player can stand on, you’ll still slide off of it.
Prismic247
Would this happen to include a way to modify the size of the player's collider, since that's a part of the character controller? 1.6x0.4m is a good default, but giving worlds the ability to not only vary the collider by avatar scale, but also crouch/prone state, opens up so much more potential for immersion and creativity.
While we're at it, perhaps step height as well?
Xiexe
Prismic247 The goal is a two staged approach where the first iteration will just be a drop in replacement with improvements, and the second iteration will expose a bunch of functionality to Udon / creators.
That does include all of the settings in the controller, including some form of height control, though we don’t currently know exactly what that will look like.
`Squishy
Xiexe Just want to drop my hopeful +1 for Prismic's request. Would be really great to have.
I'm currently developing a world myself, and to get around the fixed player collider I've had to instead blow up the world itself by 20x in scale, and screw around with turning world colliders on and off. And if I'd been able to simply scale player colliders acordingly, it would have made this SOOO much easier. ^ ^;
Prismic247
`Squishy I wrote a Scaled Collider System prefab that allows for what you're trying to do in a more automated way that accounts for a user's height scale. I have a demo world for it as well that you're free to check out, and the VCC package is on github.
`Squishy
Prismic247 Ah yeah, someone recommended it to me just a day or two ago before I saw this. Tried the demo world and it's really cool to see properly scaled and dynamic player collision like that. Going to show it to some friends.
Sadly still having some issues trying it for my own world. The instability at smaller sizes is problematic for what I wanted to do, which has got me trying to find a work around by still slightly blowing up the world regardless, and scaling all players up proportionately. And I'm apprehensive about it conflicting with other systems such as climbing.
If we could just scale player collision directly though, rather than crazy duplicates of the world itself... Plz devs...
rollthered
"It works mostly like VRChat's current character controller"
>Proceeds to tell you why its so much better and is nothing like the AWFUL character controller we have now and why this new one is going to be amazing.
Jokes aside, this is neat and I am excited to see it released. :) <3
IgbarVonSquid
I will be upfront and say that literally anything you can do that'll make surf maps viable would be incredible.
Enemy number one is this issue: https://feedback.vrchat.com/bug-reports/p/airborne-movement-speed-acceleratio-is-tied-to-framerate
Another welcome change would be for players to be affected by the friction on physics materials so you can actually have slippery surfaces without having to do rigidbody-teleport-every-frame shenanigans
Rainwolf plush
out of curiosity would it be possible to new character controller to do like rotational gravity without having to exploit the hell out of a VRC station
Fax
Rainwolf plush: I don't think that'll be part of the new character controller, sorry!
.... Buuut I hope you'll enjoy the platform shenanigans. I think escalators might be possible, too?
Fax
in progress
We're currently testing some of the basic aspects of the new character controller. This might take a while!