ExtendRealityLtd / VRTK

An example of how to use the Tilia packages to create great content with VRTK v4.
https://www.vrtk.io/
MIT License
3.69k stars 1k forks source link

[enhance] Completely Physicalized Player Presence/Better Climbing, Etc. #533

Closed xEvoGx closed 8 years ago

xEvoGx commented 8 years ago

Seeing as we may be aiming at improving Player Presence ( see #529 / #523 ) might I suggest that it is completely physics based, which might make for superior climbing system.

Similar to how Interactable Objects are treated, which can be Fixed Joints, Spring Joints, Tracked Objects, etc, instead of moving the [CameraRig] as a kinematic object, just move it with the same physics. Is there any reason this isn't possible? This way it's entirely conceivable that it would allow for better climbing, perhaps with a bit of movement with the spring joint. Additionally (and arguably more significantly) if the player tries to push through geometry, the CameraRig would be caught on the other collider and the joint would eventually break, causing them to fall, just as what happens now with held objects!

No switching physics states and (hopefully) a reliable 100% physics based character system.

Oh please tell me this is doable :sweat_smile:

thestonefox commented 8 years ago

Is this a question about climbing or player presence?

Because player presence is just a non-kinematic rigidbody already.

Also I believe a physics based climbing system is possible, i think Climby uses physics based climbing.

xEvoGx commented 8 years ago

Little of column A, a little of B. I know that Player Presence has a rigidbody and it works well most of the time, short of the aforementioned collision issue what with it being a box rather than capsule. The Climbing shines a light on how 'kludge-y' the whole system is, so I was suggesting we make it more complete, more robust so it's behavior is consistent.

IMHO there will come a point where we'll be moving around more in VR rather than teleporting, as we gather our VR legs underneath us, so a complete collision solution like there is in modern non-VR games would be ideal.

xEvoGx commented 8 years ago

...oh and by Climby, do you mean Grow Home or something else?

thestonefox commented 8 years ago

how do you mean make the player presence more complete? what things could be added?

at the moment the concept is it makes a non-kinematic rigidbody around the player so you're affected by gravity and you can collide with other world game obejcts.

xEvoGx commented 8 years ago

Well you play videogames. More like a character controller perhaps? Integrate jumping(add force/HMD or button input), fix the climbing, react to moving platforms/elevators, surface sliding (I think this may exist currently), and the previously requested Arm Swing motion and so on (I am using Electric Night Owl's Arm Swinger quite successfully so that last one might not be necessary.)

Maybe all of this is outside of the scope of this asset, perhaps, but I'd at least like to get a conversation going about these things. I feel like so much of what has gone into VRTK has revolved around teleporting that physical movement through VR worlds has been tacked on, evidenced by the primary collider being a box and the climbing system being janky (I know you didn't implement that).

I can quite easily get nauseated either by sitting in the back of a car reading or initially in VR while moving around, but the effects now have lessened or have gone away completely. Experiencing movement through these worlds, especially the Climbing, has enhanced the enjoyment to such a degree, that I can see great value in a robust system that affords this.

At least look at it constructively and ask yourself where the system could be augmented. So much of VRTK is so good, I don't see why not. :smile:

thestonefox commented 8 years ago

This does seem out of scope.

Player presence is the concept that the player is affected by gravity and can collide with other game world objects.

Things like jumping, movement (sliding or arm swinging) are not to do with the player presence script.

Whilst they may benefit from that script they would not be within the scope of the script and would be separate things.

xEvoGx commented 8 years ago

Well fine forget Player Presence...I just mean VRTK as a whole, hehe

thestonefox commented 8 years ago

I think everything mentioned in here already has a ticket open for it, i suggest close this ticket.

xEvoGx commented 8 years ago

Fair 'nuff!