DgrayGT

Karaoker Aegisubs

Degradado Horizontal Multicolor

Bueno al fin pude hacer algo que tal vez sea de ayuda para la comunidad, bueno lo primero es lo primero, este ejemplo que les dejare es para template puesto que me acostumbre a usar eso y ahora salgo corriendo cuando dicen scripts lua ¬¬ entonces vamos:

Hace tiempo postearon una idea de como hacer esto, pero no dieron codigo que es lo que nos gusta; mas bien nos hicieron pensar xP, si son como yo y dicen "quiero saber como funciona esta shit" entonces pacense por AQUI que es la explicacion que puso nicles. luego de eso si son de los que dicen "quiero usarla ya!! no me importa como es posible hacer eso solo quiero que funcione" tonces aca la explicacion:

bueno para poder hacer el degradado multicolor luego de leer la explicacion de lo que dijo nicles no se me ocurrio nada D: y pues llegue a la conclusion de que habia que tener control sobre los valores de iteracion "j" "maxj" y luego hacer que hicieran las interpolaciones necesarias para cada color. facil se obtiene dividiendo el "maxj" por el numero de colores -1 pero y entonces "j" bueno pues el codigo queda mas o menos asi:

function degrad4you(cont,maxcont,setn,dgn, color1 , color2 ,  color3, color4 , color5 )
  	 Amaxcont=maxcont/(dgn-1) Bcont=cont%Amaxcont== 0 and Amaxcont or cont%Amaxcont
  	 colorset1=color1 colorset2 =color2
 	 		if cont > Amaxcont then
  			colorset1=color2 colorset2=color3
  		        end
  		        if cont > Amaxcont*2 then
  			colorset1=color3 colorset2=color4
  		        end
  		        if cont > Amaxcont*3 then
  			colorset1=color4 colorset2=color5
  		        end
  	stcolor=string.format("\\%dc%s",setn,_G.interpolate_color(Bcont/Amaxcont, colorset1, colorset2 ))
  	clipping=string.format("\\clip(%d,%d,%d,%d)",math.floor(_G.interpolate((j-1)/maxj, math.floor(line.left-5), math.floor(line.right+5))),0,math.floor(_G.interpolate(j/maxj, math.floor(line.left-5), math.floor(line.right+5))), meta.res_y )

  	 	return clipping .."".. stcolor  end

disculpen lo crappy de mi codigo pero la cosa esta me arruino el formato que traia D':

la manera en que funciona es facil, se divide el numero maximo de iteraciones por el numero de colores que se necesita -1 y luego se le da un limite a "j" para que pueda hacer las interpolaciones de el color1 a color2 y luego de color2 al color3 y asi sucesivamente, digamos si el valor de "maxj" es 30 se divide por 3 y queda 10 y luego ese numero se le pone de limite a "j" para que no vaya de 1-30 si no 1-10,1-10,1-10 y asi ira haciendo bien lo que queremos X3 eso fue lo que se me ocurrio, ideas para mejorar esto pues que diga ñ.ñ...

entonces con eso logramos tener el control de "j" y "maxj" que son los valores de "Amaxcont" y "Bcont" para poder hacer los degradados de cuantos colores se nos ronque la gana xP bueno ya con el codigo ya no hay mas que hablar, aca solo lo deje de 2 hasta 5 colores example:










los usuarios de lua solo tendran que mover un par de cosas ahi para que les funcione como el interpolate y los valores que retorna la funcion pero como yo no uso script lua no se si asi como esta les funcione asi que prueben.

para usarlo solo tienen que agregar la linea de codigo que esta en el .ass y poner el estilo del cual quieren aplicar el fx, la funcion esta asi:

degrad4you(cont,maxcont,setn,dgn, color1 , color2 ,  color3, color4 , color5 )


cont= contador de iteracion "j"
maxcont= maximo de iteraciones "maxj"
setn= color al cual aplicar degradado xP "me gusta todo facil" 1. relleno, 2. color secundario, 3. borde, 4 sombra
dgn= numero de colores que quieren para el degradado de 2-5
color1-5= colores para el degradado en formato .ass

Bueno con eso esta toda la explicacion, el template se los dejo para que vean y pues happyrip jajaja

Ejemplo


Mis Mas Recientes KaraokesMis 3 Primeros FX En AssPen

Comments

jiojal jiojal Saturday, April 24, 2010 2:26:32 AM

Gran tuto, lo intentare a ver si me sale

AlexSkedgar Saturday, October 2, 2010 2:36:00 AM

Eres grande XD! Yo estaba intentado meter esa función pero no me salia u.u. Ahora voy a probar :3 Ahh.. si el link de tu ejemplo se cayó.

PD: Gracias.

Luis ADgrayGT Saturday, October 9, 2010 7:00:12 PM

Originally posted by Skedgar:

Eres grande XD! Yo estaba intentado meter esa función pero no me salia u.u. Ahora voy a probar :3 Ahh.. si el link de tu ejemplo se cayó.


jejeje si ya viendola hecha es facil pero como dicen lo dificil es comenzar.

PD. vere lo del link, saludos

Write a comment

New comments have been disabled for this post.