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

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import {_testFinish, DirectionalLight2, ThreeViewer} from 'threepipe'
  2. import {TweakpaneUiPlugin} from '@threepipe/plugin-tweakpane'
  3. import {BasicSVGRendererPlugin} from '@threepipe/plugin-svg-renderer'
  4. async function init() {
  5. const viewer = new ThreeViewer({
  6. canvas: document.getElementById('mcanvas') as HTMLCanvasElement,
  7. msaa: false,
  8. tonemap: false,
  9. })
  10. viewer.scene.mainCamera.controls!.enableDamping = false
  11. viewer.addPluginSync(new BasicSVGRendererPlugin(true))
  12. viewer.scene.addObject(new DirectionalLight2(0x0000ff, 1))
  13. const l = new DirectionalLight2(0xff0000, 1)
  14. l.position.set(1, 1, 1)
  15. viewer.scene.addObject(l)
  16. await viewer.load('https://threejs.org/examples/models/gltf/ShadowmappableMesh.glb', {
  17. autoCenter: true,
  18. autoScale: true,
  19. })
  20. await viewer.doOnce('postFrame') // wait for one frame
  21. // disable rendering so canvas is transparent
  22. viewer.renderManager.autoBuildPipeline = false
  23. viewer.renderManager.pipeline = [] // this will disable main viewer rendering
  24. // // make it invisible.
  25. viewer.canvas.style.opacity = '0'
  26. const ui = viewer.addPluginSync(new TweakpaneUiPlugin(true))
  27. ui.setupPlugins(BasicSVGRendererPlugin)
  28. ui.appendChild(l.uiConfig)
  29. }
  30. init().finally(_testFinish)