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);
}