BuscarEntrar al ChatboxPortal del foroÍndiceSpellsRegistrarseConectarseGrupos de Usuarios
Eventos Actuales
¡ Bienvenido Invitado!

Editar Perfil

Tus temas
Tus Mensajes ()

Enlaces rápidos








Comparte | .
 

 ¿Cómo calcula el arco de proyectil Warcraft?

Ver el tema anterior Ver el tema siguiente Ir abajo 
AutorMensaje
Marcos_M

avatar


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 2625
Reputación Reputación : 407
Monedas de oro : 8085
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: ¿Cómo calcula el arco de proyectil Warcraft? Lun Oct 28, 2013 11:26 am

Bueno, es tan simple como eso. ¿Cómo lo hace?

El arco de proyectil se encuentra en el editor de unidades.

Combate - Ataque - Arco de proyectil. Y permite valores de -1 a 1 (Con Shift+Enter permite mayores o menores)

Si alguien tiene la fórmula se los agradecería. Caso contrario, al menos denme una buena fórmula de parábola que me sirva para hacer que un proyectil llegue hasta a una unidad.

Por favor Very Happy 
Volver arriba Ir abajo
GhxBronie

avatar


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 918
Reputación Reputación : 164
Monedas de oro : 4051
Monedas de Platino : 5

Inventario :



