Initialer Upload neues Unity-Projekt
This commit is contained in:
@ -0,0 +1,52 @@
|
||||
//======= Copyright (c) Valve Corporation, All rights reserved. ===============
|
||||
//
|
||||
// Purpose: Used to render an external camera of vr player (split front/back).
|
||||
//
|
||||
//=============================================================================
|
||||
|
||||
using UnityEngine;
|
||||
using System.Collections;
|
||||
|
||||
namespace Valve.VR
|
||||
{
|
||||
public class SteamVR_ExternalCamera_LegacyManager
|
||||
{
|
||||
public static bool hasCamera { get { return cameraIndex != -1; } }
|
||||
|
||||
public static int cameraIndex = -1;
|
||||
|
||||
private static SteamVR_Events.Action newPosesAction = null;
|
||||
|
||||
public static void SubscribeToNewPoses()
|
||||
{
|
||||
if (newPosesAction == null)
|
||||
newPosesAction = SteamVR_Events.NewPosesAction(OnNewPoses);
|
||||
|
||||
newPosesAction.enabled = true;
|
||||
}
|
||||
|
||||
private static void OnNewPoses(TrackedDevicePose_t[] poses)
|
||||
{
|
||||
if (cameraIndex != -1)
|
||||
return;
|
||||
|
||||
int controllercount = 0;
|
||||
for (int index = 0; index < poses.Length; index++)
|
||||
{
|
||||
if (poses[index].bDeviceIsConnected)
|
||||
{
|
||||
ETrackedDeviceClass deviceClass = OpenVR.System.GetTrackedDeviceClass((uint)index);
|
||||
if (deviceClass == ETrackedDeviceClass.Controller || deviceClass == ETrackedDeviceClass.GenericTracker)
|
||||
{
|
||||
controllercount++;
|
||||
if (controllercount >= 3)
|
||||
{
|
||||
cameraIndex = index;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user