变量篇
本篇主要描述VRChat Networking ——UdonSync 标签以及带参网络同步所允许同步的类型。
——————
网络同步支持以下类型的参数同步
布尔:bool
文字:char、string、VRCUrl
整数:byte、sbyte、short、ushort、int、uint、long、ulong
浮点:float、double
元数组:Vector2、Vector3、Vector4、Quaternion、
颜色:Color 和 Color32。
以及他们的数组[]
————
请注意:
在Udon:OnValueChanger事件中要求:
变量只要值改变就算是更新
而数组只有当大小发生改变时才会触发改变,值改变不会触发OnValueChanger事件
———
在UdonSharp中使用OnValueChanger事件的方法
OnValueChanger事件并非是一个固定的事件,而是一种特殊的自定义事件,其效果是当“网络事件”触发时,如果指定的变量发生了改变,其也会发生改变。其最简写法如下:
[UdonSynced, FieldChangeCallback(nameof(SyncedToggle))]
private bool _syncedToggle;
public bool SyncedToggle
{
set
{
_syncedToggle = value;
//下面写代码逻辑
}
get => _syncedToggle;
}
FieldChangeCallback 只有在 SetProgramVariable 或网络同步更新 syncedToggle 值时才会触发
如果你尝试从 UdonBehaviour 外部设置,UdonSharp 会故意编译失败。此时应使用该属性或显式使用 SetProgramVariable
No comments to display
No comments to display