diff --git a/engine/src/blender/com/jme3/scene/plugins/blender/meshes/MeshHelper.java b/engine/src/blender/com/jme3/scene/plugins/blender/meshes/MeshHelper.java index 4c7d0b1cf..8e9e6a04a 100644 --- a/engine/src/blender/com/jme3/scene/plugins/blender/meshes/MeshHelper.java +++ b/engine/src/blender/com/jme3/scene/plugins/blender/meshes/MeshHelper.java @@ -303,13 +303,20 @@ public class MeshHelper extends AbstractBlenderHelper { // creating vertices indices for this mesh List indexList = meshEntry.getValue(); - int[] indices = new int[indexList.size()]; - for (int i = 0; i < indexList.size(); ++i) { - indices[i] = indexList.get(i).intValue(); + if(verticesAmount < Short.MAX_VALUE * 2) { + short[] indices = new short[indexList.size()]; + for (int i = 0; i < indexList.size(); ++i) { + indices[i] = indexList.get(i).shortValue(); + } + mesh.setBuffer(Type.Index, 1, indices); + } else { + int[] indices = new int[indexList.size()]; + for (int i = 0; i < indexList.size(); ++i) { + indices[i] = indexList.get(i).intValue(); + } + mesh.setBuffer(Type.Index, 1, indices); } - - // setting vertices - mesh.setBuffer(Type.Index, 1, indices); + mesh.setBuffer(verticesBuffer); mesh.setBuffer(verticesBind);