From 77cc07f3d9761b0047d958e2900e188480a5a96d Mon Sep 17 00:00:00 2001 From: ousttrue Date: Thu, 11 Nov 2021 18:31:16 +0900 Subject: [PATCH] set indexFormat --- Assets/VRM10/Runtime/IO/Model/MeshImporter.cs | 4 ++++ Assets/VRM10/Runtime/IO/Model/MeshImporterDivided.cs | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/Assets/VRM10/Runtime/IO/Model/MeshImporter.cs b/Assets/VRM10/Runtime/IO/Model/MeshImporter.cs index 94a5dc990..3e0c382e2 100644 --- a/Assets/VRM10/Runtime/IO/Model/MeshImporter.cs +++ b/Assets/VRM10/Runtime/IO/Model/MeshImporter.cs @@ -16,6 +16,10 @@ namespace UniVRM10 { // submesh 方式 var mesh = new UnityEngine.Mesh(); + if (src.IndexBuffer.Count > UInt16.MaxValue) + { + mesh.indexFormat = UnityEngine.Rendering.IndexFormat.UInt32; + } mesh.vertices = src.VertexBuffer.Positions.GetSpan().ToArray(); mesh.normals = src.VertexBuffer.Normals?.GetSpan().ToArray(); diff --git a/Assets/VRM10/Runtime/IO/Model/MeshImporterDivided.cs b/Assets/VRM10/Runtime/IO/Model/MeshImporterDivided.cs index 4e9bd8b36..b2b108139 100644 --- a/Assets/VRM10/Runtime/IO/Model/MeshImporterDivided.cs +++ b/Assets/VRM10/Runtime/IO/Model/MeshImporterDivided.cs @@ -10,6 +10,10 @@ namespace UniVRM10 public static UnityEngine.Mesh LoadDivided(VrmLib.MeshGroup src) { var dst = new UnityEngine.Mesh(); + if (src.Meshes.Sum(x => x.IndexBuffer.Count) > ushort.MaxValue) + { + dst.indexFormat = UnityEngine.Rendering.IndexFormat.UInt32; + } // // vertices