提交 0cc3b886 编写于 作者: M Mr.doob

SceneLoader2 finally starting to work.

上级 e68aeeac
......@@ -284,21 +284,25 @@
if ( data.metadata.version < 4 ) {
loader = new THREE.SceneLoader();
loader.parse( data, function ( result ) {
} else {
result.scene.name = filename;
loader = new THREE.SceneLoader2();
signals.objectAdded.dispatch( result.scene );
signals.objectSelected.dispatch( result.scene );
}
}, '' );
loader.parse( data, function ( result ) {
} else {
result.scene.name = filename;
loader = new THREE.SceneLoader2();
var scene = loader.parse( data );
signals.objectAdded.dispatch( result.scene );
signals.objectSelected.dispatch( result.scene );
signals.objectAdded.dispatch( scene );
signals.objectSelected.dispatch( scene );
}, '' );
}
}
......
......@@ -44,20 +44,42 @@ THREE.SceneLoader2.prototype = {
parse: function ( json ) {
console.log( json );
// console.log( json );
var scene = new THREE.Scene();
var geometries = [];
var loader = new THREE.JSONLoader();
for ( var i = 0, l = json.geometries.length; i < l; i ++ ) {
console.log( json.geometries[ i ] );
geometries.push( loader.parse( json.geometries[ i ] ) );
}
console.log( geometries );
// TODO: Implement hierarchy
for ( var i = 0, l = json.scene.length; i < l; i ++ ) {
var object = json.scene[ i ];
switch ( object.type ) {
case "Mesh":
var mesh = new THREE.Mesh( geometries[ object.geometry ].geometry ); // TODO: Material
mesh.position.fromArray( object.position );
mesh.rotation.fromArray( object.rotation );
mesh.scale.fromArray( object.scale );
scene.add( mesh );
break;
}
}
return scene;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册