Vuforia开发基础(六):音频

本文介绍如何在增强现实(AR)应用中使用Unity3D处理音频与事件。包括虚拟按钮触发声音及动画,模型加载时播放背景音乐,并启用渲染组件等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在学会利用U3d处理音频之后,看下面的教程。  
1、 虚拟按钮  
结合Vuforia 虚拟按钮制作教程,在该方法下添加对应事件。  

复制代码
/// <summary>
    /// Called when the virtual button has just been pressed:
    /// </summary>
    public void OnButtonPressed(VirtualButtonAbstractBehaviour vb)
    {
        if (!button_audio.isPlaying) {
            button_audio.Play();        
        }
        if (button_audio.isPlaying) {
            button_audio.volume=1;      
        }
        Debug.Log("OnButtonPressed::" + vb.VirtualButtonName);
         
        // Add the material corresponding to this virtual button
        // to the active material list:
        switch (vb.VirtualButtonName)
        {
        case "one":
            //myObject.transform.animation.Play();
            myObject.transform.animation.Play("Take 4");
            labelname = "one -> Run!";
            if (!button_audio.isPlaying) {
                button_audio.Play();        
            }
            if (button_audio.isPlaying) {
                button_audio.volume=1;      
            }
            break;
             
        case "two":
            myObject.transform.animation.Play("Take 002");
            labelname = "two -> Nothing!";
            if (!button_audio.isPlaying) {
                button_audio.Play();        
            }
            break;
             
        case "three":
            //myObject.transform.animation.Play("Take 4");
            myObject.transform.animation.Play();
            labelname = "three -> Stand!";
            if (!button_audio.isPlaying) {
                button_audio.Play();        
            }
            break;
             
        case "four":
            myObject.transform.animation.Play("Take 5");
            labelname = "four -> Hello!";
            if (!button_audio.isPlaying) {
                button_audio.Play();        
            }
            break;
 
        }
    }
2、 模型出现  

DefaultTrackableEventHandler 脚本中, OnTrackingFoun d方法触发。  

复制代码
private void OnTrackingFound()
        {
            if (!baymax_audio.isPlaying) {
                baymax_audio.Play ();
            }
            if (baymax_audio.isPlaying) {
                baymax_audio.volume = 60;           
            }
 
            Renderer[] rendererComponents = GetComponentsInChildren<Renderer>(true);
            Collider[] colliderComponents = GetComponentsInChildren<Collider>(true);
 
            // Enable rendering:
            foreach (Renderer component in rendererComponents)
            {
                component.enabled = true;
            }
 
            // Enable colliders:
            foreach (Collider component in colliderComponents)
            {
                component.enabled = true;
            }
            Debug.Log("Trackable " + mTrackableBehaviour.TrackableName + " found");
        }
3、按钮事件  


总结:  
1、 Unity3D播放音频处理方式一样  
if  (!button_audio.isPlaying) {  
button_audio.Play();  
}  

2、对AR场景中,音效触发事件的不同


请尊重所有作者的劳动,转载请注明原帖来自 AR学院  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值