using System; using System.Collections; using System.Collections.Generic; using System.Text; using TMPro; using UnityEngine; using UnityEngine.XR.MagicLeap; using static UnityEngine.XR.MagicLeap.MLMarkerTracker; public class QRtest : MonoBehaviour { private bool scanning = false; public TextMeshPro text; public GameObject axis; private void Start() { Action OnMarkerFound = UpdateText; MLMarkerTracker.OnMLMarkerTrackerResultsFound += OnMarkerFound; } private void UpdateText(MarkerData arg0) { Debug.Log("QR found"); axis.SetActive(true); axis.transform.position = arg0.Pose.position; axis.transform.rotation = arg0.Pose.rotation; Debug.Log(Encoding.ASCII.GetString(arg0.BinaryData.Data)); text.text = "QR found" + "\n\n" + Encoding.ASCII.GetString(arg0.BinaryData.Data); } public void ScanTrigger() { if (!scanning) { StartScan(); scanning = true; } else { StopScan(); scanning = false; } } public void StartScan() { MLMarkerTracker.Settings settings = MLMarkerTracker.Settings.Create( enableMarkerScanning: true, markerTypes: MarkerType.QR, qRCodeSize: 0.075f, fpsHint: FPSHint.Medium, resolutionHint: ResolutionHint.Low, fullAnalysisIntervalHint: FullAnalysisIntervalHint.Medium ); MLMarkerTracker.StartScanningAsync(settings); Debug.Log("Start Scan"); text.text = "start Scan"; } public void StopScan() { MLMarkerTracker.StopScanningAsync(); Debug.Log("Stop Scan"); text.text = text.text += "\nStopScan"; } }