Juego sensación, o ‘zumo de juego’ se refiere a la sensación táctil con experiencia en la interacción con los videojuegos, que decide cómo la diversión o la participación de la segunda a la segunda jugada del juego. A menudo es una combinación de muchos aspectos diferentes, incluyendo la rapidez con que se reproduce la animación del personaje en respuesta a la entrada de control y la cantidad de retroalimentación audiovisual se le proporciona para tomar ciertas acciones. Aunque estos aspectos son sutiles, sus impactos pueden ser dramático y hacer la diferencia en la creación de una experiencia memorable para sus jugadores!

En este tutorial amigable para los principiantes, vamos a ver tres técnicas sencillas y eficaces para mejorar la sensación del juego utilizando la animación solo, sonido, y la manipulación de las cámaras!
No se pierda! extremos de la oferta en

  • Accede a los más de 200 cursos
  • Nuevos cursos añadió mensual
  • Cancelar en cualquier momento
  • Los certificados de terminación

    ACCESO ahora

    Indice

    JUEGO sobre Feel

    Antes de saltar a una discusión más profunda, deja que me presente que este tutorial se inspiró en estas tres charlas:

    Mi toma de estas conversaciones se pueden resumir en estas 5 técnicas:


    1. Haga hincapié en el éxito del jugador!


      • confeti del tiro, juego fomento de sonidos, pantalla de pausa de 0,01 milisegundos, etc.Combine todos estos efectos de hacer un momento de éxito aún más satisfactorio.


        1. Toque la emoción del jugador!


          • a cámara lenta, cámara cinematográfica, sonido ambiental, de frases con sentido, etc.Combine todos estos efectos para dar un impacto más dramático en un determinado evento (por ejemplo, la muerte)


            1. Añadir aleatoriedad!


              • Menos exactitud (en tiradores), AI comportamiento aleatorio, efectos de sonido al azar, etc. Un poco de aleatoriedad puede darle vida a modo de juego repetitivo.


                1. Añadir permanencia!


                  • explosión, escombros, cadáveres enemigos, humo, sangre, objetos destruidos, el jugador etc.Show las consecuencias de sus acciones. Hacer que se sientan como si estuvieran interactuando con el mundo del juego.


                    1. Hacer la diversión del jugador avatar para el control!


                      • Salto de longitud, triple salto, patada pared, inmersiones de estómago, etc.Make más sensibles, reacciones matizadas a la entrada del jugador. Esto permite a los jugadores para expresar su intención al sistema.

                        En un esfuerzo por demostrar que tales técnicas se pueden aplicar en cualquier juego para mejorar la sensación del juego, que va a cumplir este sencillo juego tipo Flappy Bird hecha por la Unidad, de esto:

                        Unidad juego se sienta tutorial - juego original (comprimida)

                        Hola … soy sólo este juego aburrido que dudo que tendrá que divertirse jugando. Nunca “.

                        … a esto:

                        Juego Unidad sensación tutorial - juego editado (comprimido)

                        “Mire mi increíble COLGAJOS! Me acaba de pasar LOS PILARES DE LA MUERTE! WEEEEEEEEEEEEEEEEEEE !!!!!!!!!!!!”

                        En este tutorial, vamos a aprender específicamente cómo utilizar Cámara , Animación y Sonido para mejorar la sensación del juego. Dentro del archivo de descarga del proyecto, hay algunas técnicas más avanzadas utilizadas como controles y efectos visuales para que pueda investigar más a fondo la codificación. Ahora, vamos a empezar la magia de transformar un juego débil y sin vida en un espectáculo y atractivo uno!

                        ÍNDICE

                        Proyecto de instalación

                        EVENTOS clave Análisis

                        ¿Cómo agregar jugosidad

                        • La adición de batidos de pantalla
                        • Adición de Impactos de Animación
                        • Celebrando el éxito del reproductor con sistema de partículas
                        • Adición azar efectos de sonido
                        • La mejora de la sensación de juego con controles

                          REFERENCIA / enlaces

                          Proyecto de instalación

                          ‘Flappy Bird Estilo Ejemplo Juego’ creado por Unity Technologies

                          0. Juega el juego aquí! → https://avacadogames.itch.io/flappy-bird-style-example-game-unity (y llegar a sus propias ideas sobre lo que puede mejorarse)

                          1. Abre la Unidad y pulse Ctrl + 9 para abrir la ventana ‘Activos tienda’.

                          2. Instalar ‘Estilo Flappy Bird Ejemplo Juego’ por Unity Technologies:

                          Descargar → https://assetstore.unity.com/packages/templates/flappy-bird-style-example-game-80330

                          sensación del juego tutorial - Activos tienda de importación

                          3. Importar todos y abiertos Activos / Flappy Bird Estilo / _Scenes / Main .

                          4. Comenzar a seguir el tutorial o empezar a añadir el jugo de partida de su propio!

                          Para descargar el código fuente utilizado en este tutorial, haga clic aquí. Asegúrese de que el paquete de la unidad se instala por primera vez, de lo contrario se podrían modificar el archivo del proyecto.

                          Eventos clave Análisis

                          Hay tres eventos clave en este juego:


                          1. bate Bird cuando se detecta entrada de jugador,
                          2. puntuación aumenta cuando el jugador pasa con éxito la brecha entre los pilares, y
                          3. el juego termina cuando el jugador choca con objetos.

                            1. Entrada jugador Flaps pájaro

                            juego se sienta tutorial Unidad - bate Bird

                            2. jugador Anotó sube

                            Juego sentir la Unidad Tutorial - Puntuación

                            3. Reproductor de muerte texto ‘Game Over’ aparece

                            juego se sienta tutorial Unidad - pantalla de game over

                            Vamos a comenzar con la adición de impactos al primer evento:. Cuando se detecta la entrada de reproductor

                            Adición de pantalla Shake

                            Es importante tener en cuenta que la retroalimentación sensible e intuitiva es vital para una sensación de buen juego. Cuando un jugador presiona una tecla, que esperan la acción correspondiente al ejecutarse inmediatamente, o por lo menos lo esperamos ver una señal visual de que se ha empezado a ejecutar. Que tiene una respuesta lenta a la entrada del jugador ( ‘Retardo de entrada’) hace que el juego parece lag y desconectado. Por la misma razón, que ayuda a tener algunas señales visuales claras de que el sistema ha reconocido la entrada. batido de pantalla es una de las técnicas más utilizadas para dar una retroalimentación inmediata a los jugadores.

                            Para añadir un efecto de movimiento de la pantalla para nuestro ejemplo Flappy ave de caza, vaya a Ventana>> Animación , o pulse Ctrl + 6.

                            sensación del juego tutorial - Animación
                            ‘Cámara principal’

                            Seleccione en la Jerarquía, y crear un animador haciendo clic en ‘Crear’ en la ventana de animación.

                            Una secuencia de animación vacío, se creará automáticamente y se establece como el estado por defecto del animador. Vamos a llamar a esta clip como ‘MainCam_Idle’. Podemos crear otro clip mediante la ampliación de la lista de clips en la esquina superior izquierda y hacer clic en ‘Crear nuevo clip …’. Vamos a llamar a esta como ‘MainCam_Flap’.

                            sensación del juego tutorial - Animación en Crear clip

                            Activar ‘Modo de grabación’ y mover ligeramente la posición x, y de la cámara en cada fotograma.

                            sensación del juego tutorial - Animación Flap Record

                            Abrir animador navegando a Ventana> Animación> animador.

                            sensación del juego tutorial - Animador

                            Haga clic en el estado por defecto (MainCam_Idle) y haga clic en ‘Crear Transición’. A continuación, haga clic en el clip de la ‘MainCam_Flap’ para crear una nueva flecha de transición.

                            Crea un nuevo disparador en ‘Parámetros’ y el nombre de ‘Flap’

                            sensación del juego tutorial - Animador Trigger

                            Haga clic en la flecha de transición y añadir una condición haciendo clic en el botón ‘+’ en el Inspector. Establecer la condición de nuestro nuevo parámetro de disparo, ‘Flap’.

                            sensación del juego tutorial - Animador Transición Flecha

                            Además, asegúrese de establecer la Duración de la transición a cero. Esto significa que no habrá ningún retraso en la transición de la animación a partir del estado de espera al estado ‘Flap’. Es crucial para hacer sentir la entrada del reproductor de respuesta, así que lo mejor es evitar tener una duración larga transición.

                            sensación del juego tutorial - Animador Duración de la transición

                            Esta vez vamos a crear otra flecha transición que va desde ‘Flap’ a estado ‘inactivo’, y otra vez, establece la Duración de la transición a 0.

                            sensación del juego tutorial - Animador Transición Flecha

                            Ahora el animador está todo listo para reproducir el clip de animación movimiento de la pantalla (MainCam_Flap), siempre que sea nuestra gatillo de parámetros (Flap) se llama.

                            Como un último paso, haga clic en el clip de animación (MainCam_Flap) y desactivar ‘salto temporal’ en el Inspector a menos que desee que la animación se repite sin cesar.

                            sensación del juego tutorial - Tiempo Loop


                            • guión abierto ‘Bird’ y añadir una variable:

                              public class Bird: MonoBehaviour {// referencia al componente animador de la cámara principal. privada animador camAnim;} 12345publicclassBird: MonoBehaviour {// referencia al animador component.privateAnimator camAnim de la cámara principal;}

                              • En función void Inicio (), agregue la siguiente línea:

                                vacío Inicio () {// obtener referencia al componente animador acoplado a una cámara principal. camAnim = Camera.main.GetComponent ();} 12345voidStart () {// Obtener referencia al componente animador acoplado a una cámara principal. camAnim = Camera.main.GetComponent ();}

                                • En función void Update (), hay una sección en la que se detecte una entrada del jugador.

                                  // Busque entrada para activar una «aleta» .Si (Input.GetMouseButtonDown (0)) {// Indicar el animador de ello camAnim.SetTrigger ( «Flap»); } // 123456 Mirada de entrada para activar una «aleta» .Si (Input.GetMouseButtonDown (0)) {// Indicar el animador de ello camAnim.SetTrigger ( «Flap»);}

                                  A continuación, la secuencia de comandos de aves debe mirar de esta manera:
                                  Bird clase pública: MonoBehaviour {float pública upForce; bool isdead privada = false; anim pública animador; pública Rigidbody2D rb2d; camAnim animador privado; // referencia al componente animador de la cámara principal. vacío Inicio () {// obtener referencia al componente animador acoplado a una cámara principal. camAnim = Camera.main.GetComponent (); } Void Update () {if (isdead == false) {// Busque entrada para activar una «aleta». si (Input.GetMouseButtonDown (0)) {camAnim.SetTrigger ( «Flap»); // Indicar el animador de ello anim.SetTrigger ( «Flap»); rb2d.velocity = Vector2.zero; rb2d.AddForce (nuevo Vector2 (0, upForce)); }}}} 12345678910111213141516171819202122232425262728293031publicclassBird: MonoBehaviour {publicfloatupForce; privateboolisDead = false; publicAnimator anim; publicRigidbody2D rb2d; privateAnimator camAnim; // referencia al animador de la cámara principal component.voidStart () {// Obtener referencia al componente animador acoplado a una cámara principal. camAnim = Camera.main.GetComponent ();} voidUpdate () {if (isdead == false) {// Look para la entrada para disparar una «solapa» .if (Input.GetMouseButtonDown (0)) {camAnim. SetTrigger ( «Flap»); // Dile el animador de ello anim.SetTrigger ( «Flap»); rb2d.velocity = Vector2.zero; rb2d.AddForce (newVector2 (0, upForce));}}}}

                                  ahora la pantalla hará temblar cada vez que se hace clic con el botón izquierdo del ratón. Agradable!

                                  Adición jugosidad a la Animación

                                  Cuando jugamos, tenemos una sensación de inmersión al ver cómo interactúan los objetos entre sí en el mundo. Obtenemos información como la gravedad del mundo, del personaje de peso, elasticidad, fuerza, y otras cosas. En un juego de plataformas como Celeste (2018), el salto no es sólo sobre el carácter que suben y bajan. Madeline, el personaje principal, en un principio se estira verticalmente al saltar hacia los lados y obtiene un poco aplastado, ya que ella aterriza en el suelo. Su pelo sigue al cuerpo con un poco de las formas de retardo y el polvo en el suelo mientras aterriza. Cada tanto detalle poco hace que el salto mucho más fluido y vivo.

                                  ¿Qué podemos hacer para que la acción mirada de nuestra ave más divertido? ¿Qué se siente cuando un pájaro bate en la realidad? ¿Cómo podemos exagerar un cierto aspecto de la misma? ¿Qué tipo de sentimiento es lo que quieres a los jugadores experimentar? … con todas estas consideraciones en mente, podemos pasar a la segunda parte:. Jugosidad añadir a la animación

                                  En primer lugar, hemos aprendido que el tener una señal visual clara sobre la entrada del reproductor de ayuda a que la sensación de juego más sensible e intuitiva. Hagamos que nuestra ave a poco ampliar y también cambiar su color por un milisegundo al jugador entrada.

                                  Presione Ctrl + 6 para abrir la ventana ‘Animación’. Esta vez, seleccione ‘Bird’ GameObject desde el punto de vista del proyecto. animación abierta ‘Flap’; Sólo tiene dos fotogramas clave a las 0:00 y en 0:02.

                                  sensación del juego tutorial - Solapa de Animación


                                  • Activar ‘modo de grabación de fotogramas clave’
                                  • Cambio de color a gris, y la x, y la escala de 1.2 a 0:01.
                                  • Mover al siguiente fotograma y restablecer el color para crear un efecto de parpadeo.
                                  • Restablecer la parte posterior escala a la normalidad a 0:04 o en el final de la animación.

                                    sensación del juego tutorial - Solapa Animación Keyframing ejemplo

                                    … no dude en ajustar los valores o añadir más a su gusto!

                                    Unidad juego se sienta tutorial - movimiento de la pantalla (comprimido)

                                    También puede crear un efecto visual como bocanadas de polvo, usando Sistema de partículas .

                                    Juego sensación tutorial - Sistema de partículas

                                    Haga clic en el sistema de partículas y cambie su nombre. (Por ejemplo ‘Flap FX’)

                                    Si las partículas son visibles en la vista de la escena, pero no en la vista de juego, eso es porque los sprites se fijan para ser prestados por detrás del fondo por defecto.

                                    Juego sensación tutorial - sprite de la clasificación por defecto ejemplo capa

                                    Puede cambiar el orden de hacer yendo a Inspector> sistema de partículas> Procesador> Clasificar capa ID y el cambio predeterminado → midground o primer plano.

                                    Juego sensación tutorial - sprite de la capa de clasificación

                                    En el Inspector, puede cambiar una gran cantidad de propiedades para hacer la apariencia deseada. Puede seguir los ajustes que hice a continuación o tratar de crear su propio efecto único!


                                    • Renderizador & gt; Material de & gt; Sprites-partículas → sprites-predeterminado
                                    • Duración = 5 → 0.10
                                    • Bucle = Activado → Desactivado
                                    • Start Vida útil = 5 → (aleatorio entre dos constantes) 0,5 a 1,5

                                      Para permitir aleatorio entre dos constantes , simplemente haga clic en la flecha pequeña al lado del campo de entrada para ver más opciones.

                                      sensación del juego tutorial - Partículas Sistema aleatorio entre dos constantes


                                      • Start Tamaño = 1 → 0,5 a 1
                                      • Velocidad de inicio = 1 → 1 a 3
                                      • Iniciar Color = Blanco Amarillo →
                                      • Modifier Gravedad = 0 → 0,5
                                      • Emisión & gt; Tasa a Través del Tiempo = 10 → 3
                                      • Emisión & gt; Bursts & gt; Count & gt; 5 a 15
                                      • Forma & gt; Forma = Cono → buñuelo
                                      • Tamaño largo de la vida → disminución lineal

                                        Challenge!

                                        Usando las mismas técnicas que aprendimos hoy en día, trate de darle más énfasis en los otros 2 eventos clave:. Es decir, la puntuación del jugador y la muerte

                                        Consejo 1: Trate keyframing nada! El movimiento de la cámara, puede fotograma clave no sólo en el Posición , sino también zrotation y el tamaño de la cámara.

                                        Consejo 2:. Asegúrese de desmarcar salto temporal de una secuencia de animación, si no quiere que se repita

                                        Tip 3: Animator.Play ( “AnimationName”, -1, 0); también se puede utilizar en lugar de Animator.SetTrigger () . El animador antiguas fuerzas para reproducir la animación de inmediato sin tener en cuenta las condiciones y ajustes de transición, mientras que la segunda hace uso de los parámetros de disparo a las condiciones de ajuste y configuración de la transición. Para obtener más información, vaya a https://docs.unity3d.com/ScriptReference/Animator.Play.html

                                        Adición de efectos de sonido

                                        Nuestro pájaro ahora tiene impactos más visibles cuando se hace clic en el botón izquierdo del ratón y cuando pasamos entre dos pilares. Ya se ve mucho más divertido para interactuar con, pero todavía se está perdiendo una parte importante de la sensación del juego: el sonido. Para añadir un efecto de sonido de la aleta del ave, seleccione el GameObject Bird, haga clic en ‘Agregar componente’ en el Inspector y la búsqueda de ‘AudioSource’.

                                        sensación del juego tutorial - Fuente de audio

                                        Una vez que se añade, ir a la escritura del ‘pájaro’ y crear una variable para obtener una referencia al componente AudioSource.
                                        Bird clase pública: {MonoBehaviour privada AudioSource AudioSource; // referencia al componente AudioSource} 12345publicclassBird:.. MonoBehaviour {privateAudioSource AudioSource; // referencia al componente AudioSource}

                                        Dentro de vacío función start (), asigne el componente AudioSource a la variable recién creada .
                                        vacío Inicio () {// Obtener una referencia al componente AudioSource adjunto a este GameObject. AudioSource = getComponent ();} 12345voidStart () {// Obtener una referencia al componente AudioSource adjunto a este GameObject.audioSource = getComponent ();}

                                        hit de dejar escapar y volver a la Unidad ahora . Arrastrar y soltar cualquiera de los clips de sonido de muestra que desea jugar por acción de la aleta en la sección ‘AudioClip’.

                                        Estos efectos de sonido fueron creados usando una máquina de SFX libre en línea: Bfxr (https://www.bfxr.net/). Asegúrese de que ‘Play On Awake’ está desactivada.

                                        Juego sensación tutorial - Adición de secuencias de audio a la fuente de audio

                                        Ahora, vamos a volver a nuestro script y el aspecto de la sección donde se detecte una entrada del jugador y añadir una línea de código que hace que nuestro AudioSource para reproducir la AudioClip asignado.
                                        // Look para la entrada para disparar una «solapa» .if (Input.GetMouseButtonDown (0)) {audioSource.Play (); // Esto juega el AudioClip unido al componente AudioSource} 123 456 // Look para la entrada para disparar una «solapa» .if (Input.GetMouseButtonDown (0)) {audioSource.Play ();. // Este controla la AudioClip unido a el componente AudioSource.}

                                        Eso es todo! Simple, ¿verdad? Pero lo que si tenemos múltiples efectos de sonido para ser jugado por un gatillo idénticos? En ese caso, se puede añadir una variedad de efectos de sonido que se reproducirá de forma aleatoria cada vez que el pájaro toma el aleteo de movimiento. Un poco de aleatoriedad ayuda a reducir la repetitividad en el juego así que … ¿por qué no?

                                        Empecemos mediante la adición de una serie de AudioClip. (Matrices permitirá almacenar varios objetos en una sola variable, y tiene entre corchetes [] después del tipo en C #).
                                        public class Bird: {MonoBehaviour pública AudioClip [] soundEffectList; // contiene una referencia a la lista de audioclips asignado en el inspector} 12345publicclassBird:. MonoBehaviour {publicAudioClip [] soundEffectList; // contiene una referencia a la lista de audioclips asignados en el inspector}

                                        Guardar y volver a la Unidad. . Usted habrá notado que la aleta ‘’ Efectos de sonido es de nueva creación en el inspector con una pequeña flecha al lado de él. Puede arrastrar y soltar varios clips de audio en esto.

                                        Juego sensación tutorial - Adición de clips de audio múltiples para Fuente de audio


                                        • En función void Update (), busque la sección donde se detecte una entrada de jugador, y luego añadir las siguientes líneas de código:

                                          // Busque entrada para activar una «aleta». si (Input.GetMouseButtonDown (0)) {int randomSound = Random.Range (0, soundEffectList.Length); // Esto devuelve un valor aleatorio entre 0 y la longitud de nuestra lista de efectos de sonido. audioSource.clip = (soundEffectList [randomSound]); // Esto establece un Audioclip al azar de nuestra lista para el componente AudioSource. audioSource.Play (); // Esto juega el Audioclip unida al componente AudioSource. } // 123456789101112 Busque entrada para activar una «aleta». si (Input.GetMouseButtonDown (0)) {intrandomSound = Random.Range (0, soundEffectList.Length); // Esto devuelve un valor aleatorio entre 0 y la longitud de nuestro efecto de sonido list.audioSource.clip = (soundEffectList [randomSound] ); // Esto establece un Audioclip al azar de nuestra lista para el componente AudioSource. audioSource.Play (); // Esto juega el AudioClip unido al componente AudioSource. }

                                          A continuación, la secuencia de comandos de aves debe tener este aspecto:
                                          Bird clase pública: MonoBehaviour {float pública upForce; bool isdead privada = false; anim animador privado; camAnim animador privado; rb2d Rigidbody2D privado; pública AudioClip [] soundEffectList; // contiene una referencia a la lista de audioclips asignados en el inspector. AudioSource AudioSource privado; // referencia al componente AudioSource. vacío Inicio () {anim = getComponent (); camAnim = Camera.main.GetComponent (); rb2d = getComponent (); // Obtener referencia al componente AudioSource adjunto a este GameObject. AudioSource = getComponent (); } Void Update () {if (isdead == false) {// Busque entrada para activar una «aleta». si (Input.GetMouseButtonDown (0)) {int randomSound = Random.Range (0, soundEffectList.Length); // Esto devuelve un valor aleatorio entre 0 y la longitud de nuestra lista de efectos de sonido. audioSource.clip = (soundEffectList [randomSound]); // Esto establece un Audioclip al azar de nuestra lista para el componente AudioSource. audioSource.Play (); // Esto juega el Audioclip unida al componente AudioSource. camAnim.SetTrigger ( «Flap»); anim.SetTrigger ( «Flap»); rb2d.velocity = Vector2.zero; rb2d.AddForce (nuevo Vector2 (0, upForce)); }}} Void OnCollisionEnter2D (Collision2D otra) {rb2d.velocity = Vector2.zero; isdead = true; anim.SetTrigger ( «Die»); GameControl.instance.BirdDied (); }} 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455publicclassBird: MonoBehaviour {publicfloatupForce; privateboolisDead = false; privateAnimator anim; privateAnimator camAnim; privateRigidbody2D rb2d; publicAudioClip [] soundEffectList; // contiene una referencia a la lista de audioclips asignadas en el inspector.privateAudioSource AudioSource; // Referencia a la AudioSource component.voidStart () {anim = getComponent (); camAnim = Camera.main.GetComponent (); rb2d = getComponent (); // Obtener referencia al componente AudioSource adjunto a la presente GameObject. AudioSource = getComponent ();} voidUpdate () {if (isdead == false) {// Look para la entrada para disparar una «solapa» .if (Input.GetMouseButtonDown (0)) {intrandomSound = Random.Range ( 0, soundEffectList.Length); // Esto devuelve un valor aleatorio entre 0 y la longitud de nuestro efecto de sonido list.audioSource.clip = (soundEffectList [randomSound]); // Esto establece un AudioClip al azar de nuestra lista para el AudioSource component.audioSource.Play (); // Esto juega el AudioClip unido a la AudioSource component.camAnim.SetTrigger ( «Flap»); anim.SetTrigger ( «Flap»); rb2d.velocity = Vector2.zero; rb2d.AddForce ( newVector2 (0, upForce));}}} voidOnCollisionEnter2D (Collision2D otra) {rb2d.velocity = Vector2.zero; isdead = true; anim.SetTrigger ( «Die»); GameControl.instance.BirdDied ();}}

                                          Bono: la mejora de juego se sienta con controles

                                          En la mayoría de series Mario, el más rápido el reproductor se ejecuta la mayor saltan. En Celeste, los jugadores pueden corregir su posición después de un salto corriendo por el aire. Estos controles generosos permiten a los jugadores a dominar los controles y disfrutar de superación de desafíos. Por otro lado, nuestra ave sólo puede Flappy única aleta de dibujar una curva constante en una velocidad fija, y su movimiento se basa en gran medida el tiempo de pulsación de tecla del jugador. Hay poco espacio para los jugadores a dominar los controles, se siente casi como el ave está fuera de control. Pero lo que si la celebración de una clave más larga significa que el pájaro volará más alto?

                                          sensación del juego tutorial - Curva de control de jugador

                                          Pájaro que vuela con un máximo de altura fija

                                          sensación del juego tutorial - Control de jugador ya pulsación de la tecla

                                          Vuelo del pájaro más alto con una pulsación de botón ya

                                          Esto permite a los jugadores tener un control más preciso sobre el pájaro y se mejora en gran medida la sensación de juego. Para ello, abra la secuencia de comandos de aves y crear una variable de tipo float que rastrea la duración del vuelo. Este valor se incrementará mientras el reproductor está presionando el botón del ratón.
                                          public class Bird: MonoBehaviour {// fuerza hacia arriba de la aleta. flotador privado upForce = 3; // Duración de la solapa. flapDuration privada flotador;} 12345678publicclassBird: MonoBehaviour {// fuerza hacia arriba de la flap.privatefloatupForce = 3; // Duración de la flap.privatefloatflapDuration;}

                                          Y entonces me gustaría crear otra variable flotante que establece hasta el límite de la primera variable.
                                          public class Bird: MonoBehaviour {// Si flapDuration es mayor o igual a este valor, el pájaro no vuela más alto. flotador maxDuration privada = 0.7f;} 12345publicclassBird: MonoBehaviour {// Si flapDuration es mayor o igual a este valor, el pájaro no volará higher.privatefloatmaxDuration = 0.7f;}

                                          Podríamos simplemente decirle al pájaro para volar sólo cuando flapDuration es menor que maxDuration como tal:
                                          void Update () {if (Input.GetMouseButton (0)) {if (flapDuration En algún momento, la duración colgajo debe ser reiniciado. Voy a restablecerla cada vez que el jugador hace clic en el botón del ratón.
                                          vacío Update () {// Busque entrada para activar una «aleta». si (Input.GetMouseButtonDown (0)) {flapDuration = 0; }} 12345678voidUpdate () {// Look para la entrada para disparar una «solapa» .if (Input.GetMouseButtonDown (0)) {flapDuration = 0;}}

                                          rápida Antes vs. Después

                                          Unidad juego se sienta tutorial - juego original (comprimida)

                                          Juego Unidad sensación tutorial - juego editado (comprimido)

                                          En una nota también he añadido una característica que hace que complementando la puntuación mostrar un mensaje al azar como “impresionante!” mientras que el jugador está en una racha de alta puntuación.

                                          Juego sensación tutorial - alta puntuación de texto cumplido

                                          Aquí está el código fuente correspondiente:
                                          si (puntuación> 4 && puntuación <10) {scoreText.gameObject.GetComponent () Play ( «ScoreText 2», -1, 0).; } Else if (puntuación> = 10) {int aleatorio = Random.Range (0, 5); Interruptor (al azar) {case 0: highScoreText.text = «magnífico!»; descanso; Caso 1: highScoreText.text = «! impresionante»; descanso; Caso 2: highScoreText.text = «excelente!»; descanso; Caso 3: highScoreText.text =; «increíble!» descanso; Caso 4: highScoreText.text =; «fantástico!» descanso; Caso 5: highScoreText.text =; «Terrific!» descanso; } ScoreText.gameObject.GetComponent () Play ( «ScoreText 3», -1, 0).; } 12345678910111213141516171819202122232425262728293031if (puntuación> 4 && puntuación <10) {scoreText.gameObject.GetComponent () Play ( «ScoreText 2», -1, 0);.} Elseif (puntuación> = 10) {intrandom = Random.Range ( 0,5); conmutador (al azar) {case0: highScoreText.text = «magnífico!»; break; Caso 1: highScoreText.text = «impresionante!»; break; case2: highScoreText.text = «excelente!»; break; case3 : highScoreText.text = «increíble!»; break; case4: «fantástico!» highScoreText.text =; break; case5: «Terrific» highScoreText.text =; break;} scoreText.gameObject.GetComponent (). Play ( «ScoreText 3», – 1,0);}

                                          Conclusión

                                          En esta lección, hemos aprendido que la retroalimentación sensible e intuitiva al jugador entrada es vital para hacer una sensación de buen juego. Esta retroalimentación puede incluir munición rebote, ensanchamientos, derribo, el sonido de disparo base pesada en los tiradores, y más allá. También puede ser acerca de los controles, la animación de personajes, efectos visuales y efectos de sonido en juegos de plataformas. Todos estos ajustes poco contribuyen a la sensación de juego, pero con frecuencia se pasan por alto por muchos desarrolladores. Estos elementos pueden ser muy sutiles para ser notado de forma individual, pero cuando están armonizadas que añadir capas de satisfacción a la jugabilidad. Sin embargo, la mejor manera de aprender sensación del juego es experimentar a sí mismo y probar cosas nuevas -. Así que esperamos que ampliar los conocimientos que se imparten aquí

                                          Espero que hayan disfrutado el tutorial de hoy y tener más confianza en cómo hacer un juego más vivo, sensible y divertido!

                                          Referencia / Enlaces

                                          ‘Estilo Flappy Bird Ejemplo Juego’ por Unity Technologies:

                                          Descargar → https://assetstore.unity.com/packages/templates/flappy-bird-style-example-game-80330

                                          Código Fuente ‘Estilo Flappy Bird Ejemplo Juego’:

                                          Descargar → Enlace

                                          Documentación de la Unidad en:

                                          Animación Transición – https://docs.unity3d.com/Manual/class-Transition.html

                                          Clasificación Capa – https://docs.unity3d.com/ScriptReference/SortingLayer.html

                                          Animator.Play () – https://docs.unity3d.com/ScriptReference/Animator.Play.html

                                          Otros:

                                          En línea gratuito SFX Maker – Bfxr (https://www.bfxr.net/)

                                          Juega ver original. – https://avacadogames.itch.io/flappy-bird-style-example-game-unity

                                          Juega Editado ver. – https://avacadogames.itch.io/flappy-bird-style-example-game-edited-game-feel-tutorial-zenva

                                          Mensajes relacionados

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *