threepipe
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

script.ts 1.1KB

1234567891011121314151617181920212223242526272829303132333435
  1. import {_testFinish, GeometryUVPreviewPlugin, IObject3D, ThreeViewer} from 'threepipe'
  2. const viewer = new ThreeViewer({
  3. canvas: document.getElementById('mcanvas') as HTMLCanvasElement,
  4. rgbm: true,
  5. })
  6. async function init() {
  7. const uvPreview = viewer.addPluginSync(GeometryUVPreviewPlugin)
  8. await viewer.setEnvironmentMap('https://threejs.org/examples/textures/equirectangular/venice_sunset_1k.hdr')
  9. const result = await viewer.load<IObject3D>('https://threejs.org/examples/models/gltf/IridescentDishWithOlives.glb', {
  10. autoCenter: true,
  11. autoScale: true,
  12. })
  13. const added = false
  14. result?.traverse((obj) => {
  15. if (obj.geometry && !added) {
  16. // added = true
  17. uvPreview.addGeometry(obj.geometry, obj.name)
  18. }
  19. })
  20. // uvPreview.add(()=>depth.target, 'depth', false, true)
  21. // uvPreview.add(()=>normal.target, 'normal', false, false)
  22. // uvPreview.add(()=>viewer.renderManager.composerTarget, 'composer-1', false, false)
  23. // uvPreview.add(()=>viewer.renderManager.composerTarget2, 'composer-2', false, false)
  24. }
  25. init().finally(_testFinish)