Fix Particle Consistency

This commit is contained in:
copecone committed 2026-05-23 08:53:53 +09:00
1 parent 2067a5c7f2
commit 1eea4a520f
2 files changed
+16 -4

No files matched your search

+3
View File
@@ -44,6 +44,9 @@
<Reference Include="UnityEngine.IMGUIModule"> <Reference Include="UnityEngine.IMGUIModule">
<HintPath>$(ADOFAI_PATH)\A Dance of Fire and Ice_Data\Managed\UnityEngine.IMGUIModule.dll</HintPath> <HintPath>$(ADOFAI_PATH)\A Dance of Fire and Ice_Data\Managed\UnityEngine.IMGUIModule.dll</HintPath>
</Reference> </Reference>
<Reference Include="UnityEngine.ParticleSystemModule">
<HintPath>$(ADOFAI_PATH)\A Dance of Fire and Ice_Data\Managed\UnityEngine.ParticleSystemModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.TextRenderingModule"> <Reference Include="UnityEngine.TextRenderingModule">
<HintPath>$(ADOFAI_PATH)\A Dance of Fire and Ice_Data\Managed\UnityEngine.TextRenderingModule.dll</HintPath> <HintPath>$(ADOFAI_PATH)\A Dance of Fire and Ice_Data\Managed\UnityEngine.TextRenderingModule.dll</HintPath>
</Reference> </Reference>
+13 -4
View File
@@ -39,7 +39,7 @@ namespace ADOFAIRenderer
public static int FrameCountBase; public static int FrameCountBase;
public static bool RenderCheck = true; public static bool RenderCheck = true;
public static int SkipCount = 0; public static int SkipCount;
public override void OnInitializeMelon() public override void OnInitializeMelon()
{ {
@@ -95,9 +95,9 @@ namespace ADOFAIRenderer
// 60회 초과 시 최후의 블랙 프레임 삽입하여 전체 파이프라인 마비 방지 // 60회 초과 시 최후의 블랙 프레임 삽입하여 전체 파이프라인 마비 방지
Melon<RenderMod>.Logger.Error($"[Render Skipped] Frame {RenderManager.FrameCount} rendering failed after 60 retries. Supplying black frame."); Melon<RenderMod>.Logger.Error($"[Render Skipped] Frame {RenderManager.FrameCount} rendering failed after 60 retries. Supplying black frame.");
int targetFps = (int)RenderManager.Configuration.TargetFPS; var targetFps = (int)RenderManager.Configuration.TargetFPS;
int videoFps = (int)RenderManager.Configuration.VideoFPS; var videoFps = (int)RenderManager.Configuration.VideoFPS;
int num = targetFps % videoFps != 0 ? 1 : targetFps / videoFps; var num = targetFps % videoFps != 0 ? 1 : targetFps / videoFps;
if (FrameCountForVideo % num == 0) if (FrameCountForVideo % num == 0)
{ {
@@ -123,6 +123,15 @@ namespace ADOFAIRenderer
{ {
Time.timeScale = (float)(Time.deltaTime / realDeltaTime); Time.timeScale = (float)(Time.deltaTime / realDeltaTime);
} }
var array = Object.FindObjectsByType<ParticleSystem>(FindObjectsSortMode.None);
foreach (var particleSystem in array)
{
if (particleSystem.IsAlive(false))
{
particleSystem.Simulate(Time.deltaTime, false, false, false);
}
}
} }
public static int FrameCountForVideo; public static int FrameCountForVideo;