Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import {
- Mesh,
- MultiMaterial,
- ObjectLoader
- } from 'three';
- import {MeshComponent} from 'whs/src';
- class ModelCustom extends MeshComponent {
- static defaults = {
- ...MeshComponent.defaults,
- geometry: {
- path: '',
- physics: '',
- loader: new ObjectLoader()
- }
- };
- static instructions = {
- ...MeshComponent.instructions,
- geometry: ['path', 'physics', 'loader']
- };
- constructor(params = {}) {
- super(params, ModelCustom.defaults, ModelCustom.instructions, false);
- }
- build(params = {}) {
- const promise = new Promise((resolve) => {
- params.geometry.loader.load(params.geometry.path, (obj) => {
- console.log(obj);
- const {geometry, material} = this.applyBridge({
- geometry: obj.geometry.clone(),
- material: obj.material.clone()
- });
- resolve(this.applyBridge({mesh: new Mesh(
- geometry,
- material
- )}).mesh);
- });
- });
- super.wait(promise);
- return promise;
- }
- }
- export {
- ModelCustom
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement