sphereExample.html 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  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 - Sphere</title>
  8. <style>
  9. babylon,
  10. #viewport {
  11. max-width: 800px;
  12. max-height: 500px;
  13. width: 100%;
  14. height: 600px;
  15. }
  16. </style>
  17. </head>
  18. <body>
  19. <babylon id="babylon-viewer" scene.environment-texture="/environment.dds" extends="extended, shadowDirectionalLight" lab.environmentMap.texture=""></babylon>
  20. <div id="viewport" touch-action="none"></div>
  21. <script src="viewer.js"></script>
  22. <script>
  23. BabylonViewer.viewerManager.onViewerAdded = function (viewer) {
  24. console.log('Using viewerManager.onViewerAdded: ', 'viewer - ' + viewer.getBaseId());
  25. let specular = 0.6;
  26. let ms = 0.6;
  27. viewer.onInitDoneObservable.add(() => {
  28. let meshModel = new BabylonViewer.ViewerModel(viewer, {
  29. material: {
  30. albedoColor: {
  31. r: 0,
  32. g: 0,
  33. b: 1
  34. },
  35. reflectivityColor: {
  36. r: specular,
  37. g: specular,
  38. b: specular,
  39. },
  40. microSurface: ms
  41. }
  42. });
  43. let sphereMesh = BABYLON.Mesh.CreateSphere('sphere-', 20, 1.0, viewer.sceneManager.scene);
  44. let material = new BABYLON.PBRMaterial("sphereMat", viewer.sceneManager.scene);
  45. material.environmentBRDFTexture = null;
  46. material.useAlphaFresnel = material.needAlphaBlending();
  47. material.backFaceCulling = material.forceDepthWrite;
  48. material.twoSidedLighting = true;
  49. material.useSpecularOverAlpha = false;
  50. material.useRadianceOverAlpha = false;
  51. material.usePhysicalLightFalloff = true;
  52. material.forceNormalForward = true;
  53. sphereMesh.material = material;
  54. meshModel.addMesh(sphereMesh, true);
  55. })
  56. }
  57. </script>
  58. </body>
  59. </html>