- 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:
Jamie Greunbaum 2026-05-11 00:42:47 -04:00
parent 16dc6c79d8
commit 554add639e
25 changed files with 110 additions and 58 deletions

Binary file not shown.

Binary file not shown.

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.

Before

Width:  |  Height:  |  Size: 657 KiB

After

Width:  |  Height:  |  Size: 657 KiB

View File

@ -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)
{ {

View File

@ -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:

View File

@ -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.