web-dev-qa-db-fra.com

Three.js - Uncaught ReferenceError: TROIS n'est pas défini

Lorsque j'exécute mon code javascript. J'obtiens l'erreur suivante "Uncaught ReferenceError: TROIS n'est pas défini". La ligne mentionnée est:

var renderer = new THREE.WebGLRenderer();

// I have attached the three.js library in the script tag. I don't know what seems to be problem.

var scene = new THREE.Scene();

var camera = new THREE.PerspectiveCamera(45, window.innerWidth/window.innerHeight, 0.1, 1000);
camera.position.set = (0, 0, 10);
camera.lookAt(camera.position);
scene.add(camera);

var geometry = new THREE.Geometry();
geometry.vertices.Push(new THREE.Vector3(0.0, 1.0, 0.0));
geometry.vertices.Push(new THREE.Vector3(-1.0, -1.0, 0.0));
geometry.vertices.Push(new THREE.Vector3(1.0, -1.0, 0.0));
geometry.faces.Push(new THREE.Face3(0, 1, 2));

var material = new THREE.BasicMeshMaterial({
    color: 0xFFFFFF,
    side: THREE.DoubleSide
});

var mesh = new THREE.Mesh(geometry, material);
mesh.position.set(-1.5, 0.0, 4.0);
scene.add(mesh);

function render() {
    renderer.render(scene, camera);
}

render();
7
user5955461

Vous devez inclure three.js avant

<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r79/three.min.js"></script>
6
kigiri

J'ai eu un problème similaire, la spécification de l'encodage des caractères dans l'en-tête a fonctionné pour moi

<head>
        <title>Cube by Charden</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        .
  .
  .
  .
  
</head>
2
Charden Daxicen

Efectivamente revisa la ruta del archivo three.js en mi caso esta en una carp

0
Luis Holgado

il est difficile de localiser l'erreur car vous n'avez fourni que le code où vous essayez d'utiliser Three.js mais ce que vous ne montrez pas, c'est comment vous chargez le module et dans quel ordre tous les autres scripts d'initialisation sont exécutés. Je recommande donc fortement de partager un simple par exemple via jsfiddle ou utilisez la fonctionnalité d'extrait de code dans votre message principal.)

Pour garantir la three.min.js est chargé:

  • vérifiez la console de votre navigateur pour toute erreur
  • vérifiez la section réseau dans la console de votre navigateur pour voir si le three.min.js c'est écouter là-bas.

index.html

<html>
<head>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r79/three.min.js"></script>
</head>
  <body>
  </body>
 </html>
<script>
  var container = document.createElement( 'div' );
  document.body.appendChild( container );
  scene = new THREE.Scene();
    ....
</script>
0
Wracker

mon erreur incluait le fichier three.js de /src/Three.js dossier. assurez-vous d'utiliser ./build/three.js

0
Siim Kasepõld