Files
ApexSurgery/Assets/Oculus/SampleFramework/Usage/Passthrough/Scripts/SelectivePassthroughExperience.cs
T
2025-07-04 20:33:06 +03:00

38 lines
1.6 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)
{
}
}
}