中级07/Unity中Category和AISAC控制

Category和AISAC可以对ADX2中的Cue进行类别集体控制和效果添加,通过使用Category和AISAC我们可以非常方便的在Unity进行各类的控制和整体效果的变化。

例如我们可以在游戏的设置界面让玩家自行调整游戏内音量,或者当玩家打开界面时整体变更游戏内音乐和音效的低通效果等。

本文中主要以添加界面滑块为例,让游戏中的音乐受到滑块控制变更效果。

ADX2制作

如上图我们创建一个Category,同时创建一个AISAC用以控制低通效果:

调节效果参数曲线,使得曲线符合我们期望的效果变化,AISAC可以控制曲线类型,通过类型变化来使得我们的效果更加符合我们的需求。

最后,将我们需要控制的所有Cue全部放入到Category中去。这样一来我们的所有在Category中的Cue都会受到Category的控制,并且创建在Category上的AISAC也能调整所有其中Cue的效果。

Unity中设置

首先我们要将声音创建在Unity中,为了方便起见我们直接在场景中创建一个包含ADX2声音的Object,并且勾选上Play On Start让场景运行时即刻播放音乐。

创建完成用于播放声音的Object后,我们创建用于调整声音效果的滑块:

而后我们在播放声音的Object上创建脚本文件:

using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;

public class AISACControl : MonoBehaviour
 {
     public UnityEngine.UI.Slider Effect;
     private CriAtomSource atomSrc;
     private float MusicVolume = 1.0f;

// Start is called before the first frame update
void Start()
{
    atomSrc = GetComponent<CriAtomSource>();
}

public void OnEffectChanged()
{
    MusicVolume = Effect.value;

    CriAtomExCategory.SetAisacControl("MusicLowPass", "AISAC_Occlusion", MusicVolume);

}
}

脚本完成后将滑块拖入到脚本相应位置:

同时更改滑块的触发内容:

如此一来,我们的在界面上拖动滑块时就能够听到音乐的低通发生了改变。

脚本中我们主要通过使用Category,进行Category中的AISAC控制,同时将滑块变更时的值赋予了相关的AISAC,使得AISAC的值跟随滑块值而变动,最终当拖动滑块时能够实时更改AISAC的值使得效果实时变更。

Ringo

CRI Middleware Global Expansion Group

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据