2017-03-18 2 views
0

J'essaye de développer un projet avec physijs. Je l'ai rencontré ce type d'erreur (de mozilla console firefox):Erreur lors du chargement de phys.js et ammo.js

  • NetworkError: Impossible de charger script travailleur à "js/libs/ammo.js"

error_log

Je J'essaie de le réparer mais sans résultat. Ceci est mon extrait de code sur la configuration des physijs:

<script src="build/three.js"></script> 
<script src="js/libs/physi.js"></script> 
<script src="js/controls/OrbitControls.js"></script> 
<script src="js/Detector.js"></script> 

<script> 

    'use strict'; 

    Physijs.scripts.worker = 'js/libs/physijs_worker.js'; 
    Physijs.scripts.ammo = 'js/libs/ammo.js'; 

Tous les fichiers JavaScript sont dans le répertoire js, à l'exception des fichiers de construction Three.js (qui sont dans le répertoire de construction). Je n'ai aucune idée de ce qui ne va pas dans mon code, je crée seulement des lumières, du sol (des formes conformes aux règles de Physijs) et un sac (que je veux appliquer une contrainte de cône-torsion mais pour des raisons précédentes ne fonctionne pas).

j'ajouter même le code que j'utilise pour initialiser la scène (si dans le cas où il y a quelque chose de mal):

function createScene() { 

      var container = document.getElementById('container'); 

      //stats = new Stats(); 
      //container.appendChild(stats.dom); 

      camera = new THREE.PerspectiveCamera(60, window.innerWidth/window.innerHeight, 0.1, 1000); 
      camera.position.x = 0; 
      camera.position.z = 17; 
      camera.position.y = 12; 

      //scene = new THREE.Scene(); 
      scene = new Physijs.Scene; 
      scene.setGravity(new THREE.Vector3(0, -10, 0)); 


      renderer = new THREE.WebGLRenderer(); 
      renderer.physicallyCorrectLights = true; 
      //renderer.gammaInput = true; 
      //renderer.gammaOutput = true; 
      renderer.shadowMap.enabled = true; 
      //renderer.shadowMapType = THREE.PCFSoftShadowMap; 
      //renderer.toneMapping = THREE.ReinhardToneMapping; 
      renderer.setPixelRatio(window.devicePixelRatio); 
      renderer.setSize(window.innerWidth, window.innerHeight); 
      container.appendChild(renderer.domElement); 


      var controls = new THREE.OrbitControls(camera, renderer.domElement); 
      controls.target.set(0, 0, 0); 
      controls.noPan = true; //disable panning of orbit control 
      controls.noKeys = true; //disable arrow keys of orbit control 
      controls.update(); 

      window.addEventListener('resize', onWindowResize, false); 
      window.addEventListener('keydown', onKeyDown, false); 
      window.addEventListener('keyup', onKeyUp, false); 

     } 

Comment puis-je résoudre ce problème et l'importation correctement Physi.js?

Répondre

0

SOLVED J'ai utilisé un serveur web local (Three.js's reference) et changé ceci:

Physijs.scripts.worker = 'js/libs/physijs_worker.js'; 
Physijs.scripts.ammo = 'ammo.js';