【Photon Voice】Demo

PUN Voice Demo 是一个简单的友好的四人手机游戏,玩家可以互相交谈。除了匹配,游戏有4个不同的可玩角色和3个不同的摄像头视图。这个演示是基于Unity的教程"Survival Shooter"Photon Voice package

【Photon Voice】Demo

安装程序

要尝试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还包括一些不错的音效。他们可以通知房间加入和离开事件。希望你喜欢这些!

【完】

上一篇:手写strcpy和memcpy代码实现


下一篇:SQL Server2008R2 “执行未经授权的操作”