12#if UNITY_2017_2_OR_NEWER
28 private bool _isTrackingController =
false;
29 public bool isTracked {
get {
return _isTrackingController; } }
31 private bool _isXRNodeSet =
false;
32 #if UNITY_2017_2_OR_NEWER
33 private XRNode _backingXRNode;
35 get {
return _backingXRNode; }
36 set { _backingXRNode = value; _isXRNodeSet =
true; }
39 private VRNode _backingXRNode;
41 get {
return _backingXRNode; }
42 set { _backingXRNode = value; _isXRNodeSet =
true; }
52 void updateTrackingData() {
55 var position = XRSupportUtil.GetXRNodeLocalPosition((
int)
xrNode);
56 var rotation = XRSupportUtil.GetXRNodeLocalRotation((
int)
xrNode);
62 _isTrackingController = position != Vector3.zero && rotation != Quaternion.identity;
64 Transform rigTransform = Camera.main.transform.parent;
65 if (rigTransform !=
null) {
66 position = rigTransform.TransformPoint(position);
67 rotation = rigTransform.TransformRotation(rotation);
Implements IVRControllerTrackingProvider using Unity.XR.InputTracking for XRNodes....
bool isTracked
Gets whether or not this provider is currently tracking the controller for which it provides data.
Action< Vector3, Quaternion > OnTrackingDataUpdate
The interface for providing tracking data to an InteractionVRController.