Mensaje(#) Tema: Re: ¿Cómo calcula el arco de proyectil Warcraft? Lun Oct 28, 2013 5:50 pm

Bueno, tambien se usan en los Spells pero no es exacto el movimiento en arco, depende de la distancia claro. Estara en su dirección por un tiempo pero luego se desfigura de su arco programado. Digamos que es como dibujar una curva toda mal hecha.




[ Mis Otras Cuentas ]
Volver arriba Ir abajo
Ruke

avatar


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 292
Reputación Reputación : 59
Monedas de oro : 1607
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: ¿Cómo calcula el arco de proyectil Warcraft? Mar Oct 29, 2013 10:46 am

Volver arriba Ir abajo
Marcos_M

avatar


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 2625
Reputación Reputación : 407
Monedas de oro : 8085
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: ¿Cómo calcula el arco de proyectil Warcraft? Mar Oct 29, 2013 3:33 pm

Bueno, me clavé cuando vi métodos así

[jass]method operator xyangle takes nothing returns real
return GetUnitFacing(this.dummy)*bj_DEGTORAD
endmethod
method operator xyangle= takes real value returns nothing
call SetUnitFacing(this.dummy,value*bj_RADTODEG)
endmethod
[/jass]

No entiendo que significan.

Si hago set xyangle= real me cambia el ángulo de la unidad y si hago set angle = xyangle me devuelve el ángulo de la unidad??
Volver arriba Ir abajo
Avahor
Peón
avatar


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 37
Reputación Reputación : 5
Monedas de oro : 197
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: ¿Cómo calcula el arco de proyectil Warcraft? Miér Ago 06, 2014 9:46 pm

Yo uso esta formula que la saqué de hiveworkshop


Código:
function GetParabolaZ takes real x,real d,real h returns real
    return 4 * h * x * (d - x) / (d * d)
endfunction

Es una deducción práctica de la formula de movimiento parabólico con Aceleración constante.
En si, la funcion te devuelve la altura correspondiente a un punto indicado dentro de una trayectoria y se utiliza dentro de un ciclo iterativo tipo Knockback (por ejemplo con la funcion GetExpiredTimer())

Código:
real nuevo_paso = 60
  real distancia_recorrida = total_pasos + nuevo_paso
  real distancia_total = 1200
  real altura_maxima = 600
  local real altura = GetParabolaZ(distancia_recorrida,distancia_total,Altura_maxima)
 
    ... //codigo

  call  SaveReal(MiTablaHash,GetHandleId(GetExpiredTimer()),etiqueta,distancia_recorrida)
 

Cada vez que se ejecute la funcion la unidad ascendera/descendera a la altura (valor) devuelto. funciona de forma perfecta. Vale decir que en el último codigo la variable total_pasos se extrae por ejemplo del valor (distancia_recorrida) almacenado en MiTablaHash.
Volver arriba Ir abajo
Marcos_M

avatar


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 2625
Reputación Reputación : 407
Monedas de oro : 8085
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: ¿Cómo calcula el arco de proyectil Warcraft? Miér Ago 06, 2014 9:48 pm

Ahh, gracias por responder, pero hace mucho realicé esto c:
Volver arriba Ir abajo
Trigger.edge

avatar


Barra de Salud : Este usuario es invulnerable ¿Será que es fiel a las normas?

Mensajes Mensajes : 973
Reputación Reputación : 103
Monedas de oro : 1224
Monedas de Platino : 0

Inventario :
Cetro del Rey Armadura Mágica Daga Mística


Mensaje(#) Tema: Re: ¿Cómo calcula el arco de proyectil Warcraft? Jue Ago 07, 2014 4:11 pm

(Segun lo q entendi de tu pregunta)

Respuesta: Yo calculo primero la distancia total q va a recorrer el proyectil/unidad, entonces la divido /2, ahora bien, con el SetUnitFlyingHeight (bueno es obvio q debes saber eso  rabbit ) le aplico la altura (digamos que mi altura base es de 2.5, es decir cada 0.03 seg aumentara en 2.5 la altura), mientras la unidad/proyectil NO haya pasado de la mitad de la distancia, la altura aumentara, ahora si pasa de la mitad de la distancia, esta disminuira hasta q llegue a su destino. FIN


EDITO: No me habia fijado q era tema viejo  elephant 
Volver arriba Ir abajo
Trigger.edge

avatar


Barra de Salud : Este usuario es invulnerable ¿Será que es fiel a las normas?

Mensajes Mensajes : 973
Reputación Reputación : 103
Monedas de oro : 1224
Monedas de Platino : 0

Inventario :
Cetro del Rey Armadura Mágica Daga Mística


Mensaje(#) Tema: Re: ¿Cómo calcula el arco de proyectil Warcraft? Lun Ago 18, 2014 3:37 pm

Me escontraba trabajando en un minimapa con proyectiles customizados (similares a los ataques normales) e implemente el metodo que usaba (respuesta de arriba) y me di cuenta que la figura que formaba el proyectil NO era la de una parabola, sino mas bien tenia forma de una escalera que subia y bajaba (tambien forma de triangulo) y comence a buscar algunas formulas....

Avahor escribió:
[jass]function GetParabolaZ takes real x,real d,real h returns real
   return 4 * h * x * (d - x) / (d * d)
endfunction[/jass]

Esta me funciono muy bien solo que no buscaba formar el arco por x altura...

asi que aqui esta la formula que atiliza el arco (igual que los misiles normales):

[jass]function ParabolaZ takes real h, real d, real x returns real
 return (4 * h / d) * (d - x) * (x / d)
endfunction[/jass]

en donde h sera el arco.... Sin embargo hay otro tema que serian los desniveles: cuando el misil customizado pasa por un desnivel pierde su forma de arco:


Y aqui la formula para solucionarlo:

[jass]library ParabolicMovement2

function ParabolaZ2 takes real y0, real y1, real h, real d, real x returns real
 local real A = (2*(y0+y1)-4*h)/(d*d)
 local real B = (y1-y0-A*d*d)/d
 return A*x*x + B*x + y0
endfunction

endlibrary[/jass]

creditos a moyack por las formulas...

Al final creo que me resulto muy util este tema  Very Happy
Volver arriba Ir abajo
paillan
Héroe
avatar


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 1085
Reputación Reputación : 142
Monedas de oro : 967
Monedas de Platino : 0

Inventario :
Espada de la Oscuridad Armadura Lunar Avanzada


Mensaje(#) Tema: Re: ¿Cómo calcula el arco de proyectil Warcraft? Vie Sep 12, 2014 9:14 pm

Una parabola... Su formula es +/- aX^2 +/-bX +/- c .en warcraft 3, tanto a y c son valores que ya se encuentran fijados (c es 0 ya que las parabolas de warcraft 3 no tienen desplazamiento hacia arriba. y a debe ser un valor muy pequeño, ya que mientras mas lo sea, la parabola adiquirira un aspecto mas "circular y se alejara del ovalo, como los misiles del war3 que son casi una seccion circular. b es 1 ya que ese es el desplazamiento derecha izquierda/izquierda derecha. Lo que arc angle trabaja el angulo de contruccion. Para conocer este angulo, traza una recta que una ambos extremos de una parabola y luego traza dos rectas mas de tal manera que formes un triangulo equilatero. la mejor forma de hacerlo dentro del warcraft, es tener una unidad con rapida velocidad de ataque y baja velocidad de movimiento, para luego hacer la extension que nombre (girando la camara es mas facil)


Haz click a una de las imagenes y entra a un trip

Volver arriba Ir abajo
Marcos_M

avatar


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 2625
Reputación Reputación : 407
Monedas de oro : 8085
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: ¿Cómo calcula el arco de proyectil Warcraft? Vie Sep 12, 2014 9:19 pm

Paillan, función cuadrática no basta en warcraft. Al menos no al nivel de secundario. Y esta duda fue resuelta hace 10 años. Lean los comentarios antes de responder -.-
Volver arriba Ir abajo
Contenido patrocinado




Mensaje(#) Tema: Re: ¿Cómo calcula el arco de proyectil Warcraft?

Volver arriba Ir abajo
 

¿Cómo calcula el arco de proyectil Warcraft?

Ver el tema anterior Ver el tema siguiente Volver arriba 
Página 1 de 1.

 Temas similares

-
» ¿Cómo calcula el arco de proyectil Warcraft?
» El arco de Sagitario
» - Reglas de Goles en Propio Arco
» arco + ballesta pesada
» Sefir vs. Alex (ballesta vs. arco)

Permisos de este foro:No puedes responder a temas en este foro.
Warcraft III - WorldEditor :: Zona de Aprendizaje(Dudas) :: Jass (Detonadores)-