Commit 6d803081 authored by Jérémy Lacoche's avatar Jérémy Lacoche
Browse files

add script editor to create AR scene prefab based on ARF Visuals

parent 4b43658f
Loading
Loading
Loading
Loading
+46 −0
Original line number Diff line number Diff line
using Unity.VisualScripting;
using UnityEditor;
using UnityEngine;

public class ARSceneCreator 
{
    
    [MenuItem("ARF/Create AR Scene")]
    static void CreateARScene()
    {
        GameObject obj = GameObject.Find("ARF Visuals");

        if (obj != null)
        {
            GameObject arScene = new GameObject("ARScene");
            
            foreach(Transform trackableOrAnchor in obj.transform)
            {
                if (trackableOrAnchor.childCount > 2)
                {
                    // go through all nodes (trackable or anchor)
                    GameObject node = new GameObject(trackableOrAnchor.name);
                    node.transform.parent = arScene.transform ;
                    AnchorTrackableReferenceNode referenceWA = node.AddComponent<AnchorTrackableReferenceNode>() ;
                    referenceWA._ARFNodeUUID = trackableOrAnchor.name ;
                    foreach(Transform asset in trackableOrAnchor)
                    {
                        if (asset.gameObject.name != "Axe" && asset.gameObject.name != "Canvas")
                        {
                            GameObject copyAsset = GameObject.Instantiate(asset.gameObject);
                            copyAsset.transform.parent = node.transform ;
                            copyAsset.transform.localPosition = asset.transform.localPosition; 
                            copyAsset.transform.localRotation = asset.transform.localRotation;
                            copyAsset.transform.localScale = asset.transform.localScale; 
                            asset.gameObject.SetActive(false);
                        }
                    }
                }
            }
        }
        else 
        {
            Debug.Log("No ARF Visuals: can't create AR Scene");
        }
    }
}
+11 −0
Original line number Diff line number Diff line
fileFormatVersion: 2
guid: 18bc366dbbcda4194b629565096e757a
MonoImporter:
  externalObjects: {}
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData: 
  assetBundleName: 
  assetBundleVariant: 
+8 −0
Original line number Diff line number Diff line
fileFormatVersion: 2
guid: 0109d0ba208a04e3da63874f19011f9b
folderAsset: yes
DefaultImporter:
  externalObjects: {}
  userData: 
  assetBundleName: 
  assetBundleVariant: