Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Como se puede hacer?

Iniciado por Diferencial, 05 de Julio de 2006, 11:59:53 AM

« anterior - próximo »

Diferencial

Buenas a todos,
Estoy metido en hacer efectos con espadas, el efecto consiste en que cuando se mueve una espada deja un recorrido (Parecido a las espadas de stars wars). El problema que no se por donde comenzar, si alguien me puede orientar en el tema, gracias de antemano.
PARA TENER COSAS QUE NUNCA HAS TENIDO, TENDRÁS QUE HACER COSAS QUE NUNCA HAS HECHO.

zupervaca

Tienes varias formas, la mejor (para animaciones siempre iguales), mas rapida y facil es que la espada incluya ese efecto en su propia animacion, es decir, el grafista debe de hacer ese efecto en el propio modelo o en otro separado que luego pondras junto a la espada.

Diferencial

Gracias zupervaca por la respuesta, la verdad una solución muy buena. Pero en el caso de que no sean animaciones iguales?
PARA TENER COSAS QUE NUNCA HAS TENIDO, TENDRÁS QUE HACER COSAS QUE NUNCA HAS HECHO.

Zaelsius

Puedes crear ese efecto usando geometría en forma  de "quad strip" que siga la trayectoria de la espada. Con alpha-blending y colores por vértice tendrias el efecto solucionado.

Lo ideal sería tener un hueso asociado a la espada, y generar a partir de ahí el "quad strip" en cada frame, teniendo en cuenta  la velocidad, posición anterior, etc. Si no me he explicado bien, dímelo y luego pongo un dibujito.

Edit: bueno, me has pillado ocioso. Ejemplo:



Cogí la imagen original de un artículo de gamasutra y la retoqué mostrando lo que seguramente sea la geometría asociada al efecto. En este ejemplo han usado una textura.

[Vil]

tambien se puede hacer "contruyendo" la malla durante el juego. Tienes que ir creando los poligonos desde la espada... se como se hace pero no se como contarlo, jejeje.

Supones la espada como una recta unida por dos puntos. En el momento que empieza a haber estela, guardas las posicion de la espada. 10 frames (o los que sea) despues miras las nuevas posiciones de los puntos de la espada y entre esos y los anteriores creas 2 triangulos (transparentes o como quieras q sea la estela). 10 frames despues haces lo mismo con los ultimos puntos y la nueva posicion. Asi deja estela, luego cada tantas veces, vas deshaciendo la estela. Se puede variar esto mucho, pero mas o menos...

[edito]
ZaelSiuS se me adelanto con una respuesta mucho mas bonita :)

zupervaca

Para ese caso tienes otra solucion bastante mas complicada, debes de crear el efecto en tiempo de ejecucion, cada vez que la espada cambie de angulo, posicion, etc y cada cierto tiempo, debes de modificar una malla que estes usando para ese efecto, en ese malla debes de agregarle los puntos que abarque la espada en la posicion que este e ir bajandole el alfa a los puntos anteriores, ademas cuando ese alfa sea proximo a cero significa debes de eliminar esos puntos. Como veras es muchisimo mas complicado de hacer.

Otra forma que te puede resultar mas facil es que tengas una malla prefabricada con varios puntos con el alfa precalculado y que unos sigan a otros, debes de tener varios puntos principales que siguen a ciertos puntos de la espada y los demas puntos deben de seguir a estos y asi sucesivamente (creo que esta es la que mas se usa), ten en cuenta que los puntos que siguen a los otros deben de tener diferentes velocidades, mientras mas transparente sea ese punto mas lento debe de ir.

Creo que el efecto este precalculado en la animacion te va a ser mucho mejor.

Diferencial

Muchisimas gracias a todos por las respuestas, ahora por lo menos puedo empezar.
PARA TENER COSAS QUE NUNCA HAS TENIDO, TENDRÁS QUE HACER COSAS QUE NUNCA HAS HECHO.

AK47

De que versión de Street Fighter 2 son las capturas del artículo de gamasutra?

kirdan

Cita de: "AK47"hola quisiera entrometerme y desir que efectos los puedes alcansar algunos mui fantasticos con transparensias , claro que puede  ser mui difisil perseguir el efecto que tu quieres pero bueno  tengo gran problema el motor haddd ,,,,,,   no lo puedo correr me dise que no encuentra la  DirectX.DirectX3DX.dll    y  si la pongo el las referensias pero  como  seguia disiendo sale ese error  me dise alo asi  de que no es la version adecuada  
[/url]

AK47

Oye, que Ak47 no escribió eso, eh?  :lol:

burb

Tiene un problema con las ces.

En cuanto a lo del efecto no es mejor hacerlo con motion blur???






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.