(Milestone) Physical Interactions & Animations - xavier150/MMVS GitHub Wiki
Physical Interactions & Animations

The Physical Interactions & Animations is a voting option for a future update to Macro Micro VR Service.
This update will be available after the MMVS SDK update and is expected to require six months of development.
During game development, I mainly focused on static gameplay without much physical variation and this update aims to add many more physical interactions.
The physical interactions will have a direct impact on gameplay and also make animations much more realistic by using the physics engine.
I have several examples in mind for this update:
Paw Landing Impact
When Talas is leaning against a wall, he can lift his paw and stomp it against the ground.
This is currently handled only with a mix of procedural animations and triggers to detect if the player gets crushed under the paw.
The AI or the game master can choose the height of the paw and the inclination. So they can land the paw with more or less force,
but there is not really velocity management, the paw always hits the same place and it's not possible to orient the paw freely since it's handled by strict values.
With real physical animation management, it will be possible to choose the orientation of the paw, the movements, or where it should strike, etc.
If the player gets crushed under the paw, it will fully take the impact force into account.
The player could also just be pushed by the paw or be slightly compressed without damage.
Compression and Crushing between Talas's paws
Another example is how physics can replace triggers when the player is crushed and compressed. Currently, when Talas is sitting on the ground, he can crush the player between his two paws.
Like before, this is very rigid. The code triggers the animation and a trigger in the animation detects if the player is in the crushing zone to apply the crushed state with damage.
With this update, the physics engine will move Talas's paws. The player can be pushed between them, and it's the physics engine that will really define the player's state and damage based on the real compression.
This will also allow for more advanced and varied interactions. For example, the AI or the game master can choose how much force Talas uses when squeezing his paws. From light compression to total crushing. Slowly or violently.
Physical Animation Management for the whole body
This will also make it possible to improve and fix certain animations and reactions with the world.
For example, Talas's paws tend to pass through the ground or walls in certain situations. With physical animation management, this will be automatically fixed by the physics engine.
Another example is when the ground is not perfectly flat. It will be possible for Talas's paws and toes to actually adapt to the ground.
This update may be quite heavy as it requires reviewing the character code to handle real physical movement management.
In Unreal Engine, the character's physics and physical objects are not handled the same way and are not very compatible.
The character has simulated physics, while physical objects are fully physics-based and simulated by the Chaos physics engine.
I invite you to read my devblog from August 2024, where I explain some technical constraints I encountered: Devblog August 2024
I'm planning to use an experimental plugin that allows for real physical character movements.
The Mover Plugin: Mover Plugin Unreal Documentation
This will require additional research and development time.
This update will also make the game more CPU-intensive due to physics calculations and increase network bandwidth usage to synchronize the different physical elements in multiplayer.
Additional time for optimization will also be required.
Return to roadmap: Milestone List