Three.js: El modelo exportado de Blender se deforma cuando se aplica la animación

Creado en 7 sept. 2014  ·  3Comentarios  ·  Fuente: mrdoob/three.js

Me encuentro con un problema extraño al cargar modelos desde el exportador de Blender. Cuando cargo el modelo sin aplicar animación, se ve así:

screen shot 2014-09-07 at 1 26 00 am

pero una vez que aplico la animación, el modelo se deforma y se ve así:

screen shot 2014-09-07 at 1 24 25 am

con los dedos estirados horriblemente y el cuerpo torcido. El modelo aún realiza la animación, pero deformado.

Aquí está el código que estoy usando para cargar y animar el modelo

    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();

    } );

Probé un montón de cambios de configuración comúnmente sugeridos para el archivo de mezcla, pero ninguno de ellos funciona. Aquí hay un enlace al archivo de mezcla.

http://cl.ly/3H3M2T3i1o1p

Estoy usando r68 y el último exportador de licuadoras.

Help (please use the forum)

Comentario más útil

Hice algunas correcciones en su archivo de Blender para que sea adecuado para la exportación de three.js.

  • Restablecer la escala de los objetos de malla (ctrl-A, en modo objeto)
  • Se modificó la animación para que comenzara desde el fotograma 1, en lugar del fotograma 0, y se cambiaron todos los demás fotogramas clave en un fotograma.
  • Se agregó un fotograma clave de pose de reposo en el fotograma 0 (fuera del nuevo rango de animación)
  • Se agregaron todos los vértices de la malla del palo a un grupo de vértices llamado "hand.R" (igual que el nombre del hueso)

Ahora puede exportar correctamente el modelo y la animación seleccionando el cuadro 0 y luego exportando.

https://dl.dropboxusercontent.com/u/46299249/Golfer_FIXED.blend

Todos 3 comentarios

_Debes_ exportar tu malla y animación con el esqueleto libre de todas las transformaciones.

Probé con su archivo y obtuve los resultados adecuados seleccionando cada hueso en modo pose y luego seleccionando Pose-> Clear Transform-> All, y luego haciendo una exportación de three.js.

Esto no afectará su escena u otros fotogramas clave, pero debe hacerlo cada vez que exporta.

Hice algunas correcciones en su archivo de Blender para que sea adecuado para la exportación de three.js.

  • Restablecer la escala de los objetos de malla (ctrl-A, en modo objeto)
  • Se modificó la animación para que comenzara desde el fotograma 1, en lugar del fotograma 0, y se cambiaron todos los demás fotogramas clave en un fotograma.
  • Se agregó un fotograma clave de pose de reposo en el fotograma 0 (fuera del nuevo rango de animación)
  • Se agregaron todos los vértices de la malla del palo a un grupo de vértices llamado "hand.R" (igual que el nombre del hueso)

Ahora puede exportar correctamente el modelo y la animación seleccionando el cuadro 0 y luego exportando.

https://dl.dropboxusercontent.com/u/46299249/Golfer_FIXED.blend

satori99, muchas gracias! He estado luchando con esto durante días. Y muchas gracias por proporcionar un archivo fijo. Ahora me está funcionando :)

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

clawconduce picture clawconduce  ·  3Comentarios

scrubs picture scrubs  ·  3Comentarios

filharvey picture filharvey  ·  3Comentarios

boyravikumar picture boyravikumar  ·  3Comentarios

akshaysrin picture akshaysrin  ·  3Comentarios