0

Blender から Three.js ページに 3dModel を配置することに関して質問があります。ブレンダーで 3D ヒューマン モデルを作成しました。ブレンダー用の 2.66 three.js-export プラグインを使用してエクスポートできます。

エクスポートされた .js ファイルを使用してhttp://blackjk3.github.io/threefab/にロードすると、正常に動作するようです。

http://mrdoob.github.io/three.js/examples/webgl_animation_skinning_morph.htmlの例を使用して、自分のモデルをそれに入れようとしました。そして、私はそれを表示することができません。

Firebug は、「TypeError: a.hierarchy is undefined」のようなことを教えてくれますが、実際には問題が見つからないようです。

いつものように JSON ローダーを使用します。

var loader = new THREE.JSONLoader();
loader.load( "models/skinned/humanPrototype.js", function ( geometry, materials ) { createScene( geometry, materials, 0, FLOOR, -300, 60 ) } );

createScene は次のようになります。

function createScene( geometry, materials, x, y, z, s ) {
            geometry.computeBoundingBox();
            var bb = geometry.boundingBox;

            THREE.AnimationHandler.add( geometry.animation );


            for ( var i = 0; i < materials.length; i ++ ) {
                var m = materials[ i ];
                m.skinning = true;
                m.morphTargets = true;

                m.color.setHSL( 0.6, 0.5, 0.6 );
                m.ambient.copy( m.color );

                m.wrapAround = true;
            }

            mesh = new THREE.SkinnedMesh( geometry, new THREE.MeshFaceMaterial( materials ) );
            mesh.position.set( 0,0,0 );
            mesh.scale.set( s, s, s );
            scene.add( mesh );

            mesh.castShadow = true;
            mesh.receiveShadow = true;

            animation = new THREE.Animation( mesh, geometry.animation.name );
            animation.JITCompile = false;
            animation.interpolationType = THREE.AnimationHandler.LINEAR;

            //animation.play();

        }

私のモデルは threefab にロードできるので、問題ないと思います。コードについて何かを変更する必要があると思います。これは不正確な質問だと思います。そのことをお詫びしたいと思います。しかし、現時点では私は本当に立ち往生しています。助言がありますか?=) どうもありがとうございました。

4

1 に答える 1

0

Knight.jsとexported.jsファイルをテキストエディタで開くと違いがわかりますが、これはまだ作者による実験技術だと思います。

于 2013-06-03T07:23:22.727 に答える