Ist es möglich, eine dynamische Animation zu erstellen, indem Transformationen mit three.js auf die Knochen eines 3D-Modells angewendet werden? Ich habe versucht, die Knochen eines SkinnedMesh zu bewegen und zu drehen, aber das Mesh wurde nicht aktualisiert.

        loader = new THREE.JSONLoader();
        loader.load('/JS-Projects/Virtual-Jonah/Modelos/initialPose.js',function jsonReady( geometry )
        {
            mesh = new THREE.SkinnedMesh( geometry, new THREE.MeshNormalMaterial({skinning : true}) );
            mesh.scale.set( 10, 10, 10 );
            mesh.position.z = mesh.position.y = mesh.position.x = 0;
            mesh.geometry.dynamic = true;
            scene.add( mesh );

            var index = 0;
            for (var i = 0; i < mesh.bones.length; i++)
            {
                if (mesh.bones[i].name == "forearm_R")
                {
                    index = i;
                    break;
                }
            }


            setInterval (function ()
            {
                mesh.bones[index].useQuaternion = false;
                mesh.bones[index].position.z += 10;     
                mesh.bones[index].matrixAutoUpdate = true;
                mesh.bones[index].matrixWorldNeedsUpdate = true;
                mesh.geometry.verticesNeedUpdate = true;
                mesh.geometry.normalsNeedUpdate = true;

                renderer.render(scene, camera);
            }, 33);

            renderer.render(scene, camera);
        });

Das von mir verwendete Modell wurde mit makeHuman (nächtlicher Build) erstellt, nach Collada exportiert, in Blender importiert und in das JSON-Modell von three.js exportiert. Der Link zum Modell lautet wie folgt:

https://www.dropbox.com/sh/x1606vnaoghes1y/gG_BcZcEKd/initial

Vielen Dank!

15
Fabio Picchi 7 Dez. 2013 im 00:58

3 Antworten

Beste Antwort

Ich weiß, dass Sie eine knochengetriebene Animation aus Blender im JSON-Format exportieren können. Für die Verwendung in THREE.js gibt es im Internet einige Tutorials dazu. Ich hoffe das hilft. Viel Glück.

-1
Ryan Blevins 7 Dez. 2013 im 04:26