语音通话(VOIP)
nanos world 中 VOIP 的工作原理以及如何使用它。
nanos world 使用 Steam 的原生实现提供了一个内置的语音通话 (VOIP) 系统,允许玩家在游戏内通过语音进行交流。该 VOIP 系统具有高度可定制性,可以配置为使用本地/近距离聊天、全局频道,或两者结合。
VOIP 音频类型
VOIP 系统基于两种主要类型:本地/近距离 与 全局。
本地/近距离
Local VOIP uses a 3D spatialized audio to output the Player's voice. 通常,这会附着在占有该玩家的角色上,并模拟出一个真实的音频环境,玩家只有在彼此靠近时才能听到对方说话。
你可以使用 Player:SetVOIPLocalSetting() 来为玩家启用或禁用本地聊天。 The volume of the local chat can be adjusted with Player:SetVOIPLocalVolume(), and how far the voice can be heard with Player:SetVOIPLocalMaxDistance().
全局
全局 VOIP 允许玩家相互交流,无论他们处于游戏世界中的哪个位置。共有 63 个可用的全局频道(1-63)。可以配置玩家在特定频道上进行收听或发言。
你可以使用 Player:SetVOIPGlobalChannelSetting() 为特定全局频道配置玩家设置,或者使用 Player:SetVOIPGlobalAllChannelsSetting() 一次性配置所有频道。全局聊天的音量同样可以通过 Player:SetVOIPGlobalVolume() 进行调整。
You can check in which channels a player is listening or speaking with Player:GetVOIPListeningChannels() and Player:GetVOIPSpeakingChannels().
-- Creates a "team radio": players of each team speak and listen only in their team channel
function SetPlayerTeamRadio(player, team)
-- Stops listening and speaking in all global channels
player:SetVOIPGlobalAllChannelsSetting(VOIPSetting.None)
-- Speaks and listens in the team channel (team 1 uses channel 1, and so on)
player:SetVOIPGlobalChannelSetting(team, VOIPSetting.Both)
end
高通/低通滤波器
在全局频道中,可以通过 Player:SetVOIPGlobalHighPassFilter() 和 Player:SetVOIPGlobalLowPassFilter() 方法对全局音频设置滤波器。
我们可以通过设置高通滤波器(例如 player:SetVOIPGlobalHighPassFilter(8000))来模拟出收音机效果。
高通/低通滤波器仅在全局频道中可用。
VOIP 设置
本地和全局频道的 VOIP 设置均是使用 VOIPSetting 枚举进行配置的。 It is possible to define if the player will just listen, speak or both, on the local channel and on each global channel!
Knowing Who is Talking
The VOIP event is triggered when a player starts or stops talking, which is useful to display a "talking" indicator in your UI:
Player.Subscribe("VOIP", function(player, is_talking)
Console.Log("%s is %s", player:GetName(), is_talking and "talking" or "silent")
end)
静音
可以使用 Player:SetVOIPMuted() 方法对特定玩家进行静音。如果在服务端调用此方法,该玩家对所有人都会被静音;但也可以在客户端调用它来实现本地静音。
配置麦克风
由于我们使用了 Steam 的实现方式,你可以在 Steam 的设置中配置你的麦克风,该设置可以通过 Steam 客户端或 Shift+Tab 叠加界面快捷键进行访问。这允许你调节麦克风音量、测试麦克风并设置其他音频偏好设置。
