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

Vuforia AR篇(三)— AR模型出场效果-灵码CV
Vuforia AR篇(三)— AR模型出场效果
此内容为积分资源,请登录后查看
0积分
积分资源
AI摘要
AI文摘 此内容由AI根据文章内容自动生成

前言

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

一、AR模型出场

创建ARCamera和ImageTarget

图片[1]-Vuforia AR篇(三)— AR模型出场效果-灵码CV

导入一个带动画的模型

图片[2]-Vuforia AR篇(三)— AR模型出场效果-灵码CV
图片[3]-Vuforia AR篇(三)— AR模型出场效果-灵码CV


复制下面的脚本

图片[4]-Vuforia AR篇(三)— AR模型出场效果-灵码CV


然后改名成下面DeathObserverEventHandler

图片[5]-Vuforia AR篇(三)— AR模型出场效果-灵码CV


找到下面的2个方法

图片[6]-Vuforia AR篇(三)— AR模型出场效果-灵码CV


重写下面的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

二、AR出场特效

导入特效素材

图片[8]-Vuforia AR篇(三)— AR模型出场效果-灵码CV


图片[9]-Vuforia AR篇(三)— AR模型出场效果-灵码CV


添加特效代码

    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
© 版权声明
THE END
喜欢就支持一下吧
点赞59
评论 抢沙发

请登录后发表评论

    暂无评论内容