| ¿Cómo calcula el arco de proyectil Warcraft? | |
|
Autor | Mensaje |
---|


Barra de Salud : 
Mensajes : 3663
Reputación : 729 Monedas de oro : 11240 Monedas de Platino : 0 
Inventario :  
 | (#) 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 |
|
 | |


Barra de Salud : 
Mensajes : 1099
Reputación : 251 Monedas de oro : 7924 Monedas de Platino : 5 
Inventario :  
 | |
 | |


Barra de Salud : 
Mensajes : 299
Reputación : 64 Monedas de oro : 1681 Monedas de Platino : 0 
Inventario :  
 | (#) Tema: Re: ¿Cómo calcula el arco de proyectil Warcraft? Mar Oct 29, 2013 10:46 am | |
| http://www.wc3c.net/showthread.php?t=101150 |
|
 | |


Barra de Salud : 
Mensajes : 3663
Reputación : 729 Monedas de oro : 11240 Monedas de Platino : 0 
Inventario :  
 | (#) 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?? |
|
 | |
Peón

Barra de Salud : 
Mensajes : 38
Reputación : 5 Monedas de oro : 198 Monedas de Platino : 0 
Inventario :  
 | (#) 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. |
|
 | |


Barra de Salud : 
Mensajes : 3663
Reputación : 729 Monedas de oro : 11240 Monedas de Platino : 0 
Inventario :  
 | (#) 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: |
|
 | |


Barra de Salud : 
Mensajes : 978
Reputación : 115 Monedas de oro : 1249 Monedas de Platino : 0 
Inventario :  
 | |
 | |


Barra de Salud : 
Mensajes : 978
Reputación : 115 Monedas de oro : 1249 Monedas de Platino : 0 
Inventario :  
 | (#) 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  |
|
 | |
Héroe

Barra de Salud : 
Mensajes : 1126
Reputación : 160 Monedas de oro : 1069 Monedas de Platino : 0 
Inventario :  
 | (#) 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 |
|
 | |


Barra de Salud : 
Mensajes : 3663
Reputación : 729 Monedas de oro : 11240 Monedas de Platino : 0 
Inventario :  
 | (#) 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  |
|
 | |
 | (#) Tema: Re: ¿Cómo calcula el arco de proyectil Warcraft?  | |
| |
|
 | |
| ¿Cómo calcula el arco de proyectil Warcraft? | |
|