mson-three/src/test-node.ts

28 lines
887 B
TypeScript

import { resolve } from 'path';
import { ModelStore, MsonEvaluate } from '.';
import { fillStoreFromFilesystem, saveGeometry } from './util/node';
import { ThreeBuilder } from './three';
import { MeshBasicMaterial, MeshLambertMaterial } from 'three';
async function init() {
const store = new ModelStore();
const evaluate = new MsonEvaluate(store);
const mat = new MeshLambertMaterial();
const builder = new ThreeBuilder(mat);
await fillStoreFromFilesystem(store, resolve(process.cwd(), 'inputs'));
// mson:steve
// minelittlepony:steve_pony
const final = evaluate.evaluateModel('minelittlepony:races/steve/alicorn');
// console.log(final.texture);
console.dir(final._dataEvaluated, {
depth: 20,
});
const geometry = builder.buildGeometry(final);
await saveGeometry(resolve(process.cwd(), 'outputs'), 'steve', geometry);
}
init().catch(console.error);