AI文摘
此内容由AI根据文章内容自动生成
前言
在这个数字化日益增长的时代,增强现实(AR)技术正以前所未有的速度发展。AR模型,作为这一技术的核心组成部分,不仅改变了我们与数字世界的互动方式,还极大地丰富了我们的现实体验。本文将探讨AR模型的出场效果。
一、AR模型出场
创建ARCamera和ImageTarget
![图片[1]-Vuforia AR篇(三)— AR模型出场效果-灵码CV](https://www.0cv.com/wp-content/uploads/2025/11/image-48.png)
导入一个带动画的模型
![图片[2]-Vuforia AR篇(三)— AR模型出场效果-灵码CV](https://www.0cv.com/wp-content/uploads/2025/11/image-49.png)
![图片[3]-Vuforia AR篇(三)— AR模型出场效果-灵码CV](https://www.0cv.com/wp-content/uploads/2025/11/image-50.png)
复制下面的脚本
![图片[4]-Vuforia AR篇(三)— AR模型出场效果-灵码CV](https://www.0cv.com/wp-content/uploads/2025/11/image-51.png)
然后改名成下面DeathObserverEventHandler
![图片[5]-Vuforia AR篇(三)— AR模型出场效果-灵码CV](https://www.0cv.com/wp-content/uploads/2025/11/image-52.png)
找到下面的2个方法
![图片[6]-Vuforia AR篇(三)— AR模型出场效果-灵码CV](https://www.0cv.com/wp-content/uploads/2025/11/image-53.png)
重写下面的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);
}
}
然后挂上脚本
![图片[7]-Vuforia AR篇(三)— AR模型出场效果-灵码CV](https://www.0cv.com/wp-content/uploads/2025/11/image-54.png)
二、AR出场特效
导入特效素材
![图片[8]-Vuforia AR篇(三)— AR模型出场效果-灵码CV](https://www.0cv.com/wp-content/uploads/2025/11/image-55.png)
![图片[9]-Vuforia AR篇(三)— AR模型出场效果-灵码CV](https://www.0cv.com/wp-content/uploads/2025/11/image-56.png)
添加特效代码
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);
}
}
四、效果
![图片[10]-Vuforia AR篇(三)— AR模型出场效果-灵码CV](https://www.0cv.com/wp-content/uploads/2025/11/cd0f6a001ae74653f552ba0bb7aadc60.gif)
© 版权声明
THE END















暂无评论内容