60. CLASE MATERIAL (II)










mainTextureScale:

var mainTextureScale : Vector2


La escala de la textura principal.


FUNCIONES:

Constructor:

static function Material (contents : String) : Material


Crea un material temporal a partir de un shader descrito por un string.

static function Material (shader : Shader) : Material

O bien crea un material temporal directamente desde un shader que le proporcionemos de entre los que tengamos. A grandes rasgos la creación de un nuevo material sería así:

var shader : Shader;
var texture : Texture;
var color : Color;
function Start () {
renderer.material = new Material (shader);
renderer.material.mainTexture = texture;
renderer.material.color = color;
}


Arrastrándole el shader, material y color, o cuanto menos el primero, creamos un material totalmente nuevo.

static function Material (source : Material) : Material


Crea un material temporal copiando el shader y todas las propiedades del material que le pasamos como parámetro.


SetColor:

function SetColor (propertyName : String, color : Color) : void


Nos permite indicar el nombre para un determinado color. Muchos shaders usan más de un color, por ejemplo:

"_Color" es el color principal del material, que es el que puede ser también accedido desde la propiedad "color" de la clase.
"_SpecColor" es el color especular de un material (usado en shaders specular/glossy/vertexlit).
"_Emission" es el color que emite un material (usado en vertexlit shaders).
"_ReflectColor" es el color de reflexión del material (usado en reflective shaders).


En el ejemplo siguiente, sacado del manual de referencia, asignamos el shader glossy (brillante) a nuestra esfera, y establecemos su color especular en rojo:

function Start () {
renderer.material.shader = Shader.Find ("Glossy");
renderer.material.SetColor ("_SpecColor", Color.red);
}



GetColor:

function GetColor (propertyName : String) : Color


Obtiene el valor de un color con nombre. Por ejemplo:

print (renderer.material.GetColor("_SpecColor"));



SetTexture:

function SetTexture (propertyName : String, texture : Texture) : void


Establece el nombre de una textura. Permite cambiar el propertyName de la textura.

Los nombres comunes de las texturas que encontramos ya creadas en Unity son:

"_MainTex" es la textura difusa principal. Puede ser accedida también a través de la propiedad mainTexture.
"_BumpMap" es el mapa de normales.
"_Cube" se refiere al cubemap.


GetTexture:

function GetTexture (propertyName : String) : Texture

Obtiene el nombre de una textura.

POSTED BY UnityScripts
POSTED IN
DISCUSSION 0 Comments

Leave a Reply

Con la tecnología de Blogger.