/** * @param forSoftwareAnim * @deprecated use generateBindPose(); */ @Deprecated public void generateBindPose(boolean forSoftwareAnim) { generateBindPose(); }
Geometry g = geoms.get(i); Mesh m = geoms.get(i).getMesh(); m.generateBindPose();
jmeMesh.setMaxNumWeights(maxBonesPerVertex); jmeMesh.prepareForAnim(true); jmeMesh.generateBindPose(true);
public void generateSkinning() { for(FbxMesh fbxMesh : toSkin) { if(fbxMesh.geometries == null) continue; Mesh firstMesh = fbxMesh.geometries.get(0).getMesh(); int maxWeightsPerVert = generateBoneData(firstMesh, fbxMesh); for(int i = 0; i < fbxMesh.geometries.size(); ++i) { Mesh mesh = fbxMesh.geometries.get(i).getMesh(); if(mesh != firstMesh) { mesh.setBuffer(firstMesh.getBuffer(VertexBuffer.Type.BoneWeight)); mesh.setBuffer(firstMesh.getBuffer(VertexBuffer.Type.BoneIndex)); mesh.setBuffer(firstMesh.getBuffer(VertexBuffer.Type.HWBoneWeight)); mesh.setBuffer(firstMesh.getBuffer(VertexBuffer.Type.HWBoneIndex)); } mesh.setMaxNumWeights(maxWeightsPerVert); mesh.generateBindPose(true); } } }
mesh.clearBuffer(Type.BindPosePosition); mesh.clearBuffer(Type.BindPoseTangent); mesh.generateBindPose(true);
mesh.setBuffer(weightsHW); mesh.setBuffer(indicesHW); mesh.generateBindPose();
/** * @param forSoftwareAnim * @deprecated use generateBindPose(); */ @Deprecated public void generateBindPose(boolean forSoftwareAnim) { generateBindPose(); }
jmeMesh.setMaxNumWeights(maxBonesPerVertex); jmeMesh.prepareForAnim(true); jmeMesh.generateBindPose(true);
public void generateSkinning() { for(FbxMesh fbxMesh : toSkin) { if(fbxMesh.geometries == null) continue; Mesh firstMesh = fbxMesh.geometries.get(0).getMesh(); int maxWeightsPerVert = generateBoneData(firstMesh, fbxMesh); for(int i = 0; i < fbxMesh.geometries.size(); ++i) { Mesh mesh = fbxMesh.geometries.get(i).getMesh(); if(mesh != firstMesh) { mesh.setBuffer(firstMesh.getBuffer(VertexBuffer.Type.BoneWeight)); mesh.setBuffer(firstMesh.getBuffer(VertexBuffer.Type.BoneIndex)); mesh.setBuffer(firstMesh.getBuffer(VertexBuffer.Type.HWBoneWeight)); mesh.setBuffer(firstMesh.getBuffer(VertexBuffer.Type.HWBoneIndex)); } mesh.setMaxNumWeights(maxWeightsPerVert); mesh.generateBindPose(true); } } }
mesh.clearBuffer(Type.BindPosePosition); mesh.clearBuffer(Type.BindPoseTangent); mesh.generateBindPose(true);
mesh.clearBuffer(Type.BindPosePosition); mesh.clearBuffer(Type.BindPoseTangent); mesh.generateBindPose(true);
mesh.setBuffer(weightsHW); mesh.setBuffer(indicesHW); mesh.generateBindPose();