SuperAPI AI 工具集

vrc-udon

编程与开发

查看项目

更新于 10-15 16:47

技能介绍

用途:为 VRChat 世界编写 Udon/UdonSharp 脚本,重点解决加入网络同步后行为变化的问题。基础 Udon 网络行为会静默失败:无所有权修改同步变量、忘记 RequestSerialization、仅编辑器测试、迟到玩家看到默认状态等,本技能围绕这些规则展开。

主要能力:

  • UdonSharp 语法与模式;
  • 网络与同步([UdonSynced] 变量、RequestSerialization、OnDeserialization);
  • 所有权模型(Networking.SetOwner 后再修改同步变量);
  • 玩家交互、世界事件、常用 Udon 行为;
  • 迟到玩家支持(OnPlayerJoined 中由所有者重新序列化);
  • 事件驱动通信(SendCustomEvent、SendCustomNetworkEvent)。

核心原则:每个同步变量都有带宽成本;只有所有者能改同步变量;状态需对迟到玩家正确;明确本地与网络区别;用事件而非轮询。

典型用法:需要修改同步变量时先检查并转移所有权,修改后调用 RequestSerialization,在 OnDeserialization 中更新视觉状态;全局触发用 SendCustomNetworkEvent(NetworkEventTarget.All, "事件名")。

限制与反模式:无所有权改同步变量会静默失败;忘记 RequestSerialization 则不同步;同步过多数据导致网络延迟;用 Update 做网络检查浪费性能;不处理迟到玩家会状态错误。本技能不覆盖 C# 性能优化与世界搭建优化,分别交由 unity-csharp 与 vrc-worlds。参考资料:references/networking.md、assets/udon-checklist.md。具体平台与收费信息暂未提供。