Sigo con mis posts sobre Clarisse. En esta ocasión voy a hablar de layers y passes, un tópico común en cualquier software 3D, y que además en el caso de Clarisse, es especialmente importante.

Clarisse permite crear sistemas de layers y passes muy complejos, para organizar las escenas prácticamente de la forma que mejor nos convenga. Además, podemos componer todas las diferentes layers y passes dentro del propio Clarisse.
Mezclar los "context" con "layers" y "passes" hace de Clarisse una herramienta perfecta para organizar escenas.

  • Para este tutorial, voy a utilizar esta simple escena. El proposito es separar cada uno de los elementos en "foreground" "midground" y "background". También crearemos un passe con las sombras de todos los elementos.
  • Ahora mismo en esta image solo hay una 3DLayer con el contenido de toda la escena.
  • He creado 3 context diferentes, uno para el foreground, otro para el midground y otro para el background.
  • En cada context he puesto la geometría correspondiente (esfera, cubo y cilindro. El suelo de momento esta junto a la esfera.)
  • En cada context tambien he creado una image.
  • Dentro de cada image, he creado una 3DLayer.
  • En cada 3DLayer hay que indicar que cámara y renderer utilizar.
  • También hay que indicar en cada 3DLayer que luces queremos utilizar.
  • En este punto seguramente ya te has dado cuenta del potencial de los layers de Clarisse. Podemos fácilmente renderizar cada layer con diferentes settings, cámaras, luces, renderes, etc.
  • En el context background estoy renderizando la esfera y el suelo.
  • En el context scene, he creado un nuevo image, que servirá como recipiente de los images creados anteriormente.
  • Como layers en este image no voy a crear 3DLayers si no Image Layers.
  • En las opciones selecciona cada una de las layers creados anteriormente, colocando el background abajo y subiendo hasta el foreground.
  • Nos encontramos con el problema de que las sombras del cilindro y el cubo no están presentes en el suelo. Esto es debido a que el suelo solo está en el context de la esfera.
  • Para solucionar esto he creado otro context llamado shadow_catcher y he movido el suelo a ese context.
  • He creado una 3DLayer donde he seleccionado la cámara y el renderer a utilizar.
  • He creado un grupo en este context con el cubo, la esfera y el cilindro.
  • En las opciones de visibility de la 3DLayer he puesto el grupo en la opción shadows.
  • En el image que me sirve de recipiente, he puesto el shadow catcher abajo del todo y ya está, las sombras ya funcionan.
  • Aunque no tan rápido. Para ilustrar otro problema, he puesto a conciencia el cubo atravesando el suelo. Si miras la primera imagen del post lo verás. Pero en esta composición, no parece estar atravesándolo. Esto es debido a que el suelo debería actuar como matte cortando al cubo, pero no lo esta haciendo, ya que el suelo no esta en el context del cubo.
  • Para solucionarlo, he creado una instancia del suelo y la he puesto en el context del cubo.
  • En las opciones de shading del suelo he hecho la opción matte object y matte alpha locales (botón derecho en el parámetro -> localize).
  • He activado la opción matte y puesto el alpha al 0%
  • Ya está, ahora funciona a la perfección.
  • En este momento tenemos las sombras junto al suelo. Si queremos, podemos también sacar las sombras por separado, para tener aún más control.
  • Para ello, he creado otro context solo con el suelo.
  • Después, en el context shadow_catcher, he creado un material "decal" y lo he asignado al suelo.
  • En el material "decal" he activado la opción receive illumination.
  • Finalmente he añadido la nueva capa en el recipiente image.
  • Puedes descargar las escenas de ejemplo aquí.
Posted
AuthorXuan Prada