2021년 4학년 1학기 기업연계프로젝트2
컴퓨터소프트웨어공학과 <원광투어팀>
팀장 : 송유진
팀원 : 김나영, 이경희, 한유진
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
using System.Collections;using System.Collections.Generic;using UnityEngine;
namespace Valve.VR{ public class SteamVR_TrackingReferenceManager : MonoBehaviour { private Dictionary<uint, TrackingReferenceObject> trackingReferences = new Dictionary<uint, TrackingReferenceObject>();
private void OnEnable() { SteamVR_Events.NewPoses.AddListener(OnNewPoses); }
private void OnDisable() { SteamVR_Events.NewPoses.RemoveListener(OnNewPoses); }
private void OnNewPoses(TrackedDevicePose_t[] poses) { if (poses == null) return;
for (uint deviceIndex = 0; deviceIndex < poses.Length; deviceIndex++) { if (trackingReferences.ContainsKey(deviceIndex) == false) { ETrackedDeviceClass deviceClass = OpenVR.System.GetTrackedDeviceClass(deviceIndex);
if (deviceClass == ETrackedDeviceClass.TrackingReference) { TrackingReferenceObject trackingReference = new TrackingReferenceObject(); trackingReference.trackedDeviceClass = deviceClass; trackingReference.gameObject = new GameObject("Tracking Reference " + deviceIndex.ToString()); trackingReference.gameObject.transform.parent = this.transform; trackingReference.trackedObject = trackingReference.gameObject.AddComponent<SteamVR_TrackedObject>(); trackingReference.renderModel = trackingReference.gameObject.AddComponent<SteamVR_RenderModel>(); trackingReference.renderModel.createComponents = false; trackingReference.renderModel.updateDynamically = false;
trackingReferences.Add(deviceIndex, trackingReference);
trackingReference.gameObject.SendMessage("SetDeviceIndex", (int)deviceIndex, SendMessageOptions.DontRequireReceiver); } else { trackingReferences.Add(deviceIndex, new TrackingReferenceObject() { trackedDeviceClass = deviceClass }); } } } }
private class TrackingReferenceObject { public ETrackedDeviceClass trackedDeviceClass; public GameObject gameObject; public SteamVR_RenderModel renderModel; public SteamVR_TrackedObject trackedObject; } }}
|