Sluice Room
About the Game
During the winter holidays, I along with a friend my mine, were approached by an old client of mine (For whom I created many VR games in the past) from TVPP. He had a client who had a product which they wanted to display in VR. The client was specific from the beginning that he wanted to created this for Samsung Gear VR as this was the only commercial VR product in the market and more importantly it was wireless. So the game was to go inside a room where object in the room will fall from above (animation) and one of them would be the product they wanted to display. When you look towards the device, it would display 3 videos which basically explain what the device is.
The app was designed by our lecturer but she needed a developer to make it into VR. So my friend who is a designer edited the 3D models and lighting accordingly so I could bring it into Unity.
Development
The app was designed by our lecturer but she needed a developer to make it into VR. So my friend who is a designer edited the 3D models and lighting accordingly so I could bring it into Unity.
However, there was 1 problem that kept me thinking for a while. Playing videos in mobile devices (Android and iOS). I tried very hard to get this working but then I realised, why re-invent the wheel and not see if there is a plugin on the Unity Asset Store. I found a few free ones but they were only compatible with Unity 4 and not 5. So I kept looking and came across a plugin but it was about $45. We asked our client if it was ok and it was so we bought the plugin, figured it out it works and I got it to work. We first tried to see if the video plugin works and it did. See image 4.
Image 4
When the video plugin started to work, the rest of the app was extremely simple. In the first draft, the player would have to tap to play the video or select anything but our client said that he wanted a 3 second count down which would appear when the user will simple look at the object he wants to select and eliminate the effort made by the player to lift their hand every time and tap on the right hand side of the Samsung Gear VR. So I had to create a Gif in Photoshop. See image 5.
Image 5
Before this VR project, my previous VR projects were in JS (Java Script). So first I converted my JS Ray-Cast script into C#. I created a long list of if statements saying that if it detects Video1, then take me to Video 1 scene, same for video 2, 3, closing all videos and getting back to the main menu. See image 6.
Image 6
Conclusion
I feel that this was a very easy project but it taught me about getting videos into mobile devices and also into VR environments.
Additional Documents
I wrote some additional documents which I had to sent to my client. First was "Future Development" which basically explains if they need to make changes by themselves and if we are not available. Basically we are handing over the project. It also talks about the file structure. Then next is about "How to get Device ID". As the app is still under development and not published, to see how it looks onto the device, unity produces device locked build files so you have to pre-define unity for which device are you building for and it requires the device id for it. And lastly you have "How to install VR Sluice Room" document which basically explains them how they can install the app to their device that I sent them.
Future Development
This Samsung Gear VR App is made on a "Mac OS 10.5.5 (Yosemite)", using software "Unity 4.6.9", along with Oculus Plugin "Unity 4.x Legacy Integration V0.8.0.0". The Oculus Plugin can be found on the Oculus Website under development and then Downloads.
If still developing the app and if you want to test it to see what it looks like on a phone, you have to export differently for each device you test.
First login to Oculus website (if you don't have a Oculus Developer account then create one).
After logging in, click on the link below. Add your "Device ID" and click on download. You will have downloaded a file. https://developer.oculus.com/osig/
Now take the downloaded file and place it Sluice Room > Main Assets > Plugins > Android > assets. If there is a file that already exists called "oculussig_......" then remove this file and place the file you downloaded in this folder.
After that open Room Scene placed in "Alastair’s Shizzle", its called "Room2.0". Then click "File" > "Build Settings" and press "Build & Run". (Please remember to plug in your android device before pressing build and run)
It should run the VR app on the device after its done loading.
In the Sluice Room, in the Main Assets folder your going to find-
Folder 1 "Alastair's Shizzle"
Animations- Room Animations
Materials- Materials and the textures for the room
Model- Room 3D Model (.FBX Format)
Room2.0- Unity main room scene
Folder 2 "Easy Movie Textures"
Do not do anything in this folder as this is the plugin that play's the video. Plugin is called "Easy Movie Textures" and it can be found on "Unity Asset Store".
Folder 3 "Images"
Green UI images (.PNG Format)
Image Animation- Unity animation files for the UI
LoadImgs- Frame animation for the "3,2,1" (.PNG format)
Folder 4 "OVR"
Do not do anything in this folder as this is the "Oculus Plugin" for the VR camera to work in the game.
Folder 5 "Player Movement"
You will find the animation for the player in the beginning when they enter the room
Folder 6 "Plugins"
Do not do anything in this folder as this is a plugin at comes from "Oculus" for playing VR on Mobile.
Folder 7 "Scenes"
Here you will find 3 scenes (Room1, Room2, & Room3) where the 3 videos are for the user to watch. Room1 contains video 1 "PortalLorRPulpmaticExplodetest", Room 2 contains video 2 "PortalTopTXSilverIonTech" and Room 3 contains video "PortalLorRusage4kTX".
Folder 8 "Scripts"
Here you will 2 C# scripts-
Raycast- The script controls the Main Room scene
Video1- The script controls the scenes "Room 1, Room 2 & Room 3"
Folder 9 "Streaming Assets"
Here you'll find the videos played in the game
Future Development
If you want to SKIP Step 1 and 2, just click on the link below from your Note4, S6 or S6Edge Device and go to step 3
https://play.google.com/store/apps/details?id=com.skyworxx.gearvrnote4deviceidgrabber&hl=en_GB
Step-1 Open Play Store on your Note 4 or S6 or S6Edge. Or just click on the above link from your mobile.
Step-2 Type in the search box "DeviceID Grabber" and you shall find the app called "GearVR Note4 DeiceID Grabber".
Step-3 Tap on install and install the app.
Step-4 Find the app on your device and open it (Tap on it).
When you open it the "Device ID" should be displayed. Please note down the number and your device name and email to Debs Wilson at debs.wilson@winchester.ac.uk . So your device ID may something like 0f87d98s6 and your device name would either Note4, S6 or S6 edge.
"Samsung Note 4" is the Device Name and the alpha-numeric number "87df89dd" is the device ID.
How to install VR Sluice Room
Before you do anything else, unlock your android device, go to "Settings", scroll down and choose "Lock Screen and Security", Scroll down and enable the "Unknown Sources".
Step-1 Open Email (From Mobile Device)
Step-2 Tap on the link
Step-3 Tap on the 3 circled icon at the bottom right
Step-4 Tap on Export
Step 5 Tap on Save to Device
Step-6 Select "Downloads" folder
Step-7 Tap "Save" at the bottom right
Setp-8 Exit Dropbox and everything else
Step-9 Locate File manager in your apps
Step-10 Tap on "Recent Downloads"
Step-11 Wait for it to download. File should be "VR Sluice Room" If a green android icon displayed then wait, if Unity icon is displayed then tap on it. It should be called "Sluice Room DDC...."
Step -12 Tap on install and wait for it to install
Step- 13 Just Tap "Open"