Curso avanzado de ML-Agents de UNITY.
Un segundo RayPerceptionSensor3D para mejorar un NPC
Cualquier duda o comentario de la lección no dudeis en dejarla en el foro del curso.
En la lección Creamos un NPC capaz de perseguir un target en un entorno Variable del apartado Destripando proyectos de ML-Agents, se puede ver el proceso de crear un ML-Agent que es capaz de llegar a objetivos o targets, aunque el escenario no sea siempre el mismo. Es decir las paredes pueden estar situadas en diferentes posiciones que la Inteligencia Artificial que maneja al NPC es capaz de conducirlo hasta su objetivo.
Pero… en algunas situaciones, dependiendo de la situación de las paredes el agente no es capaz de encontrar la salida. Para solucionarlo he decidido usar un segundo RayPerceptionSensor3D.
En este vídeo vemos lo importante que es usar correctamente este componente. El RayPerceptionSensor3D recoge información del entorno y se la pasa al motor del machine learning. Lo más normal es configurar tan solo uno situado en la posición del NPC, o ML-Agent, que apunte los rayos para identificar el entorno. Pero no está escrito que solo podamos tener un RayPerceptionSensor3D, y que tenga que estar situado en el mismo sitio que el NPC. Podemos jugar con la posición del RayPerceptionSensor3D, con la profundidad, con los objetos que detecta, para conseguir que obtenga información más fidedigna del entorno.