threepipe
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

script.ts 1.3KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. import {_testFinish, _testStart, LoadingScreenPlugin, ThreeViewer} from 'threepipe'
  2. const models = [
  3. 'https://threejs.org/examples/models/gltf/DamagedHelmet/glTF/DamagedHelmet.gltf',
  4. 'https://threejs.org/examples/models/fbx/Samba Dancing.fbx',
  5. 'https://threejs.org/examples/models/draco/bunny.drc',
  6. 'https://threejs.org/examples/models/gltf/kira.glb',
  7. ]
  8. async function init(i: number) {
  9. const viewer = new ThreeViewer({
  10. canvas: document.getElementById('mcanvas' + (i + 1)) as HTMLCanvasElement,
  11. msaa: true,
  12. debug: true,
  13. dropzone: {
  14. allowedExtensions: ['gltf', 'glb', 'hdr', 'bin', 'png', 'jpeg', 'webp', 'jpg', 'exr'],
  15. addOptions: {
  16. disposeSceneObjects: true,
  17. autoSetEnvironment: true, // when hdr is dropped
  18. autoSetBackground: true,
  19. },
  20. },
  21. plugins: [LoadingScreenPlugin],
  22. })
  23. await viewer.setEnvironmentMap('https://threejs.org/examples/textures/equirectangular/venice_sunset_1k.hdr', {
  24. // setBackground: true,
  25. })
  26. const result = await viewer.load(models[i], {
  27. autoCenter: true,
  28. autoScale: true,
  29. })
  30. console.log(result)
  31. }
  32. _testStart()
  33. Promise.all(new Array(4).fill(0).map(async(_, i) => init(i))).then(_testFinish)