From f4de93903bc418ea64c90ddd1aca4597576e50e5 Mon Sep 17 00:00:00 2001 From: Kazuhiko Kobayashi Date: Thu, 23 Feb 2012 01:56:19 +0900 Subject: [PATCH] fix NumBones bug --- src/projectkyoto/jme3/mmd/PMDLoaderGLSLSkinning2.java | 8 ++++---- src/projectkyoto/jme3/mmd/PMDNode.java | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/projectkyoto/jme3/mmd/PMDLoaderGLSLSkinning2.java b/src/projectkyoto/jme3/mmd/PMDLoaderGLSLSkinning2.java index cf0c53240..85791556e 100755 --- a/src/projectkyoto/jme3/mmd/PMDLoaderGLSLSkinning2.java +++ b/src/projectkyoto/jme3/mmd/PMDLoaderGLSLSkinning2.java @@ -158,7 +158,7 @@ public class PMDLoaderGLSLSkinning2 implements AssetLoader{ PMDGeometry geom = new PMDGeometry("geom" + meshCount++); geom.setMesh(mesh); setupMaterial(pmdMaterial, geom); - System.out.println(node.attachChild(geom)); + node.attachChild(geom); skinMeshList.add(mesh); } // System.out.println("child size = "+node.getChildren().size()+" "+meshList.size()+" "+skinMeshList.size()); @@ -368,13 +368,13 @@ public class PMDLoaderGLSLSkinning2 implements AssetLoader{ geom.setGlslSkinningMaterial(mat); geom.setNoSkinningMaterial(mat); } else { + PMDMesh mesh = (PMDMesh)geom.getMesh(); mat = createMaterial(m, true); geom.setMaterial(mat); geom.setGlslSkinningMaterial(mat); + mat.setInt("NumBones", mesh.boneIndexArray.length); mat = createMaterial(m, false); geom.setNoSkinningMaterial(mat); - PMDMesh mesh = (PMDMesh)geom.getMesh(); -// mat.setInt("NumBones", mesh.boneIndexArray.length); } geom.setPmdMaterial(m); @@ -401,7 +401,7 @@ public class PMDLoaderGLSLSkinning2 implements AssetLoader{ } } if (skinning) { - mat.setInt("NumBones", meshConverter.getMaxBoneSize()); +// mat.setInt("NumBones", meshConverter.getMaxBoneSize()); } float alpha = m.getMaterial().getFaceColor().getAlpha(); if (alpha > 0.99f) { diff --git a/src/projectkyoto/jme3/mmd/PMDNode.java b/src/projectkyoto/jme3/mmd/PMDNode.java index 843aa52f8..2434b512a 100755 --- a/src/projectkyoto/jme3/mmd/PMDNode.java +++ b/src/projectkyoto/jme3/mmd/PMDNode.java @@ -957,7 +957,7 @@ boolean setBoneMatricesFlag = true; skinMesh.setSkinvb2(skinMesh0.getSkinvb2().clone()); skinMesh.setBuffer(skinMesh0.getBuffer(Type.Normal).clone()); skinMesh.setSkinnb2(skinMesh0.getSkinnb2().clone()); - skinMesh.setBuffer(skinMesh0.getBuffer(Type.TexCoord).clone()); + skinMesh.setBuffer(skinMesh0.getBuffer(Type.TexCoord)); } newPMDNode.skinTargets[skinMeshCount++] = (PMDSkinMesh)mesh; } -- 2.11.0