This is the first XR experience powered by your imagination. You'll be able to conjure up any object and play with it. The project works on AR/VR Quest headsets. To keep this project completely cost-free, a Sketchfab login is required.
How to sideload apps on the Oculus Quest
The project is built using Unity 2019.4.32f1. It uses third party SDKs:
- Oculus Unity Integration v34
- Modified version of Sketchfab Unity integration
In Sketchfab Unity integration following changes were done:
- Added SimpleJSON to fix missing dependency
- Ported integration to Android
- Removed prefab creation code
- Removed Sketchfab exporter
- Removed Sketchfab precompiled library
- Removed UI which didn't make sense anymore
- Replaced GLTF importer with GLTFUtility
-
Magic ball was inspired by Terminator 2 time travel effect. My version of the effect don't have lightning outside of the ball because it would make it too dramatic. Using passthrough layer I received automatically mask of the model and assign the secondary effect only on that object without need of writing complex shaders.
-
Background music was originally a remix of a song Gala - Come into my life I did 15 years ago. I reopened the project and made from it ambient music loop which has now with the original song nothing in common (except coords). This simple loop helped the experience to give it a nice relaxing feeling and also it is helped in audiovisual feedback.
The project scripts are located in Assets/Conjuring/Scripts.
Core - the main logic
MagicBall.cs- Magic ball state handling, assigning and destroying objectsModelConjuring.cs- Logic of conjuring objects using VoiceSDK and modified Sketchfab integrationSketchfabIntegration.cs- Sketchfab login, model searching and downloading integration
Screen - actions called from UI
ScreenLogin.cs- Integrates login screen persistency and actionsScreenWait.cs- Monitoring authentication process and decision of next screen to be shown
Utils - Audio, UI and other utilities
AudioVolumeHandler.cs- Handling of background music volumeUITransform.cs- Updates UI transformation to be visible to the userVRPointer.cs- Using controller or hand, this class integrates usage of UI objects
- Facebook/Meta for organizing XRHackathon
- the great hackathon community for sharing useful tips
- Sketchfab who provided me with a temporary enterprise account after I told them about this project.
- my girlfriend for supporting me

