Super Mario 64 partial re-make in VR using the Oculus Rift and Razer Hydra.
You can download the latest release executable here:
- Oculus Rift DK1
- Oculus Rift DK2
- Positional tracking
- Movement & jumping via positional tracking
- Razer Hydra
- Hand tracking
- Grab objects
- Movement
- Leap Motion
- Grounded and HMD mounted
- Hand tracking
- Grab objects
To calibrate a controller:
- Point it to the base receiver.
- Press LT/RT.
- Place controller in front of respective shoulder and press Start.
- Move controller forward and your virtual hand should appear in front of you.
- W / Up Arrow - Forward
- A / Left Arrow - Left
- S / Down Arrow - Backward
- D / Right Arrow - Right
- Space - Jump
- Esc - Menu
- Ctrl + M - Trigger movement using DK2 positional tracking
- Ctrl + J - Trigger jump using DK2 positional tracking
- Shift + M - Swap between rotation and straffing on X axis when using DK2 positional tracking for movement
- Left Joystick - Move
- Right Joystick - Look
- LT / RT - Grab object
- RB - Jump
- L3 / R4 - Menu
- Start - Freeze / Unfreeze hand
- Pinch - Grab object
The following controls apply in case where "Positional Tracking" is enabled for movement.
- Lean Forward - Forward
- Lean Left - Left
- Lean Backward - Backward
- Lean Right - Right
- Poke Head Upward - Jump
- Upgrade project to Unity 5 Personal edition.
- Improved hand tracking using the Leap.
- Leap hands now follow the player camera's orientation.
- Force using the Rift when launching the game via the Direct To Rift executable.
- Decrease arm length and reach with Hydra.
- Fix distortion of music in each level.
- Significant performance improvements, particularly on reducing stutter.
- Look up/down via mouse or hydra when Rift isn't present.
- Decrease Mario's collider height to smoothly walk under doorways.
- Initial release.
- [BUG] Fix "Screen position out of view frustum" in NGUI library. Occurs when initially loading up Unity 5 session.
- Extend Sixense using the new SixenseHandsController script instead of the legacy SixenseHandController script.
- Unity web player support
- Co-op Multiplayer via LAN or online.
- Mario hand interactions using keyboard:
- Punch
- Grab and throw objects
- Open doors
- Mario hand interactions using mouse.
- Hydra look sensitivity too high when DX11 enabled, but that is also required to reduce judder with Rift.
- Screen fades out when Mario loses life.
- Improve Mario's left hand model stretching when using Sixense tracking.
- Mario has arms when using leap motion.
- Better skeletal movement of arms when using hand tracking.
- Player can swim
- Mario animations for:
- running
- jumping
- stomping
- climbing tree/pole
- swimming
- Mario sound effects for:
- walking
- running
- jumping
- double and triple jumping
- stomping
- climbing tree/pole
- swimming
- Mario's hat bobs as player shakes their head.
- Full body tracking (PrioVR, SixenseVR).
- Fix transparency on textures for Princess Peach's Castle area.
- Toad inside first floor.
- Animate waterfall.
- Birds & butterflies animated outside castle.
- Sounds outside castle including birds, waterfall.
- Enemies release coins on first spawn.
- Increase frequency of boulders coming down the mountain.
- Breaking certain small and big blocks releases coins.
- Goomba sometimes disappears likely due to occlusion setup.
- Transition to Bob-omb Battlefield when jumping into its painting.
- Add rotation to lifts when they reach top and bottom of cliff.
- Replace goomba's jumping sound with correct one.
- Replace goomba's running sound with correct one.
- Walking sound for King Bob-omb.
- Smoke effect when goomba disappears after being squished.
- Sound for squishing goomba.
- Goomba stops following player when player is past a certain distance away from goomba.
- Mario can open gate at ground of mountain by hitting switch.
- Chomp enemy.
- Heart near top of mountain.
- Certain cannons shoot bubbles.
- Mario can enter and be shot out of certain cannons.
- Teleportation points in group of flowers and cave along mountain.
- Letting KB go gently at ground sometimes causes him to freeze without registering damage to KB. This is due to the collision occuring before player lets go of KB.
- Grabbing KB using Leap whilst being thrown causes KB to float away waving.
- KB doesn't return to spawn point if player throws KB and then player leaves the battleground perimeter.
- Level is completed when player grabs star with Leap hands, instead of only when colliding with it with hands.
- Player can grab KB too soon after he recovers from damage.
- Player should drop boss if he falls off ledge.
- Better movement of star to its final position.
- Display stats on stars collected in level or world.
- Use Leap to navigate through menu.
- Use Sixense to navigate through menu.
- Use MYO to navigate through menu.
- Add title scene menu music from original game.
- Mario spins continuously when he is atop certain moving objects, including: pink bob-omb.
- Shadows for signs, trees.
- Star model has a hole at its top tip.
- Replace current coin sound with original sound from game.
- Minigames in World 1, such as throwing shells at goombas with timer.
- Luigi as a second player.
- Enhanced Multiplayer via LAN or online.
- MYO Integration.
Please don't hesitate to send pull requests or suggest issues.
Note that managing changes to scenes can be tricky from a merging point of view, so please coordinate with me if you wish to do so.
The MIT License (MIT).
See LICENSE file for more details.
- Alec Pike
- Chris Zaharia
- Friedslick6
- Jon Gonzalez
- MarioKart64n
- Maximo
- William Burke
Super Mario 64 is owned by Nintendo Co., Ltd. This project has no affiliation with Nintendo Co., Ltd.
This project is only a not-commercial tech demonstration on the implementation of virtual reality for the popular title.