private static void DrawMarker(ARTrackedObject to, bool selected) { ARMarker m = to.GetMarker(); if (m == null) return; if (!m.gameObject.activeInHierarchy) return; // Don't attempt to load inactive ARMarkers. // Attempt to load. Might not work out if e.g. for a single marker, pattern hasn't been // assigned yet, or for an NFT marker, dataset hasn't been specified. if (m.UID == ARMarker.NO_ID) { m.Load(); } Matrix4x4 pose = to.gameObject.transform.localToWorldMatrix; //ARController.Log("pose=" + pose.ToString("F3")); switch (m.MarkerType) { case MarkerType.Square: case MarkerType.SquareBarcode: DrawSingleMarker(m, pose, selected); break; case MarkerType.Multimarker: DrawMultiMarker(m, pose, selected); break; case MarkerType.NFT: DrawNFTMarker(m, pose, selected); break; } }
public override void OnInspectorGUI() { ARTrackedObject arto = (ARTrackedObject)target; if (arto == null) { return; } arto.TrackableTag = EditorGUILayout.TextField("Marker tag", arto.TrackableTag); ARTrackable trackable = arto.GetTrackable(); EditorGUILayout.LabelField("Got marker", trackable == null ? "no" : "yes"); if (trackable != null) { string type = ARTrackable.TrackableTypeNames[trackable.Type]; EditorGUILayout.LabelField("Marker UID", (trackable.UID != ARTrackable.NO_ID ? trackable.UID.ToString() : "Not loaded") + " (" + type + ")"); } EditorGUILayout.Separator(); arto.secondsToRemainVisible = EditorGUILayout.FloatField("Stay visible", arto.secondsToRemainVisible); EditorGUILayout.Separator(); arto.eventReceiver = (GameObject)EditorGUILayout.ObjectField("Event Receiver:", arto.eventReceiver, typeof(GameObject), true); }
void Start() { enableHold = PlayerPrefs.GetInt(PrefKeys.HoldOnDetectMarker) == 1; trackedObject = GetComponent <ARTrackedObject>(); // ARTrackedObject の OnTrackableFound を受け取れるようにする trackedObject.eventReceiver = gameObject; }
public void RemoveTrackedObject(ARTrackedObject trackedObject) { ARMarker marker = trackedObject.GetMarker(); objectsForMarkers[marker].Remove(trackedObject); if (objectsForMarkers[marker].Count == 0) { objectsForMarkers.Remove(marker); } }
private void UpdateARImage(ARTrackedObject trackedObject) { // Display the name of the tracked image in the canvas //imageTrackedText.text = trackedImage.referenceImage.name; // Assign and Place Game Object AssignGameObject(trackedObject.referenceObject.name, trackedObject.transform.position); Debug.Log($"trackedImage.referenceImage.name: {trackedObject.referenceObject.name}"); }
public void AddTrackedObject(ARTrackedObject trackedObject) { ARMarker marker = trackedObject.GetMarker(); if (objectsForMarkers.ContainsKey(marker)) { objectsForMarkers[marker].Add(trackedObject); } else { objectsForMarkers.Add(marker, new HashSet <ARTrackedObject> { trackedObject }); } }
void UpdateInfo(ARTrackedObject trackedObject) { // Set canvas camera var canvas = trackedObject.GetComponentInChildren <Canvas>(); canvas.worldCamera = worldSpaceCanvasCamera; //Find the GameObject GameObject obj = GameObject.Find("swiper"); //Get script attached to it swiper_script = obj.GetComponent <PageSwiper>(); //float scale = trackedObject.size.x; //Call the function //swiper_script.UpdatePos(scale); }
private static void DrawMarker(ARTrackedObject to, bool selected) { ARTrackable m = to.GetTrackable(); if (m == null || m.enabled == false) { return; } if (!m.gameObject.activeInHierarchy) { return; // Don't attempt to load inactive ARMarkers. } // Attempt to load. Might not work out if e.g. for a single marker, pattern hasn't been // assigned yet, or for an NFT marker, dataset hasn't been specified. if (m.UID == ARTrackable.NO_ID) { m.Load(); } Matrix4x4 pose = to.gameObject.transform.localToWorldMatrix; //ARController.Log("pose=" + pose.ToString("F3")); switch (m.Type) { case ARTrackable.TrackableType.Square: case ARTrackable.TrackableType.SquareBarcode: DrawSingleMarker(m, pose, selected); break; case ARTrackable.TrackableType.Multimarker: DrawMultiMarker(m, pose, selected); break; case ARTrackable.TrackableType.NFT: case ARTrackable.TrackableType.TwoD: DrawNFTMarker(m, pose, selected, false); break; } }
// Use this for initialization IEnumerator Start() { yield return(new WaitForEndOfFrame()); //Find ARCamera and Camera objects aRcam = FindObjectOfType <ARCamera>(); // (or FindObjectsOfType(typeof(ARCamera)) as ARCamera[]) c = aRcam.gameObject.GetComponent <Camera>(); arTrackedObj = FindObjectOfType <ARTrackedObject>(); W = c.pixelWidth; H = c.pixelHeight; tex = new Texture2D(W, H, TextureFormat.RGB24, false); barcodeReader = new BarcodeReader { AutoRotate = false }; productLoader = backgroundQuad.GetComponent <ProductPageLoader>(); //Debug.Log(LogTag + "QR Detection Initialised"); }
[DrawGizmo(GizmoType.NotInSelectionHierarchy | GizmoType.Pickable)] // Draw the gizmo if it is not selected and also no parent/ancestor object is selected. The gizmo can be picked in the editor. First argument of method is the type for which the Gizmo will be drawn. #endif static void RenderARTrackedObjectGizmo(ARTrackedObject to, GizmoType gizmoType) { DrawMarker(to, (gizmoType & GizmoType.Active) != 0); }
static void RenderARTrackedObjectGizmo(ARTrackedObject to, GizmoType gizmoType) { DrawMarker(to, (gizmoType & GizmoType.Active) != 0); }
void UpdateObjInfo(ARTrackedObject trackedObject) { trackedObject.gameObject.SetActive(true); }