玩家模组设置器
此 UdonBehaviour 示例脚本允许您配置世界中玩家的移动。
变量
| 名称 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| Jump Height(跳跃高度) | float | 3 | 玩家的跳跃强度。受重力影响。 |
| Run Speed(奔跑速度) | float | 4 | - 键盘输入:不按住 Shift 键时向前或向后移动的速度。 - 摇杆输入:向前或向后倾斜摇杆时的移动速度。 |
| Walk Speed(行走速度) | float | 2 | - 键盘输入:不按住 Shift 键时向前或向后移动的速度。 - 摇杆输入:始终使用"奔跑速度"而非"行走速度"。 |
| Strafe Speed(平移速度) | float | 2 | 向左或向右移动的速度。 |
| Gravity(重力) | float | 1 | 重力对玩家的影响程度。 |
| Use Legacy Locomotion(使用旧版移动) | bool | false | 启用 VRChat 已弃用的旧版移动系统。之后无法通过 Udon 禁用。 |
示例
UdonSharp 程序称为 PlayerModSetter.cs,Udon Graph 程序称为 VRCWorldSettings.asset。它们的工作方式非常相似,可以在 VRChat 世界中使用其中任何一个。
- Udon Graph
- UdonSharp
此 Graph 程序位于 Packages/com.vrchat.worlds/Samples/UdonExampleScene/UdonProgramSources/VRCWorldSettings.asset/。

这是 UdonSharp 脚本 \Assets\UdonSharp\UtilityScripts\PlayerModSetter.cs 的简化示例。
using UnityEngine;
using VRC.SDKBase;
public class PlayerModSettings : UdonSharpBehaviour
{
VRCPlayerApi playerApi;
[Header("Player Settings")]
[SerializeField] float jumpImpulse = 3;
[SerializeField] float walkSpeed = 2;
[SerializeField] float runSpeed = 4;
[SerializeField] float gravityStrength = 1;
void Start()
{
playerApi = Networking.LocalPlayer;
playerApi.SetJumpImpulse(jumpImpulse);
playerApi.SetWalkSpeed(walkSpeed);
playerApi.SetRunSpeed(runSpeed);
playerApi.SetGravityStrength(gravityStrengh);
}
}