When SkinNode removes child mesh, it doesn't decrease cache length
and it causes ArrayIndexOutOfException when update is called.
Index: src/com/jme/animation/SkinNode.java
===================================================================
--- src/com/jme/animation/SkinNode.java (revision 4097)
+++ src/com/jme/animation/SkinNode.java (working copy)
@@ -542,7 +542,9 @@
@SuppressWarnings("unchecked")
public void removeGeometry(int geomIndex) {
- ArrayList<BoneInfluence>[][] newCache = new ArrayList[skins.getQuantity()][];
+ if (geomIndex >= cache.length)
+ return;
+ ArrayList<BoneInfluence>[][] newCache = new ArrayList[skins.getQuantity()-1][];
for (int x = 0; x < cache.length-1; x++) {
if (x < geomIndex)
newCache[x] = cache[x];