|
@@ -266,18 +266,16 @@ public class SkeletonComponent : MonoBehaviour {
|
|
if (submeshes.Count <= submeshIndex) submeshes.Add(new Submesh());
|
|
if (submeshes.Count <= submeshIndex) submeshes.Add(new Submesh());
|
|
Submesh submesh = submeshes[submeshIndex];
|
|
Submesh submesh = submeshes[submeshIndex];
|
|
|
|
|
|
- // Allocate indexes if not the right size, allowing last submesh to have more than required.
|
|
|
|
int[] indexes = submesh.indexes;
|
|
int[] indexes = submesh.indexes;
|
|
- if (lastSubmesh ? (indexes.Length < indexCount) : (indexes.Length != indexCount)) {
|
|
|
|
- submesh.indexes = indexes = new int[indexCount];
|
|
|
|
- submesh.indexCount = 0;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- // Last submesh may have more indices than required, so zero indexes to the end.
|
|
|
|
- if (lastSubmesh && submesh.indexCount != indexCount) {
|
|
|
|
|
|
+ if (lastSubmesh && submesh.indexCount > indexCount) {
|
|
|
|
+ // Last submesh may have more indices than required, so zero indexes to the end.
|
|
submesh.indexCount = indexCount;
|
|
submesh.indexCount = indexCount;
|
|
for (int i = indexCount, n = indexes.Length; i < n; i++)
|
|
for (int i = indexCount, n = indexes.Length; i < n; i++)
|
|
indexes[i] = 0;
|
|
indexes[i] = 0;
|
|
|
|
+ } else if (indexes.Length != indexCount) {
|
|
|
|
+ // Reallocate indexes if not the right size.
|
|
|
|
+ submesh.indexes = indexes = new int[indexCount];
|
|
|
|
+ submesh.indexCount = 0;
|
|
}
|
|
}
|
|
|
|
|
|
// Set indexes if not already set.
|
|
// Set indexes if not already set.
|