En el curre dieron muchas vueltas para lograr un normal y un AO que funcionase bien y después de muchas pruebas, se decidieron por XSI, ten en cuenta que más o menos hay un 55% de un usuarios maxeros y el resto de
Autodesk Maya, aunque siempre se use max, pero en este caso XSI era el que mejor se lo curraba, hay que reconocer que el CrazyBump es muy bueno, pero solo para alterar los mapas no para crearlos a partir de un modelo de alta.
Styx respecto a los material instance, lógicamente se usan mucho, primero por ahorro a la hora de compilar, por memoria, reduces el número de llamadas a tarjeta, y porque hay cosas que solamente se pueden hacer con instance.
Si quieres modificar un material in-game, por ejemplo, una consola que muestra el mensaje de of line en rojo, y quieres que cuando el personaje haga algo te muestre on line en verde, esto solo puedes hacer con un instance, realmente aquí no lo haces por ahorrar, al contrario, tienes un Shader más, pero es única forma de introducir una variable en un shader.
Eso sí a la hora de crear el Shader tienes que tener en cuenta que será instanciado, hay cosas que no puedes usar, lo principal de instanciar es parametrizar valores y a estos ponerles una variable, y no todo es parametrizable, puedes parametrizar un bitmap, a este nodo le das un nombre (una variable) y después en las opciones del instance material te aparecerá esa variable con un espacio para poner un bitmap, lo mismo con un valor Vector o scalar, por ejemplo, si pones un nodo de texture coordinates a un bitmap, ese nodo de coordenadas no lo puedes parametrizar, no puede alterar el mapeado de ese bitmap en el instance, para ello tienes que hacer un par de pijadas para que sí se pueda parametrizar, en ese caso es fácil si quieres tilear el bitmap multiplicas el nodo de coordenadas por un Vector 2 que sí es parametrizable, y si quieres hacer un offset solo tienes que sumar un Vector 2, este es un ejemplo fácil, normalmente se lía mucho.
Hala ya me he liado más de la cuenta. Saludos.