前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >动态加载⭐️基于案例AR-PocketCat

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

作者头像
星河造梦坊官方
发布2024-08-16 08:45:22
660
发布2024-08-16 08:45:22
举报
文章被收录于专栏:星河造梦坊专栏

原案例地址:AR-PocketCat

🟥 动态加载的意义

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

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

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

1、将该项目从自定义目标识别转化为单一目标对象识别的项目,隐藏“拍摄”按钮和UserDefinedTargetBuilder 2、新建一份ImageTarget的DefaultTrackableEventHandler,命名为DefaultTrackableEventHandler_DynamicLoading,只激活这个追踪脚本 3、将OnTrackingFound和OnTrackingLost方法更改为以下内容

代码语言:javascript
复制
        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();
            }
        }

🟨 效果展示

大家还有什么问题,欢迎在下方留言!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-09-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 🟥 动态加载的意义
  • 🟧 基于AR-PocketCat动态加载的实现步骤
  • 🟨 效果展示
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档