WEBVTT

00:00.020 --> 00:00.500
Hola chicos.

00:00.500 --> 00:01.490
Bienvenidos al video.

00:01.490 --> 00:06.950
En este video quiero mostrarte cómo trabajar con un blend tree y cómo puede ser útil en el animator.

00:06.950 --> 00:08.090
Así que primero creemos un blend tree y veamos qué hace.

00:08.090 --> 00:11.210
Vamos a hacer clic en el botón crear aquí.

00:11.210 --> 00:13.160
Crear estado desde New Blend Tree.

00:13.160 --> 00:16.070
Ahora seleccionémoslo y pongámosle el nombre Idle Slash Move.

00:22.470 --> 00:27.810
Dentro puedes seleccionar el blend tree y agregar varios movimientos.

00:27.810 --> 00:30.090
Aquí haré clic en agregar movimiento.

00:30.420 --> 00:31.470
Agregar movimiento.

00:31.500 --> 00:32.550
Agregar movimiento.

00:34.030 --> 00:35.710
Ahora seleccionemos.

00:36.430 --> 00:37.630
Player move.

00:38.250 --> 00:42.090
Layer idle y layer move.

00:42.570 --> 00:50.790
Podemos abrir la vista previa aquí y si hacemos clic en play puedes ver la animación.

00:50.850 --> 00:54.000
Ahora desmarquemos Automate threshold aquí.

00:58.860 --> 01:01.560
Y pongamos menos uno.

01:02.590 --> 01:04.780
Cero uno.

01:05.310 --> 01:10.710
Ahora este threshold controlará la transición entre animaciones por sí mismo.

01:10.890 --> 01:17.460
Si el valor es cero, el jugador estará en idle.

01:17.460 --> 01:20.610
Si movemos el valor a la izquierda, a negativo,

01:20.640 --> 01:26.040
verás al jugador en la animación de correr, si volvemos a cero,

01:27.830 --> 01:29.630
está en idle.

01:29.630 --> 01:33.470
Si aumentamos el valor, vuelve a la animación de correr.

01:35.690 --> 01:43.880
Esto se puede usar para controlar idle y move en vez de dos animaciones con transiciones.

01:43.910 --> 01:46.400
Bien, entremos.

01:47.110 --> 01:50.470
Y necesitamos renombrar este parámetro aquí.

01:50.470 --> 01:53.380
Lo llamaré x velocity.

01:54.320 --> 01:57.680
Y asegúrate de que este parámetro esté seleccionado aquí.

02:01.270 --> 02:02.320
X velocity.

02:02.350 --> 02:05.380
Ahora volvamos a base layer.

02:05.380 --> 02:06.910
Podemos borrar estos dos.

02:06.940 --> 02:09.490
Solo quería mostrarte un ejemplo de cómo podría funcionar.

02:09.490 --> 02:10.930
Pero no te preocupes.

02:10.930 --> 02:12.160
Solo elimínalos.

02:12.220 --> 02:17.770
Y este blend tree será el estado por defecto del jugador.

02:17.800 --> 02:25.030
Podemos borrar este parámetro también y solo actualizaremos la animación actualizando x velocity.

02:25.030 --> 02:26.170
Eso hará todo el trabajo de transiciones.

02:26.170 --> 02:30.130
Muy conveniente, muy limpio y eficiente.

02:30.130 --> 02:31.420
Así que vamos al script del jugador.

02:37.010 --> 02:41.780
Y aquí, en vez de poner booleanos, solo escribe

02:42.610 --> 02:46.690
anim.setFloat de x velocity.

02:46.690 --> 02:48.820
Y de nuevo, para no equivocarme,

02:48.820 --> 02:50.920
copio esto, vuelvo al script, lo pego y como valor para ese parámetro ponemos rb velocity.x.

03:00.730 --> 03:01.630
Y eso es todo.

03:02.140 --> 03:03.610
Así de simple.

03:03.700 --> 03:07.480
Ahora guarda esto y vuelve a Unity.

03:08.530 --> 03:10.510
Y veamos si funciona.

03:13.510 --> 03:14.320
Idle.

03:14.890 --> 03:15.760
Move.

03:17.400 --> 03:19.200
Move idle.

03:19.410 --> 03:20.550
Muy bien.

03:20.550 --> 03:21.690
Me encanta.

03:21.720 --> 03:22.770
Muy bueno.

03:23.130 --> 03:27.510
Veo que hay un poco de efecto de vibración al movernos.

03:27.510 --> 03:30.660
Puedes ver que el personaje tiembla un poco.

03:31.920 --> 03:34.470
Para arreglarlo, ve al rigid body.

03:35.820 --> 03:39.570
Y en interpolate elige interpolate.

03:39.900 --> 03:43.320
Ahora al movernos se sentirá suave y bien.

03:43.860 --> 03:45.990
Esto tiene que ver con la actualización de la física.
