Neos-Metaverse / NeosPublic

A public issue/wiki only repository for the NeosVR project
197 stars 9 forks source link

Physics Rigidbody simulation #22

Open Frooxius opened 6 years ago

Frooxius commented 6 years ago

Add support for physics rigidbody simulation and related functionality. With the BEPUv2 upgrade nearing completion, I'm updating this issue to better explain what will actually be coming with proper Physics Rigidbody simulation.

With the upgrade (https://github.com/Neos-Metaverse/NeosPublic/issues/232) it is actually possible to get rigidbody-like behavior by unlocking rotation on the CharacterController. This is a lot of fun to play with, as it will mostly behave like actual rigidbody, but it's very important to understand its limitations.

This is because CharacterController under the hood is actually a rigidbody (typically with rotation simulation locked) with extra stuff for good character control. Now this extra stuff is part of what doesn't make them suitable for large scale simulations - they'll be glitchy, eat a lot of CPU and network bandwidth. They are optimized for different use-case:

Why character controllers aren't suitable for rigidbody simulations

Now if you understand these limitations, feel free to have fun with them in the meanwhile, before the full support actually comes. Neos is all about tinkering, toying around and messing with things and it will give you a bit of a taste of what will come.

Here are some examples of how the "proto-rigidbodies" behave: https://youtu.be/Oz8q7_GUDV4 https://youtu.be/8dQZjtt9t-4

What will full rigidbody support offer?

The full rigidbody support covered by this issue is a significant chunk of work that will come after the BEPUv2 upgrade completes. It will focus on following:

Make sure to also check the roadmap for physics support, we'll expand it with individual tasks once work begins on this (we're still finishing BEPUv2 upgrade at the moment, so it won't happen before then): https://github.com/Neos-Metaverse/NeosPublic/projects/19

pushstartvr commented 6 years ago

This sounds amazing, I could imagine this wouldn't be possible on mobile though? maybe make it an option in the "new world" dialogue

Karel64 commented 5 years ago

Will allow for major Neos car and truck riding funtime! 😃

Simulacron3 commented 5 years ago

And moon buggies and elevators and flying carpets! What is a world without gravity and the rest of physics?

Frooxius commented 5 years ago

Pre-requisite: https://github.com/Frooxius/NeosPublic/issues/232

Frooxius commented 2 years ago

With BEPUv2 upgrade nearing completion, I have updated the original post to better describe what's coming and why is this a separate issues - rigidbodies are coming as a separate chunk of work after #232 is completed, so do not expect them in the initial release!

Please give the original post a read if you can to better understand what's coming now and what will come at later point.