示例#1
0
 private void CreateAsset(AssetsElement asset, Feature feature)
 {
     if (asset != null && asset.type != null)
     {
         GameObject go = new GameObject("Asset Entity");
         go.transform.SetParent(feature.gameObject.transform);
         if (asset.transform != null)
         {
             Vector3    position = new Vector3(asset.transform.position.x, asset.transform.position.y, asset.transform.position.z);
             Quaternion rotation = Quaternion.Euler(asset.transform.rotation.x, asset.transform.rotation.y, asset.transform.rotation.z);
             Vector3    scale    = new Vector3(asset.transform.scale.x, asset.transform.scale.y, asset.transform.scale.z);
             go.transform.localPosition = position;
             go.transform.localRotation = rotation;
             go.transform.localScale    = scale;
         }
         if (asset.type.Equals("Prefab"))
         {
             PrefabEntity pe = go.AddComponent <PrefabEntity> ();
             pe.ID     = asset.id;
             pe.source = asset.assetLink.href.Substring(1);                      //Remove the first char: #
             pe.InstantiatePrefab(pe.source);
             feature.prefabs.Add(pe);
         }
         else if (asset.type.Equals("Model"))
         {
             ModelEntity me = go.AddComponent <ModelEntity> ();
             me.ID = asset.id;
             me.ImportModel(asset.assetLink.href, callback: () => feature.models.Add(me));
         }
         else
         {
             Debug.LogWarningFormat("[FeatureLoader] Asset type {0} is not implemented!", asset.type);
         }
     }
 }
示例#2
0
    void SetFeatureElement(string id, TrackableElement tra, string name)
    {
        creationFeature.id          = id + "Feature";
        creationFeature.name        = id + "Feature";
        creationFeature.description = "";

        creationFeature.Trackables = new List <TrackableLink>();
        TrackableLink trackableLink = new TrackableLink();

        trackableLink.href = "#" + tra.id;
        creationFeature.Trackables.Add(trackableLink);

        creationFeature.Annotations = new List <AnnotationElement>();
        creationFeature.anchors     = new List <AnchorElement>();

        creationFeature.Assets = new List <AssetsElement>();
        AssetsElement assetsElement = new AssetsElement();

        assetsElement.type           = "Prefab";
        assetsElement.assetLink      = new AssetLink();
        assetsElement.assetLink.href = "#" + name;

        creationFeature.Assets.Add(assetsElement);
    }