提交 9ff2fa8b 编写于 作者: M Mr.doob

Starting to combine GeometryExporter in SceneExporter2.

上级 0b8b7fe2
......@@ -692,7 +692,9 @@ var Viewport = function ( signals ) {
}
var exporter = new object.exporter();
var output = exporter.parse( selected.geometry );
var output = JSON.stringify( exporter.parse( selected.geometry ), null, '\t' );
output = output.replace( /[\n\t]+([\d\.e\-\[\]]+)/g, '$1' );
var blob = new Blob( [ output ], { type: 'text/plain' } );
var objectURL = URL.createObjectURL( blob );
......@@ -705,7 +707,9 @@ var Viewport = function ( signals ) {
signals.exportScene.add( function ( object ) {
var exporter = new object.exporter();
var output = exporter.parse( scene );
var output = JSON.stringify( exporter.parse( scene ), null, '\t' );
output = output.replace( /[\n\t]+([\d\.e\-\[\]]+)/g, '$1' );
var blob = new Blob( [ output ], { type: 'text/plain' } );
var objectURL = URL.createObjectURL( blob );
......
......@@ -161,20 +161,16 @@ THREE.GeometryExporter.prototype = {
//
var output = JSON.stringify( {
return {
metadata: {
formatVersion: 3.1,
generatedBy: "GeometryExporter",
version: 4,
generator: "GeometryExporter",
},
vertices: vertices,
normals: normals,
uvs: uvs,
faces: faces
}, null, '\t' );
// output = output.replace( /[\n\t]+([\d\.e\-\[\]]+)/g, '$1' );
return output;
};
}
......
......@@ -747,7 +747,7 @@ THREE.SceneExporter.prototype = {
'}'
].join( '\n' );
return output;
return JSON.parse( output );
}
......
......@@ -14,12 +14,48 @@ THREE.SceneExporter2.prototype = {
metadata: {
version: 4.0,
type: 'scene',
generatedBy: 'SceneExporter'
generator: 'SceneExporter'
}
};
console.log( scene );
//
var geometries = {};
var geometryExporter = new THREE.GeometryExporter();
var parseGeometry = function ( geometry ) {
if ( geometries[ geometry.id ] === undefined ) {
if ( output.geometries === undefined ) {
output.geometries = [];
}
geometries[ geometry.id ] = output.geometries.length;
output.geometries.push( geometryExporter.parse( geometry ) );
}
return geometries[ geometry.id ];
};
/*
var materials = {};
var materialExporter = new THREE.MaterialExporter();
var parseMaterial = function ( material ) {
};
*/
var parseObject = function ( object ) {
var data = { name: object.name };
......@@ -84,6 +120,7 @@ THREE.SceneExporter2.prototype = {
data.position = object.position.toArray();
data.rotation = object.rotation.toArray();
data.scale = object.scale.toArray();
data.geometry = parseGeometry( object.geometry );
} else {
......@@ -114,7 +151,7 @@ THREE.SceneExporter2.prototype = {
output.scene = parseObject( scene ).children;
return JSON.stringify( output, null, '\t' );
return output;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册