Three.js - Matériau à Changement de l'Exécution
J'ai quelques .js fichiers exportés à partir de Blender et de les charger avec THREE.JSONLoader();
mon rappel:
var callback = function( geometry ) { createMesh(geometry);
mon chargement:
loader.load( "Models/sculp.js", callback );
ma méthode de création:
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++;
}
Maintenant, je veux changer mon matériel sur l'exécution, par l'aide de mon clavier (changements de couleur et d'opacité).
Comment puis-je le faire?
Vous devez vous connecter pour publier un commentaire.
Que vous créez un nouveau matériau pour chaque maille je suppose que vous voulez seulement changer la couleur d'un maillage et pas du tout dans le
inArr
tableau, et vous avez probablement besoin d'une sorte de sélectionner pour que. Mais en changeant la couleur de la matière seule est assez facile:object
est la maille que vous souhaitez modifier. Codes de clé peut être trouvé ici: http://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codesTHREE.SceneUtils.traverseHierarchy( obj, function ( geo ) { geo.material = new THREE.MeshLambertMaterial( { color: 0x900000 } ); } );
, mais maintenant je ne peut utiliserobj.material = new THREE.MeshLambertMaterial( .. );