Script para animar cajas con una imagen como referencia

Andres3d - 08/02/2011 17:18
Hola a todos. bueno el motivo del pues es que quería compartir con ustedes el proceso de un script que empecé a desarrollar hace días, la idea es que el usuario pueda seleccionar una imagen como referencia y configurar el tamaño, la resolución y el tipo de efecto, claro está que todavía le falta, pero bueno en eso estoy, bueno aquí les dejo un vídeo como referencia de lo que les comento [video=youtube;waid8oqe3_u]http://www.youtube.com/watch?v=waid8oqe3_u[/video] y una imagen de la interfaz UI.

Cuando tenga más adelantos o mejoras les iré mostrando un saludo.

-- IMÁGENES ADJUNTAS --

🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #142681

Miguel-Arte-3D-1990 - 10/02/2011 20:05
Hola, la verdad está genial su script. Y me gustaría que nos enseñes cómo hacer un script ó. Donde podre buscar tutorial es, para aprender hacer script.

Muy parecido lo que acabas de hacer, y felicidades por su ejemplar script o podrás fabricar un tutorial sobre los script se lo agradecería mucho ok y.

Espero una respuesta suya gracias.
Andres3d - 11/02/2011 08:34
Hola Chapolín me alegra mucho que te haya gustado el script, claro está que todavía hay que arreglarle unos bugs que tiene, en cuanto a lo del tutorial he estado pensado en algo parecido los últimos días, ya que es muy difícil encontrar ayuda de Maxscript en español, apenas saque un tiempo haré algo al respecto. Un saludo Andrés.
Nessito - 11/02/2011 09:51
Una pregunta chorra: ¿cómo calculas la luminancia?
un consejo: cuida un poco más la ortografía (haya, haré, respecto). Sin acritud, eh.
Andres3d - 11/02/2011 20:27
Vaya que horrores ortográficos esas son las consecuencias de teclear bien temprano y con sueño, pero bueno te agradezco la aclaración trataré de no hacerlo muy seguido, bueno al grano, ese script lo hice recolectando una serie de información de varias partes, pero aquí te intento explicar cómo saque la luminancia:
[code]bmp_chek = openbitmap bmp_n -obtengo los datos del bitmap.

Bmp_w = bmp_check.width - Paso el width a una variable.

Bmp_h = bmp_check, height - Lo mismo con el height.

Close bmp_chek - Cierro el bitmap.

For h = 1 todo bmp_h by motionbox.nth_pixel, value do - For loop para obtener los píxeles de height de la imagen motionbox.nth_pixel, value es un spinner en la UI.

Pixel_line = getpixeles current_bmp [0, (h-1)] bmp_w - Mediante el método getpixels de la clase bitmap obtengo los valores de píxel de la imagen.

For w = 1 todo bmp_w by motionbox.nth_pixel, value do - For loop para lo mismo en el width.

Size_value = motionbox.base_size, value + motionbox.multiplier, value*(pixel_line[w].r+pixel_line[w].g+pixel_line[w].b)/3 - Asigno los valores a la variable size_value.
/* motionbox.base_size, value y motionbox.multiplier, value son los spinner que tiene la UI esos spinner controlan la resolución de la imagen ya que una resolución muy elevada crearía miles de cajas volviendo el equipo lento.

O por lo menos el mío eso lo multiplicamos por los valores obtenidos en el array pixel_line con los valores RGB dividido en 3 */.
[/code]

La verdad todavía tengo que trabajar más en ese script para que quede más dinámico, como comentaba en el primer mensaje, fue como un reto y trabajo, pero ahora es tiempo de ordenarlo y arreglarle algunos bugs. Saludos espero te sirva de algo la respuesta, con respecto a los métodos de la clase bitmap puedes encontrar más información en la referencia de Maxscript.
Nessito - 14/02/2011 11:11
No, si la pregunta era muy tonta. La semisuma de los valores RGB no es la luminancia. Es solo la media aritmética. Si te das cuenta, en espacio Hsv el mismo valor en v cambiando en el tinte h parece más claro en verde (h ~ 128) que en rojo (h ~ 0 o 255). Esto es por la aprecicaion del color en la retina, vemos muchas más tonalidades de verde que de rojo.

De modo que el cálculo de luminancia es algo, así como: y = 0.299 * r + 0.587 * g + 0.114 * b.

Esto da algunos problemas, ya que el rango de luminancia es ligeramente superior 256 valores (y por eso se suele usar el espacio Hsv en vez de hls, aunque sea más lógico y practico para los humanos).
Miguel-Arte-3D-1990 - 10/12/2011 02:11
Hola andres3d ya estoy aprendiendo hacer script, y me gustaría intercambiar por su script. Por mi script ctrl_lider, ms y espero su mensaje,v.