XSIforum.com

Override

0 Usuarios y 1 Visitante están viendo este tema.

Unaided

  • ***
  • 3293
Override
« en: 03 Noviembre 2006, 17:43:18 »
Tengo un override creado automaticamente por el passe de tipo RGBA_matte. Este override incluye diffuse_inuse y specular_inuse.

El asunto es que tengo otros materiales que no tienen estos parametros y por lo tanto no se ven afectados por ellos.

Mi pregunta es, es posible añadir algún parametro global a cada shader, para que afecte a todo el material en el override?

Es decir, ahora mismo debería ir añadiendo uno a uno todos los parametros necesarios para que esos "otros materiales" no aparezcan en el rgb.

alanf

  • *****
  • 6029
  • Pipeline Developer @ Felix & Paul Studios
Re: Override
« Respuesta #1 en: 05 Noviembre 2006, 22:12:56 »
Podrias describir que otros materiales tienes?

Y que te impide el enchufar un constant negro/blanco a el "Surface" input del material?

Unaided

  • ***
  • 3293
Re: Override
« Respuesta #2 en: 06 Noviembre 2006, 21:45:46 »
El material que no tiene diffuse_inuse y specular_inuse está formado por un shader toon_paint_host.

Quería sacar en ese passe como RGBA. Al no ser un passe solo matte, si asigno un constant negro a esos objetos, en composición no tendré alpha para ellos.

Salí del paso, metiendo esos objetos en una partición y desactivando el primary ray a los mismos. Me gustaría haber podido desactivar el primary ray a la partición, para que afecte a todos los objetos de esa partición. Probé también agrupando esos objetos, pero tuve que desactivar la propiedad de forma masiva. Vamos, que lo que busqué era desactivar esa propiedad de forma inherente a esa partición.

Al margen de este recurso, mantengo mi inquietud por saber si hay alguna manera de no tener que ir incluyendo parametros uno a uno a un override, cuando lo que busco es que no salgan renderizados como primary rays.

alanf

  • *****
  • 6029
  • Pipeline Developer @ Felix & Paul Studios
Re: Override
« Respuesta #3 en: 06 Noviembre 2006, 22:07:18 »
Importa realmente el no tener alpha? Los passes matte son para que actuen como una mascara animada. Han de ser blanco sobre negro.

Y no se que problema tienes con desactivar primary rays. Seleccionas la particion, te vas a Get->Property->Override, se crea, y en el override, le das a Add Parameters. Ahora te toca elegir el parametro a hacer override. Te vas a cualquiera de los objetos, dentro de ellos en Visibility, encontraras Primary Rays. Lo seleccionass y haces click afuera para que se aniada. Tambien puedes aniadir mas de un parametro mantiendo Ctrl pulsado y seleccionando.

alanf

  • *****
  • 6029
  • Pipeline Developer @ Felix & Paul Studios
Re: Override
« Respuesta #4 en: 06 Noviembre 2006, 22:11:00 »
Ademas, para un matte pass que tenga alpha puedes hacer una particion para los objetos "escondidos" y ponerle un constant con el RGBA a 0,0,0,0. Eso hara que se vean transparentes absolutamente. Y si tienes activado el canal alpha al renderizar en tus Render Options, deberia darte un render con alpha, que seria practicamente lo mismo que el RGBA Matte. No?

Unaided

  • ***
  • 3293
Re: Override
« Respuesta #5 en: 06 Noviembre 2006, 22:15:52 »
Los passes matte son para que actuen como una mascara animada. Han de ser blanco sobre negro.

Pero el matte ha de ir siempre en un passe aparte. Si en un passe RGB aplicas un constant negro a un objeto, este saldrá negro, no recortado.

Siempre que hacía un override me encontraba con la tarea de tener que ir añadiendo un sinfin de parametros (color: R + G + B + A; diffuse si lo tiene, specular, y demás) hasta poder hacer "desaparecer" el objeto en render. Lo de los primary rays es algo que no había pensado hasta que decidi hacer una partición para desactivar ahí esta propiedad a los susodichos objetos. Pero tampoco supe como incluirlo en el override seleccionado solo el de un objeto.

alanf

  • *****
  • 6029
  • Pipeline Developer @ Felix & Paul Studios
Re: Override
« Respuesta #6 en: 06 Noviembre 2006, 22:20:16 »
Pero el matte ha de ir siempre en un passe aparte. Si en un passe RGB aplicas un constant negro a un objeto, este saldrá negro, no recortado.

Por supuesto que va en un pass aparte. Si quieres que salga recortado, repito, haz que el constant negro tenga un valor RGBA de 0,0,0,0 en su valor del color. (Presta gran atencion al ultimo 0, que se refiere al A de RGBA en la opcion de color. Esto hace que "recorte" pero en alpha, no negro.)

Unaided

  • ***
  • 3293
Re: Override
« Respuesta #7 en: 06 Noviembre 2006, 22:26:33 »
Ok. Eso si tiene sentido. Muchas gracias.