martes, 7 de septiembre de 2010

Introducción a Structure Synth (y III), el regreso

Gracias a Vishkey, descubrí hace un tiempo que las posibilidades que brinda Structure Synth van más allá de lo mencionado anteriormente, pues resulta que también soporta texturas más complejas, siempre partiendo de las mismas figuras básicas, cuales son dependen de la plantilla usada para exportar, como la plantilla "Sunflow-Ultimate-Groovelock", que como se encuentra entre las que están por defecto, servirá de ejemplo.

La sintaxis es la siguiente:

<figura base>::<textura>



Así, si queremos hacer una esfera con una textura de cristal ("glass"), haremos


sphere::glass



Este ejemplo muestra brevemente como se ven las texturas

set background black
{color white x -0.50005 s 0.001 1000 1000}box::ao // Base
{color white }sphere::glass
{color white x 10 s 0.5 1000 1000}box::shiny // Luz/techo
{ color blue y -2 }sphere::diffuse
{ color white y -4 } sphere::mirror
{color red y -6 } sphere::ao
{color black y -8 }sphere::constant
{color white y -10} sphere::phong
{color white y -12} sphere::ward



De izquierda a derecha, las texturas "glass" en blanco, "diffuse" en azul,"mirror" en blanco,"ao" en rojo,"constant" en negro,"phong" y "ward" en blanco. Además hay una caja que sirve de suelo (con una textura "ao" en blanco) y otra que ilumina la escena (con una textura "shiny" también en blanco).

Este otro ejemplo, (escrito por Vishkey) muestra más claramente las posibilidades que hay

//Autor: Vishkey

{s 2} room

esferas

rule room {
{color brown}pared
{z 20} paredLuminosa
{rx 90 z 10 y 10 color green} pared
{rx 90 z -10 y 10 color blue} pared
{ry 90 z 10 x -10 color yellow} paredEspejo
{ry 90 z -10 x -10 color white} paredEspejo
}

rule esferas {
{s 2 z 1 x 2 color white} sphere::glass
{s 2 z 1 x 1 y 1 color white} sphere::mirror
{s 2 z 1 x 1 y -1 color blue} sphere::phong
{s 2 z 1 x 2 y 2 color green} sphere::ao
{s 2 z 1 x 2 y -2 color yellow} sphere::constant
{s 2 z 1 x 1 y -3} sphere::diffuse
{s 2 z 1 x 2 y -4} sphere::shiny
{s 2 z 1 x -2 y -3 color white} box::ward
{s 2 z 1 x -3 y -2 color white} box::ao
{s 2 z 1 x -2 y -1 color white} box::phong
{s 2 z 1 x -3 color white} box::glass
}

rule pared {
{s 20 20 1} box
}

rule paredLuminosa {
{s 20 20 1} box::shiny
}

rule paredEspejo {
{s 20 20 1} box::mirror
}





Como se puede ver, el resultado es una delicia para los ojos aun con pocos elementos... aunque quizá demasiado perfecto =).
Por último añadir que la plantilla usada "Ultimate-Groovelock" añade algunas luces por su cuenta (se aprecia en algunos reflejos), en caso de querer tener un control total de la imágen estas se podrían eliminar buscando las secciones light adecuadas de la plantilla y eliminándolas o cerrando la escena con cajas... es elección de cada uno.

Hasta otra.

No hay comentarios:

Publicar un comentario