浏览代码

Editor: Added basic support for ldraw files.

Mr.doob 4 年之前
父节点
当前提交
67ccb8cf57
共有 1 个文件被更改,包括 25 次插入0 次删除
  1. 25 0
      editor/js/Loader.js

+ 25 - 0
editor/js/Loader.js

@@ -383,6 +383,31 @@ function Loader( editor ) {
 
 
 				break;
 				break;
 
 
+			case 'ldr':
+			case 'mpd':
+
+				reader.addEventListener( 'load', async function ( event ) {
+
+					var { LDrawLoader } = await import( '../../examples/jsm/loaders/LDrawLoader.js' );
+
+					var loader = new LDrawLoader();
+					loader.fileMap = {}; // TODO Uh...
+					loader.setPath( '../../examples/models/ldraw/officialLibrary/' );
+					loader.parse( event.target.result, undefined, function ( group ) {
+
+						group.name = filename;
+						// Convert from LDraw coordinates: rotate 180 degrees around OX
+						group.rotation.x = Math.PI;
+
+						editor.execute( new AddObjectCommand( editor, group ) );
+
+					} );
+
+				}, false );
+				reader.readAsText( file );
+
+				break;
+
 			case 'md2':
 			case 'md2':
 
 
 				reader.addEventListener( 'load', async function ( event ) {
 				reader.addEventListener( 'load', async function ( event ) {