Skip to content
This repository was archived by the owner on Jul 22, 2024. It is now read-only.

Commit 629f180

Browse files
authored
Merge pull request #144 from delapuente/issue-124-add-toggle-vr-key
Adding a key for quick VR/normal toggle
2 parents fe3b61e + 1ced93b commit 629f180

File tree

6 files changed

+104
-356
lines changed

6 files changed

+104
-356
lines changed

Assets/WebGLTemplates/WebVR/webvr.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
var sitStand = mat4.create();
2121
var gamepads = [];
2222
var vrGamepads = [];
23+
var toggleVRKeyName = '';
2324

2425
if ('serviceWorker' in navigator && 'isSecureContext' in window && !window.isSecureContext) {
2526
console.warn('The site is insecure; Service Workers will not work and the site will not be recognized as a PWA');
@@ -63,6 +64,11 @@
6364
vrDisplay.requestAnimationFrame(onAnimate);
6465
}
6566
}
67+
68+
// Handle quick VR/normal toggling.
69+
if (msg.detail.indexOf('ConfigureToggleVRKeyName') === 0) {
70+
toggleVRKeyName = msg.detail.split(':')[1];
71+
}
6672
}
6773

6874
function onToggleVR() {
@@ -317,13 +323,20 @@
317323
});
318324
}
319325

326+
function onKeyUp(evt) {
327+
if (toggleVRKeyName && toggleVRKeyName === evt.key) {
328+
onToggleVR();
329+
}
330+
}
331+
320332
// Monkeypatch `rAF` so that we can render at the VR display's framerate.
321333
window.requestAnimationFrame = onRequestAnimationFrame;
322334

323335
window.addEventListener('resize', onResize, true);
324336
window.addEventListener('vrdisplaypresentchange', onResize, false);
325337
window.addEventListener('vrdisplayactivate', onRequestPresent, false);
326338
window.addEventListener('vrdisplaydeactivate', onExitPresent, false);
339+
window.addEventListener('keyup', onKeyUp, false);
327340
document.addEventListener('UnityLoaded', onUnityLoaded, false);
328341
document.addEventListener('Unity', onUnity);
329342
entervrButton.addEventListener('click', onToggleVR, false);

Assets/WebVR/Models/Materials.meta

Lines changed: 0 additions & 10 deletions
This file was deleted.

Assets/WebVR/Plugins/WebGL/webvr.jslib

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,9 @@ mergeInto(LibraryManager.library, {
1010

1111
PostRender: function () {
1212
document.dispatchEvent(new CustomEvent('Unity', {detail: 'PostRender'}));
13+
},
14+
15+
ConfigureToggleVRKeyName: function (keyName) {
16+
document.dispatchEvent(new CustomEvent('Unity', {detail: 'ConfigureToggleVRKeyName:' + Pointer_stringify(keyName)}));
1317
}
1418
});

Assets/WebVR/Prefabs/WebVRCameraSet.prefab

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -284,8 +284,9 @@ MonoBehaviour:
284284
m_Script: {fileID: 11500000, guid: 2330d5cea21bb564e97ad081f15487d9, type: 3}
285285
m_Name:
286286
m_EditorClassIdentifier:
287-
leftHandObj: {fileID: 0}
288-
rightHandObj: {fileID: 0}
287+
leftHandObject: {fileID: 0}
288+
rightHandObject: {fileID: 0}
289+
toggleVRKeyName: v
289290
--- !u!124 &124144808855090856
290291
Behaviour:
291292
m_ObjectHideFlags: 1

0 commit comments

Comments
 (0)