Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2017
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import {
  2.   Mesh,
  3.   MultiMaterial,
  4.   ObjectLoader
  5. } from 'three';
  6.  
  7. import {MeshComponent} from 'whs/src';
  8.  
  9. class ModelCustom extends MeshComponent {
  10.   static defaults = {
  11.     ...MeshComponent.defaults,
  12.     geometry: {
  13.       path: '',
  14.       physics: '',
  15.       loader: new ObjectLoader()
  16.     }
  17.   };
  18.  
  19.   static instructions = {
  20.     ...MeshComponent.instructions,
  21.     geometry: ['path', 'physics', 'loader']
  22.   };
  23.  
  24.   constructor(params = {}) {
  25.     super(params, ModelCustom.defaults, ModelCustom.instructions, false);
  26.   }
  27.  
  28.   build(params = {}) {
  29.     const promise = new Promise((resolve) => {
  30.       params.geometry.loader.load(params.geometry.path, (obj) => {
  31.          
  32.         console.log(obj);
  33.  
  34.         const {geometry, material} = this.applyBridge({
  35.           geometry: obj.geometry.clone(),
  36.           material: obj.material.clone()
  37.         });
  38.  
  39.         resolve(this.applyBridge({mesh: new Mesh(
  40.           geometry,
  41.           material
  42.         )}).mesh);
  43.       });
  44.     });
  45.  
  46.     super.wait(promise);
  47.  
  48.     return promise;
  49.   }
  50. }
  51.  
  52. export {
  53.   ModelCustom
  54. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement