QuakeIV声音部分
原文地址 https://www.iddevnet.com/quake4/Sounds
声音着色器创建
Quake3中使用的“通道”的概念完全消失了。
没有更多的SND_IDLE,SND_ACTION等,
这些已被 声音着色器 所取代。
声音着色器定义波形文件及其播放方式。
这两个.wav文件和.ogg文件可以与新的QuakeIV引擎一起使用。
声音着色器 就像 素材着色器。
.
它们 位于 base \ sound 目录中,扩展名为.sndshd,
您可以创建 任意数量的 声音着色器文件,
它们都在 运行时收集 并 加载在一起。
声音着色器是新Quake4引擎音频的 根源。
( 这个 似乎应该是个 声音 描述文件 )
创建一个新的声音后,始终 是一个 好主意,
然后 立即 创建 着色器。
这样,事情保持组织,你知道哪些声音可以在游戏中使用,哪些不是。
定期浏览过去的着色器 并清理未使用或无效的声音 也是一个 好主意,
这样可以 消除 错误信息,
只会保持更严格的船只。(此句 翻译 可能 有误…… )
以下是着色器的几个示例:
ambient_machinery11 { minDistance 40 maxDistance 600 卷 0 循环 声音/周围环境/工业/ machinery11.wav }这个特定的着色器是环境声音,它被创建为一个连续的循环。
它以全音量 开始,
最小距离 为 “40”,
并在“600”单位 之间 淡入淡出。
音量设置为 默认设置“0”,
因此它将以您 设计声音的 任何音量 播放。
音量以 dB 为 单位... 所以如果你有一个 高度压缩的声音,
在许多 情况下,可能不是一个 超过“0”的好主意,
因为你会得到剪辑/失真。
已经输入了“循环”条目,从而使声音循环到完成播放周期的开始。
以下是其他一些例子:
gladiator_breathe { 描述“角斗士huffin和海雀” minDistance 400 maxDistance 1200 卷0 声音/ Strogg /斗士/ breath01.wav 声音/ Strogg /斗士/ breath02.wav 声音/ Strogg /斗士/ breath03.wav 声音/ Strogg /斗士/ breath04.wav }sound player_steps_solid_metal { 描述“玩家在 步行固体金属材料时的 脚步声” minDistance 400 maxDistance 1200 volumeDb 0 经常使用 no_dups 声音/海洋/播放/措施/ concrete_01 声音/海洋/播放/措施/ concrete_02 }请注意,这些选项有不同的声音,
着色器系统 会在 每次启动时 从该 列表中 提取 随机声音。
您还将注意到,
这些 特定声音的 最小 和 最大距离 稍大一点,
这使得 播放器 能够从 远离声音的起点 更清晰地听到 声音。
以下是所有选项:
description [string]- 一个字符串,用于判断声音的使用和/或使用方式。
对于对话,通常是讲话的短语。它纯粹用于发展目的,并不是声音引擎所要求的。
minDistance [float]- 设置 与 世界单位 发出声音 的 最小 距离。
在世界物体或生物上使用时,
将 其 设置为 约40 - 120是个 好主意。
maxDistance [float]- 设置声音发出的最大距离。
超越这个距离,声音不能被听到。
volumeDb [float]- 以 分贝设置世界声音的音量。
0是默认音量,-60是完全静音。
leadinVolume [float]- 音量在0(静音)到 1(满量程)音阶 的 音量。
未锁定- 默认情况下,每个通道的音量在所有衰减计算后被钳位为1.0。
设置此标志表示不应用此 夹具。(此句可能翻译有误…… )
通过将cvar s_clipVolumes设置 为 0,
可以将所有通道应用于 未锁定。
循环- 将着色器设置为循环。(此句可能翻译有误 ……)
playOnce- 如果已经在此频道上播放,则不要重新启动声音。
全局- 这将强制声音忽略最小/最大距离设置并在全局播放。
主要用于音乐和多人公告。
私人- 只听播放声音的播放器上的声音。(这个可能也有误……)
antiPrivate- 播放此声音的播放器 无法听到。
no_occlusion- 将着色器设置为不封闭,这意味着您将通过墙壁等来听到它们。
对于令人毛骨悚然的东西,音乐床和门打开和关闭非常有用。
全方位- 默认情况下,声音导航通过门户树,以找出与听众的距离。
声音与这个标志做一个简单的距离检查和播放在相同的音量在所有的扬声器。
no_dups- 这是一个不允许着色器系统重复两次随机声音的设置。
它创造了更多的一个现实的声音体验。脚步声是使用这个的一个很好的例子。
no_flicker- 这允许光线播放不影响其强度的声音。
经常使用- 这是强制声音总是被解压缩的性能设置。
它使用更多的内存,但显着提高性能。
谨慎使用,只能用于真正“经常使用”的声音。
一个例子就是玩家的weapon声或脚步声。短暂的东西。
noRandomStart- 这是循环的声音。
默认情况下,游戏将以循环播放的方式选择随机点。
这个着色器parm强制声音从声音的开始播放。
这对于顺序声音(加速,移动,减速,停止声音 - 如电梯)或音乐很有用。
voForPlayer- 这个声音是指向播放器的对话框,所以使人为地变得更大声,一切都更安静。
中心- 通过偏向中央扬声器人为地增强了这种声音的音量。
causeRumble- 这个标志的声音引起强力反馈设备的隆隆声。
soundClass [int 0 to 4]- 这将某些声音组合在一起用于数量目的。
例如,所有的音乐文件都在“soundClass 3”上,
所以如果有人需要在脚本中全局 改变音乐音乐的音量,
那么它们只会在“soundClass 3”上淡入淡出。
没有别的会改变。
频移[float] [float] - 允许声音的频率衰减。正常范围为0.75至1.25。
摇动[浮动] - 这定义了可以听到这个声音时屏幕抖动的程度。
no_shakes- 用于抑制抖动数据生成的工具的标志。一般来说,这是为了音乐。
shakeData [int] [string] - 以ascii 形式 的 声音强度。
z是大声的,一个是完全的沉默。
每个 字母 代表 1/30秒。
altSound [声音]- 这是一个光线的“破碎”声音。
如果有声音的灯坏了,它会停止原声,如果存在,就播放这个声音。
minSamples [int]- 这覆盖了s_maxSoundsPerShader cvar。
例如,对于低内存机器,限制被设置为1,但仍然需要具有多于一个脚步声。
Quake4声音放置
环境声音:
当您放置环境声音并在Quake 4中编辑混响数据时,
在游戏实际运行时全部完成。
以下screeshot是您将其放置在游戏环境中时所有的音频工具的外观。
- 这是音频编辑器。这是您编辑游戏中大部分扬声器数据的地方。
- 这是以窗口模式运行的实际游戏
- 这是OpenAL使用的混响编辑器。
准备好了吗 好!
开始游戏并运行在窗口模式( r_fullscreen 0,然后vidrestart),
加载你想开始放置环境声音的地图。
你可能想要终止 所有的水平的怪物,让控制台下来,
输入“killmonsters”和通过键入“神”无敌。
这样你就可以通过这个层次而不用烦恼了。
您可能还需要将密钥绑定到“noclip”,以便轻松访问空间。
现在放下控制台并输入“editsounds”。
这将打开声音编辑器,使您可以在整个级别预览 和放置环境声音。
它将分析着色器文件的所有声音的属性(意思是音量和半径设置),
但您可以对您在世界上放置的每个扬声器进行更改。
你可以看到,这个工具本身的大部分是不言自明的。
如果您想在播放时选择特定的扬声器,
只需点击扬声器,就像在游戏环境中进行拍摄。
您还可以从下拉菜单中选择某些扬声器。您可能希望确保您处于“noclip”模式。
如果你选择天空中的扬声器,那么 玩家 将会 游戏中“败倒”。
完成放置环境声音后,
始终是一个很好的主意,在正常水平下立即播放。
这样可以确保您的环境声音不会太强大。
编辑混响:
如果您在OpenAL中运行游戏,那么您可以通过在控制台上键入“editreverb”
来编辑地图中的混响设置。
混响数据来自您的地图中的门户数据,
因此如果更新门户数据,则必须更新混响信息。
一般来说,混响通知应该是你在打电话给“最后”之前做的最后一件事。
世界对象和动画:
这是一个可以得到很多参与的过程,
所以准备自己!执行此操作的方法是启动游戏,
将控制台放下,并启动Modview。这将打开我们的内部模型/动画查看器工具。
加载要附加声音的模型和/或动画,请注意您希望发生声音效果的帧号,
然后打开相应的.def文件(在本例中为gladiator.def文件),
该文件为home到你想编辑的动画。
添加任何声音着色器到模型定义如下:
“snd_sight”“gladiator_alert” “snd_stomp”“gladiator_footsteps_run” “snd_punch”“gladiator_punch” “snd_swing”“gladiator_swing”
接下来,在.def文件中找到特定的动画,
然后使用这样的动画进行编辑:
anim range_attack1型号/怪物/角斗士/ gla_blaster_strafe.md5anim { frame 6,21 sound snd_stomp 框架1,25声音snd_breathe 帧4,25声音snd_servo }这表明,对于角斗士的range_attack1的动画,
脚趾声将发生在第6帧和第21帧,
他的呼吸落在帧1和25上,
而他的伺服声音在第4帧和第25帧发射。
