Skip to content
Snippets Groups Projects
Commit 6d803081 authored by lacoche's avatar lacoche
Browse files

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

parent 4b43658f
No related branches found
No related tags found
No related merge requests found
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");
}
}
}
fileFormatVersion: 2
guid: 18bc366dbbcda4194b629565096e757a
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 0109d0ba208a04e3da63874f19011f9b
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment