| <!DOCTYPE html>
|
| <html>
|
|
|
| <head>
|
|
|
| <script src="https://ajax.googleapis.com/ajax/libs/model-viewer/3.1.1/model-viewer.min.js" type="module"></script>
|
|
|
| <script>
|
| document.addEventListener('DOMContentLoaded', () => {
|
| const modelViewers = document.querySelectorAll('model-viewer');
|
| const isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
|
|
|
| modelViewers.forEach(modelViewer => {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| modelViewer.addEventListener('load', (event) => {
|
| const [material] = modelViewer.model.materials;
|
| let color = [43, 44, 46, 255];
|
| color = color.map(x => x / 255);
|
| material.pbrMetallicRoughness.setMetallicFactor(0.1);
|
| material.pbrMetallicRoughness.setRoughnessFactor(0.7);
|
| material.pbrMetallicRoughness.setBaseColorFactor(color);
|
| });
|
| });
|
| });
|
| </script>
|
|
|
| <style>
|
| body {
|
| margin: 0;
|
| font-family: Arial, sans-serif;
|
| }
|
|
|
| .centered-container {
|
| display: flex;
|
| justify-content: center;
|
| align-items: center;
|
| border-radius: 8px;
|
| border-color: #e5e7eb;
|
| border-style: solid;
|
| border-width: 1px;
|
| }
|
| </style>
|
| </head>
|
|
|
| <body>
|
| <div class="centered-container">
|
| <div class="column is-mobile is-centered">
|
| <model-viewer id="modelviewer" style="height: #height#px; width: #width#px;"
|
| rotation-per-second="10deg"
|
| src="#src#" disable-tap
|
| environment-image="neutral"
|
| camera-target="0m 0m 0m"
|
| camera-orbit="0deg 90deg 8m"
|
| orientation="0deg 0deg 0deg"
|
| shadow-intensity=".9"
|
| ar auto-rotate
|
| camera-controls>
|
| </model-viewer>
|
| </div>
|
| </div>
|
| </body>
|
|
|
| </html> |