js:wrap_lazy-fbx

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
js:wrap_lazy-fbx [2026/07/21 17:18] avillepreuxjs:wrap_lazy-fbx [2026/07/21 17:27] (Version actuelle) avillepreux
Ligne 85: Ligne 85:
 function loadViewer(viewers, container) { function loadViewer(viewers, container) {
      
-  console.log("Load viewer", container)+  var input_path = container.getAttribute("src");
-   +
-  var input_path = container.textContent;+
   var src_path   = ("/_media/" + input_path).replaceAll(":", "/");   var src_path   = ("/_media/" + input_path).replaceAll(":", "/");
   var basename   = src_path.split('/').reverse()[0];   var basename   = src_path.split('/').reverse()[0];
Ligne 118: Ligne 116:
   container.innerHTML = "";    container.innerHTML = ""; 
   container.appendChild(viewer.renderer.domElement);   container.appendChild(viewer.renderer.domElement);
- 
-  console.log(viewer.renderer.domElement); 
  
  
Ligne 151: Ligne 147:
   viewer.fbxObject = null;   viewer.fbxObject = null;
   viewer.mixer     = null;   viewer.mixer     = null;
- 
-  console.log("Loading FBX:", src_path); 
  
   viewer.loader.load(   viewer.loader.load(
Ligne 175: Ligne 169:
       const box  = new THREE.Box3().setFromObject(object);       const box  = new THREE.Box3().setFromObject(object);
       const size = box.getSize(new THREE.Vector3());       const size = box.getSize(new THREE.Vector3());
- 
-      console.log("FBX bounds:", size); 
  
       if (size.length() > 0) {       if (size.length() > 0) {
Ligne 199: Ligne 191:
       } else {       } else {
  
-          console.warn("FBX contains no visible geometry");+          console.warn("FBX contains no visible geometry", container.getAttribute("src"));
  
           // Keep the original camera           // Keep the original camera
Ligne 215: Ligne 207:
       },       },
       (error) => {       (error) => {
-          console.error("FBX error:", error);+          console.error("FBX error:", error, container.getAttribute("src"));
       }       }
   );   );
  
- +  viewer.animationFrame = null; 
-  function animate() { +  viewer.animate = function animate() { 
-      requestAnimationFrame(animate);+      viewer.animationFrame = requestAnimationFrame(viewer.animate);
       viewer.controls.update();       viewer.controls.update();
       viewer.renderer.render(viewer.scene, viewer.camera);       viewer.renderer.render(viewer.scene, viewer.camera);
-  }+  };
  
-  animate();+  viewer.animate();
  
   window.addEventListener('resize', () => {   window.addEventListener('resize', () => {
Ligne 285: Ligne 277:
 function destroyViewer(viewers, container) { function destroyViewer(viewers, container) {
  
-    console.log("Destroy viewer", container); 
-   
     var viewer = viewers.get(container);     var viewer = viewers.get(container);
 +   
  
     // Stop controls events     // Stop controls events
Ligne 295: Ligne 286:
  
     // Stop animations     // Stop animations
 +  
 +  cancelAnimationFrame(viewer.animationFrame);
 +  viewer.animate = null;
 +  
     if (viewer.mixer && viewer.fbxObject) {     if (viewer.mixer && viewer.fbxObject) {
         viewer.mixer.stopAllAction();         viewer.mixer.stopAllAction();
Ligne 338: Ligne 333:
  
 document.addEventListener("DOMContentLoaded", () => { document.addEventListener("DOMContentLoaded", () => {
 +  
 +  
 +  document.querySelectorAll(".wrap_fbx-scenes .wrap_fbx-scene").forEach(function(wrap_scene) {
 +  
 +    wrap_scene.setAttribute("src", wrap_scene.textContent);
 +    wrap_scene.innerHTML = "";
 +    
 +  });
 +  
  
   const viewers = new WeakMap();   const viewers = new WeakMap();
  • js/wrap_lazy-fbx.1784647086.txt.gz
  • Dernière modification : 2026/07/21 17:18
  • de avillepreux