PUN Voice Demo 是一个简单的友好的四人手机游戏,玩家可以互相交谈。除了匹配,游戏有4个不同的可玩角色和3个不同的摄像头视图。这个演示是基于Unity的教程"Survival Shooter"和Photon Voice package。
安装程序
要尝试PUN Voice Demo:
- 从Asset Store下载插件包。
- 在Unity中打开项目并加载DemoPunScene场景。
- 在Unity Inspector中打开PhotonServerSettings (Menu: "Window" -> "Photon Unity Networking" -> "Highlight Server Settings"):
a.配置PUN:从光子实时仪表板复制粘贴自己的Realtime AppId。
b.配置Voice:从光子语音仪表板复制粘贴您自己的Voice AppId。 - 构建,运行!
特征
在本节中,我们将讨论演示中公开的特性。
多角色
当你和你的朋友尝试Demo时,你会注意到每个玩家都会有自己独特的角色,并且会在一个随机的位置产生。这是使用CharacterInstantiation类处理的。在OnJoinedRoom回调中,我们根据角色编号和随机生成的位置选择一个预置。
连接和校准
在右下角,您可以找到校准和连接按钮。校准按钮只有在连接到语音室时才起作用,并可用于调节音量。另外两个按钮分别“连接”或“断开”PUN 或 Photon Voice 。
设置
通过使一些设置可以从用户界面轻松访问,我们想给你一个快捷方式来调整你的Photon Voice应用程序。
游戏中的设置
Photon Voice 应用程序最重要的运行时设置是分组在单个开关组(ToggleGroup)中:
- Transmit:传输,当不可用时,语音传输将被关闭。否则,声音将在本地录音并传输。
- Mute Speaker:静音扬声器,此设置如字面意思,它通过将音量设置为零来静音扬声器。
- VoiceDetection:语音检测,此设置启用或禁用语音检测功能。
- DebugEcho:调试回声,当使用单个客户端测试语音应用程序时,此设置很有用。如果启用,则发送的音频流将从服务器发送回原始发送方。仅用于调试目的。
全局设置
- AutoConnectAndJoin:当PUN客户端加入到“PUN room”时,自动将Photon Voice客户端连接到“Voice room”。
- AutoLeaveAndDisconnect:当PUN客户端断开时,自动断开Photon Voice客户端。
- DebugVoice:切换调试模式。调试文本将出现在屏幕左上角,其中包含:PUN 和 Voice应用程序的 ClientState、正在使用的麦克风设备和一些语音统计信息。如果启用,它还会在每个“正在说话”的角色上显示语音扬声器延迟
突出显示语音组件
为了说明两个主要的语音组件是如何工作的,我们使用了一个图标视图,显示在每个玩家的的顶部。这个视图基于Unity在“世界空间”模式下的新UI系统。它包含2个图标:
“扬声器”图标
此图标的作用是当播放玩家声音时显示。它绑定到PhotonVoiceView组件。根据以下代码显示或隐藏图像:
speakerSprite.enabled = photonVoiceView.IsSpeaking;
另外,当DebugVoice全局设置被开启时,一个文本将开始显示在同一个视图中,其中包含一个不断更新的数字。它告知扬声器组件的延迟。启用或禁用如下:
bufferLagText.enabled = showSpeakerLag && photonVoiceView.IsSpeaking;
if (bufferLagText.enabled)
{
bufferLagText.text = string.Format("{0}", photonVoiceView.SpeakerInUse.Lag);
}
“气泡语音”图标
此图标用于显示何时录制和传输播音员的声音。它绑定到PhotonVoiceView组件。根据以下代码显示或隐藏图像:
recorderSprite.enabled = photonVoiceView.IsRecording;
你可以看看“Highlighter.cs”文件和使用相同的名称的类来了解更多信息。
相机的不同模式
由于Photon Voice可以在任何类型的游戏中使用,包括AR和VR,所以有一个实例来说明3D声音体验有多好是有帮助的。为此,我们准备了3种相机模式:
- 第一人称
- 第三人称
- “正交”(默认)
一旦你加入了一个房间,你就可以在它们之间*无缝地切换。一旦玩家的角色被实例化,屏幕右上角有三个相应的按钮可用。
移动操纵杆
Demo包括对移动触摸输入的支持。在智能手机或平板电脑上,你可以使用基于Unity's Standard Assets附带的操纵杆用户界面。为了能够使用这个功能,你需要从Unity的菜单中启用“"Mobile Input”,并在Unity的构建设置中切换到兼容的平台。
调试模式
当DebugVoice开关处于打开状态时,将启用调试模式。在此模式下,屏幕左上角会显示额外信息,其中包括:
- PUN客户端状态
- Voice客户端状态
- 平均和峰值声音振幅
- 可用麦克风设备的列表或警告(如果没有)。一般来说,大多数设备都包含一个麦克风。
声音
Demo还包括一些不错的音效。他们可以通知房间加入和离开事件。希望你喜欢这些!
【完】