我想加载相当多的JSON模型并将它们放在全局变量中,这样我就可以使用它们进行复制,翻译等.这样我每次需要时都不需要加载模型.
我尝试了一些方法,但似乎加载模型是异步发生的.
在完成其他所有操作后,模型似乎已加载.所以我已经声明了我的变量,但它们保持空白或不起作用.如何首先加载模型,等到完成后再启动init()和其余代码?
例:
var loader = new THREE.JSONLoader();
var test1 = new THREE.Object3D();
var test2 = new THREE.Object3D();
var test3 = new THREE.Object3D();
var test4 = new THREE.Object3D();
var test5 = new THREE.Object3D();
var test6 = new THREE.Object3D();
var test7 = new THREE.Object3D();
loadparts();
init();
animate();
function init() {
var newpart = test1.clone();
console.log("newpart.id:" + newpart.id);
newpart.position.set(0,0,0);
scene.add(newpart);
console.log("test1.children.length:" + test1.children.length);
placePart(test1,0,100,0);
placePart(test2,0,200,0);
placePart(test3,0,300,0);
placePart(test4,0,400,0);
placePart(test5,0,500,0);
placePart(test6,0,600,0);
placePart(test7,0,700,0);
}
function loadparts( ) {
loader.load( "Models/test1.js", function ( geometry, materials …Run Code Online (Sandbox Code Playgroud)