- Lightning round effects now re-initialise in between rounds.

- Lightning round effect now checks if the effect has changed before playing.
- Final round now locks podium answers without an in-between segment.
- Improved UVs on buzzer model.
- Improved lightmaps on square crate model.
This commit is contained in:
2026-05-11 00:56:42 -04:00
parent 16dc6c79d8
commit 554add639e
25 changed files with 110 additions and 58 deletions
Binary file not shown.
Binary file not shown.
+10 -20
View File
@@ -4416,11 +4416,6 @@ PrefabInstance:
propertyPath: m_ScaleInLightmap propertyPath: m_ScaleInLightmap
value: 2 value: 2
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: -7511558181221131132, guid: 76f9097b80e037f4fb610c22e157ec62,
type: 3}
propertyPath: m_StitchLightmapSeams
value: 0
objectReference: {fileID: 0}
- target: {fileID: -7511558181221131132, guid: 76f9097b80e037f4fb610c22e157ec62, - target: {fileID: -7511558181221131132, guid: 76f9097b80e037f4fb610c22e157ec62,
type: 3} type: 3}
propertyPath: m_Materials.Array.data[0] propertyPath: m_Materials.Array.data[0]
@@ -46858,22 +46853,22 @@ PrefabInstance:
- target: {fileID: -8679921383154817045, guid: 994d51ba1f20a4543bb632dcd772135e, - target: {fileID: -8679921383154817045, guid: 994d51ba1f20a4543bb632dcd772135e,
type: 3} type: 3}
propertyPath: m_LocalRotation.w propertyPath: m_LocalRotation.w
value: 0.9996278 value: 0.68755025
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: 994d51ba1f20a4543bb632dcd772135e, - target: {fileID: -8679921383154817045, guid: 994d51ba1f20a4543bb632dcd772135e,
type: 3} type: 3}
propertyPath: m_LocalRotation.x propertyPath: m_LocalRotation.x
value: -0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: 994d51ba1f20a4543bb632dcd772135e, - target: {fileID: -8679921383154817045, guid: 994d51ba1f20a4543bb632dcd772135e,
type: 3} type: 3}
propertyPath: m_LocalRotation.y propertyPath: m_LocalRotation.y
value: 0.027281728 value: 0.7261368
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: 994d51ba1f20a4543bb632dcd772135e, - target: {fileID: -8679921383154817045, guid: 994d51ba1f20a4543bb632dcd772135e,
type: 3} type: 3}
propertyPath: m_LocalRotation.z propertyPath: m_LocalRotation.z
value: -0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: 994d51ba1f20a4543bb632dcd772135e, - target: {fileID: -8679921383154817045, guid: 994d51ba1f20a4543bb632dcd772135e,
type: 3} type: 3}
@@ -46883,7 +46878,7 @@ PrefabInstance:
- target: {fileID: -8679921383154817045, guid: 994d51ba1f20a4543bb632dcd772135e, - target: {fileID: -8679921383154817045, guid: 994d51ba1f20a4543bb632dcd772135e,
type: 3} type: 3}
propertyPath: m_LocalEulerAnglesHint.y propertyPath: m_LocalEulerAnglesHint.y
value: 3.127 value: 93.127
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: 994d51ba1f20a4543bb632dcd772135e, - target: {fileID: -8679921383154817045, guid: 994d51ba1f20a4543bb632dcd772135e,
type: 3} type: 3}
@@ -67527,11 +67522,6 @@ PrefabInstance:
propertyPath: m_ScaleInLightmap propertyPath: m_ScaleInLightmap
value: 2 value: 2
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: -7511558181221131132, guid: 76f9097b80e037f4fb610c22e157ec62,
type: 3}
propertyPath: m_StitchLightmapSeams
value: 0
objectReference: {fileID: 0}
- target: {fileID: -7511558181221131132, guid: 76f9097b80e037f4fb610c22e157ec62, - target: {fileID: -7511558181221131132, guid: 76f9097b80e037f4fb610c22e157ec62,
type: 3} type: 3}
propertyPath: m_Materials.Array.data[0] propertyPath: m_Materials.Array.data[0]
@@ -86799,22 +86789,22 @@ PrefabInstance:
- target: {fileID: -8679921383154817045, guid: 994d51ba1f20a4543bb632dcd772135e, - target: {fileID: -8679921383154817045, guid: 994d51ba1f20a4543bb632dcd772135e,
type: 3} type: 3}
propertyPath: m_LocalRotation.w propertyPath: m_LocalRotation.w
value: 0.9998144 value: 0.69335157
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: 994d51ba1f20a4543bb632dcd772135e, - target: {fileID: -8679921383154817045, guid: 994d51ba1f20a4543bb632dcd772135e,
type: 3} type: 3}
propertyPath: m_LocalRotation.x propertyPath: m_LocalRotation.x
value: -0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: 994d51ba1f20a4543bb632dcd772135e, - target: {fileID: -8679921383154817045, guid: 994d51ba1f20a4543bb632dcd772135e,
type: 3} type: 3}
propertyPath: m_LocalRotation.y propertyPath: m_LocalRotation.y
value: 0.01926574 value: 0.7205995
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: 994d51ba1f20a4543bb632dcd772135e, - target: {fileID: -8679921383154817045, guid: 994d51ba1f20a4543bb632dcd772135e,
type: 3} type: 3}
propertyPath: m_LocalRotation.z propertyPath: m_LocalRotation.z
value: -0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: 994d51ba1f20a4543bb632dcd772135e, - target: {fileID: -8679921383154817045, guid: 994d51ba1f20a4543bb632dcd772135e,
type: 3} type: 3}
@@ -86824,7 +86814,7 @@ PrefabInstance:
- target: {fileID: -8679921383154817045, guid: 994d51ba1f20a4543bb632dcd772135e, - target: {fileID: -8679921383154817045, guid: 994d51ba1f20a4543bb632dcd772135e,
type: 3} type: 3}
propertyPath: m_LocalEulerAnglesHint.y propertyPath: m_LocalEulerAnglesHint.y
value: 2.208 value: 92.208
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: 994d51ba1f20a4543bb632dcd772135e, - target: {fileID: -8679921383154817045, guid: 994d51ba1f20a4543bb632dcd772135e,
type: 3} type: 3}
Binary file not shown.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 657 KiB

