threepipe
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

1234567891011121314151617181920212223242526
  1. import {createLight} from './light'
  2. import {createMesh} from './mesh'
  3. import {Object3D} from 'threepipe'
  4. const blenderObjectTypes = {
  5. mesh: 1,
  6. lamp: 10,
  7. }
  8. export async function createObjects(file: any) {
  9. const objects: (Object3D|null)[] = []
  10. const blendObjects = file.objects.Object
  11. for (const object of blendObjects) {
  12. switch (object.type) {
  13. case blenderObjectTypes.mesh:
  14. objects.push(createMesh(object))
  15. break
  16. case blenderObjectTypes.lamp:
  17. objects.push(createLight(object))
  18. break
  19. default:
  20. console.warn('Unsupported object type', object.type)
  21. }
  22. }
  23. return objects.filter(o => !!o) as Object3D[]
  24. }