void ITangoPose.OnTangoPoseAvailable(TangoPoseData poseData) { if (tango.IsServiceConnected) { if (poseData.IsLocalized() || poseData.IsTracking()) { isTracking = true; } else { isTracking = false; if (poseData.IsInvalid()) { if (tango.m_motionTrackingAutoReset) { Debug.Log("TangoApplication is recovering motion tracking..."); } else { Debug.LogWarning("Manually restart Tango service."); } } } } }
void ITangoPose.OnTangoPoseAvailable(TangoPoseData poseData) { // Don't do anything when not supposed to. if (!isActiveAndEnabled) { return; } if (poseData.IsLocalized()) { Vector3 p = player.position; bool tooClose = false; foreach (var m in markers) { Vector3 _p = m.position; if (Vector3.Distance(_p, p) < minimumDistance) { tooClose = true; break; } } if (!tooClose) { var parent = markerPrefab.parent; var newM = Instantiate(markerPrefab, parent); markers.Add(newM); } } }
void ITangoPose.OnTangoPoseAvailable(TangoPoseData poseData) { if (isActiveAndEnabled) { toggleValid.isOn = poseData.IsValid(); togglePoseBaseADF.isOn = poseData.framePair.baseFrame == TangoEnums.TangoCoordinateFrameType.TANGO_COORDINATE_FRAME_AREA_DESCRIPTION; togglePoseBaseSOS.isOn = poseData.framePair.baseFrame == TangoEnums.TangoCoordinateFrameType.TANGO_COORDINATE_FRAME_START_OF_SERVICE; togglePoseTargetSOS.isOn = poseData.framePair.targetFrame == TangoEnums.TangoCoordinateFrameType.TANGO_COORDINATE_FRAME_START_OF_SERVICE; togglePoseTargetDVC.isOn = poseData.framePair.targetFrame == TangoEnums.TangoCoordinateFrameType.TANGO_COORDINATE_FRAME_DEVICE; if (poseData.IsLocalized()) { textLocalizationCount.text = ++localizationCount + ""; } } }