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