diff --git a/Packages/idv.jlchntoz.vvmw/Editor/VVMW/CoreEditor.cs b/Packages/idv.jlchntoz.vvmw/Editor/VVMW/CoreEditor.cs index d651188..8b8bad6 100644 --- a/Packages/idv.jlchntoz.vvmw/Editor/VVMW/CoreEditor.cs +++ b/Packages/idv.jlchntoz.vvmw/Editor/VVMW/CoreEditor.cs @@ -42,6 +42,7 @@ public class CoreEditor : VVMWEditorBase { SerializedProperty screenTargetDefaultTexturesProperty; SerializedProperty avProPropertyNamesProperty; SerializedProperty realtimeGIUpdateIntervalProperty; + SerializedProperty timeDriftDetectThresholdProperty; SerializedReorderableList playerHandlersList, audioSourcesList, targetsList; string[] playerNames; bool[] playerTypes; @@ -84,6 +85,7 @@ protected override void OnEnable() { avProPropertyNamesProperty = serializedObject.FindProperty("avProPropertyNames"); defaultTextureProperty = serializedObject.FindProperty("defaultTexture"); realtimeGIUpdateIntervalProperty = serializedObject.FindProperty("realtimeGIUpdateInterval"); + timeDriftDetectThresholdProperty = serializedObject.FindProperty("timeDriftDetectThreshold"); targetsList = new SerializedReorderableList(serializedObject.FindProperty("targets")); screenTargetVisibilityState = new List(); for (int i = 0, count = screenTargetsProperty.arraySize; i < count; i++) @@ -99,6 +101,7 @@ public override void OnInspectorGUI() { DrawAutoPlayField(); EditorGUILayout.PropertyField(totalRetryCountProperty); EditorGUILayout.PropertyField(retryDelayProperty); + EditorGUILayout.PropertyField(timeDriftDetectThresholdProperty); EditorGUILayout.Space(); playerHandlersList.DoLayoutList(); EditorGUILayout.Space(); diff --git a/Packages/idv.jlchntoz.vvmw/README.md b/Packages/idv.jlchntoz.vvmw/README.md index 50ff204..8000e79 100644 --- a/Packages/idv.jlchntoz.vvmw/README.md +++ b/Packages/idv.jlchntoz.vvmw/README.md @@ -178,10 +178,15 @@ This is the "brain" of the system, it controls and synchronizes the player (if e - **Default Quest URL**: The optional alternative URL will be played for Quest/Android clients. Leave empty to use default URL. - **Auto Play Player Type**: The "module" to use to play the above URL. - **Loop**: Is default the player loops (can be toggled via UI) - - **Auto Play Delay Time**: The delay to start playing the default video when the scene is loaded. - This is to prevent rate limit between video players in same instance. - If you have multiple video players (not limited to VizVid) which will auto plays in the same world - you should set this to a value at least in multiple of `5` to stagger the loading time. +- **Auto Play Delay Time**: The delay to start playing the default video when the scene is loaded. + This is to prevent rate limit between video players in same instance. + If you have multiple video players (not limited to VizVid) which will auto plays in the same world + you should set this to a value at least in multiple of `5` to stagger the loading time. +- **Total Retry Count**: How many times should retry when video failed to load. +- **Retry Delay**: Delay to retry when video failed to load. +- **Time Drift Detect Threshold**: The player will adjust the time to sync with the owner's time when the time drift is greater than this value. + Recommend keep this value not too low or too high, as it may cause the video to jump back and forth, + or timing between players may drift too far. - **Player Handlers**: The "modules" of actual the player components. You usually don't need to change this, unless you want to disable unused player systems. See "Builtin Module" and "AVPro Module" for the modules. - **Default Texture**: The default texture displays when the player is not playing anything. You can change to any texture here, but if you want it to be simple, just leave it in default value. @@ -198,6 +203,8 @@ This is the "brain" of the system, it controls and synchronizes the player (if e - **Audio Link**: [Audio Link](https://github.com/llealloo/vrc-udon-audio-link) support. It will wire the audio to provided Audio Link instance when the player is playing. - **Targets**: For integration to custom scripts, it will sends out events to any Udon (sharp) behaviours assignaed here. I don't provide source-code level documentation so please read the source code if you want to integrate with your scripts. +- **Realtime GI Update Interval**: The interval to update realtime GI, set to 0 to disable realtime GI update. + This features requires setup the lignt probes and realtime GI in the scene and the screen renderers. ### Builtin Module / AVPro Module These are the video player modules. The purpose of these game objects are interfaces from the undely video player components to the core. diff --git a/Packages/idv.jlchntoz.vvmw/Runtime/VVMW/Core.asset b/Packages/idv.jlchntoz.vvmw/Runtime/VVMW/Core.asset index 8d5867d..32e4fef 100644 --- a/Packages/idv.jlchntoz.vvmw/Runtime/VVMW/Core.asset +++ b/Packages/idv.jlchntoz.vvmw/Runtime/VVMW/Core.asset @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: c333ccfdd0cbdbc4ca30cef2dd6e6b9b, type: 3} m_Name: Core m_EditorClassIdentifier: - serializedUdonProgramAsset: {fileID: 11400000, guid: c66af6782ebcca44cb681de0d9b43652, + serializedUdonProgramAsset: {fileID: 11400000, guid: 0fc467ba7ec4fbf43a9186c70fe1d22a, type: 2} udonAssembly: assemblyError: @@ -44,7 +44,7 @@ MonoBehaviour: Data: - Name: Entry: 12 - Data: 66 + Data: 67 - Name: Entry: 7 Data: @@ -1601,10 +1601,91 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: screenTargetPropertyIds + Data: timeDriftDetectThreshold - Name: $v Entry: 7 Data: 101|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: timeDriftDetectThreshold + - Name: k__BackingField + Entry: 9 + Data: 53 + - Name: k__BackingField + Entry: 9 + Data: 53 + - Name: k__BackingField + Entry: 7 + Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib + - Name: + Entry: 6 + Data: + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 5 + Data: true + - Name: _fieldAttributes + Entry: 7 + Data: 102|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], + mscorlib + - Name: + Entry: 12 + Data: 3 + - Name: + Entry: 7 + Data: 103|UnityEngine.TooltipAttribute, UnityEngine.CoreModule + - Name: tooltip + Entry: 1 + Data: 'The player will adjust the time to sync with the owner''s time when + the time drift is greater than this value. + + Recommend keep this value + not too low or too high, as it may cause the video to jump back and forth, + or timing between players may drift too far.' + - Name: + Entry: 8 + Data: + - Name: + Entry: 7 + Data: 104|UnityEngine.SerializeField, UnityEngine.CoreModule + - Name: + Entry: 8 + Data: + - Name: + Entry: 7 + Data: 105|UnityEngine.RangeAttribute, UnityEngine.CoreModule + - Name: min + Entry: 4 + Data: 0 + - Name: max + Entry: 4 + Data: 5 + - Name: + Entry: 8 + Data: + - Name: + Entry: 13 + Data: + - Name: + Entry: 8 + Data: + - Name: + Entry: 8 + Data: + - Name: + Entry: 8 + Data: + - Name: + Entry: 7 + Data: + - Name: $k + Entry: 1 + Data: screenTargetPropertyIds + - Name: $v + Entry: 7 + Data: 106|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: screenTargetPropertyIds @@ -1628,7 +1709,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 102|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], + Data: 107|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 @@ -1653,7 +1734,7 @@ MonoBehaviour: Data: avProPropertyIds - Name: $v Entry: 7 - Data: 103|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 108|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: avProPropertyIds @@ -1677,7 +1758,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 104|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], + Data: 109|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 @@ -1702,7 +1783,7 @@ MonoBehaviour: Data: syncOffset - Name: $v Entry: 7 - Data: 105|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 110|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: syncOffset @@ -1726,14 +1807,14 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 106|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], + Data: 111|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 1 - Name: Entry: 7 - Data: 107|UdonSharp.FieldChangeCallbackAttribute, UdonSharp.Runtime + Data: 112|UdonSharp.FieldChangeCallbackAttribute, UdonSharp.Runtime - Name: Entry: 8 Data: @@ -1757,7 +1838,7 @@ MonoBehaviour: Data: pcUrl - Name: $v Entry: 7 - Data: 108|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 113|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: pcUrl @@ -1781,14 +1862,14 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 109|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], + Data: 114|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 1 - Name: Entry: 7 - Data: 110|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime + Data: 115|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime - Name: Entry: 8 Data: @@ -1812,7 +1893,7 @@ MonoBehaviour: Data: questUrl - Name: $v Entry: 7 - Data: 111|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 116|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: questUrl @@ -1836,14 +1917,14 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 112|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], + Data: 117|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 1 - Name: Entry: 7 - Data: 113|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime + Data: 118|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime - Name: Entry: 8 Data: @@ -1867,7 +1948,7 @@ MonoBehaviour: Data: localUrl - Name: $v Entry: 7 - Data: 114|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 119|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: localUrl @@ -1891,7 +1972,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 115|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], + Data: 120|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 @@ -1916,7 +1997,7 @@ MonoBehaviour: Data: loadingUrl - Name: $v Entry: 7 - Data: 116|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 121|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: loadingUrl @@ -1940,7 +2021,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 117|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], + Data: 122|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 @@ -1965,7 +2046,7 @@ MonoBehaviour: Data: lastUrl - Name: $v Entry: 7 - Data: 118|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 123|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: lastUrl @@ -1989,7 +2070,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 119|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], + Data: 124|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 @@ -2014,7 +2095,7 @@ MonoBehaviour: Data: altUrl - Name: $v Entry: 7 - Data: 120|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 125|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: altUrl @@ -2038,7 +2119,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 121|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], + Data: 126|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 @@ -2063,13 +2144,13 @@ MonoBehaviour: Data: time - Name: $v Entry: 7 - Data: 122|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 127|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: time - Name: k__BackingField Entry: 7 - Data: 123|System.RuntimeType, mscorlib + Data: 128|System.RuntimeType, mscorlib - Name: Entry: 1 Data: System.Int64, mscorlib @@ -2078,7 +2159,7 @@ MonoBehaviour: Data: - Name: k__BackingField Entry: 9 - Data: 123 + Data: 128 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -2093,14 +2174,14 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 124|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], + Data: 129|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 1 - Name: Entry: 7 - Data: 125|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime + Data: 130|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime - Name: Entry: 8 Data: @@ -2124,13 +2205,13 @@ MonoBehaviour: Data: activePlayer - Name: $v Entry: 7 - Data: 126|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 131|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: activePlayer - Name: k__BackingField Entry: 7 - Data: 127|System.RuntimeType, mscorlib + Data: 132|System.RuntimeType, mscorlib - Name: Entry: 1 Data: System.Byte, mscorlib @@ -2139,7 +2220,7 @@ MonoBehaviour: Data: - Name: k__BackingField Entry: 9 - Data: 127 + Data: 132 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -2154,14 +2235,14 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 128|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], + Data: 133|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 1 - Name: Entry: 7 - Data: 129|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime + Data: 134|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime - Name: Entry: 8 Data: @@ -2185,16 +2266,16 @@ MonoBehaviour: Data: localActivePlayer - Name: $v Entry: 7 - Data: 130|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 135|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: localActivePlayer - Name: k__BackingField Entry: 9 - Data: 127 + Data: 132 - Name: k__BackingField Entry: 9 - Data: 127 + Data: 132 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -2209,7 +2290,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 131|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], + Data: 136|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 @@ -2234,16 +2315,16 @@ MonoBehaviour: Data: lastActivePlayer - Name: $v Entry: 7 - Data: 132|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 137|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: lastActivePlayer - Name: k__BackingField Entry: 9 - Data: 127 + Data: 132 - Name: k__BackingField Entry: 9 - Data: 127 + Data: 132 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -2258,7 +2339,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 133|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], + Data: 138|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 @@ -2283,16 +2364,16 @@ MonoBehaviour: Data: state - Name: $v Entry: 7 - Data: 134|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 139|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: state - Name: k__BackingField Entry: 9 - Data: 127 + Data: 132 - Name: k__BackingField Entry: 9 - Data: 127 + Data: 132 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -2307,14 +2388,14 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 135|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], + Data: 140|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 1 - Name: Entry: 7 - Data: 136|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime + Data: 141|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime - Name: Entry: 8 Data: @@ -2338,7 +2419,7 @@ MonoBehaviour: Data: loop - Name: $v Entry: 7 - Data: 137|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 142|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: loop @@ -2362,26 +2443,26 @@ MonoBehaviour: Data: true - Name: _fieldAttributes Entry: 7 - Data: 138|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], + Data: 143|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 3 - Name: Entry: 7 - Data: 139|UnityEngine.SerializeField, UnityEngine.CoreModule + Data: 144|UnityEngine.SerializeField, UnityEngine.CoreModule - Name: Entry: 8 Data: - Name: Entry: 7 - Data: 140|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime + Data: 145|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime - Name: Entry: 8 Data: - Name: Entry: 7 - Data: 141|UdonSharp.FieldChangeCallbackAttribute, UdonSharp.Runtime + Data: 146|UdonSharp.FieldChangeCallbackAttribute, UdonSharp.Runtime - Name: Entry: 8 Data: @@ -2405,13 +2486,13 @@ MonoBehaviour: Data: audioLink - Name: $v Entry: 7 - Data: 142|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 147|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: audioLink - Name: k__BackingField Entry: 7 - Data: 143|System.RuntimeType, mscorlib + Data: 148|System.RuntimeType, mscorlib - Name: Entry: 1 Data: UdonSharp.UdonSharpBehaviour, UdonSharp.Runtime @@ -2420,7 +2501,7 @@ MonoBehaviour: Data: - Name: k__BackingField Entry: 7 - Data: 144|System.RuntimeType, mscorlib + Data: 149|System.RuntimeType, mscorlib - Name: Entry: 1 Data: VRC.Udon.UdonBehaviour, VRC.Udon @@ -2441,14 +2522,14 @@ MonoBehaviour: Data: true - Name: _fieldAttributes Entry: 7 - Data: 145|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], + Data: 150|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 1 - Name: Entry: 7 - Data: 146|UnityEngine.SerializeField, UnityEngine.CoreModule + Data: 151|UnityEngine.SerializeField, UnityEngine.CoreModule - Name: Entry: 8 Data: @@ -2472,13 +2553,13 @@ MonoBehaviour: Data: yttl - Name: $v Entry: 7 - Data: 147|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 152|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: yttl - Name: k__BackingField Entry: 7 - Data: 148|System.RuntimeType, mscorlib + Data: 153|System.RuntimeType, mscorlib - Name: Entry: 1 Data: VVMW.ThirdParties.Yttl.YttlManager, JLChnToZ.VVMW @@ -2487,7 +2568,7 @@ MonoBehaviour: Data: - Name: k__BackingField Entry: 9 - Data: 144 + Data: 149 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -2502,14 +2583,14 @@ MonoBehaviour: Data: true - Name: _fieldAttributes Entry: 7 - Data: 149|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], + Data: 154|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 2 - Name: Entry: 7 - Data: 150|UnityEngine.TooltipAttribute, UnityEngine.CoreModule + Data: 155|UnityEngine.TooltipAttribute, UnityEngine.CoreModule - Name: tooltip Entry: 1 Data: YTTL (Video title viewer) integration @@ -2518,7 +2599,7 @@ MonoBehaviour: Data: - Name: Entry: 7 - Data: 151|UnityEngine.SerializeField, UnityEngine.CoreModule + Data: 156|UnityEngine.SerializeField, UnityEngine.CoreModule - Name: Entry: 8 Data: @@ -2542,13 +2623,13 @@ MonoBehaviour: Data: activeHandler - Name: $v Entry: 7 - Data: 152|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 157|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: activeHandler - Name: k__BackingField Entry: 7 - Data: 153|System.RuntimeType, mscorlib + Data: 158|System.RuntimeType, mscorlib - Name: Entry: 1 Data: JLChnToZ.VRC.VVMW.VideoPlayerHandler, JLChnToZ.VVMW @@ -2557,7 +2638,7 @@ MonoBehaviour: Data: - Name: k__BackingField Entry: 9 - Data: 144 + Data: 149 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -2572,7 +2653,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 154|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], + Data: 159|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 @@ -2597,7 +2678,7 @@ MonoBehaviour: Data: retryCount - Name: $v Entry: 7 - Data: 155|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 160|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: retryCount @@ -2621,7 +2702,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 156|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], + Data: 161|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 @@ -2646,7 +2727,7 @@ MonoBehaviour: Data: isLoading - Name: $v Entry: 7 - Data: 157|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 162|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: isLoading @@ -2670,7 +2751,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 158|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], + Data: 163|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 @@ -2695,7 +2776,7 @@ MonoBehaviour: Data: isLocalReloading - Name: $v Entry: 7 - Data: 159|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 164|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: isLocalReloading @@ -2719,7 +2800,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 160|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], + Data: 165|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 @@ -2744,7 +2825,7 @@ MonoBehaviour: Data: isResyncTime - Name: $v Entry: 7 - Data: 161|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 166|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: isResyncTime @@ -2768,7 +2849,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 162|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], + Data: 167|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 @@ -2793,7 +2874,7 @@ MonoBehaviour: Data: isError - Name: $v Entry: 7 - Data: 163|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 168|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: isError @@ -2817,7 +2898,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 164|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], + Data: 169|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 @@ -2842,7 +2923,7 @@ MonoBehaviour: Data: isSyncAudioLink - Name: $v Entry: 7 - Data: 165|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 170|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: isSyncAudioLink @@ -2866,7 +2947,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 166|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], + Data: 171|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 @@ -2891,13 +2972,13 @@ MonoBehaviour: Data: lastError - Name: $v Entry: 7 - Data: 167|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 172|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: lastError - Name: k__BackingField Entry: 7 - Data: 168|System.RuntimeType, mscorlib + Data: 173|System.RuntimeType, mscorlib - Name: Entry: 1 Data: VRC.SDK3.Components.Video.VideoError, VRCSDK3 @@ -2906,7 +2987,7 @@ MonoBehaviour: Data: - Name: k__BackingField Entry: 9 - Data: 168 + Data: 173 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -2921,7 +3002,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 169|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], + Data: 174|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 @@ -2946,7 +3027,7 @@ MonoBehaviour: Data: playerNames - Name: $v Entry: 7 - Data: 170|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 175|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: playerNames @@ -2970,7 +3051,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 171|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], + Data: 176|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 @@ -2995,7 +3076,7 @@ MonoBehaviour: Data: trustUpdated - Name: $v Entry: 7 - Data: 172|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 177|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: trustUpdated @@ -3019,7 +3100,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 173|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], + Data: 178|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 @@ -3044,7 +3125,7 @@ MonoBehaviour: Data: isTrusted - Name: $v Entry: 7 - Data: 174|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 179|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: isTrusted @@ -3068,7 +3149,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 175|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], + Data: 180|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 @@ -3093,13 +3174,13 @@ MonoBehaviour: Data: screenTargetPropertyBlock - Name: $v Entry: 7 - Data: 176|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 181|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: screenTargetPropertyBlock - Name: k__BackingField Entry: 7 - Data: 177|System.RuntimeType, mscorlib + Data: 182|System.RuntimeType, mscorlib - Name: Entry: 1 Data: UnityEngine.MaterialPropertyBlock, UnityEngine.CoreModule @@ -3108,7 +3189,7 @@ MonoBehaviour: Data: - Name: k__BackingField Entry: 9 - Data: 177 + Data: 182 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -3123,7 +3204,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 178|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], + Data: 183|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 @@ -3148,13 +3229,13 @@ MonoBehaviour: Data: assignedAudioSource - Name: $v Entry: 7 - Data: 179|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 184|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: assignedAudioSource - Name: k__BackingField Entry: 7 - Data: 180|System.RuntimeType, mscorlib + Data: 185|System.RuntimeType, mscorlib - Name: Entry: 1 Data: UnityEngine.AudioSource, UnityEngine.AudioModule @@ -3163,7 +3244,7 @@ MonoBehaviour: Data: - Name: k__BackingField Entry: 9 - Data: 180 + Data: 185 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -3178,7 +3259,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 181|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], + Data: 186|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 @@ -3203,7 +3284,7 @@ MonoBehaviour: Data: isRealtimeGIUpdaterRunning - Name: $v Entry: 7 - Data: 182|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 187|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: isRealtimeGIUpdaterRunning @@ -3227,7 +3308,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 183|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], + Data: 188|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 @@ -3252,7 +3333,7 @@ MonoBehaviour: Data: afterFirstRun - Name: $v Entry: 7 - Data: 184|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 189|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: afterFirstRun @@ -3276,7 +3357,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 185|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], + Data: 190|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 @@ -3301,7 +3382,7 @@ MonoBehaviour: Data: isOwnerSyncRequested - Name: $v Entry: 7 - Data: 186|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 191|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: isOwnerSyncRequested @@ -3325,7 +3406,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 187|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], + Data: 192|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 @@ -3350,13 +3431,13 @@ MonoBehaviour: Data: lastSyncTime - Name: $v Entry: 7 - Data: 188|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 193|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: lastSyncTime - Name: k__BackingField Entry: 7 - Data: 189|System.RuntimeType, mscorlib + Data: 194|System.RuntimeType, mscorlib - Name: Entry: 1 Data: System.DateTime, mscorlib @@ -3365,7 +3446,7 @@ MonoBehaviour: Data: - Name: k__BackingField Entry: 9 - Data: 189 + Data: 194 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -3380,7 +3461,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 190|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], + Data: 195|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 @@ -3405,16 +3486,16 @@ MonoBehaviour: Data: lastClickResyncTime - Name: $v Entry: 7 - Data: 191|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 196|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: lastClickResyncTime - Name: k__BackingField Entry: 9 - Data: 189 + Data: 194 - Name: k__BackingField Entry: 9 - Data: 189 + Data: 194 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -3429,7 +3510,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 192|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], + Data: 197|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 @@ -3454,7 +3535,7 @@ MonoBehaviour: Data: url - Name: $v Entry: 7 - Data: 193|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 198|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: url @@ -3478,20 +3559,20 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 194|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], + Data: 199|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 2 - Name: Entry: 7 - Data: 195|System.NonSerializedAttribute, mscorlib + Data: 200|System.NonSerializedAttribute, mscorlib - Name: Entry: 8 Data: - Name: Entry: 7 - Data: 196|UdonSharp.FieldChangeCallbackAttribute, UdonSharp.Runtime + Data: 201|UdonSharp.FieldChangeCallbackAttribute, UdonSharp.Runtime - Name: Entry: 8 Data: @@ -3515,13 +3596,13 @@ MonoBehaviour: Data: author - Name: $v Entry: 7 - Data: 197|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 202|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: author - Name: k__BackingField Entry: 7 - Data: 198|System.RuntimeType, mscorlib + Data: 203|System.RuntimeType, mscorlib - Name: Entry: 1 Data: System.String, mscorlib @@ -3530,7 +3611,7 @@ MonoBehaviour: Data: - Name: k__BackingField Entry: 9 - Data: 198 + Data: 203 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -3545,20 +3626,20 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 199|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], + Data: 204|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 2 - Name: Entry: 7 - Data: 200|System.NonSerializedAttribute, mscorlib + Data: 205|System.NonSerializedAttribute, mscorlib - Name: Entry: 8 Data: - Name: Entry: 7 - Data: 201|UdonSharp.FieldChangeCallbackAttribute, UdonSharp.Runtime + Data: 206|UdonSharp.FieldChangeCallbackAttribute, UdonSharp.Runtime - Name: Entry: 8 Data: @@ -3582,16 +3663,16 @@ MonoBehaviour: Data: title - Name: $v Entry: 7 - Data: 202|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 207|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: title - Name: k__BackingField Entry: 9 - Data: 198 + Data: 203 - Name: k__BackingField Entry: 9 - Data: 198 + Data: 203 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -3606,20 +3687,20 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 203|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], + Data: 208|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 2 - Name: Entry: 7 - Data: 204|System.NonSerializedAttribute, mscorlib + Data: 209|System.NonSerializedAttribute, mscorlib - Name: Entry: 8 Data: - Name: Entry: 7 - Data: 205|UdonSharp.FieldChangeCallbackAttribute, UdonSharp.Runtime + Data: 210|UdonSharp.FieldChangeCallbackAttribute, UdonSharp.Runtime - Name: Entry: 8 Data: @@ -3643,16 +3724,16 @@ MonoBehaviour: Data: viewCount - Name: $v Entry: 7 - Data: 206|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 211|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: viewCount - Name: k__BackingField Entry: 9 - Data: 198 + Data: 203 - Name: k__BackingField Entry: 9 - Data: 198 + Data: 203 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -3667,20 +3748,20 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 207|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], + Data: 212|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 2 - Name: Entry: 7 - Data: 208|System.NonSerializedAttribute, mscorlib + Data: 213|System.NonSerializedAttribute, mscorlib - Name: Entry: 8 Data: - Name: Entry: 7 - Data: 209|UdonSharp.FieldChangeCallbackAttribute, UdonSharp.Runtime + Data: 214|UdonSharp.FieldChangeCallbackAttribute, UdonSharp.Runtime - Name: Entry: 8 Data: @@ -3704,16 +3785,16 @@ MonoBehaviour: Data: description - Name: $v Entry: 7 - Data: 210|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 215|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: description - Name: k__BackingField Entry: 9 - Data: 198 + Data: 203 - Name: k__BackingField Entry: 9 - Data: 198 + Data: 203 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -3728,20 +3809,20 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 211|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], + Data: 216|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 2 - Name: Entry: 7 - Data: 212|System.NonSerializedAttribute, mscorlib + Data: 217|System.NonSerializedAttribute, mscorlib - Name: Entry: 8 Data: - Name: Entry: 7 - Data: 213|UdonSharp.FieldChangeCallbackAttribute, UdonSharp.Runtime + Data: 218|UdonSharp.FieldChangeCallbackAttribute, UdonSharp.Runtime - Name: Entry: 8 Data: @@ -3765,7 +3846,7 @@ MonoBehaviour: Data: hasCustomTitle - Name: $v Entry: 7 - Data: 214|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 219|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: hasCustomTitle @@ -3789,7 +3870,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 215|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], + Data: 220|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 diff --git a/Packages/idv.jlchntoz.vvmw/Runtime/VVMW/Core.cs b/Packages/idv.jlchntoz.vvmw/Runtime/VVMW/Core.cs index f30c6e4..518869a 100644 --- a/Packages/idv.jlchntoz.vvmw/Runtime/VVMW/Core.cs +++ b/Packages/idv.jlchntoz.vvmw/Runtime/VVMW/Core.cs @@ -26,7 +26,8 @@ public class Core : UdonSharpEventSender { Vector4 normalST = new Vector4(1, 1, 0, 0), flippedST = new Vector4(1, -1, 0, 1); Rect normalRect = new Rect(0, 0, 1, 1), flippedRect = new Rect(0, 1, 1, -1); [SerializeField] VideoPlayerHandler[] playerHandlers; - [Tooltip("Audio sources to link to video player, will be set to the primary audio source of the video player, and volumes can be controlled by the video player.")] + [Tooltip("Audio sources to link to video player, will be set to the primary audio source of the video player, " + + "and volumes can be controlled by the video player.")] [SerializeField] AudioSource[] audioSources; [SerializeField] VRCUrl defaultUrl; [Tooltip("The default url to use when playing on Quest. Leave empty to use the same url as PC.")] @@ -44,15 +45,21 @@ public class Core : UdonSharpEventSender { float defaultVolume = 1; [SerializeField, FieldChangeCallback(nameof(Muted))] bool defaultMuted = false; - [Tooltip("The default texture to use when video is not ready or error occurred. It is required to have a texture when use with property block mode.")] + [Tooltip("The default texture to use when video is not ready or error occurred. " + + "It is required to have a texture when use with property block mode.")] [SerializeField] Texture defaultTexture; [SerializeField] UnityEngine.Object[] screenTargets; [SerializeField] int[] screenTargetModes; [SerializeField] int[] screenTargetIndeces; [SerializeField] string[] screenTargetPropertyNames, avProPropertyNames; [SerializeField] Texture[] screenTargetDefaultTextures; - [Tooltip("The interval to update realtime GI, set to 0 to disable realtime GI update.\nThis features requires setup the lignt probes and realtime GI in the scene and the screen renderers.")] + [Tooltip("The interval to update realtime GI, set to 0 to disable realtime GI update.\n" + + "This features requires setup the lignt probes and realtime GI in the scene and the screen renderers.")] [SerializeField, Range(0, 10)] float realtimeGIUpdateInterval = 0; + [Tooltip("The player will adjust the time to sync with the owner's time when the time drift is greater than this value.\n" + + "Recommend keep this value not too low or too high, as it may cause the video to jump back and forth, " + + "or timing between players may drift too far.")] + [SerializeField, Range(0, 5)] float timeDriftDetectThreshold = 0.9F; int[] screenTargetPropertyIds, avProPropertyIds; [FieldChangeCallback(nameof(SyncOffset))] float syncOffset = 0; @@ -858,7 +865,7 @@ float CalcVideoTime() { void SyncTime() { if (Networking.IsOwner(gameObject)) { var newTime = CalcSyncTime(); - if (Mathf.Abs((float)(newTime - time) / TimeSpan.TicksPerSecond) >= 0.1F) { + if (Mathf.Abs((float)(newTime - time) / TimeSpan.TicksPerSecond) >= timeDriftDetectThreshold) { time = newTime; RequestSerialization(); } @@ -868,7 +875,7 @@ void SyncTime() { float t = CalcVideoTime(); var t2 = activeHandler.Time; if (loop) t2 = Mathf.Repeat(t2, duration); - if (Mathf.Abs(t2 - t) >= 0.1F) { + if (Mathf.Abs(t2 - t) >= timeDriftDetectThreshold) { activeHandler.Time = t; SendEvent("_OnTimeDrift"); }