J'essaye d'expliquer clairement :
J'ai un objet personnage avec plusieurs matériaux (1 pour la tête, 1 pour le corps, et 1 pour les cheveux).
Il n'y a qu'un seul mesh skinné. (pas possible de détacher la tete du corps).
J'ai besoin de pouvoir accéder à la normalmap du matériau "Tete", pour swaper la texture.
En gros, l'effet voulu, c'est : quand mon personnage fronce les sourcils, on change la normalmap pour afficher la ride du lion. Ca permet d'alléger les polygones, c'est pratique et ça optimise bien.
Je travaille en javascript. Je sais que c'est pas l'idéal, mais pour l'instant je n'ai pas le choix.
Ci dessous, le code que j'ai fait pour le moment. Les problèmes,
1 ça ne marche pas
2 de toute façon il ne prend pas en compte le fait qu'il y a plusieurs matériaux sur l'objet, mais aucune normalmap n'est modifiée.
Je tiens a préciser que j'ai bien mis 2 textures 2D dans les slots du script dans l'inspecteur...
Code : Tout sélectionner
#pragma strict
var Textures : Texture2D[];
var numero : int = 0;
function Update () {
if(Input.GetButtonDown("Fire1"))
{
GetComponent.<Renderer>().material.SetTexture ("_BumpMap",Textures[numero]);
if (numero == 0){
numero = 1;
}
else{
numero = 0;
}
}
}
Quelqu'un a une idée, s'il vous plait ?
Merci, bon weekend !
Aymeric