Vuforia AR篇(三)— AR模型出场效果

news/2024/5/21 12:57:18

目录

  • 前言
  • 一、AR模型出场
  • 二、AR出场特效
  • 三、添加过渡效果
  • 四、效果


前言

在这个数字化日益增长的时代,增强现实(AR)技术正以前所未有的速度发展。AR模型,作为这一技术的核心组成部分,不仅改变了我们与数字世界的互动方式,还极大地丰富了我们的现实体验。本文将探讨AR模型的出场效果。


一、AR模型出场

创建ARCamera和ImageTarget
在这里插入图片描述

导入一个带动画的模型
在这里插入图片描述

在这里插入图片描述
复制下面的脚本
在这里插入图片描述
然后改名成下面DeathObserverEventHandler
在这里插入图片描述
找到下面的2个方法
在这里插入图片描述
重写下面的2个方法

    protected virtual void OnTrackingFound(){// if (mObserverBehaviour)//     SetComponentsEnabled(true);//////// OnTargetFound?.Invoke();GameObject death = Instantiate(deathPrefab, transform, true);death.name = "Death";death.transform.position = transform.position;}protected virtual void OnTrackingLost(){// if (mObserverBehaviour)//     SetComponentsEnabled(false);////// OnTargetLost?.Invoke();GameObject death = GameObject.Find("Death");if (death != null){Destroy(death);}}

然后挂上脚本
在这里插入图片描述

二、AR出场特效

导入特效素材
在这里插入图片描述
在这里插入图片描述
添加特效代码

    protected virtual void OnTrackingFound(){// if (mObserverBehaviour)//     SetComponentsEnabled(true);//////// OnTargetFound?.Invoke();GameObject death = Instantiate(deathPrefab, transform, true);death.name = "Death";death.transform.position = transform.position;GameObject effect = Instantiate(effectPrefab, transform, true);effect.name = "Effect";effect.transform.position = transform.position;}protected virtual void OnTrackingLost(){// if (mObserverBehaviour)//     SetComponentsEnabled(false);////// OnTargetLost?.Invoke();GameObject death = GameObject.Find("Death");if (death != null){Destroy(death);}GameObject effect = GameObject.Find("Effect");if (effect != null){Destroy(effect);}}

三、添加过渡效果

    private void Update(){_death.transform.localPosition = Vector3.Lerp(_death.transform.localPosition , Vector3.zero, Time.deltaTime);_death.transform.localScale = Vector3.Lerp(_death.transform.localScale , new Vector3(0.4f, 0.4f, 0.4f), Time.deltaTime);}protected virtual void OnTrackingFound(){// if (mObserverBehaviour)//     SetComponentsEnabled(true);//////// OnTargetFound?.Invoke();_death = Instantiate(deathPrefab, transform, true);_death.name = "Death";GameObject effect = Instantiate(effectPrefab, transform, true);effect.name = "Effect";effect.transform.position = transform.position;}protected virtual void OnTrackingLost(){// if (mObserverBehaviour)//     SetComponentsEnabled(false);////// OnTargetLost?.Invoke();GameObject death = GameObject.Find("Death");if (death != null){Destroy(death);}GameObject effect = GameObject.Find("Effect");if (effect != null){Destroy(effect);}}

四、效果

在这里插入图片描述


http://www.mrgr.cn/p/76531511

相关文章

CSN

前言 写这篇文章的初衷:记得最开始学前端知识时,是一点一点的积累,一个知识点一个知识点的攻克。 就这样,虽然在很长一段时间内积累了不少的知识,但是,总是无法将它串联到一起。每次梳理时都是很分散的,无法保持思路连贯性。 直到最近,在将DNS域名解析、建立TCP连接、构…

dataku

1 基础 1.1 基本概念 1、MySQL有哪些数据库类型?数值类型有包括 TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT,分别表示 1 字节、2 字节、3 字节、4 字节、8 字节的整数类型。 1)任何整数类型都可以加上 UNSIGNED 属性,表示无符号整数。 2)任何整数类型都可以指定长度,但它…

data_struct

图片加载失败时,请下载本地图片文件夹:国内下载 其他补充资料考研中常考的经典算法.docx 查找常考算法.docx 排序常考知识点.docx 树常考知识点.docx 图.xmind 查找.xmind 排序.xmind PPT第一章-绪论 1.数据:数据是对客观事物的符号总称(了解符号学),是计算机中所有能输入…

JavaScript中的扩展操作符作用是什么,有什么含义?

在 JavaScript 中,扩展操作符允许一个表达式在某些地方展开成多个元素。这个特性在 ES2015 (也叫做 ES6) 中被引入到 JavaScript 语言中,并广泛用于数组和对象。在您的代码示例中,它被用于对象。 对象中的扩展操作符 在对象字面量中使用扩展…

微软开源 MS-DOS「GitHub 热点速览」

上周又是被「大模型」霸榜的一周,各种 AI、LLM、ChatGPT、Sora、RAG 的开源项目在 GitHub 上“争相斗艳”。这不 Meta 刚开源 Llama 3 没几天,苹果紧跟着就开源了手机端大模型:CoreNet。GitHub 地址:github.com/apple/corenet开源大模型虽好,但“吃”多了“大鱼大肉”也想…

RustGUI学习(iced)之小部件(三):如何使用下拉列表pick_list?

前言 本专栏是学习Rust的GUI库iced的合集,将介绍iced涉及的各个小部件分别介绍,最后会汇总为一个总的程序。 iced是RustGUI中比较强大的一个,目前处于发展中(即版本可能会改变),本专栏基于版本0.12.1. 概述…

【数学建模】DVD在线租赁

2005高教社杯全国大学生数学建模竞赛题目B 随着信息时代的到来,网络成为人们生活中越来越不可或缺的元素之一。许多网站利用其强大的资源和知名度,面向其会员群提供日益专业化和便捷化的服务。例如,音像制品的在线租赁就是一种可行的服务。这…

Matlab|考虑不确定性的含集群电动汽车微电网随机优化调度

目录 主要内容 1.1 集群电动汽车模型 1.2 场景生成与缩减 部分代码 结果一览 下载链接 主要内容 该模型研究的是一种并网型微电网,其中包括分布式电源(汽轮机)、需求响应负荷(可平移负荷)、可再生能源…

使用joinjs绘制流程图(六)-自定义节点成html元素

场景 有的时候流程图中的节点是多样化的 效果代码 <template><div class="app"><el-button type="primary" size="small" @click="updateRectContent">修改Rect元素内容</el-button><hr /><div ref=…

Blender常见操作

1.局部视图&#xff1a;Local View&#xff0c;也可称作Solo模式&#xff0c;按快捷键 “/”进入&#xff0c;在按退出&#xff0c;只显示选中的物体&#xff08;可多选&#xff09;&#xff0c;方便编辑 2.物体合并&#xff1a;Ctrl J 其中&#xff0c;当选中多个物体时&am…

.NET开源、功能强大、跨平台的图表库 - LiveCharts2

前言 今天大姚给大家分享一个.NET开源(MIT License)、功能强大、简单、灵活、跨平台的图表、地图和仪表库:LiveCharts2。项目介绍 LiveCharts2是一个.NET开源、简单、灵活、交互式且功能强大的.NET图表、地图和仪表,现在几乎可以在任何地方运行如:Maui、Uno Platform、Bla…

Redis 入门篇

1. 初始 Redis 1.1 认识NoSQL ‍NoSql可以翻译做Not Only Sql(不仅仅是SQL),或者是No Sql(非Sql的)数据库。是相对于传统关系型数据库而言,有很大差异的一种特殊的数据库​,因此也称之为非关系型数据库。‍ 1.1.1 结构化与非结构化 ‍ ​​ 1.1.2 关系型与非关系型的差异…

大数据开发工作中的数仓设计(Hadoop,hive ,mysql )

1.HUE工具介绍使用 HUE是CDH提供一个hive和hdfs的操作工具&#xff0c;在hue中编写了hiveSQl也可以操作hdfs的文件 http://主机名字:端口号 hdfs的web访问端口 http://主机名字:端口号 hdfs的程序访问端口 进入后确保hdfs hive yarn 开启 在点击hue开启 在这里面也可以进行h…

一次意想不到的pod内存驱逐问题

一次意想不到的pod内存驱逐问题 原创 运维之美 运维之美 2024-04-28 23:57 湖北 听全文公众号关注 「运维之美」 设为「星标」,每天带你玩转 Linux 运维之美 Linux运维技术干货,真实生产故障处理现场。分享运维圈干货及趣事,一个让你不虚度时光的技术公众号! 64篇原创内容公…

2013NOIP普及组真题 4. 车站分级

线上OJ&#xff1a; 一本通&#xff1a;http://ybt.ssoier.cn:8088/problem_show.php?pid1964 核心思想&#xff1a; 1、原文中提到 “如果这趟车次停靠了火车站 x&#xff0c;则始发站、终点站之间所有级别大于等于火车站 x 的都必须停靠”&#xff0c;如果设停靠站为A&…

WPF中轻松生成动态图表:实例详解(MVVM模式)

概述:本文代码示例演示了如何在WPF中使用LiveCharts库创建动态条形图。通过创建数据模型、ViewModel和在XAML中使用`CartesianChart`控件,你可以轻松实现图表的数据绑定和动态更新。我将通过清晰的步骤指南包括详细的中文注释,帮助你快速理解并应用这一功能。 先上效果: 在…

卡片旋转动画效果

效果图如下:html页面<!DOCTYPE html> <html><head><meta charset="utf-8"><title></title><link rel="stylesheet" href="css/index.css" /></head><body><div class="containe…

认识认识DHCP

文章目录 认识认识DHCP一、什么是DHCP&#xff1f;1.1、为什么要使用DHCP&#xff1f;1.2、DHCP是怎么工作的&#xff1f;1.2.1、客户端首次接入网络的工作原理1.2.2、客户端重用曾经使用过的地址的工作原理1.2.3、客户端更新租期的工作原理 二、配置DHCP Server&#xff0c;为…

【开发工具】pythontutor——在线内存可视化工具

笔者在学习RISC-V时&#xff0c;希望找到一款可视化的内存工具&#xff0c;遗憾目前还未找到。发现了pythontutor这个网站&#xff0c;可以对C、python等多种语言进行内存可视化。结果似乎是x86架构的&#xff0c;符合小端存储。 贴一下网址&#xff0c;原准备依据开源版本进行…

制作一个能构建 dotnet AOT 的 gitlab runner 的 Debian docker 镜像

我的需求是需要有一个能够构建出 dotnet 的 AOT 包的环境,要求这个环境能解决 glibc 兼容依赖的问题,能打出来 x64 和 arm64 的 AOT 的包,且能够运行 gitlab runner 对接自动构建需求 以下是我列举的需求支持制作能在 UOS 系统和麒麟系统上运行的包 支持制作出来的包是 AOT …