Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
779 changes: 731 additions & 48 deletions Assets/Game.unity

Large diffs are not rendered by default.

9 changes: 9 additions & 0 deletions Assets/Prefabs.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

101 changes: 101 additions & 0 deletions Assets/Prefabs/InteractiveCube.prefab
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &127578
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
serializedVersion: 4
m_Component:
- 4: {fileID: 440896}
- 33: {fileID: 3312230}
- 65: {fileID: 6599664}
- 23: {fileID: 2373610}
- 114: {fileID: 11488768}
m_Layer: 0
m_Name: InteractiveCube
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &440896
Transform:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 127578}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
--- !u!23 &2373610
MeshRenderer:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 127578}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_Materials:
- {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
m_SubsetIndices:
m_StaticBatchRoot: {fileID: 0}
m_UseLightProbes: 1
m_ReflectionProbeUsage: 1
m_ProbeAnchor: {fileID: 0}
m_ScaleInLightmap: 1
m_PreserveUVs: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingOrder: 0
--- !u!33 &3312230
MeshFilter:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 127578}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!65 &6599664
BoxCollider:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 127578}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 1
serializedVersion: 2
m_Size: {x: 1, y: 1, z: 1}
m_Center: {x: 0, y: 0, z: 0}
--- !u!114 &11488768
MonoBehaviour:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 127578}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 63b4adc357e004ca4af28496b27ef338, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1001 &100100000
Prefab:
m_ObjectHideFlags: 1
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications: []
m_RemovedComponents: []
m_ParentPrefab: {fileID: 0}
m_RootGameObject: {fileID: 127578}
m_IsPrefabParent: 1
8 changes: 8 additions & 0 deletions Assets/Prefabs/InteractiveCube.prefab.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

58 changes: 58 additions & 0 deletions Assets/Prefabs/Reticle.prefab
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &136486
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
serializedVersion: 4
m_Component:
- 4: {fileID: 496566}
- 114: {fileID: 11450000}
m_Layer: 0
m_Name: Reticle
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &496566
Transform:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 136486}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -0.44459105, y: -0.33474207, z: -0.5}
m_LocalScale: {x: 0, y: 0, z: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
--- !u!114 &11450000
MonoBehaviour:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 136486}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 2013ffd1a13234a78aef4c7c481dde37, type: 3}
m_Name:
m_EditorClassIdentifier:
m_DefaultDistance: 5
m_UseNormal: 0
m_Image: {fileID: 0}
m_ReticleTransform: {fileID: 496566}
m_Camera: {fileID: 0}
--- !u!1001 &100100000
Prefab:
m_ObjectHideFlags: 1
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications: []
m_RemovedComponents: []
m_ParentPrefab: {fileID: 0}
m_RootGameObject: {fileID: 136486}
m_IsPrefabParent: 1
8 changes: 8 additions & 0 deletions Assets/Prefabs/Reticle.prefab.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 9 additions & 0 deletions Assets/Scripts.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

70 changes: 70 additions & 0 deletions Assets/Scripts/GameManager.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
using UnityEngine;
using System.Collections;
using VRStandardAssets.Utils;

public class GameManager : MonoBehaviour {

private VRInteractiveItem[] m_InteractiveItems;
private VRInput m_VRInput;

[SerializeField] GameObject m_CameraContainer;
[SerializeField] float m_MovementSpeed = 3f;

// Use this for initialization
void Start () {
SetupGaze();
SetupMovement();
}

void SetupGaze() {
// Find items that can be interacted with via gaze
m_InteractiveItems = GameObject.FindObjectsOfType<VRInteractiveItem>();

// Subscribe to appropriate events on each interactable item
for(int i = 0; i < m_InteractiveItems.Length; i++) {
var item = m_InteractiveItems[i];
item.OnOver += delegate() { this.OnItemOver(item); };
item.OnOut += delegate() { this.OnItemOut(item); };
// Also subscribeable: OnDoubleClick, OnClick, OnDown, OnUp

}
}

void SetupMovement() {
// Find input manager
m_VRInput = GameObject.FindObjectOfType<VRInput>();

// This action is invoked on every single frame
m_VRInput.OnSwipe += this.OnSwipe;
}

void OnItemOver(VRInteractiveItem item) {
// Scale item down to half it's normal size
item.gameObject.transform.localScale = new Vector3(0.5f, 0.5f, 0.5f);
}

void OnItemOut(VRInteractiveItem item) {
// Scale item back up to full size
item.gameObject.transform.localScale = new Vector3(1f, 1f, 1f);
}

void OnSwipe(VRInput.SwipeDirection direction) {
// Only do something when we have a swipe
if(direction != VRInput.SwipeDirection.NONE) {
switch(direction) {
case VRInput.SwipeDirection.LEFT:
m_CameraContainer.transform.Translate(0, 0, m_MovementSpeed);
break;
case VRInput.SwipeDirection.RIGHT:
m_CameraContainer.transform.Translate(0, 0, m_MovementSpeed * -1);
break;
case VRInput.SwipeDirection.UP:
m_CameraContainer.transform.Translate(m_MovementSpeed * -1, 0, 0);
break;
case VRInput.SwipeDirection.DOWN:
m_CameraContainer.transform.Translate(m_MovementSpeed, 0, 0);
break;
}
}
}
}
12 changes: 12 additions & 0 deletions Assets/Scripts/GameManager.cs.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 9 additions & 0 deletions Assets/Scripts/VR Utils.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

35 changes: 35 additions & 0 deletions Assets/Scripts/VR Utils/MouseControlledEditorCamera.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
using UnityEngine;
using System.Collections;

// Allows controlling the camera by holding down right mouse button
// when testing from the Unity editor
// Source: https://github.com/abrp/GazerNew
public class MouseControlledEditorCamera : MonoBehaviour {

[SerializeField] private float m_sensitivityX = 8f;
[SerializeField] private float m_sensitivityY = 8f;
private float m_mouseHeading = 0f;
private float m_mousePitch = 0f;

private void Update()
{
#if UNITY_EDITOR
if (!(Input.GetMouseButton(1)))
return;
Vector2 delta = new Vector2(Input.GetAxis("Mouse X") * m_sensitivityX,Input.GetAxis("Mouse Y") * m_sensitivityY);
ChangeHeading(delta.x);
ChangePitch(-delta.y);
#endif
}

private void ChangeHeading(float newHeading){
m_mouseHeading += newHeading;
transform.localEulerAngles = new Vector3(m_mousePitch, m_mouseHeading, 0);
}

private void ChangePitch(float newPitch){
m_mousePitch += newPitch;
transform.localEulerAngles = new Vector3(m_mousePitch, m_mouseHeading, 0);
}

}
12 changes: 12 additions & 0 deletions Assets/Scripts/VR Utils/MouseControlledEditorCamera.cs.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading