I\'m trying to change the color of a cube based on a variable. I created two cubes and I want to change their color depending on the distance between them.
The cubes
cube.material.color
will give you the THREE.Color object:
Color
which has a bunch of methods you can use to set the color.
You are not specifying the color value correctly.
cube.material.color.setHex( 0xffffff );
My suggestion is attach a function to your object and then you can change the color of object during runtime easily.
Based on your code
geometry = new THREE.CubeGeometry( 50, 50, 50 );
material = new THREE.MeshBasicMaterial( { color: 0xff0000, wireframe: true } );
cube = new THREE.Mesh( geometry, material );
//here is the funcion defined and attached to the object
cube.setColor = function(color){
cube.material.color.set(color);
}
cube.setColor(0xFFFFFF) //change color using hex value or
cube.setColor("blue") //set material color by using color name
scene.add( cube );