0

以下のコードがありますが、モデルをロードできないようです。

loader = new THREE.JSONLoader(true);
                    loader.load("modelo.js" , function ( geometry, materials) {
                        mesh = new THREE.Mesh( geometry, new THREE.MeshFaceMaterial( materials ) );
                        scene.add( mesh );
                    } );

コード全体は以下です。「loader.load(...)」の行を取り出すと、正常に動作し、threejs.org のチュートリアルの例のように回転する小さな立方体をロードしますが、モデルをロードしようとするとロードしません何でもロードします。多くの例を見て、さまざまな方法でこれを作成しましたが、ロードされません。

var scene = new THREE.Scene();
                    var camera = new THREE.PerspectiveCamera(75, window.innerWidth/window.innerHeight, 0.1, 1000);

                    var renderer = new THREE.WebGLRenderer();
                    renderer.setSize(window.innerWidth, window.innerHeight);
                    document.body.appendChild(renderer.domElement);

                    var geometry = new THREE.CubeGeometry(1,1,1);
                    var material = new THREE.MeshBasicMaterial({color: 0x00ff00});
                    var cube = new THREE.Mesh(geometry, material);
                    scene.add(cube);

                    camera.position.z = 5;

                    loader = new THREE.JSONLoader(true);
                    loader.load("modelo.js" , function ( geometry, materials) {
                        mesh = new THREE.Mesh( geometry, new THREE.MeshFaceMaterial( materials ) );
                        scene.add( mesh );
                    } );

                    var render = function () {
                        requestAnimationFrame(render);

                        cube.rotation.x += 0.1;
                        cube.rotation.y += 0.1;

                        renderer.render(scene, camera);
                    };

                    render();
4

1 に答える 1

1

こんにちは。Three.js ライブラリの r61 でコードをテストしました。それはうまくいきます、ここに私の提案があります。

まず、シーンに光源を追加してみてください。たとえば、背景が黒で、ライティングされていないモデル (テクスチャがあっても) をロードすると、黒地に黒になります。そう:

var ambientLight = new THREE.AmbientLight(0xBBBBBB);
scene.add(ambientLight);

それが機能しない場合は、modelo.jsファイル内のいくつかのマテリアル値を確認してください。具体的には、モデルの json の colorDiffuse 値が黒に設定されています (またはシーンの背景色と一致しています)。Maya でこれを使用したことはありますか? いずれにせよ、いくつかのモデルを試したと言ったので、とにかくそれはロングショットですが、それが役立つ場合は、この投稿をチェックしてください。

Three.js で Maya モデルをロードする

次に、これをローカルで実行していますか? その場合、Chrome で実行しており、chrome.exe --allow-file-access-from-filesフラグを設定していますか。Firefox で試してみなくても、うまくいくはずです。

また、(a) カメラが近すぎないことも確認してください。たぶん、それを元に戻して、次のように言います。

camera.position.z = 100;

または(b)あなたのメッシュは見るのに十分な大きさです:

mesh.scale.set(100, 100, 100);

それでうまくいくはずです、頑張ってください

于 2013-10-03T14:17:25.130 に答える