Die laufende Programmierung von autonomen Zeichen oder Avatare, ermöglicht es, dynamische virtuelle Welten erzeugen, zunehmend, stellen Alltags-oder phantastischen Wirklichkeit mit großer Treue und Realismus.
Los modelos estructurados para implementar caracteres autónomos en simulaciones y en la recreación de mundos virtuales ( programación de videojuegos, películas… ) se basan en diferentes estrategias cuyo principal objetivo es la animación de un complejo grupo de personajes en un entorno concreto. Una flota de naves espaciales, una bandada de pájaros o una manada de animales pueden ser objeto de este tratamiento informático.
Actualmente se mezclan técnicas de “key framing” e interpolación entre dos estados con complejos procesos de generación automática de trayectorias como la programación de “autonome Zeichen”. La película “Avatar” es el último ejemplo del estado del arte de estas técnicas.
Craig W. Reynolds, en Steering Behaviors For Autonomous Characters, realiza una estructuración del “proceso” [1] de movimiento de un carácter autónomo. Además de dar una interesante definición:
“Un carácter autónomo (CA) combina aspectos de un robot con algunas capacidades de improvisación de naturaleza humana ” y/o animal.
Un CA dispone de una cierta lógica de actuación y un sistema de captura de información sobre el entorno en el que se desenvuelve. La información es necesaria para que se produzca el estímulo que dispara las acciones correspondientes. La lógica que guía la elección de la acción correspondiente y el conjunto de posibles acciones en sí mismas caracterizan al CA.
La determinación de trayectorias de movimiento para la consecución de objetivos de desplazamiento en el entorno es un campo de investigación en desarrollo. La solución de los problemas que se derivan se puede afrontar bajo diferentes modelos de idealización y cálculo.
El análisis o planteamiento geométrico básico (modelos idealizados) para simplificar su conceptualización es una alternativa gráfica interesante. Otra alternativa puede consistir en generar las ecuaciones de movimiento y minimizar valores (gradientes nulos) en función de objetivos, usando técnicas de cálculo numérico y probabilidad.
La descomposición del proceso de movimiento global en la suma repetitiva de tres etapas secuenciales que (se repiten en un bucle de forma continuada) puede resultar útil en el diseño del proceso global de acción del CA en diferentes entornos:
- Selección de la acción: Establecimiento de objetivos, estrategia y preparación de un plan.
- Cálculo: El objeto puede estar sometido a fuerzas externas y/o internas, así como encontrase en diferentes estados intermedios entre acciones.
- Fase de movimiento: Se convierten los datos calculados en movimiento del objeto, que a su vez se encuentra sujeto a determinadas restricciones o limitaciones del movimiento del objeto.
Modelos basados en Behaviors
Una generalización o adaptación a otro problema más complejo siempre es más abordable desde un análisis previo con modelos simplificados. La utilización de cuadrados, circunferencias etc. en la idealización de las formas reales sirve a este propósito.
Die von Reynolds Prozesse vorgestellt Analyse klassifiziert eine ausreichende Satz für eine Vielzahl von Aktionen und Bewegungsreaktionen mit ihnen in Verbindung.
Vale la pena enumerarlas para entender la idea:
- Suchen: Verfolgen ein statisches Objekt (Max Geschwindigkeit). Diese Aktion wird als Basis-Gebäudemodell, wie in der übrigen diskutiert.
- Fliehen: Lauf weg von einem statischen Objekt (Max. Geschwindigkeit). Wenn wir versuchen, jeden Moment zu verfolgen (Suchen) die symmetrische Objekt (unsere ) aus dem wir fliehen, Diese Maßnahmen werden daher angekettet.
- Verfolgung: Verfolgen eines sich bewegenden Objekts (Suchen Schätzung der nächsten Position des verfolgten Objekts.)
- Evasion: Flieht ein sich bewegendes Objekt (Flieht aus der Schätzung des Objekts nächste Position tracker)
- Offset-Verfolgung: Zu bewegen in einer Entfernung von einem anderen Objekt (Suchabstand von einem Punkt befestigt Vorhersage der nächsten Position des anderen Objekts).
- Ankunft. Verfolgt ein statisches Objekt, sondern verlangsamt, wie es das Ziel nähert.
Andere etwas aufwändigere Funktionen können:
- Hindernisvermeidung: Vermeiden Sie Hindernisse, sondern fliehen.
- Wandern: Variationen zufällige Bewegung.
- Pfad folgenden: Kamerafahrt auf einer holprigen Straße.
- Wand folgenden: Verfolgen einer Wand in einem Abstand.
- Containment: Auf einen bestimmten Bereich beschränkt Bewegungs.
- Strömungsfeld nach: Seguimientote eines Vektorfeldes.
- Unaligned Kollisionsvermeidung: Kollision mit dem Vorgängerelement zu vermeiden.
Und andere wie: Trennung, Zusammenhalt, Ausrichtung, Beflockung, Führer folgende.
En este esquema cabe pensar en la posibilidad de encadenamiento de las acciones para constituir comportamientos complejos que simulan los procesos de decisión humanos a nivel muy elemental.
La elección de la acción o conjunto de acciones a realizar, junto con la jerarquización de las mismas y su aplicación en el correspondiente orden, pueden variar sustancialmente la secuencia de movimientos del objeto. Además es necesario establecer un modelo cinemático personalizado para cada objeto, si bien las funciones de movimiento pueden idearse de forma más genérica.
[1] La traducción de “Motion Behaviors” als “Proceso de movimiento” se ha utilizado para entenderlo como conjunto de acciones encadenadas o como un patrón de estrategia
Relacionados y referencias:
- Definiendo la Realidad Virtual
- LOD (Level of Detail)
- Caracteres virtuales inteligentes
- Avatar fue creada con más de 4.000 servidores con GNU/Linux