中级08/Unity中快照应用

使用快照能够非常迅速的进行效果器的效果变更。当我们在ADX2编辑中创建快照时,快照存储在相应的DSP下,而所有DSP的Bus都会在快照中显示,通过使用快照能够直接调整当前快照的每个DSP Bus的send值,如此一来切换快照时就能非常迅速的进行效果量的切换。

ADX2中设置

DSP总线设定:

DSP总线上创建了一个Bus1,Bus1上添加了Reverb效果器,并将Bus1发送到MasterOut上,同时将Bus1的Send降低为0,如此一来我们将Cue发送到Bus1时,直接使用DSP时不会存在混响效果。

快照设置:

我们创建了两个快照:SnapshotOn和SnapshotOff,两个快照的作用主要用于Bus1的发送量更改:

上图分别显示了SnapshotOn和SnapshotOff的状态。通过两个快照我们能够迅速的切换不同混响效果。

而对于需要添加效果的Cue:

我们需要将其发送到BUS1上去,如此一来ADX2中设置就完成了。

Unity中设置

在Unity中我们使用极其简单的方式来模拟效果,通过点击按钮自动切换两个快照的状态,使得效果添加和移除。

首先我们需要创建包含相关Cue的object于场景中,而后在此Object上添加脚本:

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

public class SnapshotOn : MonoBehaviour
 {
     int SnapshotStatue = 1;
     void Start()
     {
         CriAtom.AttachDspBusSetting("DSP");
}
public void SnapshotDo()
{
    if(SnapshotStatue == 1)
    {
        CriAtomEx.ApplyDspBusSnapshot("SnapshotOn", 500);
        SnapshotStatue = 2;
    }
    else
    {
        CriAtomEx.ApplyDspBusSnapshot("SnapshotOff", 500);
        SnapshotStatue = 1;
    }
}
}

脚本中我们用一个整形变量记录快照状态,同时使用判断语句来判断当前状态,当按钮每次按下时,都会根据当前状态来切换两个不同的快照,使得快照变化应用。

在CriAtomEx.ApplyDspBusSnapshot(“SnapshotOff”, 500);函数中,第二个参数表示过渡时间,即从当前快照的Bus send的值变更到目标值时的时间。

这个过渡的存在使得快照的变更变得非常平滑,不会在切换时感受到突变问题。

除脚本内容和播放的Cue外,我们还需要创建一个Button用以切换快照:

细节如上图,通过触发Button的点击事件来不断的更改快照实现我们的混响效果变化。

Ringo

CRI Middleware Global Expansion Group

发表评论

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

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