diff --git a/Core/PostRenderHook.cs b/Core/PostRenderHook.cs index d53d1c9..c4da767 100644 --- a/Core/PostRenderHook.cs +++ b/Core/PostRenderHook.cs @@ -1,3 +1,4 @@ +using System.Collections; using System.Reflection; using HarmonyLib; using UnityEngine; @@ -16,10 +17,17 @@ namespace ADOFAIRenderer.Core private void LateUpdate() { + StartCoroutine(PostFrameCoroutine()); + } + + private IEnumerator PostFrameCoroutine() + { + yield return new WaitForEndOfFrame(); + var val = (MeshRenderer)_camQuadMeshField!.GetValue(scrCamera.instance); if (RenderManager.Instance) { - RenderManager.Instance.OnPostRender(val.material.mainTexture as RenderTexture); + RenderManager.Instance.OnPostFrame(val.sharedMaterial.mainTexture as RenderTexture); } } } diff --git a/Core/RenderManager.cs b/Core/RenderManager.cs index b50430c..5c4f476 100644 --- a/Core/RenderManager.cs +++ b/Core/RenderManager.cs @@ -293,7 +293,7 @@ namespace ADOFAIRenderer.Core } // ReSharper disable once Unity.IncorrectMethodSignature - public void OnPostRender(RenderTexture? texture) + public void OnPostFrame(RenderTexture? texture) { if (!IsCapturing || !texture) return;