Bueno, pues me respondo a mi mismo, que ya he dado con la solución. Por si os puede valer lo he solucionado de la siguiente manera: al tener el escenario dividido en triángulos puedo utilizar un simple algoritmo de back-tracking (u otros mas complejos como el A*, aunque no hace falta) para detectar cual será la secuencia de triángulos que tengo que atravesar para llegar al destino. Pueden darse dos casos:
a) Que pueda ir desde el origen al destino en linea recta y SIEMPRE pasando por triángulos -> En ese caso el personaje lo muevo directamente sin calcular ninguna ruta.
B) El personaje no puede ir directamente -> luego se ha de seguir la secuencia de triangulos devuelta por el algoritmo. Ahora bien, el problema me venia de que no sabia por donde tirar dentro de los triangulos. Lo que he hecho al final es ir por las aristas que forman "los vertices comunes" a cada 2 triangulos adyacentes. Puede darse el caso de que 2 triangulos tengan 2 vertices comunes, en ese caso eligo el vertice que hace que la ruta sea mas corta...
Pues nada, que ya lo he resuelto, por si le puede valer a alguien. Hay que decir que el personaje se mueve con bastante coherencia; aunque claro, siempre es "mejorable"
Saludos
--plugin
a) Que pueda ir desde el origen al destino en linea recta y SIEMPRE pasando por triángulos -> En ese caso el personaje lo muevo directamente sin calcular ninguna ruta.
B) El personaje no puede ir directamente -> luego se ha de seguir la secuencia de triangulos devuelta por el algoritmo. Ahora bien, el problema me venia de que no sabia por donde tirar dentro de los triangulos. Lo que he hecho al final es ir por las aristas que forman "los vertices comunes" a cada 2 triangulos adyacentes. Puede darse el caso de que 2 triangulos tengan 2 vertices comunes, en ese caso eligo el vertice que hace que la ruta sea mas corta...
Pues nada, que ya lo he resuelto, por si le puede valer a alguien. Hay que decir que el personaje se mueve con bastante coherencia; aunque claro, siempre es "mejorable"
Saludos
--plugin