generated from VR-Sexe/Unity3DTemplate
37 lines
1.5 KiB
C#
37 lines
1.5 KiB
C#
using UnityEngine;
|
|
|
|
public class SelectivePassthroughExperience : MonoBehaviour
|
|
{
|
|
public GameObject leftMaskObject;
|
|
public GameObject rightMaskObject;
|
|
|
|
void Update()
|
|
{
|
|
Camera.main.depthTextureMode = DepthTextureMode.Depth;
|
|
|
|
bool controllersActive = (OVRInput.GetActiveController() == OVRInput.Controller.LTouch ||
|
|
OVRInput.GetActiveController() == OVRInput.Controller.RTouch ||
|
|
OVRInput.GetActiveController() == OVRInput.Controller.Touch);
|
|
|
|
leftMaskObject.SetActive(controllersActive);
|
|
rightMaskObject.SetActive(controllersActive);
|
|
|
|
// controller masks are giant circles attached to controllers
|
|
if (controllersActive)
|
|
{
|
|
Vector3 Lpos = OVRInput.GetLocalControllerPosition(OVRInput.Controller.LTouch) + OVRInput.GetLocalControllerRotation(OVRInput.Controller.LTouch) * Vector3.forward * 0.1f;
|
|
Vector3 Rpos = OVRInput.GetLocalControllerPosition(OVRInput.Controller.RTouch) + OVRInput.GetLocalControllerRotation(OVRInput.Controller.RTouch) * Vector3.forward * 0.1f;
|
|
|
|
leftMaskObject.transform.position = Lpos;
|
|
rightMaskObject.transform.position = Rpos;
|
|
}
|
|
// hand masks are an inflated hands shader, with alpha fading at wrists and edges
|
|
else if (OVRInput.GetActiveController() == OVRInput.Controller.LHand ||
|
|
OVRInput.GetActiveController() == OVRInput.Controller.RHand ||
|
|
OVRInput.GetActiveController() == OVRInput.Controller.Hands)
|
|
{
|
|
|
|
}
|
|
}
|
|
}
|