Cuándo va a aparecer la lógica del pavo?
Se tienen que cumplir dos condiciones 1 tener el pavo era activo esa variable Yuliana que habéis creado
conmigo hace un segundo y 2 chocar contra un enemigo cuando se cumplan estas dos condiciones.
El pavo es cuando nos va a ser útil.
El jugador tiene el pavo activo y colisionar choca contra un enemigo.
Este va a ser, de hecho, el primer test que vamos a hacer para ver que el pavo ARAP sirve para algo.
Cuidado, porque además se ha utilizado correctamente las palabras cuando el player colisiona con un
enemigo o los dos son rishi bodys no son triggers.
Por tanto, no esperéis que se va a llamar a un triguera interval, se va a llamar a un coloide en colisión.
Por tanto, quien va a necesitar implementar la lógica, el player o el enemigo?
El player, porque es el player, que ahora es el que tiene acceso a la variable y es el que quiere
aplicar una fuerza adicional o hacerle algo al enemigo.
Entonces hemos marcado el enemigo.
Cuando habéis creado el del enemigo tiene una etiqueta?
Vale, os lo digo porque cuando empiezan a crearse enemigos, la palabra con la que aparecen aquí en
la jerarquía no es enemigo.
Es Enemy espacio, paréntesis.
No lo veis?
Si hubiera otro, sería enemigo o clon.
Enemy 2 clon tras clon sería el ataque de los clones, básicamente.
Entonces, por nombre no podéis acceder a estas cosas por etiqueta y no hay otra forma.
Vale por nombre.
Tiene sentido cuando tenéis uno con ese nombre tenéis una colección por nombre.
Es una bazofia que podéis acceder por nombre porque los nombres variarán.
Enemy Uno Enemigos, Enemy 3, Enemy 4.
Tendríais que acceder a todos los enemigos posibles habidos y por haber.
Sin embargo, por etiqueta la etiqueta es la misma y ahí está la gracia de porqué usamos etiquetas,
porque las etiquetas van a ser comunes para todos los objetos que sean de un mismo tipo.
Entonces, en este caso, si nos vamos de nuevo al script del Player Controller, podéis sobrescribir
ya no sólo el trigger enter, sino además el on collision enter.
Y os recuerdo que la colisión tiene el concepto colisión a choca contra Ben mientras que lo entregue
el enter tiene el colíder contra el que había chocado el colíderes la caja.
La colisión es el concepto de colisión choca contra él.
Por tanto, en el on colisione enter para aplicar correctamente el pavo Heraud, que es lo que hay que
hacer, pues habrá que chequear que se cumplan las dos condiciones a la vez.
Es decir, el trigger enter al entrar en el pago era habrá habilitado el superpoder Babolat?
Valdrá Tru y en el ON colisionen enter.
Cualquier operación que queráis hacer con el motor de físicas hecharle con más fuerza, aplicarle una
rotación de nosecuántos, hacer que el enemigo explote lo que sea que queráis hacer, deberá ir en un
colisionen.
Así que en este caso vamos a hacer que si se cumplen las dos cosas, la colisión, que de hecho aquí
ya os he comentado que a mi no me gusta llamarle, colisionó porque colisionó.
Parece ser que la colisión del otro objeto cuando una colisión es entre los dos objetos.
Entonces a mí me gusta llamarle colisión.
Por qué es una colisión entre ellos?
En el Oder sí que tiene sentido porque es el otro colíder, es el colíder del que ha chocado contra
mí.
Pero en la colisión llamarle Hodar no tiene mucho sentido.
No sé por qué puñetas.
En la documentación todavía lo llaman Oder.
Los suyos colisionan porque es la colisión entre los dos.
Entonces, si la colisión tiene por object, tiene por objeto un objeto cuya etiqueta.
Contiene la palabra enemigo.
Si he colisionado contra un enemigo y tengo el pavor a partido.
Si se cumplen estas dos cosas, de momento lo voy a hacer con un Mac para que lo veáis por consola de
Mac punto loca, acordaros.
Voy a hacer aquí una frase que diga el jugador ha colisionado contra y voy a poner aquí el punto que
Object Oder no le cambió el nombre.
Ya un punto que Boggie.
Y tiene el Power AVV A Te voy a poner aquí el valor de la variable que eras.
Entonces fijaros que aquí la frase que va a aparecer es el jugador ha colisionado contra bla, bla,
bla.
El nombre del objeto contra el que habéis colisionado y tiene el pavo era a..
Pues aquí tendrá que aparecer la palabra tru, porque la condición es que el otro tenga la etiqueta
de enemigo y además el apeste activo vale.
Por tanto, esto querrá decir que si yo ahora guardo, no hace falta.
Escribis el de Maclovio, que ahora voy a escribir.
Otra cosa es para probarlo.
Qué pasará ahora si yo me vengo aquí y mi playa choca contra el enemigo sin coger el pavo?
Era dos veces.
Si yo vengo aquí y el enemigo choca contra contra mí o al revés, ves que aquí no sale nada por consola.
Sin embargo, si me consigo escapar, cojo el pavura.
Mira que soy malo, ahora tengo el pavor a cuando ahora choque contra mi mirar la zona de la consola
que está detrás de mí.
No veis que sale ese mensaje?
De hecho, cada vez que sale el mensaje lo veis, ves que mientras estás chocando, por cierto, voy
a dejar que me empujó un ratito.
Muy bien, hazme la finta.
Venga empujarme que te mueres de ganas.
Ves que mientras me empuja el mensaje no se incrementa.
Lo veis?
Vale, solo es cuando inicia la colisión.
Entonces, en nuestro caso, cuando inicia la colisión, ahora podemos aplicar el comportamiento que
deseemos y el comportamiento ahora puede ser muy diferente.
Un pavo era podría destruir al enemigo?
Destroy Colisión Punto gay movie.
Esto sería un comportamiento que podría frenar el enemigo que se quede congelado, de modo que si se
queda congelado es más fácil empujarlo y que se vaya a tomar vientos.
Podríais aplicarle una fuerza de repulsión que cuando él viene para vosotros, vosotros le devolvemos
la fuerza en sentido contrario, porque tenéis el pavor a partir de todas estas.
La más fácil de aplicar es la más fácil y la más útil.
Es la última que os he dicho.
Es la más difícil porque la que tiene más líneas de código, pero en nuestro caso, como ya somos super
expertos en d'Unitat, nos va a costar dos líneas de código.
Si yo quiero que el otro salga disparado por el lado contrario, cuando tengo esta cosa activa, realmente
lo único que tengo que hacer es aplicar una fuerza.
Es nuestro querido haploide authors para que salga el sentido contrario y de hecho es este mismo gráfico
que hemos hecho, pero al revés.
Es decir, cuando yo ahora este yo tengo elaborado y ocurre algo tal cual.
Esto el vector tiene que ir al revés, es decir, le tengo que aplicar una fuerza al enemigo para que
salga disparado para otro lado correcto.
Por tanto, escoger el vector que empezaría desde el desde el player al enemigo, desplazarlo aquí y
aplicarle la fuerza para que salga disparado en sentido contrario.
Es decir, es como si rebotaron contra mí.
Recordad que además, el enemigo tiene el bounce inmaterial, de modo que el efecto de rebote será todavía
más exagerado.
Entonces es muy sencillo, pero requiere ahora de un poquito de mano.
Qué quiero decir con esto?
Si yo quiero aplicarle una fuerza, no al player, al enemigo.
Todo el mundo tiene claro que debo acceder al Rising Bodys del enemigo contra el cual acabo de colisionar.
Por tanto, lo primero que necesito en Elif es el rishis body, no el mío.
No puedo hacer que componen el del enemigo.
En todo caso, entonces Rising Bodipo Enemy Rising Body será igual a quien es el enemigo.
El enemigo es colisión gay object sí o no porque colisione gameshop ya contiene la etiqueta de enemigo.
Entonces todo esto que tengo aquí es el enemigo del enemigo.
Ahora es cuando tenéis que invocar al Geth Component y entre diamantes Rivoli.
Veis como ahora, desde el propio player, desde el propio controlador, accedo a una componente de
otro tipo que está por ahí en la escena el enemigo.
Ahora tenemos el primero de los tres ingredientes, el enemigo, al cual hay que aplicarle la fuerza
de repulsión.
El segundo es la fuerza de repulsión.
La fuerza de repulsión será en dirección opuesta a la flecha en la dirección en la que la flecha que
une el player contra el enemigo.
Entonces hay que definir un vector 3 y como ya hicimos antes, vamos a llamarle a esto.
Si antes utilizaba como lo llamaría antes para el varal, éste le llama Lug dirección, ahora es a WayForward
o ahora Waid dirección.
No es lo contrario.
Huey lejos de El enemigo, Away from pleura lejos del aleya.
Entonces, lejos del player, por lo que os acabo de contar hace un segundo, es la flecha la dirección
que une el player contra el enemigo.
Por tanto, es el vector que empieza ahora en el player y acaba en el enemigo.
En este caso, la resta de vectores será el rojo menos el verde, el del enemigo menos el del play.
Para que esta sea la dirección.
Lo pasa al revés.
Sea lo puedo hacer así.
Multiplicar por menos 1 sería lo mismo.
Vale, pero ya que estamos hablando de físicas, vectores, direcciones y demás.
Esta es la dirección que buscamos, es la del vector que empieza.
Acaban el enemigo.
Recordad que esto significa que hay que restar al revés destino, menos origen.
El destino es el player, el destino es el enemigo, el origen es el player.
Entonces el away from player debe ser la resta de vectores entre la posición donde está el enemigo.
Recordad que el enemigo era colisión game object, esto es el enemigo y para acceder a la posición punto
Transform Punto positivo.
Esto es mi destino y el orígenes donde está el player el player soy yo, es mi play y el control era
acordaros.
Por tanto, si soy yo, será menos.
Disputo Transform punto positivo.
Falta normalizar o no todas las colisiones van a ocurrir a la misma distancia.
No hace falta normalizar, no intentes pasar delante del profe, siempre van a ocurrir a la misma distancia.
Si siempre ocurren a la misma distancia.
Hace falta normalizar?
No, porque ya vienen normalizados, ya vienen siempre a la misma distancia.
El objetivo de normalizar lo hemos usado antes, cuando las distancias podían ser variopintas, cuando
el enemigo podía estar más lejos o más cerca.
Ahora las colisiones todas ocurren en el mismo sitio.
Puedes normalizar si puedes hacer lo que les dé la gana, pero por propia construcción.
Y como todos son esferas.
Cuando haya una colisión, la distancia entre los objetos siempre es la misma la suma de los radios
de las esferas.
Por cierto, si puedo ampliar un poquito el código, si la próxima vez está más cerca que hay espacio,
entonces como la distancia es la misma.
Típico ejemplo donde no haría falta normalizar.
Típica pregunta que os la pone o la clavan.
En cuál de los siguientes códigos hace mejor el efecto de que no normaliza?
Por qué no hace falta no traer la información adicional?
Entonces el Away from from player ya os da esa dirección que nos falta ahora, pues nos falta aplicar
la fuerza en esa dirección.
Por tanto, al bodys del enemigo hay que añadirle una fuerza.
Recordad que las fuerzas siempre son iguales.
Dirección por cantidad de fuerza.
La dirección la tenéis porque las direcciones away from the player.
La cantidad de fuerza que vais a aplicar, que debería ser una variable para poderla configurar, correcto.
Entonces, arriba del todo lo único que tenéis que hacer es añadir una variable.
Ya teníamos el float Bofors.
Ahora podéis añadir un públic flow o fors.
De hecho, lo voy a poner al lado del pavo para que estén agrupadas por categorías física la focal que
iba por su lado y el pavo era.
Entonces ahora este pago era Fors, lo definiremos en el editor.
Por supuesto, es la que vamos a utilizar abajo para multiplicarla por la dirección de repulsión.
Entonces la dirección la tenemos multiplicados por el pago.
Era Fors y recordar lo que ya os he dicho 20 veces de que siempre hay que aplicar una fuerza, indica
el formol.
Cuál utilizaría?
Ahora que este va a ser divertido?
Impulso Y por qué utilizaríamos impulso para que toda la fuerza esté aplicado en un instante de tiempo
en lugar de un valor continuo, la diferencia entre fors e impulsos, que se aplica paulatinamente con
valores continuos, es una fuerza continua.
Cómo queréis que el efecto sea de repulsión inmediata?
Impulso va a ser la que vais a necesitar en este caso.
Vale.
Entonces la normalización no hace falta porque estáis colisionando.
Fijaros el truco para referenciar datos externos, datos del otro veis que todo pasa porque hay mob
gex.
Todo de la colisión sacó el COI.
MOV del COI monjes podéis hacer todo lo que os dé la gana el transform que componen bla, bla, bla,
lo que os dé la gana.
Una vez que tenéis acceso a ese que mog el del enemigo podéis hacer lo que os dé la gana.
Entonces si guardamos y nos venimos para acá.
Le damos al play.
No le damos al play.
Hay que poner la variable de repulsión del player.
El player tiene la variable de repulsión que ahora está en cero por la alta.
Pone 15, por ejemplo, un número imponente que el enemigo me toque y salga.
Salga tocado hacer las dos pruebas.
La primera es que te toque y no pase nada.
La segunda es que cojo el pavura, toca, me toca.
Me ven aquí lo que sale disparado.
Lo veis?
Yo no hago nada.
éL viene a por mí y sale disparado.
Lo veis?
Si queréis que salga más disparado, subirle la fuerza de repulsión.
Que en lugar de ser quince, sean 200 y 200.
Igual sale un poco tocado el enemigo.
Luego es la necesidad que tendréis de calibrar parámetros.
Entonces ahora tengo fuerza 200 de repulsión.
Ven a ver a mi pequeña dame, dame, dame am culo.
Si, y además fijaros que la fuerza es siempre la misma por lo que os he comentado antes, porque como
los colíder son esféricos y existe una colisión, realmente se tocan.
La distancia de choque, la distancia de los centros respectivos de los objetos que colisionan siempre
es constante.
La suma de los radios radio del primero más radio del segundo vale.
Da igual, la colección sigue siendo física, se tocan, siempre se tocan.
El truco está en que se tocan.
Si esto es redondo y cuadrado cuando chocan, el radio de choque siempre es el mismo.
En este caso es la suma del radio del círculo y la mitad del lado del cuadrado.
Pero la misma no haría falta normalizar.
A ver, podéis normalizar, pero es matar moscas a cañonazos otra vez.
Para qué voy a normalizar si realmente no me hace falta?
Vale.
El mensaje lo podéis ya comentar.
Ahora ya le habéis dado la utilidad, ya tenéis el comportamiento o lo podéis dejar?
La ventaja de dejarlo es que aquí siempre vais a ver quien colisiona contra quien.
Aquí en este caso hay un enemigo y hay un ahora sí.
Yo ahora creo cinco tipos de power ups y cinco tipos de enemigos cuando hay un bug.
Tener este mensaje que me ayude a saber quién ha chocado contra quien es bastante útil y de hecho ahora
podéis hacer.
Podéis hacer la prueba en el propio spawn manager.
Esta cosa que hay aquí el instante y dejadme hacer un bucle.
Voy a instancias de diez enemigos de golpe.
No lo voy a hacer así de tranquilos, vamos a hacer oleadas de enemigos cada cierto tiempo, pero si
lo hago así vamos a probar que también diez enemigos se comportan contra mí.
Que por cierto es infinito, ahora lo cojo y nunca caduca.
Es como un sueldo vitalicio de alguien del gobierno y estas cosas.
Entonces me he pasado dejarme coger el pavo era de puta
trágame.
Ahora venga, venga, dadme un juego, pam,
pam.
Ves que salen disparadas.
Cada una de ellas se ha ido a un lado diferente del universo.
No ves tanto los objetos por ahí cayéndose cada uno en un lado diferente.
Vale, gestionaran vosotros la fuerza.
Vale, tal vez la fuerza va a ir en relación al tiempo que dura el pavura.
Cuanto más tiempo vaya a durar, que menor sea la fuerza de repulsión.
Si el pavo era, va a durar sólo un segundo.
Por ejemplo, si que interesa este efecto de que me toquen y ya se van super lejos, pero que vayan
enrelación.
Yo por ejemplo aquí al Player's lo voy a dejar con fuerza con fuerza 20 200.
Yo creo que es demasiado y con fuerza 20.
Que me toquen.
Y sí, que salgan disparados.
Ahora me voy a volver a enfrentar a todos estos.
Me cago en la leche, ahora vais.
He bajado a la fuerza a 20.
Es una décima parte de lo que era antes.
Veis que la gracia está en coger el pavo y que me toquen cuando estoy cerca del borde, incluso yo rodearlos,
pues si no me van a acabar tirando, rodearlo para que cuando me choquen sean ellos los que los que
se vayan malos los haya.
Este juego.
Por Dios!
Vale, entonces ahí está, gestionaran vosotros la velocidad que queráis?
Sí, vale, pues otra cosa lista.