Skip to main content

静音他人

此示例展示了如何静音和取消静音其他玩家。

访问静音他人示例世界亲自体验!

使用示例​

打开 mute-others 场景在 Unity 编辑器中测试,或访问示例世界。

按下标有"Mute Players"的按钮以静音实例中与你在一起的所有其他玩家,按钮标签将变为"Unmute Players"。再次按下按钮恢复其他玩家的声音和原始的"Mute Players"标签。

导入示例​

按照以下步骤将此示例添加到你的 Unity 项目:

  1. 从 Unity 编辑器菜单中打开示例中心窗口,路径为"VRChat SDK > 🏠 Example Central"
  2. 在列表中找到此预制件,或按标题搜索(与当前页面标题相同)。
  3. 点击"Import"按钮将 Unitypackage 导入到你的项目中。

技术解析​

"PlayerMuteLogic"游戏对象上有一个单独的 U# 程序,包含演示的所有逻辑。

MuteOthers.cs​

此程序有一个布尔变量 _areOtherPlayersMuted,每当场景中的 MuteButton 调用 _Trigger() 函数时切换。

切换此变量的值后,调用 OnMuteUpdated(),它获取实例中所有玩家的列表,然后更改它们的 VoiceDistanceFar 以有效静音和取消静音。当此值设置为 0 时,意味着其他玩家的声音在 0 米后就会消失。

取消静音时,值恢复为 _defaultVoiceDistance,默认为 25,除非你在检视面板中更改。

变量​

  • Button Label - 对按钮标签的引用,用于更改其消息。
  • Message Muted - 其他玩家静音时按钮上显示的文本。
  • Message Unmuted - 其他玩家取消静音时按钮上显示的文本。
  • Default Voice Distance - 取消静音时为所有玩家语音距离设置的值,默认为 25。

挑战​

你能更新此预制件以仅静音部分玩家吗?一种方法是基于玩家位置来操作,可以查看 PlayerJoinZones 示例了解相关方法。