Vamos a empezar este vídeo con un reto.
Lo que me gustaría que hicieras es añadir un nuevo objetivo al paciente para que éste se vaya a casa después de haber pasado
su tiempo de tratamiento en el cubículo.
Ahora, el hogar, si lo recuerdas, de vuelta al principio, es en realidad una ubicación en el mapa.
Así que aquí hay un elemento llamado hogar.
Tiene una etiqueta de casa.
Y si hacemos clic en él y sólo alejar el zoom y tener un poco de una mirada donde ese hogar es, se puede
ver que es una posición de aquí.
De acuerdo.
Así que eso hará que el agente salga del hospital como si se fuera a casa.
Así que actualmente, cuando nuestro paciente llega al cubículo con la enfermera, si sólo echamos un vistazo
a nuestro código de paciente y bajamos a recibir el tratamiento, esta es la última etapa.
Así que se quedará ahí y no irá a ninguna parte.
Ahora, no hay una duración establecida actualmente para nuestro tratamiento.
Así que si usted quiere dar que decir como una duración de cinco segundos, por lo que toma un poco de tiempo para que el
tratamiento se produzca.
Entonces querrás averiguar cómo conseguir que se vaya y vuelva a casa.
Así que este es el reto para ti.
Ponga el vídeo en pausa ahora.
Inténtalo.
Cuando volvamos, lo revisaré con ustedes.
De acuerdo.
¿Y cómo te fue con eso?
Bueno, lo primero que tienes que hacer es crear otra acción.
Así que queremos elegir un script para duplicar.
Es muy sencillo.
Ve al hospital.
No hay mucho que hacer ahí.
Dupliquemos eso.
Vamos a llamarlo "Go Home".
Y luego quieres abrir eso y también cambiar el nombre de la clase para ir a casa.
Ahora, realmente no hay nada que tengas que hacer en este script.
No hay preactuación y no hay postreforma.
Todo se establece en el inspector y, de hecho, probablemente podría utilizar la misma secuencia de comandos como
ir al hospital y adjuntar que de nuevo y sólo cambiar el nombre de las variables en él.
Pero en este caso tenemos algo separado, así que vamos a guardar eso.
Ahora, mientras estamos aquí, vamos a entrar en el paciente.
El paciente necesita tener otro objetivo que es irse a casa.
Por supuesto, usted podría tener ir a casa después se trata también.
Podrías hacerlo así.
Pero en este caso, sólo lo hago con un subgolpe extra.
Bien, entonces lo que vamos a hacer aquí abajo es copiar esto.
Ponlo aquí.
Yo llamo a esto tres.
Y aquí tendremos es hogar como meta.
Bien, guarda eso.
Ahora volvamos a entrar en Unity y seleccionemos a nuestro paciente.
Así que vamos a ir a casa en el paciente allí y vamos a nombrar como ir a casa.
La etiqueta de destino en este caso es casa y no hay duración, la condición previa.
Vamos a añadir una condición previa aquí.
Y no queremos que el paciente se vaya a casa hasta que esté curado.
Así que pongo se cura aquí como la condición previa el efecto posterior que tiene que coincidir con el objetivo.
Queremos uno de esos y va a ser es casa.
De acuerdo.
Entonces, ¿dónde ponemos está curado?
Bueno, no va a ser un estado mundial porque tiene que aplicarse al paciente real.
Eso significa que cualquier acción que se lleve a cabo para curar al paciente tendrá que inyectar
esa creencia en el paciente para que éste se cure en su guión de tratamiento.
Así que si entramos a ser tratados.
Puedes ver que ya he añadido esto aquí y todo lo que tienes que hacer es añadir creencias, punto
modificar estado.
Está curado y eso entrará en las creencias de los agentes y entonces permitirá que esa tarea o acción extra se ejecute.
Ahora volvamos a entrar en Unity para jugar.
En realidad, antes de hacerlo, vamos a entrar en el Mundo G.
Y yo sólo quería mostrar un poco de código que he puesto aquí para hacer que las cosas se ejecutan un infierno
de mucho más rápido para que pueda acelerar el movimiento de los agentes, pero que va a dar un tipo inexacto de, supongo, el movimiento
y la física en la malla de navegación.
En cambio, lo que quieres es acelerar toda la simulación.
Así que usted puede hacer eso cambiando la escala de tiempo en algún lugar dentro de su código que se ejecuta como el primero.
Por eso lo tengo dentro de la instanciación para el mundo G y lo pongo a cinco.
Así que va a hacer cinco veces la velocidad.
Bien, guarda eso.
Ahora, con todo esto hecho, podemos comprobar nuestro plan completo para nuestro paciente.
Muy bien.
Así que si usted ha estado usando el paciente como yo y encenderlo y apagarlo y luego asegúrese de
que también anular mientras se enciende y luego se puede apagar.
Voy a dejar a este tipo ahora.
Lo he trasladado fuera para que sea el primero que entre.
Veamos cómo funciona esto y qué hace la enfermera cuando el paciente se va a casa.
Así que echemos un vistazo.
Llegan, la enfermera coge al paciente, va al cubículo y se va a casa.
Es como si pensara en recoger a alguien más, lo que hace.
Ella va y lo atrapa porque ese es su objetivo.
Eso es lo que hace.
Sólo quiere tratar a un paciente.
Mientras haya un paciente disponible, va a seguir ejecutando ese objetivo una y otra vez.
Y como puedes ver, lo está haciendo muy bien.
De acuerdo.
Así que se siente un poco abrumada.
Esta ha sido una introducción a la planificación de la acción orientada a los objetivos y estoy seguro de que a estas alturas
puedes ver el poder que hay en ella.
Si estás muy interesado en continuar y aprender más sobre este sistema y construir un hospital más interactivo como el que puedes
ver aquí en la pantalla, entonces por favor visita mi sitio web de aprendizaje donde puedes interactuar con
otros estudiantes que también están construyendo la misma simulación.