Three.JS - LoadingManager для прелоадера моделей JSON
Помогите пожалуйста, я не могу разобраться в коде...
Уже много времени на это потратил и хочется придти к логическому завершению.
Мне нужно воткнуть анимацию загрузки (или просто надпись ЗАГРУЗА...)
Пока прогрузятся все модели modelname1, 2, 3 и т.д.
Помогите пожалуйста!
Вот мой код:
************************************************** *******
var objects = [];
var scene = null;
var init = function() {
var canv = document.getElementsByTagName("canvas")[0];
var w = canv.clientWidth;
var h = canv.clientHeight;
var renderer = new THREE.WebGLRenderer({canvas:canv, antialias: true});
renderer.setSize( w, h );
renderer.setClearColor(new THREE.Color(0x453E38), 1);
scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera(
20, // Field of view
w / h, // Aspect ratio
0.1, // Near
10000 // Far
);
camera.position.set( 12, 32, 25 );
var control = new THREE.OrbitControls(camera,canv);
var light = new THREE.PointLight( 0xFFFFDD, 1.15, 700, Math.PI / 1 );
light.position.set( -200, 320, -100 );
scene.add( light );
var light = new THREE.PointLight( 0xFFFFDD, 1.0, 700, Math.PI / 1 );
light.position.set( 000, 320, 100 );
scene.add( light );
var ambient = new THREE.AmbientLight( 0x999999 );
scene.add( ambient );
var loader = new THREE.JSONLoader( );
var enhanced_loader = function(url, visible)
{
var counter = objects.length;
objects.push({});
loader.load(url, function(geom, mats) {
var mesh = new THREE.Mesh( geom, new THREE.MeshFaceMaterial( mats ) );
objects[counter] = mesh;
if (visible) scene.add(mesh);});
}
enhanced_loader("modelname1.js" ,true);
enhanced_loader("modelname2.js");
enhanced_loader("modelname3.js" ,true);
enhanced_loader("modelname4.js" ,true);
enhanced_loader("modelname5.js" ,true);
enhanced_loader("modelname6.js"); // (это для меня так надо...)
var clock = new THREE.Clock();
var render = function() {
var dt = clock.getDelta();
control.update(dt);
renderer.render(scene,camera);
requestAnimationFrame(render);
};
requestAnimationFrame(render);
};
window.onload = init;
window.onresize = init;
|