La he presentado
iTween, y he mostrado unos ejemplos
de uso de mis juegos con este plugin de unity. Voy a seguir
insistiendo con iTween, y que conste que no me llevo comisión.
En el plugin básico, además de la
clase iTween, y una clase de eventos, viene otra clase, iTweenPath,
con la que podemos crear rutas como splines sobre una serie de nodos.
Si estáis más acostumbrados a los programas vectoriales es muy
parecido a las curvas de Bezier. Pero es que además en el asset
store se ofrece otro plugin, también gratuito, para poder crear en
el editor, visualmente, estas rutas. Se llama iTween visual editor.
Hay un tercer plugin relacionado,
también disponible en la asset store, y al igual que los otros dos,
gratuito. Se trata de iTween multipath, un plugin para manejar
distintos paths de forma conjunta. Este me parece útil porque los
ejemplos que trae sirven para entender iTween Path, tampoco he
llegado a usarlo mucho, aunque le veo posibilidades que voy a contar.
Hay una parte de todo lo que voy a
contar que se puede hacer usando las herramientas por defecto de
Unity, incluso con programas externos. Puedes hacer una ruta en un
spline en 3Ds max por ejemplo, mover un objeto por ella y guardarlo
como animación. Lo importamos en Unity y ya está. Podríamos
incluso controlar en qué parte del spline está el objeto en código
con el tiempo de animación. Pero en realidad no estaríamos
movimiento el objeto, no sería una animación externa sino interna,
moveríamos la malla respecto al centro de masas del objeto.
Usando la ventana de animación de
Unity, y creando una animación en Unity podríamos hacer también.
Es poner a grabar, mover el objeto por donde queramos, y luego hasta
podemos retocar las curvas para que no sea todo lineal, como
cualquier editor de animaciones. Sin embargo esto no nos va a dar
movimientos en curva y suaves, o nos lo va a dar según la mano que
tengamos para hacerlo nosotros.
Por eso creo que usar los path de
iTween merece la pena. La edición es fácil con el plugin del editor
visual, es colocar los nodos por donde queramos y vemos una fina
línea de color por donde pasa el trazado. Es fácil en pensar que
podemos hacer rutas para que los enemigos se muevan, plataformas
móviles, hacer un recorrido de cámara por encima del escenario
antes de empezar, o en medio de una cinemática.
Se puede usar el path de varias formas.
Para mover un objeto en un tiempo dado, o a cierta velocidad, en
loop, o una sola vez, o en ping-pong. Incluso podemos extrapolar el
movimiento más allá de los nodos límite (aunque esto puede tener
resultados inesperados). Por defecto si hacemos un path la
orientación del objeto que va recorriendo la trayectoria es la
tangente al recorrido. Dicho de otro modo, si el path fuera una
montaña rusa iríamos mirando siempre en la dirección y sentido de
la marcha. Se puede cambiar también, haciendo que mire para otros
lados para casos más complejos.
Además lo podemos manejar en código,
nos puede dar la posición del spline que estamos en cada momento, su
longitud, o poner nosotros el objeto en una posición del spline. El
spline tiene sus posiciones entre [0,1], lo cual simplifica algunas
cosas, pero complica otras.
En cuanto al plugin de multi-path
permite crear varios paths y que al acabar uno pase a otro. Si
ponemos que el paso sea al azar podemos crear una especie de demo
rápida para mostrar escenarios, de esas que se quedan puestas en los
juegos expuestos en el corte inglés cuando no haces nada.
Si los trazados fueran consecutivos
tendríamos una forma sencilla de crear el recorrido de rivales en un
juego de coches. Ya con el iTween path normal podríamos hacer una
curva con muchos nodos que recorriera todo el circuito, y poner el
coche a correr por esa ruta a una cierta velocidad (que podríamos ir
cambiando dinámicamente). El Path tiene un número máximo de nodos
(creo que 10) y además el coche rival siempre iría por el mismo
sitio haciendo el juego predecible. Incuso aunque hiciéramos varias
rutas y pusiéramos una al azar, sería fácil aprenderse las rutas.
Con multipath podríamos dividir el
circuito en varios splines pequeños, unidos entre ellos. Para una
curva del circuito podríamos poner 3 trazadas, más o menos
cerradas. Y al principio de la carrera ir empalmando un recorrido,
escogiendo distintas trazadas para cada trozo de pista. Es más, en
lugar de decidir al principio, podríamos decidir dinámicamente el
siguiente trozo de spline a tomar como parte del trazado según una
IA, por ejemplo donde no esté otro coche, por donde sea más
cerrado, donde haya una recompensa a recoger...
Al igual que hice con las funciones
básicas de iTween, el siguiente será un artículo sobre los usos
que he dado a los Paths de iTween.
No hay comentarios :
Publicar un comentario