[BetterShadowClone] Reworked vert finding for exclusions to not nuke game for 20s

This commit is contained in:
NotAKidoS 2024-02-03 05:40:11 -06:00
parent 0d82606308
commit df45fb50d9
4 changed files with 64 additions and 44 deletions

View file

@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
using ABI_RC.Core;
using ABI.CCK.Components;
using UnityEngine;
@ -44,8 +45,13 @@ public static class ShadowCloneHelper
private static void ProcessRenderers(IEnumerable<Renderer> renderers, Transform root, Transform headBone)
{
Stopwatch sw = Stopwatch.StartNew();
IReadOnlyDictionary<Transform, FPRExclusion> exclusions = CollectTransformToExclusionMap(root, headBone);
// log current time
ShadowCloneMod.Logger.Msg($"CollectTransformToExclusionMap in {sw.ElapsedMilliseconds}ms");
foreach (Renderer renderer in renderers)
{
ConfigureRenderer(renderer);
@ -59,6 +65,11 @@ public static class ShadowCloneHelper
ITransformHider hider = TransformHiderManager.CreateTransformHider(renderer, exclusions);
if (hider != null) TransformHiderManager.Instance.AddTransformHider(hider);
}
sw.Stop();
// log current time
ShadowCloneMod.Logger.Msg($"ProcessRenderers in {sw.ElapsedMilliseconds}ms");
}
#endregion