This change should fix objects lagging behind animations for some props.

This commit is contained in:
2026-06-05 15:15:36 -04:00
parent 5bb080d546
commit a6e17ae7c1
12 changed files with 802 additions and 362 deletions
File diff suppressed because it is too large Load Diff
@@ -2,6 +2,7 @@
using TMPro;
using UdonSharp;
using UnityEngine;
using VRC.SDK3.Components;
using VRC.SDK3.Image;
using VRC.SDK3.UdonNetworkCalling;
using VRC.SDKBase;
@@ -17,18 +18,19 @@ public class ACMECrimenetComputer : UdonSharpBehaviour
[Space]
[SerializeField] private GameObject _ComputerBase;
[SerializeField] private MeshRenderer _ClueImageCard;
[SerializeField] private VRCObjectSync _ClueImageCard;
[SerializeField] private MeshRenderer _ClueImageCardMesh;
[Space]
[SerializeField] private Transform _UntranslatedCard;
[SerializeField] private VRCObjectSync _UntranslatedCard;
[SerializeField] private Transform _UntranslatedCardSpawn;
[SerializeField] private Transform _UntranslatedCardAnimator;
[SerializeField] private TextMeshProUGUI _UntranslatedTextGUI;
[Space]
[SerializeField] private Transform _TranslatedCard;
[SerializeField] private VRCObjectSync _TranslatedCard;
[SerializeField] private Transform _TranslatedCardAnimator;
[SerializeField] private TextMeshProUGUI _TranslatedTextGUI;
@@ -100,8 +102,26 @@ public class ACMECrimenetComputer : UdonSharpBehaviour
Interactable.SetActive(true);
}
_AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All, "PlayMusicLoop", MusicEventType.ACMECrimenetComputerIdle);
_ClueImageCard.enabled = false;
_UntranslatedCard.enabled = false;
_TranslatedCard.enabled = false;
_AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All, "PlayMusicLoop", MusicEventType.ACMECrimenetComputerIdle);
}
public void EnableClueImageCardSync()
{
_ClueImageCard.enabled = true;
}
public void EnableUntranslatedCardSync()
{
_UntranslatedCard.enabled = true;
}
public void EnableTranslatedCardSync()
{
_TranslatedCard.enabled = true;
}
private void SwooceRightBackOutAgain()
@@ -112,6 +132,10 @@ public class ACMECrimenetComputer : UdonSharpBehaviour
}
_HiddenTextCanvas.SetActive(false);
_ClueImageCard.enabled = false;
_UntranslatedCard.enabled = false;
_TranslatedCard.enabled = false;
ClueImageScale = 1.0f;
_Animator.SetBool("Swooce Right In", false);
@@ -124,13 +148,13 @@ public class ACMECrimenetComputer : UdonSharpBehaviour
_ClueImageCard.transform.localPosition = Vector3.zero;
_ClueImageCard.transform.localRotation = Quaternion.identity;
_UntranslatedCard.SetParent(_UntranslatedCardSpawn);
_UntranslatedCard.localPosition = Vector3.zero;
_UntranslatedCard.localRotation = Quaternion.identity;
_UntranslatedCard.transform.SetParent(_UntranslatedCardSpawn);
_UntranslatedCard.transform.localPosition = Vector3.zero;
_UntranslatedCard.transform.localRotation = Quaternion.identity;
_TranslatedCard.SetParent(_TranslatedCardAnimator);
_TranslatedCard.localPosition = Vector3.zero;
_TranslatedCard.localRotation = Quaternion.identity;
_TranslatedCard.transform.SetParent(_TranslatedCardAnimator);
_TranslatedCard.transform.localPosition = Vector3.zero;
_TranslatedCard.transform.localRotation = Quaternion.identity;
}
@@ -146,7 +170,7 @@ public class ACMECrimenetComputer : UdonSharpBehaviour
}
public override void OnImageLoadSuccess(IVRCImageDownload Result)
{
_ClueImageCard.material.SetTexture("_MainTex", Result.Result);
_ClueImageCardMesh.material.SetTexture("_MainTex", Result.Result);
base.OnImageLoadSuccess(Result);
}
@@ -170,13 +194,13 @@ public class ACMECrimenetComputer : UdonSharpBehaviour
{
_AudioManager.PlaySFX(SFXEventType.Printer);
_UntranslatedCard.SetParent(_UntranslatedCardAnimator);
_UntranslatedCard.localPosition = Vector3.zero;
_UntranslatedCard.localRotation = Quaternion.identity;
_UntranslatedCard.transform.SetParent(_UntranslatedCardAnimator);
_UntranslatedCard.transform.localPosition = Vector3.zero;
_UntranslatedCard.transform.localRotation = Quaternion.identity;
_TranslatedCard.SetParent(_TranslatedCardAnimator);
_TranslatedCard.localPosition = Vector3.zero;
_TranslatedCard.localRotation = Quaternion.identity;
_TranslatedCard.transform.SetParent(_TranslatedCardAnimator);
_TranslatedCard.transform.localPosition = Vector3.zero;
_TranslatedCard.transform.localRotation = Quaternion.identity;
_Animator.SetBool("Run Translator", true);
}
@@ -62,7 +62,7 @@ MonoBehaviour:
Data: 3|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: UnityEngine.Transform, UnityEngine.CoreModule
Data: VRC.SDK3.Components.VRCObjectSync, VRCSDK3
- Name:
Entry: 8
Data:
@@ -2,16 +2,15 @@
using TMPro;
using UdonSharp;
using UnityEngine;
using VRC.SDK3.Components;
using VRC.SDK3.UdonNetworkCalling;
using VRC.SDKBase;
using VRC.Udon;
[UdonBehaviourSyncMode(BehaviourSyncMode.NoVariableSync)]
public class VideoMusicClueSkateboard : UdonSharpBehaviour
{
[SerializeField] private Transform _VHSCassette;
[SerializeField] private Transform _ClueCard;
[SerializeField] private VRCObjectSync _VHSCassette;
[SerializeField] private VRCObjectSync _ClueCard;
[Space]
@@ -32,11 +31,13 @@ public class VideoMusicClueSkateboard : UdonSharpBehaviour
{
_Animator.SetBool("Swooce Right In", false);
_VHSCassette.localPosition = Vector3.zero;
_VHSCassette.localRotation = Quaternion.identity;
_VHSCassette.enabled = false;
_VHSCassette.transform.localPosition = Vector3.zero;
_VHSCassette.transform.localRotation = Quaternion.identity;
_ClueCard.localPosition = Vector3.zero;
_ClueCard.localRotation = Quaternion.identity;
_ClueCard.enabled = false;
_ClueCard.transform.localPosition = Vector3.zero;
_ClueCard.transform.localRotation = Quaternion.identity;
}
[NetworkCallable]
@@ -52,4 +53,15 @@ public class VideoMusicClueSkateboard : UdonSharpBehaviour
{
_Animator.SetBool("Swooce Right In", true);
}
public void EnableVHSSync()
{
_VHSCassette.enabled = true;
}
public void EnableNoteSync()
{
_ClueCard.enabled = true;
}
}