加入测试代码 加载fbx

pull/7/head
ChenX 7 years ago
parent 0ef9621b43
commit 9fb7bd7ead

@ -42,11 +42,16 @@ export async function CreateBoardFromData(data: Object)
{ {
let mat = new THREE.Matrix4(); let mat = new THREE.Matrix4();
mat.scale(new THREE.Vector3(0.01, 0.01, 0.01)); mat.scale(new THREE.Vector3(0.01, 0.01, 0.01));
fbxState.object.applyMatrix(mat);
// app.m_Viewer.m_Scene.add(fbxState.object);
fbxState.object.updateMatrix();
for (let mesh of fbxState.object.children) for (let mesh of fbxState.object.children)
{ {
mesh.applyMatrix(fbxState.object.matrix); let meshC = mesh.clone();
mesh.applyMatrix(mat); meshC.applyMatrix(fbxState.object.matrix);
app.m_Viewer.m_Scene.add(mesh); app.m_Viewer.m_Scene.add(meshC);
} }
} }
} }

@ -0,0 +1,34 @@
import { Command } from "../Editor/CommandMachine";
import { FileSystem } from "../Common/FileSystem";
import * as THREE from "three";
import { app } from '../ApplicationServices/Application';
//FileSystem
export class Fbx implements Command
{
async exec()
{
FileSystem.chooseFile((f: FileList) =>
{
var reader = new FileReader();
// Closure to capture the file information.
reader.onload = (ev) =>
{
console.log(ev);
let manager = new THREE.LoadingManager();
let loader = new THREE.FBXLoader(manager);
let obj = loader.parse(reader.result, "");
obj.scale.set(0.01, 0.01, 0.01);
obj.matrixWorldNeedsUpdate = true;
app.m_Viewer.m_Scene.add(obj);
}
// Read in the image file as a data URL.
reader.readAsArrayBuffer(f.item(0));
}, null, null);
}
}

@ -16,6 +16,7 @@ import { Stretch } from '../Add-on/Stretch';
import { ViewToTop } from '../Add-on/ViewChange'; import { ViewToTop } from '../Add-on/ViewChange';
import { Test } from '../Add-on/test'; import { Test } from '../Add-on/test';
import { DrawGripStretch } from '../Add-on/DrawGripStretch'; import { DrawGripStretch } from '../Add-on/DrawGripStretch';
import { Fbx } from '../Add-on/loadfbx';
export function registerCommand() export function registerCommand()
@ -53,4 +54,5 @@ export function registerCommand()
commandMachine.m_CommandList.set("grip", new DrawGripStretch()) commandMachine.m_CommandList.set("grip", new DrawGripStretch())
commandMachine.m_CommandList.set("fbx", new Fbx())
} }

Loading…
Cancel
Save