- Reworked CameraTimedSwitcher to be able to execute callback functions.

- Cameras are thus much more reliable and less likely to desync in round 2.
This commit is contained in:
2025-12-23 05:03:14 -05:00
parent 2281fae54e
commit 27abad7657
7 changed files with 900 additions and 250 deletions
+222 -36
View File
@@ -1062,6 +1062,9 @@ MonoBehaviour:
- SwitchToPlayer1Camera
- SwitchToPlayer2Camera
_TimeBetweenCuts: 2
_LoopPoint: 0
_FirstLoopCallbackObject: {fileID: 0}
_FirstLoopCallbackFunction:
--- !u!1 &37402018 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 1162471344109280769, guid: 40955da061a841841a91c845049f1e11,
@@ -11719,21 +11722,11 @@ PrefabInstance:
propertyPath: m_Name
value: SpawnMarker (1)
objectReference: {fileID: 0}
- target: {fileID: 919132149155446097, guid: 8a0236a6fb2773f46b033e383a3f4f55,
type: 3}
propertyPath: m_Layer
value: 0
objectReference: {fileID: 0}
- target: {fileID: 919132149155446097, guid: 8a0236a6fb2773f46b033e383a3f4f55,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 919132149155446097, guid: 8a0236a6fb2773f46b033e383a3f4f55,
type: 3}
propertyPath: m_TagString
value: EditorOnly
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@@ -30268,6 +30261,9 @@ MonoBehaviour:
- SwitchToPlayer2Camera
- SwitchToPlayer3Camera
_TimeBetweenCuts: 2.5
_LoopPoint: 0
_FirstLoopCallbackObject: {fileID: 0}
_FirstLoopCallbackFunction:
--- !u!1 &458823600 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 3860776843712865553, guid: be33bc7f6c414e6409becfa348b9310d,
@@ -32184,6 +32180,97 @@ GameObject:
type: 3}
m_PrefabInstance: {fileID: 1499591484}
m_PrefabAsset: {fileID: 0}
--- !u!1 &529984885
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 529984886}
- component: {fileID: 529984888}
- component: {fileID: 529984887}
m_Layer: 0
m_Name: Location Board And Short Host Switcher
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &529984886
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 529984885}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -6.64, y: 0, z: 0.41}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1451322102}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &529984887
MonoBehaviour:
m_ObjectHideFlags: 2
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 529984885}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 45115577ef41a5b4ca741ed302693907, type: 3}
m_Name:
m_EditorClassIdentifier:
interactTextPlacement: {fileID: 0}
interactText: Use
interactTextGO: {fileID: 0}
proximity: 2
SynchronizePosition: 0
AllowCollisionOwnershipTransfer: 0
Reliable: 0
_syncMethod: 3
serializedProgramAsset: {fileID: 11400000, guid: b84f3dc1edf53b846a172badddd49737,
type: 2}
programSource: {fileID: 11400000, guid: 1fc8e4389a71e5640b656e2c7fbabeed, type: 2}
serializedPublicVariablesBytesString: Ai8AAAAAATIAAABWAFIAQwAuAFUAZABvAG4ALgBDAG8AbQBtAG8AbgAuAFUAZABvAG4AVgBhAHIAaQBhAGIAbABlAFQAYQBiAGwAZQAsACAAVgBSAEMALgBVAGQAbwBuAC4AQwBvAG0AbQBvAG4AAAAAAAYBAAAAAAAAACcBBAAAAHQAeQBwAGUAAWgAAABTAHkAcwB0AGUAbQAuAEMAbwBsAGwAZQBjAHQAaQBvAG4AcwAuAEcAZQBuAGUAcgBpAGMALgBMAGkAcwB0AGAAMQBbAFsAVgBSAEMALgBVAGQAbwBuAC4AQwBvAG0AbQBvAG4ALgBJAG4AdABlAHIAZgBhAGMAZQBzAC4ASQBVAGQAbwBuAFYAYQByAGkAYQBiAGwAZQAsACAAVgBSAEMALgBVAGQAbwBuAC4AQwBvAG0AbQBvAG4AXQBdACwAIABtAHMAYwBvAHIAbABpAGIAAQEJAAAAVgBhAHIAaQBhAGIAbABlAHMALwEAAAABaAAAAFMAeQBzAHQAZQBtAC4AQwBvAGwAbABlAGMAdABpAG8AbgBzAC4ARwBlAG4AZQByAGkAYwAuAEwAaQBzAHQAYAAxAFsAWwBWAFIAQwAuAFUAZABvAG4ALgBDAG8AbQBtAG8AbgAuAEkAbgB0AGUAcgBmAGEAYwBlAHMALgBJAFUAZABvAG4AVgBhAHIAaQBhAGIAbABlACwAIABWAFIAQwAuAFUAZABvAG4ALgBDAG8AbQBtAG8AbgBdAF0ALAAgAG0AcwBjAG8AcgBsAGkAYgABAAAABgEAAAAAAAAAAi8CAAAAAUkAAABWAFIAQwAuAFUAZABvAG4ALgBDAG8AbQBtAG8AbgAuAFUAZABvAG4AVgBhAHIAaQBhAGIAbABlAGAAMQBbAFsAUwB5AHMAdABlAG0ALgBJAG4AdAAzADIALAAgAG0AcwBjAG8AcgBsAGkAYgBdAF0ALAAgAFYAUgBDAC4AVQBkAG8AbgAuAEMAbwBtAG0AbwBuAAIAAAAGAgAAAAAAAAAnAQQAAAB0AHkAcABlAAEXAAAAUwB5AHMAdABlAG0ALgBTAHQAcgBpAG4AZwAsACAAbQBzAGMAbwByAGwAaQBiACcBCgAAAFMAeQBtAGIAbwBsAE4AYQBtAGUAAR8AAABfAF8AXwBVAGQAbwBuAFMAaABhAHIAcABCAGUAaABhAHYAaQBvAHUAcgBWAGUAcgBzAGkAbwBuAF8AXwBfACcBBAAAAHQAeQBwAGUAARYAAABTAHkAcwB0AGUAbQAuAEkAbgB0ADMAMgAsACAAbQBzAGMAbwByAGwAaQBiABcBBQAAAFYAYQBsAHUAZQACAAAABwUHBQcF
publicVariablesUnityEngineObjects: []
publicVariablesSerializationDataFormat: 0
--- !u!114 &529984888
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 529984885}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 7c74cc2036e37f74b874180a8ad0235f, type: 3}
m_Name:
m_EditorClassIdentifier:
serializationData:
SerializedFormat: 2
SerializedBytes:
ReferencedUnityObjects: []
SerializedBytesString:
Prefab: {fileID: 0}
PrefabModificationsReferencedUnityObjects: []
PrefabModifications: []
SerializationNodes: []
_udonSharpBackingUdonBehaviour: {fileID: 529984887}
_CameraController: {fileID: 1355919010}
_SwitchFunctions:
- SwitchToLocationBoardCamera
- SwitchToHostAndWinnerCamera
- SwitchToHostAndWinnerCamera
- SwitchToHostAndWinnerCamera
_TimeBetweenCuts: 1.5
_LoopPoint: 0
_FirstLoopCallbackObject: {fileID: 865296978}
_FirstLoopCallbackFunction: SwitchToCurrentPlayerAndLocationBoardSwitcher
--- !u!1 &530310355
GameObject:
m_ObjectHideFlags: 0
@@ -32775,6 +32862,9 @@ MonoBehaviour:
- SwitchToHostCamera
- SwitchToAllPlayersCamera
_TimeBetweenCuts: 2.5
_LoopPoint: 0
_FirstLoopCallbackObject: {fileID: 0}
_FirstLoopCallbackFunction:
--- !u!1 &554199908 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 2883740951159844552, guid: be33bc7f6c414e6409becfa348b9310d,
@@ -40294,7 +40384,7 @@ GameObject:
- component: {fileID: 741456682}
- component: {fileID: 741456681}
m_Layer: 0
m_Name: Player 2 And Wide Shot Switcher (1)
m_Name: Player 2 And Location Board Switcher
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@@ -40366,8 +40456,11 @@ MonoBehaviour:
_CameraController: {fileID: 1355919010}
_SwitchFunctions:
- SwitchToPlayer2Camera
- SwitchToWideShotCamera
- SwitchToLocationBoardCamera
_TimeBetweenCuts: 3
_LoopPoint: 0
_FirstLoopCallbackObject: {fileID: 0}
_FirstLoopCallbackFunction:
--- !u!1 &741728900 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 6713020845915447554, guid: fac4aa7abd3ecbe44a9eaf7f05275244,
@@ -43307,16 +43400,6 @@ PrefabInstance:
propertyPath: m_Name
value: SpawnMarker (1)
objectReference: {fileID: 0}
- target: {fileID: 919132149155446097, guid: 8a0236a6fb2773f46b033e383a3f4f55,
type: 3}
propertyPath: m_Layer
value: 0
objectReference: {fileID: 0}
- target: {fileID: 919132149155446097, guid: 8a0236a6fb2773f46b033e383a3f4f55,
type: 3}
propertyPath: m_TagString
value: EditorOnly
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@@ -58251,6 +58334,9 @@ MonoBehaviour:
- SwitchToAllPlayersCamera
- SwitchToWideShotCamera
_TimeBetweenCuts: 2.5
_LoopPoint: 0
_FirstLoopCallbackObject: {fileID: 0}
_FirstLoopCallbackFunction:
--- !u!1 &1193701799
GameObject:
m_ObjectHideFlags: 0
@@ -58687,21 +58773,11 @@ PrefabInstance:
propertyPath: m_Name
value: SpawnMarker (1)
objectReference: {fileID: 0}
- target: {fileID: 919132149155446097, guid: 8a0236a6fb2773f46b033e383a3f4f55,
type: 3}
propertyPath: m_Layer
value: 0
objectReference: {fileID: 0}
- target: {fileID: 919132149155446097, guid: 8a0236a6fb2773f46b033e383a3f4f55,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 919132149155446097, guid: 8a0236a6fb2773f46b033e383a3f4f55,
type: 3}
propertyPath: m_TagString
value: EditorOnly
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@@ -63486,8 +63562,10 @@ MonoBehaviour:
HostAndAllPlayersCameraTrigger: {fileID: 1311764233}
HostAllPlayersTimerToggle: {fileID: 35514607}
HostPlayersAndWideShotTimerToggle: {fileID: 1193018063}
Player1AndWideShotTimerToggle: {fileID: 1377550932}
Player2AndWideShotTimerToggle: {fileID: 741456682}
Player1AndLocationBoardTimerToggle: {fileID: 1377550932}
Player2AndLocationBoardTimerToggle: {fileID: 741456682}
LocationBoardAndShortHostTimerToggle: {fileID: 529984888}
LocationBoardAndLongHostTimerToggle: {fileID: 1875043588}
Player1CameraAnchor: {fileID: 783795840}
Player2CameraAnchor: {fileID: 739684421}
HostAndWinnerCameraAnchor: {fileID: 1117826905}
@@ -63942,7 +64020,7 @@ GameObject:
- component: {fileID: 1377550932}
- component: {fileID: 1377550931}
m_Layer: 0
m_Name: Player 1 And Wide Shot Switcher
m_Name: Player 1 And Location Board Switcher
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@@ -64014,8 +64092,11 @@ MonoBehaviour:
_CameraController: {fileID: 1355919010}
_SwitchFunctions:
- SwitchToPlayer1Camera
- SwitchToWideShotCamera
- SwitchToLocationBoardCamera
_TimeBetweenCuts: 3
_LoopPoint: 0
_FirstLoopCallbackObject: {fileID: 0}
_FirstLoopCallbackFunction:
--- !u!1 &1378992343 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 5677162063728742216, guid: c3b6993d13023194d904d6353e18944f,
@@ -66068,6 +66149,8 @@ Transform:
- {fileID: 1193018061}
- {fileID: 1377550930}
- {fileID: 741456680}
- {fileID: 529984886}
- {fileID: 1875043586}
- {fileID: 115578769}
- {fileID: 1583513123}
- {fileID: 1449300098}
@@ -66273,6 +66356,9 @@ MonoBehaviour:
- SwitchToHostCamera
- SwitchToPlayerCamera
_TimeBetweenCuts: 5
_LoopPoint: 0
_FirstLoopCallbackObject: {fileID: 0}
_FirstLoopCallbackFunction:
--- !u!1 &1461972938 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 973995804437909872, guid: e9914385266bca24db809c39e395f03c,
@@ -87886,6 +87972,98 @@ Transform:
- {fileID: 247036823}
m_Father: {fileID: 938262255}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1875043585
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1875043586}
- component: {fileID: 1875043588}
- component: {fileID: 1875043587}
m_Layer: 0
m_Name: Location Board And Long Host Switcher
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1875043586
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1875043585}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -6.64, y: 0, z: 0.41}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1451322102}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &1875043587
MonoBehaviour:
m_ObjectHideFlags: 2
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1875043585}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 45115577ef41a5b4ca741ed302693907, type: 3}
m_Name:
m_EditorClassIdentifier:
interactTextPlacement: {fileID: 0}
interactText: Use
interactTextGO: {fileID: 0}
proximity: 2
SynchronizePosition: 0
AllowCollisionOwnershipTransfer: 0
Reliable: 0
_syncMethod: 3
serializedProgramAsset: {fileID: 11400000, guid: b84f3dc1edf53b846a172badddd49737,
type: 2}
programSource: {fileID: 11400000, guid: 1fc8e4389a71e5640b656e2c7fbabeed, type: 2}
serializedPublicVariablesBytesString: Ai8AAAAAATIAAABWAFIAQwAuAFUAZABvAG4ALgBDAG8AbQBtAG8AbgAuAFUAZABvAG4AVgBhAHIAaQBhAGIAbABlAFQAYQBiAGwAZQAsACAAVgBSAEMALgBVAGQAbwBuAC4AQwBvAG0AbQBvAG4AAAAAAAYBAAAAAAAAACcBBAAAAHQAeQBwAGUAAWgAAABTAHkAcwB0AGUAbQAuAEMAbwBsAGwAZQBjAHQAaQBvAG4AcwAuAEcAZQBuAGUAcgBpAGMALgBMAGkAcwB0AGAAMQBbAFsAVgBSAEMALgBVAGQAbwBuAC4AQwBvAG0AbQBvAG4ALgBJAG4AdABlAHIAZgBhAGMAZQBzAC4ASQBVAGQAbwBuAFYAYQByAGkAYQBiAGwAZQAsACAAVgBSAEMALgBVAGQAbwBuAC4AQwBvAG0AbQBvAG4AXQBdACwAIABtAHMAYwBvAHIAbABpAGIAAQEJAAAAVgBhAHIAaQBhAGIAbABlAHMALwEAAAABaAAAAFMAeQBzAHQAZQBtAC4AQwBvAGwAbABlAGMAdABpAG8AbgBzAC4ARwBlAG4AZQByAGkAYwAuAEwAaQBzAHQAYAAxAFsAWwBWAFIAQwAuAFUAZABvAG4ALgBDAG8AbQBtAG8AbgAuAEkAbgB0AGUAcgBmAGEAYwBlAHMALgBJAFUAZABvAG4AVgBhAHIAaQBhAGIAbABlACwAIABWAFIAQwAuAFUAZABvAG4ALgBDAG8AbQBtAG8AbgBdAF0ALAAgAG0AcwBjAG8AcgBsAGkAYgABAAAABgEAAAAAAAAAAi8CAAAAAUkAAABWAFIAQwAuAFUAZABvAG4ALgBDAG8AbQBtAG8AbgAuAFUAZABvAG4AVgBhAHIAaQBhAGIAbABlAGAAMQBbAFsAUwB5AHMAdABlAG0ALgBJAG4AdAAzADIALAAgAG0AcwBjAG8AcgBsAGkAYgBdAF0ALAAgAFYAUgBDAC4AVQBkAG8AbgAuAEMAbwBtAG0AbwBuAAIAAAAGAgAAAAAAAAAnAQQAAAB0AHkAcABlAAEXAAAAUwB5AHMAdABlAG0ALgBTAHQAcgBpAG4AZwAsACAAbQBzAGMAbwByAGwAaQBiACcBCgAAAFMAeQBtAGIAbwBsAE4AYQBtAGUAAR8AAABfAF8AXwBVAGQAbwBuAFMAaABhAHIAcABCAGUAaABhAHYAaQBvAHUAcgBWAGUAcgBzAGkAbwBuAF8AXwBfACcBBAAAAHQAeQBwAGUAARYAAABTAHkAcwB0AGUAbQAuAEkAbgB0ADMAMgAsACAAbQBzAGMAbwByAGwAaQBiABcBBQAAAFYAYQBsAHUAZQACAAAABwUHBQcF
publicVariablesUnityEngineObjects: []
publicVariablesSerializationDataFormat: 0
--- !u!114 &1875043588
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1875043585}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 7c74cc2036e37f74b874180a8ad0235f, type: 3}
m_Name:
m_EditorClassIdentifier:
serializationData:
SerializedFormat: 2
SerializedBytes:
ReferencedUnityObjects: []
SerializedBytesString:
Prefab: {fileID: 0}
PrefabModificationsReferencedUnityObjects: []
PrefabModifications: []
SerializationNodes: []
_udonSharpBackingUdonBehaviour: {fileID: 1875043587}
_CameraController: {fileID: 1355919010}
_SwitchFunctions:
- SwitchToLocationBoardCamera
- SwitchToHostAndWinnerCamera
- SwitchToHostAndWinnerCamera
- SwitchToHostAndWinnerCamera
- SwitchToHostAndWinnerCamera
_TimeBetweenCuts: 1.5
_LoopPoint: 0
_FirstLoopCallbackObject: {fileID: 865296978}
_FirstLoopCallbackFunction: SwitchToCurrentPlayerAndLocationBoardSwitcher
--- !u!1 &1876563947 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 990566370520094600, guid: 899ce13087fd5974f88dcbccaea2df85,
@@ -110939,6 +111117,14 @@ MonoBehaviour:
ID: 1286
SerializedTypeNames:
- VRC.Udon.UdonBehaviour
- gameObject: {fileID: 1875043585}
ID: 1287
SerializedTypeNames:
- VRC.Udon.UdonBehaviour
- gameObject: {fileID: 529984885}
ID: 1288
SerializedTypeNames:
- VRC.Udon.UdonBehaviour
portraitCameraPositionOffset: {x: 0, y: 0, z: 0}
portraitCameraRotationOffset: {x: 0, y: 1, z: 0, w: -0.00000004371139}
PlayerPersistence: []