动态加载⭐️基于案例AR-PocketCat

简介: 动态加载⭐️基于案例AR-PocketCat

原案例地址:AR-PocketCat

🟥 动态加载的意义

默认的加载模型是通过将3D物体直接放在场景中并作为识别目标的子物体来实现的,这种实现方式的缺点是:当场景中很多识别目标后,需要一次性加载的模型内容会占用很大内存

因此,在实际项目案例中需要动态加载识别目标对应的模型,在识别丢失后删除模型,这样可保证在同一时刻内存的占用手机是可以承受的


🟧 基于AR-PocketCat动态加载的实现步骤

1、将该项目从自定义目标识别转化为单一目标对象识别的项目,隐藏“拍摄”按钮和UserDefinedTargetBuilder

2、新建一份ImageTarget的DefaultTrackableEventHandler,命名为DefaultTrackableEventHandler_DynamicLoading,只激活这个追踪脚本

3、将OnTrackingFound和OnTrackingLost方法更改为以下内容

private void OnTrackingFound()
        {
            GameObject obj = GameObject.Instantiate(Resources.Load("cat_Idle")) as GameObject;
            obj.transform.parent = this.transform;
            obj.transform.position = this.transform.position;
 
            obj.GetComponent<AudioSource>().Play();
        }
 
 
        private void OnTrackingLost()
        {
            Animation to = GetComponentInChildren<Animation>();
            if (to != null)
            {
                Destroy(to.gameObject);
                Resources.UnloadUnusedAssets();
            }
        }


🟨 效果展示



目录
打赏
0
0
1
0
25
分享
相关文章
Unity精华☀️点乘、叉乘终极教程:用《小小梦魇》讲解这个面试题~
Unity精华☀️点乘、叉乘终极教程:用《小小梦魇》讲解这个面试题~
nacos常见问题之nacos点击下线提示报错如何解决
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问