eventsExample.html 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>BabylonJS Viewer - Basic usage</title>
  8. <style>
  9. babylon {
  10. max-width: 800px;
  11. max-height: 500px;
  12. width: 100%;
  13. height: 600px;
  14. }
  15. </style>
  16. </head>
  17. <body>
  18. <babylon id="babylon-viewer" model.title="Amazing Rabbit" model.subtitle="BabylonJS" model.thumbnail="https://www.babylonjs.com/img/favicon/apple-icon-144x144.png"
  19. model.url="https://playground.babylonjs.com/scenes/Rabbit.babylon" observers.on-scene-init="globalSceneInitCallback"></babylon>
  20. <script src="viewer.js"></script>
  21. <script>
  22. //get by id ONLY after viewer init
  23. var willNotWork = BabylonViewer.viewerManager.getViewerById('babylon-viewer');
  24. console.log('viewer not yet initialized');
  25. // Pomise-based API:
  26. BabylonViewer.viewerManager.getViewerPromiseById('babylon-viewer').then(function (viewer) {
  27. // this will resolve only after the viewer with this specific ID is initialized
  28. console.log('Using promises: ', 'viewer - ' + viewer.getBaseId());
  29. viewerObservables(viewer);
  30. });
  31. // call back variant:
  32. BabylonViewer.viewerManager.onViewerAdded = function (viewer) {
  33. console.log('Using viewerManager.onViewerAdded: ', 'viewer - ' + viewer.getBaseId());
  34. }
  35. // using observers:
  36. BabylonViewer.viewerManager.onViewerAddedObservable.add(function (viewer) {
  37. console.log('Using viewerManager.onViewerAddedObservable: ', 'viewer - ' + viewer.getBaseId());
  38. });
  39. function viewerObservables(viewer) {
  40. viewer.onEngineInitObservable.add(function (engine) {
  41. console.log('Engine initialized');
  42. });
  43. viewer.onSceneInitObservable.add(function (scene) {
  44. console.log('Scene initialized');
  45. });
  46. viewer.onModelLoadedObservable.add(function (meshes) {
  47. console.log('Model loaded');
  48. });
  49. }
  50. function globalSceneInitCallback(scene) {
  51. console.log('scene-init function defined in the configuration');
  52. }
  53. </script>
  54. </body>
  55. </html>