three texture sphere raycaster javascript 3d webgl three.js

javascript - texture - three js rotation



Three.js-Cambiar material en Runtime (1)

Tengo algunos archivos .js exportados desde Blender y los cargo con THREE.JSONLoader();

mi devolución de llamada:

var callback = function( geometry ) { createMesh(geometry);

mi carga:

loader.load( "Models/sculp.js", callback );

mi método de creación:

function createMesh(geometry){ inArr[id] = new THREE.Mesh( geometry, new THREE.MeshLambertMaterial( { color: 0xbbbbbb} ) ); inArr[id].scale.set( 100, 100, 100 ); scene.add( inArr[id] ); id++; }

Ahora quiero cambiar mi material en tiempo de ejecución usando mi teclado (cambia de color y opacidad).

¿Cómo puedo hacer eso?


Al crear un nuevo material para cada malla, asumo que solo desea cambiar el color de una malla y no de todas en la matriz inArr , y probablemente necesite algún tipo de selección para eso. Pero cambiar el color del material solo es bastante fácil:

var onKeyDown = function(event) { if (event.keyCode == 67) { // when ''c'' is pressed object.material.color.setHex(0xff0000); // there is also setHSV and setRGB } }; document.addEventListener(''keydown'', onKeyDown, false);

object es la malla que quieres cambiar. Los códigos clave se pueden encontrar aquí: http://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes