Skip to content

Commit

Permalink
Merge pull request #761 from ReinaS-64892/avoid-InsufficientExecution…
Browse files Browse the repository at this point in the history
…StackException

fix: avoid InsufficientExecutionStackException
  • Loading branch information
ReinaS-64892 authored Dec 28, 2024
2 parents 66ef657 + 0955b5f commit 7df5cf5
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions Editor/NDMF/NegotiateAAOPass.cs
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,8 @@ private static void UVEvacuation(List<Vector4> uvBuf, SkinnedMeshRenderer smr, i
private static void ProvideToIsland(SkinnedMeshRenderer renderer, MeshRemovalProvider removalProvider)
{
var mesh = renderer.sharedMesh;
var editableMesh = UnityEngine.Object.Instantiate(mesh);
Span<int> triangleBuffer = stackalloc int[3];

//今は 三角形以外を処理でき無いから、三角形以外があった時は何もしないという安全側にする
if (Enumerable.Range(0, mesh.subMeshCount).Any(i => mesh.GetTopology(i) is not MeshTopology.Triangles)) { return; }
Expand All @@ -96,7 +98,6 @@ private static void ProvideToIsland(SkinnedMeshRenderer renderer, MeshRemovalPro
{
foreach (var tri in island.triangles)
{
Span<int> triangleBuffer = stackalloc int[3];
triangleBuffer[0] = tri[0];
triangleBuffer[1] = tri[1];
triangleBuffer[2] = tri[2];
Expand Down Expand Up @@ -132,7 +133,6 @@ private static void ProvideToIsland(SkinnedMeshRenderer renderer, MeshRemovalPro
vertex.RemoveAll(i => usedHash.Contains(i) is false);
var finalVertexes = vertex.Concat(vanishVertex).ToList();

var editableMesh = UnityEngine.Object.Instantiate(mesh);
MeshInfoUtility.ClearTriangleToWriteVertex(editableMesh, meshDesc, finalVertexes);

for (var i = 0; editableMesh.subMeshCount > i; i += 1)
Expand Down

0 comments on commit 7df5cf5

Please sign in to comment.