2

I'm coming to you this night as I have an issue with three.js. I'm doing a tutorial, but at the end, I can't choose a shape or a mesh in a list although I set the control as shown in the video (which is here ) Here is the piece of code we're talking about :

shapeFolder.add(guiControls, 'form', {'Box' : 0, 'Cylinder':1, 'Dodecahedron' : 2, 'Icosahedron' :3, 'Octahedron': 4, 'Sphere': 5, 'Ring': 6, 'Torus':7, 'TorusKnot': 8}).onChange(function(value){
            if(value == 0 && guiControls.lineshape == true){
                scene.remove(shape);
                scene.remove(mesh);
                shape = new THREE.Mesh(genGeometry[0], materials[0]);
                scene.add(shape);
            }
            else if(value == 0 && guiControls.lineshape == false){
                scene.remove(shape);
                scene.remove(mesh);
                mesh = new THREE.Mesh(genGeometry[0], materials[1]);
                scene.add(mesh);
            }
            else if(value == 1 && guiControls.lineshape == true){
                scene.remove(shape);
                scene.remove(mesh);
                shape = new THREE.Mesh(genGeometry[1], materials[0]);
                scene.add(shape);
            }
            else if(value == 1 && guiControls.lineshape == false){
                scene.remove(shape);
                scene.remove(mesh);
                mesh = new THREE.Mesh(genGeometry[1], materials[1]);
                scene.add(mesh);
            }
            else if(value == 2 && guiControls.lineshape == true){
                scene.remove(shape);
                scene.remove(mesh);
                shape = new THREE.Mesh(genGeometry[2], materials[0]);
                scene.add(shape);
            }
            else if(value == 2 && guiControls.lineshape == false){
                scene.remove(shape);
                scene.remove(mesh);
                mesh = new THREE.Mesh(genGeometry[2], materials[1]);
                scene.add(mesh);
            }
            else if(value == 3 && guiControls.lineshape == true){
                scene.remove(shape);
                scene.remove(mesh);
                shape = new THREE.Mesh(genGeometry[3], materials[0]);
                scene.add(shape);
            }
            else if(value == 3 && guiControls.lineshape == false){
                scene.remove(shape);
                scene.remove(mesh);
                mesh = new THREE.Mesh(genGeometry[3], materials[1]);
                scene.add(mesh);
            }
            else if(value == 4 && guiControls.lineshape == true){
                scene.remove(shape);
                scene.remove(mesh);
                shape = new THREE.Mesh(genGeometry[4], materials[0]);
                scene.add(shape);
            }
            else if(value == 4 && guiControls.lineshape == false){
                scene.remove(shape);
                scene.remove(mesh);
                mesh = new THREE.Mesh(genGeometry[4], materials[1]);
                scene.add(mesh);
            }
            else if(value == 5 && guiControls.lineshape == true){
                scene.remove(shape);
                scene.remove(mesh);
                shape = new THREE.Mesh(genGeometry[5], materials[0]);
                scene.add(shape);
            }
            else if(value == 5 && guiControls.lineshape == false){
                scene.remove(shape);
                scene.remove(mesh);
                mesh = new THREE.Mesh(genGeometry[5], materials[1]);
                scene.add(mesh);
            }
            else if(value == 6 && guiControls.lineshape == true){
                scene.remove(shape);
                scene.remove(mesh);
                shape = new THREE.Mesh(genGeometry[6], materials[0]);
                scene.add(shape);
            }
            else if(value == 6 && guiControls.lineshape == false){
                scene.remove(shape);
                scene.remove(mesh);
                mesh = new THREE.Mesh(genGeometry[6], materials[1]);
                scene.add(mesh);
            }
            else if(value == 7 && guiControls.lineshape == true){
                scene.remove(shape);
                scene.remove(mesh);
                shape = new THREE.Mesh(genGeometry[7], materials[0]);
                scene.add(shape);
            }
            else if(value == 7 && guiControls.lineshape == false){
                scene.remove(shape);
                scene.remove(mesh);
                mesh = new THREE.Mesh(genGeometry[7], materials[1]);
                scene.add(mesh);
            }
            else if(value == 8 && guiControls.lineshape == true){
                scene.remove(shape);
                scene.remove(mesh);
                shape = new THREE.Mesh(genGeometry[8], materials[0]);
                scene.add(shape);
            }
            else if(value == 8 && guiControls.lineshape == false){
                scene.remove(shape);
                scene.remove(mesh);
                mesh = new THREE.Mesh(genGeometry[8], materials[1]);
                scene.add(mesh);
            }
        });

All the rest works fine, but there is just that control messing it all.

Do you guys see something wrong ?

Thanks.

Utopiad
  • 107
  • 2
  • 13

0 Answers0