归海一啸
管理员
管理员
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 喜欢达人
  • 原创写手
阅读:3370回复:4

(Unity3d)Vuforia开发基础六-音频

楼主#
更多 发布于:2015-06-17 22:49
在学会利用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脚本中,OnTrackingFound方法触发。
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学院(www.arvrschool.com),从这里感触未来!

欢迎分享

啄木鸟
侠客
侠客
  • UID1568
  • 粉丝0
  • 关注0
  • 发帖数25
沙发#
发布于:2016-05-18 14:39
找了好久了 真好啊
hywen1990
新手
新手
  • UID1915
  • 粉丝0
  • 关注0
  • 发帖数8
板凳#
发布于:2016-07-13 09:38
挺好的教程,感谢!
2445239437
侠客
侠客
  • UID1095
  • 粉丝0
  • 关注4
  • 发帖数26
  • 社区居民
地板#
发布于:2016-09-25 19:52
讲的真好!
没学虚拟按键,我是用audioClip做的
this.gameObject.GetComponent<AudioSource>().Stop();
this.gameObject.GetComponent<AudioSource>().PlayOneShot(audioClip[1]);
makking
贫民
贫民
  • UID3241
  • 粉丝0
  • 关注0
  • 发帖数1
4楼#
发布于:2016-12-13 09:20
相当不错,很及时的教程
游客

返回顶部