0

ゲームでマップ用に複数のモデルをロードする必要があります...しかし、それらすべてをロードすると、fps が低下します=(しかし、モデルは巨大ではなく、1 つのモデルで 3k ポリゴンしかありません。

function buildHouse(Bnum, x, y, z, Yangle, scale)
{
    var jsonLoader = new THREE.JSONLoader( true );
    jsonLoader.load( "js/map/obj/Building"+Bnum+".js", addModelToScene1, 'model_source/textures' );

    function addModelToScene1( geometry, materials)
    {
        var mesh = new THREE.Mesh( geometry,new THREE.MeshFaceMaterial( materials ) );
        mesh.scale.x = mesh.scale.y = mesh.scale.z = scale;
        mesh.castShadow = true;
        mesh.rotation.y = Yangle;
        mesh.position.x = x;
        mesh.position.y = y;
        mesh.position.z = z;
        BuildingsObject.add( mesh );
    };
}
function createBuildings()
{
    buildHouse(1,600,0,100,-Math.PI/2,10);
    buildHouse(2,250,0,100,-Math.PI,10);
    buildHouse(3,0,17,0,-Math.PI,20);
    scene.add(BuildingsObject);
}
createBuildings();

この例では、3 つのモデルのみをロードしていますが、モデルの数が 10 まで増加すると、fps は約 15=(

その結果、マテリアルなしでモデルを読み込もうとしました - FPS を落とさないでください

このプロセスを最適化する方法について誰かアドバイスをいただけますか?

4

1 に答える 1

0

問題は、モデルを複数回ロードすることでした...シーンを作成し、それを 1 つの js ファイルにエクスポートしました。

于 2013-05-09T11:22:49.757 に答える