sábado, 28 de mayo de 2011

Haciendo girar el Mundo ...con un Script en PhotoShop __ 2ª Parte El Mundo Gira

   Ya es el momento de darle un poco de " vidilla a este micro-mundo " lo vamos a hacer girar. Podríamos crear una acción mediante una rotación con el numero de grados que asignemos y repetir la acción la veces necesarias para completar el giro de 360º y esto si se pretende que la rotación no dé muchos saltos puede ser largo y tedioso, sobretodo si hay que hacer varias pruebas, así que he decidido crear un Script, que no es mas que un programita que automatiza de manera mas flexible esta acción, también hay que contar que con cada rotacióm vamos a perder calidad en la imagen y que esta se irá acumulando en cada giro, por lo que hay que iniciar los giros partiendo siempre de la primera imagen " la original ", para que en cada una de ellas solo se dé la perdida de un paso.

   Para aplicar el Script debemos tener abierto el Photoshop con la imagen a rotar, naturalmente y una vez activado nos pedirá el numero de giros que deseamos para completar los 360º. Si teneis en el directorio de Adobe/Utilites/ExtendScript Toolkit lo abrís y buscáis el archivo Rotar Mundo.jsx. Desde este editor se pueden con el botón play arrancar el Script.



   Las lineas de programa estan en javascript y son las siguientes

// Derechos de autor . Libre distribucion. Implementado por Juan Carlos Castro. 05/2011
// Este secuencias de comandos se muestra cómo girar una capa de X grados en sentido horario.

// habilitar un doble clic desde el Finder de Macintosh o el Explorador de Windows
#target photoshop

// en caso de que haga doble clic en el archivo
app.bringToFront();

// debug level: 0-2 (0:disable, 1:break on error, 2:break at beginning)
// $.level = 0;
// debugger; // launch debugger on next line

var NumeroGiros = 0
var i = 0 // contador de capas
var AnguloGiro = 0 // Angulo de rotación
var AnguloGirado = 0 // Angulo inicial de referencia con la primera imagen (minima perdida de calidad)
// var NumeroCapas=360/AnguloGiro // Capas a generar

// Pide los giros arealizar para hacer uns rotación de 360º
NumeroGiros = prompt ("Introduce el Nº de Giros para una revolución", 180, "Giros");
// NumeroCapas=NumeroGiros
AnguloGiro =360/NumeroGiros

for(var i =0; i < NumeroGiros; i++) // bucle que deteermina las capas a crear if (app.documents.length > 0) // comprueba si hay un documento abierto
{
if (app.activeDocument.activeLayer.isBackgroundLayer == false) // si la capa es distinta de Fondo
{
docRef = app.activeDocument; // Trabajar en el documento abierto
layerRef = docRef.layers[0]; // Capa 0 de referencia de giro
layerRef.duplicate(); // duplicar capa
layerRef.name = i+1 // numera la capa para controlar la animación
layerRef.rotate(AnguloGirado ); // Gira la capa duplicada
var AnguloGirado=AnguloGirado+AnguloGiro; // grados acumulados en los giros
}
else // la capa no puede ser la capa Fondo
{
alert("La operación no puede realizarse en la capa de fondo");
}
}
else // debe haber un documento abierto con una capa que girar
{
alert("Usted debe tener al menos un documento abierto para ejecutar este script!");
}


