具有多种材料的多个JS模型

时间:2013-05-08 10:14:46

标签: three.js webgl game-engine

我需要在游戏中加载多个地图模型... 但当我加载所有这些时,我的fps正在下降=(但模型并不大,只有1k模型只有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

是否有人就如何优化此流程提出一些建议?

1 个答案:

答案 0 :(得分:0)

问题在于多次加载模型...我创建了场景并将其导出到一个js文件中,fps在正常范围内,它很奇怪..但是有效