예제 #1
0
        /// <summary>
        /// 配置单个识别图或者Model
        /// </summary>
        /// <param name="trackedName"></param>
        /// <param name="trackComName"></param>
        /// <param name="modelPre"></param>
        /// <returns></returns>
        public static Transform ConfigTrackable(string trackedName, string trackComName = "DefaultTrackableEventHandler", GameObject modelPre = null)
        {
            IEnumerable <TrackableBehaviour> tbs = TrackerManager.Instance.GetStateManager().GetTrackableBehaviours();

            foreach (TrackableBehaviour tb in tbs)
            {
                if (tb.TrackableName == trackedName)
                {
                    tb.gameObject.name = trackedName;
                    //动态添加识别组件
                    tb.gameObject.AddComponent(ARSDK_SharedMethod.GetTypeUnknownAssembly(trackComName));
                    tb.gameObject.AddComponent <TurnOffBehaviour>();

                    GameObject augmentation = Instantiate(modelPre, tb.transform);
                    return(augmentation.transform);
                }
            }
            return(null);
        }
예제 #2
0
        private static bool IsVuforiaAvailable()
        {
            bool isLoad = ARSDK_SharedMethod.GetTypeUnknownAssembly("DefaultTrackableEventHandler") != null &&
                          ARSDK_SharedMethod.GetTypeUnknownAssembly("DefaultModelRecoEventHandler") != null &&
                          ARSDK_SharedMethod.GetTypeUnknownAssembly("DefaultInitializationErrorHandler") != null;

            if (isLoad && Loadstate == SDKLoadState.Loaded)
            {
                Loadstate = SDKLoadState.LoadAndInit;
            }
            else
            {
                if (isLoad)
                {
                    Loadstate = SDKLoadState.Loaded;
                    SDKLoadInit();
                }
                else
                {
                    Loadstate = SDKLoadState.UnLoad;
                }
            }
            return(isLoad);
        }