copiar y pegar en el bloc de notas y guardar con el nombre que apetezca y la extensión .jsx

   Una vez ejecutado el Script aparecerán las capas con las rotaciones de forma ordenada y numerada, entonces abrimos la ventana Animación.


   La capa ultima, la superior, la eliminaremos pues coincide con la nº 1 y repetiría el movimiento, se puede arrastrar a la papelera.


   En la ventana de Animación, en el botón de opciones, parte superior derecha, pulsamos y seleccionamos Crear cuadros a partir de capas.


   Y observaremos que se llena la ventana con todas las capas que componen la animación.


   Volvemos a clicar el botón de opciones y clicamos Seleccionar todos los cuadros.


   En la parte inferior de cada cuadro clicar la opción de selección de tiempo de muestra del fotograma, hay jugar con los tiempos para obtener un resultado optimo (la visualización "play" en mi ordenador deja bastante que desear) pero el gif resultante funciona.


   Para generar el gif animado selecciona Archivo_ Guardar para Web y Dispositivos nos llevará a una ventana con opciones de edición y aquí optaremos por la que mas nos convengan, teniendo en cuenta que si queremos que la animación no pare, debe de estar activada la opción infinito de la parte inferior izquierda de la ventana de Animación.





   Clicar la imagen para acceder a imagen original, la resolución y la  reproducción es mejor
 
   Este Gif animado tiene mas de 9Mb de peso por lo que la carga de la imagen es bastante lenta,m investigaré una forma de hacerlo mas liviano.

   También se puede hacer un vídeo, guardando las capas como archivos de imagen y montándolas en un editor de Vídeo o en QuitTime pro

   Este blog está abierto a cualquier sugerencia o aportación que queráis hacer y que esté dentro del contexto.

   Un saludo a todos.

viernes, 27 de mayo de 2011

Haciendo girar el Mundo ...con un Script en PhotoShop __ 1ª Parte _ _ Creando el Mundo

Hola, ya hace algún tiempo que no aporto nada a este glog, y ahora lo voy a hacer con una animación automatizada con un Script para hacerla mas flexible y menos tediosa.

En principio se trata de crear un pequeño mundo virtual, al estilo del de la portada del libro de El Principito.




Para ello comenzaremos por la toma de imágenes, en nuestro caso sobre la plaza y C. Civico de Sª. Mª. de Trassierra en Córdoba.La toma se hará de la manera habitual para una panorámica de 360º, si desconocéis el procedimiento hay varios artículos relacionados en la red que podéis consultar este es uno de ellos

Enlace a página de tutorial de Panorámicas 360º

Una vez tomadas las imágenes, colocar las validas en una carpeta, preferiblemente ordenadas según la toma




Existen varios programas que editan este tipo de imágenes, entre ellos se incluye PhotoSohp que quizas tengamos mas a mano y es el que ahora nos ocupa.

Para el ensamblado abriremos toda la serie de fotografías en Photoshop, hay que tener en cuenta, que dependiendo del número de imágenes que carguemos el consumo de recursos es bastante elevado y quizás flaquee la memoria y la capacidad del disco duro por lo que es aconsejable reducir el tamaño en pixeles de las fotografías, cada cual se aplique el cuento según los recursos de su equipo.

Una vez cargadas las fotografías, en el menú Archivo, seleccionar - automatizar: Photomerge... y seleccionar Añadir archivos abiertos.


El programa se encargara de hacer la composición permitiendo la corrección de posibles errores de acoplamiento, es cuestión de revisar la imagen y obrar en consecuencia.


Rematada y editada la imagen al gusto.



Para ver con mejor resolución

Procedamos a la creación de nuestro mundo. Para ello primero hemos de invertir la imagen (ya veremos luego por que) y la comprimimos en un formato cuadrado a través de modificar el tamaño del lienzo.



La reducción según la resolucion que necesitemos



Ahora es cuando procedemos a la creación de nuestro pequeño mundo, para ello seleccionamos Filtro_Distorsionar_Coordenadas Polares. En este punto es donde es necesario que la imagen esté invertida, de lo contrario saldría que pareciera estar viéndola desde dentro de un pozo. Haced la prueba.


Seleccionamos Rectangular a Polar.


Si es conveniente y para dar algo de espacio aumentamos algo el tamaño del lienzo



Y procedemos a un recorte circular " Para crear ambiente ", elegido el recorte con selección circulo y pulsando la tecla Shihf simultáneamente para que sea un circulo perfecto, en el menú selección optamos por: Transformar Selección y procuramos que el centro dela selección coincida con el centro de giro de nuestro mundo, para que el giro sea sobre el eje centralde rotación y no de traslación.


Ahora invertimos la selección y borramos, para que solo se vea una imagen circular sobre fondo transparente



Sin desseleccionar y utilizando la herramienta clonar rellenamos la imagen de forma que parezca lo mas natural posible


y se le dan los últimos retoques de acabado


En una segunda parte abordaremos la tarea de hacerlo girar. Hasta entonces, Saludos



,