After

Width:  |  Height:  |  Size: 657 KiB

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -100,6 +100,7 @@ public class GameManagerRound1 : GameManagerBase
_PlayerBuzzInAllowed = new bool[_PlayerPodiums.Length]; _PlayerBuzzInAllowed = new bool[_PlayerPodiums.Length];
_LightningRoundEffects.Initialise();
_Modem.Activate(false); _Modem.Activate(false);
foreach (ArrivalDisplay Display in _ArrivalDisplays) foreach (ArrivalDisplay Display in _ArrivalDisplays)
@@ -115,7 +116,6 @@ public class GameManagerRound1 : GameManagerBase
_CameraControllerRound1.PlayOpening(true); _CameraControllerRound1.PlayOpening(true);
_CameraControllerRound1.PlayModemZoom(false); _CameraControllerRound1.PlayModemZoom(false);
_VideoPlayer.PrepareMapsAndVideos(_CaseManager); _VideoPlayer.PrepareMapsAndVideos(_CaseManager);
base.InitialiseGameMode(); base.InitialiseGameMode();
@@ -1248,26 +1248,28 @@ public class GameManagerRound1 : GameManagerBase
_PlayerPodiums[i].SendCustomNetworkEvent(NetworkEventTarget.Owner, "ShowAuxiliaryMapScreen", false); _PlayerPodiums[i].SendCustomNetworkEvent(NetworkEventTarget.Owner, "ShowAuxiliaryMapScreen", false);
} }
HostCardMultipleChoiceInterface Interface = //HostCardMultipleChoiceInterface Interface =
(HostCardMultipleChoiceInterface)GetHostCardInterface(RoundSegmentType.FinalRound); // (HostCardMultipleChoiceInterface)GetHostCardInterface(RoundSegmentType.FinalRound);
Interface.HeaderUI.text = "LOCKED IN"; //Interface.HeaderUI.text = "LOCKED IN";
for (int i = 0; i < Interface.CluesUI.Length; i++) //for (int i = 0; i < Interface.CluesUI.Length; i++)
{ //{
Interface.CluesUI[i].text = ""; // Interface.CluesUI[i].text = "";
} //}
for (int i = 0; i < Interface.ChoiceUI.Length; i++) //for (int i = 0; i < Interface.ChoiceUI.Length; i++)
{ //{
if (i != (_QuestionCorrectResponse - 1)) // if (i != (_QuestionCorrectResponse - 1))
{ // {
Interface.ChoiceUI[i].text = ""; // Interface.ChoiceUI[i].text = "";
} // }
} //}
SortPlayersHighToLowScore(); SortPlayersHighToLowScore();
EnableInteraction("Reveal Third Place"); AdvanceQuestion();
//EnableInteraction("Reveal Third Place");
} }
private void SortPlayersHighToLowScore() private void SortPlayersHighToLowScore()
{ {
@@ -1434,6 +1436,8 @@ public class GameManagerRound1 : GameManagerBase
_VideoPlayer.SendCustomNetworkEvent(NetworkEventTarget.All, "ClearScreen"); _VideoPlayer.SendCustomNetworkEvent(NetworkEventTarget.All, "ClearScreen");
_LightningRoundEffects.Initialise();
_QuestionIndex++; _QuestionIndex++;
if (_QuestionIndex >= _QuestionsList.Count) if (_QuestionIndex >= _QuestionsList.Count)
{ {
@@ -44,7 +44,7 @@ MonoBehaviour:
Data: Data:
- Name: - Name:
Entry: 12 Entry: 12
Data: 6 Data: 7
- Name: - Name:
Entry: 7 Entry: 7
Data: Data:
@@ -426,6 +426,54 @@ MonoBehaviour:
- Name: - Name:
Entry: 8 Entry: 8
Data: Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 1
Data: _Effect_Cached
- Name: $v
Entry: 7
Data: 29|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _Effect_Cached
- Name: <UserType>k__BackingField
Entry: 9
Data: 25
- Name: <SystemType>k__BackingField
Entry: 9
Data: 26
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
- Name:
Entry: 6
Data:
- Name:
Entry: 8
Data:
- Name: <IsSerialized>k__BackingField
Entry: 5
Data: false
- Name: _fieldAttributes
Entry: 7
Data: 30|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 0
- Name:
Entry: 13
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name: - Name:
Entry: 13 Entry: 13
Data: Data:
@@ -25,7 +25,8 @@ public class LightningRoundEffectsController : UdonSharpBehaviour
[SerializeField] private ParticleSystem _PersonalRaincloud; [SerializeField] private ParticleSystem _PersonalRaincloud;
[SerializeField] private Umbrella _Umbrella; [SerializeField] private Umbrella _Umbrella;
[UdonSynced] private LightningRoundEffect _Effect; [UdonSynced] private LightningRoundEffect _Effect = LightningRoundEffect.MAX_EFFECTS;
private LightningRoundEffect _Effect_Cached = LightningRoundEffect.MAX_EFFECTS;
public override void OnOwnershipTransferred(VRCPlayerApi Player) public override void OnOwnershipTransferred(VRCPlayerApi Player)
@@ -38,7 +39,6 @@ public class LightningRoundEffectsController : UdonSharpBehaviour
public override void OnDeserialization(DeserializationResult Result) public override void OnDeserialization(DeserializationResult Result)
{ {
_DeactivateRain();
_PlayLightningRoundAnimation_Synced(); _PlayLightningRoundAnimation_Synced();
base.OnDeserialization(Result); base.OnDeserialization(Result);
@@ -47,38 +47,47 @@ public class LightningRoundEffectsController : UdonSharpBehaviour
public void Initialise() public void Initialise()
{ {
_Umbrella.Respawn(); _Effect = LightningRoundEffect.MAX_EFFECTS;
_PlayLightningRoundAnimation_Synced();
RequestSerialization(); RequestSerialization();
} }
public void PlayLightningRoundAnimation() public void PlayLightningRoundAnimation()
{ {
_Effect = (LightningRoundEffect)Random.Range(0, (int)LightningRoundEffect.MAX_EFFECTS); _Effect = (LightningRoundEffect)Random.Range(0, (int)LightningRoundEffect.MAX_EFFECTS);
_PlayLightningRoundAnimation_Synced(); _PlayLightningRoundAnimation_Synced();
RequestSerialization(); RequestSerialization();
} }
private void _PlayLightningRoundAnimation_Synced() private void _PlayLightningRoundAnimation_Synced()
{ {
switch (_Effect) if (_Effect != _Effect_Cached)
{ {
case LightningRoundEffect.Thunder: switch (_Effect)
_LightningBolt.SetActive(false); {
break; case LightningRoundEffect.Thunder:
case LightningRoundEffect.LightningStrike: _LightningBolt.SetActive(false);
_LightningBolt.SetActive(true); break;
break; case LightningRoundEffect.LightningStrike:
case LightningRoundEffect.ThunderAndRain: _LightningBolt.SetActive(true);
_LightningBolt.SetActive(false); break;
_ActivateRain(); case LightningRoundEffect.ThunderAndRain:
break; _LightningBolt.SetActive(false);
_ActivateRain();
break;
default: // Deactivate everything and leave
_Animator.SetBool("Lightning", false);
_LightningBolt.SetActive(false);
_DeactivateRain();
return;
}
_AudioManager.PlayMusic(MusicEventType.LightningRound);
_Animator.SetBool("Lightning", true);
SendCustomEventDelayedSeconds(nameof(ResetLightningRoundAnimation), 2.0f);
_Effect_Cached = _Effect;
} }
_AudioManager.PlayMusic(MusicEventType.LightningRound);
_Animator.SetBool("Lightning", true);
SendCustomEventDelayedSeconds(nameof(ResetLightningRoundAnimation), 2.0f);
} }
public void ResetLightningRoundAnimation() public void ResetLightningRoundAnimation()
{ {
@@ -90,6 +99,7 @@ public class LightningRoundEffectsController : UdonSharpBehaviour
private void _ActivateRain() private void _ActivateRain()
{ {
_Umbrella.gameObject.SetActive(true); _Umbrella.gameObject.SetActive(true);
_Umbrella.Respawn();
_PersonalRaincloud.Play(); _PersonalRaincloud.Play();
} }
private void _DeactivateRain() private void _DeactivateRain()
Binary file not shown.