Beim Laden von Modellen aus dem Blender-Exporter tritt ein seltsames Problem auf. Wenn ich das Modell lade, ohne eine Animation anzuwenden, sieht es so aus:
Aber sobald ich Animation anwende, verformt sich das Modell und sieht so aus--
mit entsetzlich gestreckten Fingern und verdrehtem Körper. Das Modell führt die Animation weiterhin aus, jedoch verformt.
Hier ist der Code, den ich zum Laden und Animieren des Modells verwende
var loader = new THREE.JSONLoader();
loader.load( "js/models/Golfer_SWING.js", function(geometry, materials){
for ( var i = 0; i < materials.length; i ++ ) {
var m = materials[ i ];
m.skinning = true;
}
playerObject = new THREE.SkinnedMesh( geometry, new THREE.MeshFaceMaterial( materials ) );
playerObject.position.set( -50, -250, 0 );
playerObject.scale.set( 100, 100, 100 );
playerObject.rotation.y = -180 * Math.PI/180;
scene.add( playerObject );
playerObject.castShadow = true;
playerObject.receiveShadow = true;
helper = new THREE.SkeletonHelper( playerObject );
helper.material.linewidth = 3;
helper.visible = false;
scene.add( helper );
swingAnimation = new THREE.Animation( playerObject, geometry.animations[0] );
swingAnimation.play();
} );
Ich habe eine Reihe von häufig vorgeschlagenen Konfigurationsänderungen an der Blend-Datei ausprobiert, aber keine davon funktioniert. Hier ist ein Link zur Blend-Datei.
Ich verwende r68 und den neuesten Mixer-Exporter.
Sie _müssen_ Ihr Netz und Ihre Animation exportieren, wobei das Skelett von allen Transformationen befreit ist.
Ich habe es mit Ihrer Datei versucht und die richtigen Ergebnisse erzielt, indem ich jeden Bone im Pose-Modus auswählte und dann Pose->Clear Transform->All auswählte und dann einen Three.js-Export durchführte.
Dies hat keinen Einfluss auf Ihre Szene oder andere Keyframes, aber Sie müssen dies jedes Mal tun, wenn Sie exportieren.
Ich habe einige Korrekturen an Ihrer Blender-Datei vorgenommen, damit sie für den Three.js-Export geeignet ist.
Jetzt können Sie das Modell und die Animation korrekt exportieren, indem Sie Bild 0 auswählen und dann exportieren.
https://dl.dropboxusercontent.com/u/46299249/Golfer_FIXED.blend
satori99, vielen Dank! Ich kämpfe seit Tagen damit. Und vielen Dank für die Bereitstellung einer festen Datei. Bei mir funktioniert es jetzt :)
Hilfreichster Kommentar
Ich habe einige Korrekturen an Ihrer Blender-Datei vorgenommen, damit sie für den Three.js-Export geeignet ist.
Jetzt können Sie das Modell und die Animation korrekt exportieren, indem Sie Bild 0 auswählen und dann exportieren.
https://dl.dropboxusercontent.com/u/46299249/Golfer_FIXED.blend