Chai 3D之音频

推荐:将 NSDT场景编辑器 加入你的3D开发工具链

介绍

  如果没有某种音频,无论是背景音乐还是声音效果,交互式应用程序都是不完整的。CHAI3D 的音频课程结合了灵活而强大的 OpenAL 框架。CHAI3D 目前支持 WAV 音频文件格式,并具有在与对象的工具和材料属性相关的 3D 空间中播放声音的复杂功能。

基本概念

  在现实生活中,声音由物体发出,并由听众听到。感知声音的方式取决于许多因素。听者可以大致分辨出声音来自哪个方向,并且还可以从其响度和质量中获得一些距离。由于多普勒效应,快速移动的声源(如飞机或路过的警车)在移动时音调会发生变化。

音频源和听众

  为了模拟位置的效果,CHAI3D 要求声音源自附加到对象的音频源 (cAudioSource)。然后,发出的声音由连接到另一个对象(通常是主摄像机)的音频侦听器(cAudioDevice)拾取。然后,CHAI3D 可以模拟源与听者对象的距离和位置的影响,并相应地向用户播放。源和侦听器的相对速度也可用于模拟多普勒效应以增加真实感。

using namespace chai3d;
// create an audio device to play sounds
cAudioDevice* audioDevice = new cAudioDevice();
// attach audio device to camera
camera->attachAudioDevice(audioDevice);
// create an audio buffer
cAudioBuffer* audioBuffer = audioDevice->newAudioBuffer();
// load a WAV file
audioBuffer->loadFromFile("sound.wav");
// create an audio source
cAudioSource* audioSource = audioDevice->newAudioSource();
// assign audio buffer to audio source
audioSource->setAudioBuffer(audioBuffer);
// loop playing of sound
audioSource->setLoop(true);
// set audio gain
audioSource->setGain(1.0);
// set audio pitch
audioSource->setPitch(0.2);
// play sound
audioSource->play();

  OpenAL 手册可以在 CHAI3D 文档文件夹中找到,其中提供了有关可用于获得恰到好处的效果的许多选项和参数的更多信息。

3D建模学习工作室翻译整理,转载请标明出处!

上一篇:Chai 3D之鼠标拾取 (mvrlink.com)

下一篇:Chai 3D之触觉渲染 (mvrlink.com)

NSDT场景编辑器 | NSDT 数字孪生 | GLTF在线编辑器 | 3D模型在线转换 | UnrealSynth虚幻合成数据生成器 | 3D模型自动纹理化工具
2023 power by nsdt©鄂ICP备2023000829号