Curso de introducción al sistema de diálogo de Unreal Engine | Hyper Dev | Skillshare

Velocidad de reproducción


1.0x


  • 0.5x
  • 0.75x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Curso de introducción al sistema de diálogo de Unreal Engine

teacher avatar Hyper Dev

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Lecciones en esta clase

    • 1.

      Curso de sistema de diálogo 001 de Hyperdev

      4:30

    • 2.

      002 herramientas que necesitarás

      2:35

    • 3.

      003 Buena planificación fundamental para el diálogo

      6:29

    • 4.

      004 Usa lo que tienes

      6:41

    • 5.

      005: introducción a la grabación de voz en Audacity

      2:47

    • 6.

      006 Grabación de líneas y separación en Audacity

      3:44

    • 7.

      007 Estructura de carpetas, nombres y diálogo de exportación

      14:05

    • 8.

      008 Creación del proyecto de motor irreal e importación de audio

      4:09

    • 9.

      009 Cómo agregar archivos de audio a Unreal Engine

      3:21

    • 10.

      010: Agregar un NPC al mundo

      6:58

    • 11.

      011 Configuración de componentes de detección e interacción

      11:14

    • 12.

      012 Comunicación con el plano del NPC

      17:37

    • 13.

      013 Reposicionamiento del reproductor para los diálogos

      12:58

    • 14.

      014 Configuración de la función de componente de diálogo

      12:48

    • 15.

      015 Botón de diálogo de salida

      7:56

    • 16.

      016 Explicación final del proceso de preparación de diálogos

      3:08

    • 17.

      017 Cómo agregar un componente de voz al NPC

      11:44

    • 18.

      018 Cómo reproducir la primera voz del NPC

      25:33

    • 19.

      019 Hacer que el intérprete interprete una línea de diálogo

      17:30

    • 20.

      020 Reproducir el diálogo sobre la selección

      20:09

    • 21.

      021 Mostrar texto de diálogo

      11:58

    • 22.

      022 Progreso de adiciones a los diálogos

      12:04

    • 23.

      023 Cómo agregar un botón de saltar diálogo

      9:07

    • 24.

      024 Detener todo el diálogo a la salida

      1:24

    • 25.

      025 Salida automática del diálogo al final de las líneas de voz

      9:21

    • 26.

      025 Omitir diálogos y funciones personalizadas

      19:28

    • 27.

      026 Cómo agregar un sistema de cámara seleccionable

      38:18

    • 28.

      027 Revisión final de los conocimientos y conclusiones finales

      4:50

  • --
  • Nivel principiante
  • Nivel intermedio
  • Nivel avanzado
  • Todos los niveles

Generado por la comunidad

El nivel se determina según la opinión de la mayoría de los estudiantes que han dejado reseñas en esta clase. La recomendación del profesor o de la profesora se muestra hasta que se recopilen al menos 5 reseñas de estudiantes.

14

Estudiantes

--

Proyectos

Acerca de esta clase

Aprende los conceptos básicos de cómo configurar un sistema de diálogo dentro de unreal Engine 5. Este curso está diseñado para que sea fácil de entender y seguir, independientemente de tu experiencia previa en desarrollo de juegos. Y al final, tendrás una comprensión completa de cómo hacer un sistema de diálogos dentro de Unreal Engine y podrás ajustarlo a tus necesidades específicas.

- Cómo planificar la escritura para tu videojuego.

- Cómo conseguir una buena actuación de voz para tu videojuego.

- Cómo conseguir un buen audio de juego con un presupuesto limitado.

- Cómo percibir correctamente el audio espacial direccional dentro del motor unreal

- Cómo planificar y gestionar cientos e incluso miles de archivos y grabaciones en juegos a gran escala con mucho trabajo de voz.

1. Creación de un sistema de diálogo en unreal engine
2. Configurar el sistema de diálogo para que pueda ampliarse a varios personajes


Hola, soy HyperDev y el principal profesor de desarrollo de juegos de Unreal Engine. Como profesor profesional, sé que el desarrollo de juegos de aprendizaje debe hacerse paso a paso, con cada paso explicado completamente. Así que todos mis tutoriales están hechos con ese nivel de calidad.

Cada video está repleto de técnicas claramente explicadas e ilustradas, para que cuanto más avanzes, mejor será el desarrollador de juegos.

Conoce a tu profesor(a)

Teacher Profile Image

Hyper Dev

Profesor(a)

Join me for some learning on how to make production ready games. Tutorials that give you the full scope of what you need to do to get a game totally ready for release.

They are made for people going from being a hobbyist to a professional game developer who wants to earn a living by selling games.

Ver perfil completo

Level: Beginner

Valoración de la clase

¿Se cumplieron las expectativas?
    ¡Superadas!
  • 0%
  • 0%
  • Un poco
  • 0%
  • No realmente
  • 0%

¿Por qué unirse a Skillshare?

Mira las galardonadas Skillshare Originals

Cada clase tiene lecciones cortas y proyectos prácticos

Tu membresía apoya a los profesores de Skillshare

Aprende desde cualquier lugar

Ve clases sobre la marcha con la aplicación de Skillshare. Progresa en línea o descarga las clases para verlas en el avión, el metro o donde sea que aprendas mejor.

Transcripciones

1. Curso de sistema de diálogo 001 de Hyperdev: Oye, una de las cosas más complicadas necesitas hacer dentro del motor anual, que es donde estamos ahora mismo, es un sistema de diálogo donde puedes interactuar con un personaje, y luego llegan a hablar elines de voz De hecho, puedes seleccionar el diálogo, y luego después de seleccionarlo, la cámara que se está usando cambia a medida que tus personajes interactúan y se hablan entre sí. Eso es lo que vas a aprender en esta serie de tutoriales. Empiezas con lo básico de, ya sabes, conseguir un motor irreal y tener acceso a la audacia Puedes usar cualquier otra aplicación de edición de audio. Depende de con qué te sientes cómodo , pero, oye, es gratis. Y lo que es más importante, es muy poderoso. Lo siguiente que vas a aprender es alguna buena planeación fundamental general para tu diálogo. Repasa los conceptos básicos de por qué los humanos ideas básicas sobre cómo usar un entorno como entorno que tiene problemas que tus personajes están tratando de resolver. No vamos a pasar demasiado tiempo cubriendo estos conceptos, pero el diálogo básico es algo que tenemos que tocar. Y luego cubriremos cómo hacer realmente alguna grabación básica de diálogo usando la actuación de voz que tienes a tu disposición. Y cualesquiera que sean las herramientas que estén a la mano, básicamente, usa lo que tengas para hacer el diálogo. Y luego pasamos por cómo cortar el diálogo en archivos en archivos separados que serán perfectos para usar dentro del motor irreal Ahora, a un nivel superior, sobre todo cuando tienes múltiples misiones en archivos de audio, es importante tener la estructura de carpetas correcta. Entonces vamos a pasar por cómo tener la estructura de carpetas correcta. Esencialmente, vamos a repasar una buena etiqueta de nombres de carpetas y archivos que te va a hacer la vida mucho tardará unos 5 minutos en entender esto, pero te va a ahorrar horas y tal vez incluso días de dolor de cabeza de producción después. Y luego, una vez que la limpieza esté fuera del camino, nos sumergimos en un motor real. Dentro del motor, aprendemos a hacer básicamente un plano simple donde va a haber un personaje o NPC con el que podamos empezar a hablar Y una vez que tenemos el NPC, nos metemos en aprender sobre las interfaces Interfaces es una manera genial de tener dos planos, como, hablar entre ellos. Es realmente genial. Es mejor que el casting, y de hecho voy a explicarte cómo usarlos. Esta siguiente parte tiene bastante trabajo trabajando en el sistema nod, también conocido como el sistema blueprint en AnulEngine Y como siempre con mis tutoriales, todo va a ser explicado muy, muy bien y nada va a pasar fuera de la pantalla. Podrás ver en detalle todo lo que te llevo a través. Entonces entrar en realidad tiene que tener el texto que se muestra muy bien para su sistema de diálogo. Y así tu personaje jugador va a poder seleccionar qué decir a continuación. Ahora por simplicidad y para facilitar que todos aprendan, este será un sistema de diálogo lineal con una sola opción. Pero el conocimiento sobre cómo configurar múltiples opciones va a estar ahí. Y luego vamos a usar subtítulos para facilitar mucho la localización y los usaremos para poblar esos campos Ahora, hay bastante lógica, y las cosas van a ser cada vez más complejas a medida que sigamos avanzando. Pero al final, vas a tener una comprensión bastante sólida de las herramientas irreales de los motores Después para terminarlo, vamos a crear el sistema de selección de cámara para que durante el diálogo, puedas seleccionar qué cámaras muestran dependiendo de lo que quieras en la escena. Y eso va a poner fin a todo el tutorial. Ahora, en cuanto tiempo antes podrás aprender todo, te recomiendo encarecidamente que puedas hacerlo en dos días si apartas 2.5 horas diarias para practicar Y luego alrededor del 60% es el volumen en el que he configurado todas las grabaciones para que sean audibles. Además de eso, te deseo lo mejor aprendiendo esto y agregando esto a tu kit de herramientas, hiper devoto 2. 002 herramientas que necesitarás: Mentalmente, sólo van a ser tres cosas. Como era de esperar, el primero y más importante es Unreal Engine La versión de motor que estoy usando va a ser Unreal Engine 5.6, pero todo aquí debería funcionar desde Unreal Engine 5.5 y en adelante, así que recomiendo obtener El segundo es la audacia, que es un software gratuito de edición de audio Y la tercera es cualquier aplicación de texto. Incluso pueden usar pluma y papel para esto, pero vamos, chicos. Estamos en el siglo XXI, puedes usar cualquier aplicación de texto. Sólo por el bien de ello, voy a mostrarte dónde conseguir todo. Entonces, para obtener un motor irreal, básicamente, dirígete al lanzador de Epic Games, simplemente dirígete a la biblioteca y luego por aquí, podrás seleccionar diferentes versiones de AnrelEngine Elige el que quieras. Básicamente puedes agregar versión y básicamente puedes agregar en la versión del motor que quieras No obstante, este proyecto va a estar en Unreal Engine, 5.6, ¿bien? Ahora por audacia, básicamente dirígete a Team Audacity, y luego te dará la opción descargar Actualmente, estoy usando la última versión. No tienes que usar la última versión. La mayoría de los efectos de audio que vamos a usar van a ser bastante simples. Pero puedes descargarlo con Muse hub o sin él. Prefiero conseguirlo sin. Es bastante simple. Además, esta página web es en realidad blanca en cuanto al fondo, pero he hecho esto oscuro por si acaso estás viendo esto por la noche y generalmente prefiero fondos negros. Nunca quiero hacerte un ojo con luz brillante. Bien, así que por último pero no menos importante, por si acaso necesitabas alguna recomendación sobre un software de texto básico que puedas usar, solo puedes usar el Bloc Básicamente golpeo Control y plus para agrandar mi texto, puedo usar Control y menos para hacer el texto más pequeño. Si solo necesitas una aplicación básica de texto para escribir nuestro diálogo, Bloc de notas es lo suficientemente bueno, y lo guardas como un archivo TXT. Eso está bien. En fin, basta con las herramientas. Bien, asegúrate de tener todas tus herramientas, y podemos pasar a la siguiente sección correctamente. Y vamos a motor cualquier edición de audio hacia arriba y cualquier edición de texto hacia arriba. Sigamos adelante en el siguiente video. 3. 003 Buena planificación fundamental para el diálogo: Ahora que todas las herramientas están establecidas, déjame mostrarte un ejemplo sencillo de cómo hacer diálogo de juego. La parte más importante de hacer el diálogo del juego es tener una buena planificación fundamental cuando lo estás escribiendo. Ahora, como estamos haciendo esto, no vamos a tener miedo de la página en blanco. Simplemente necesitamos pensar en una cosa. Bueno, fundamentalmente, ¿por qué hablan los humanos? Los humanos hablan por dos razones bastante simples. El primero es resolver problemas, y el segundo es construir relaciones. Entonces, con esas dos cosas en mente, pensemos en crear un espacio donde necesiten resolver problemas o construir relaciones. Y todo eso se reduce a lo que nos gusta llamar en la narración, un escenario Un escenario es el lugar donde todo sucede. Es lo que crea los problemas y la felicidad que van a necesitar lidiar tus personajes. Así que recuerda que esta configuración crea los problemas que tus personajes están tratando de resolver, ¿de acuerdo? Um, el ambiente es lo que intentas crear. Ahora, avanzando con el diálogo que les voy a mostrar, solo he escrito tres líneas simples para denotar mi ambientación Es un mundo de fantasía con nivel tecnológico de mediana edad, y hay magia en el mundo. Sólo con esas tres líneas, me basta con que la pelota ruede. Ahora, después de meditar en ese tipo de escenario, eventualmente, basado en la experiencia del mundo real, es fácil formular algunas misiones y desafíos simples que tu personaje pueda Así que lo he enumerado como tal. Entonces, ¿qué tipo de juego es este? Bueno, bien, este es un juego salvaje de fantasía. No importa si es un juego de rol, un hack and slash por el bien del sistema de diálogo, pero esa es una decisión que tomas como desarrollador de juegos Entonces pensemos en el jugador. Entonces como jugador, eres un cazador. Puedes usar la palabra que quieras, pero fundamentalmente, un cazador quiere decir que este es alguien que encuentra cosas y mata cosas. Como cazador, estás bajo el empleo del rey para matar bestias Lo mejor que te han encargado esta vez es Mad Fox El propósito de tener al rey va a ser como un dador de búsqueda o en otras palabras, un poder superior o jerarquía bajo la que viven los cazadores Entonces las bestias son probablemente solo criaturas mágicas que necesitan ser asesinadas Y al que estás atacando en esta búsqueda es un zorro loco. Básicamente es algo así como un hombre lobo. Esas son cosas que te llegarán una vez que hayas desarrollado el escenario con bastante facilidad. Ahora, con ese marco básico, he pensado básicamente una búsqueda, pero la he desglosado en mini misiones, que básicamente representan el diálogo. Entonces el primero es que le pides a un campesino indicaciones para llegar al comerciante. Bien, es esa primera. Ahora, con esa primera, básicamente te acercas a un campesino y pides indicaciones. Es muy sencillo y no tiene demasiadas opciones. En la segunda búsqueda, debes reunirte con un comerciante para adquirir arco y flecha para matar al zorro loco. Ahora, en esa búsqueda, va a haber una opción de diálogo. Así puedo mostrarte cómo configurar tu diálogo con múltiples opciones diferentes. La tercera búsqueda, también conocida como Quest two, es devolver la cabeza del zorro. Esto es después de que el jugador haya terminado, eliminando a la criatura como evidencia a tu mango. Bien. Aquí te voy a mostrar un poco más de cómo comprobar si un jugador ha realizado o no una acción y ajustar el diálogo en consecuencia. Y el último es un informe de misión con su manejador, donde reuniremos todo para un último diálogo, y ese va a ser el Ahora, ahora que tenemos esa visión general, veamos la primera en la que hay que pedirle al comerciante más bien pedirle al campesino indicaciones para llegar al comerciante. Ahora bien, el diálogo que estoy usando aquí es un diálogo muy básico. Te recomiendo, claro, en tu juego real, vas a querer darle y darle un poco más de vida. Pero esta es la visión general simplificada. La búsqueda es que le estás pidiendo indicaciones a un campesino para llegar al comerciante. Entonces lo primero que dice el jugador es hola. El campesino responde, reconozco el equipo que llevas puesto. Nos dijeron que esperáramos ayuda aquí para la bestia. Y entonces el jugador dice: Sí, yo soy, pregunta por el comerciante con mis cosas. ¿Ha llegado? El campesino, lo hizo. Apenas unos cientos de escalones río abajo en la orilla occidental, el campesino está indicando una ubicación. El jugador, gracias. Voy a estar en camino. Entonces el campesino. Buena suerte. Ya sabes, una chica de nuestro pueblo fue atacada. Ella casi no lo logró, pero su padre, no se encuentra por ningún lado. Por favor, necesitamos que se encargue de la bestia. Y luego una vez que termines con este diálogo, cada vez que intentas volver a platicar con el campesino, el campesino simplemente afirma, unos cientos de pasos río abajo, está en la orilla occidental y listo. Esa es la configuración más básica para el diálogo. Ahora que tenemos estas líneas, tenemos que seguir adelante y de hecho conseguir que se graben. A continuación, tenemos que pasar por cómo se vería realmente el diálogo de grabación y lo que requiere de ti como desarrollador. 4. 004 Usa lo que tienes: Todo bien. Entonces, en el último video, pasamos por algunos principios fundamentales para escribir y crear diálogo. Entonces digamos que ahora tienes algún diálogo. Lo siguiente es grabarlo. Ahora, mucha gente te dirá que necesitas tener mucho equipo de gama alta para poder grabar diálogos para tus juegos. Tienes equipo de gama alta y ya tienes el conjunto de habilidades para hacer diálogo, eso es fundamentalmente bueno. Sin embargo, si eres un desarrollador Indie y no tienes acceso a eso, esto es lo que necesitas entender para preparar rápidamente el diálogo para tu juego con un presupuesto mínimo. El principio fundamental es que siempre use lo que tenga, que sean los recursos que tiene y haga su mejor esfuerzo absoluto con lo que está a la mano. Específicamente para el diálogo, hay tres cosas fundamentales que necesitas para el diálogo grabado. Primero, está su diálogo y guiones. Siéntete cómodo usando tu diálogo y lo que sea que hayas escrito. Segundo, usa tu dispositivo de grabación. Ya sea que ese dispositivo sea o no un teléfono o un micrófono pequeño, pase lo que pase, solo usa lo que esté disponible. Y por último pero muy importante es usar tu propio talento de voz disponible. Fundamentalmente, quiero que sepas que solo ten confianza en tu historia y ten confianza en el juego que estás haciendo desde tu alma. Si piensas en todos tus juegos favoritos que realmente te gustan, incluso aquellos en los que tal vez no tenían el más alto nivel de calidad, lo que te encantaba de ellos vino del hecho de que tocaron algo en tu corazón y que fueron buenas experiencias en general. Así que siéntete cómodo usando tu diálogo escrito, aunque no te guste o sientas algún nivel de síndrome del impostor, está bien Abraza el sentimiento y simplemente haz de tu propia alma. Lo siguiente es asegurarse de usar su propio dispositivo de grabación específico. Ahora voy a hablar sobre cómo mejorar tus grabaciones ajustando tu área de grabación y tu dispositivo. Pero el propósito de esto es que se quiera mantener los costos manejables Pero más importante que mantener los costos manejables, hay que pensar en mantener la facilidad de acceso para la ejecución Ahora bien, este es un principio fundamental básico del trabajo, pero piénsalo de esta manera. Si tienes una joya en casa, entonces es muy fácil para ti ejercitarte cuando te apetezca. No obstante, si tienes una joya que está muy lejos de ti, necesitas dar un paseo completo. Va a ser lo mismo. Si tienes un dispositivo de grabación dentro de tu casa o cerca, entonces puedes usarlo inmediatamente por supuesto, si eres un estudio de desarrollo de juegos completo, eso facilita mucho las cosas. Pero si eres un desarrollador indie, vas a tener que hacer lo mejor que puedas con lo que tienes. Y lo último que quieres es crear una barrera mental a la ejecución. Por ejemplo, si necesitas meter algunas líneas y mentalmente te sientes atascado porque sigues pensando en conseguir dinero para estudio de grabación o salir, te limitará. Solo se enfocará en la facilidad de acceso para la ejecución, y esto también se relacionará con mantener los costos manejables Usa tu área, usa tu dispositivo. Y entonces tienes que usar el talento de voz que está disponible para ti. Lo número uno que siempre comparto con todos los desarrolladores Indie es que eres tu primer actor de doblaje. Sin entrar en los detalles específicos, conozco literalmente a alguien que ganó 10 mil dólares dentro de los dos primeros meses de salir su juego, y las únicas líneas de voz dentro de su juego provienen sus propias voces grabadas en su micrófono básico en casa ¿Bien? Entonces eres tu primer actor de doblaje. Eres el primer pedacito de talento más importante. A continuación, si estás en un equipo o en un equipo de desarrollo Indie, y eres dos o tres personas, todos son actriz de voz o actor. ¿Bien? Entonces, si necesitas una voz de dama y tienes una dama en el equipo, solo habla con ellos y haz que expresen. Pueden hacer un poco de clases. No voy a entrar en todos los detalles. Usa lo que está disponible para ti. Tienes que estar listo. A continuación, puedes usar algún talento local. Por lo general, no es demasiado caro, y hay buenos actores de voz y actrices que estarán disponibles para ti Y luego pregúntale a amigos o familiares. Si tienes un hermano menor, hermana, hermano mayor, hermana, tus padres pueden ayudarte a dar voz personajes mayores, tíos y tías Puedes tener amigos, miembros en cualquier club en el que estés. Parece una gran pregunta, pero créeme, hay mucha gente a la que le encantaría compartir contigo parte de su energía y sus talentos y habilidades de voz. Más allá de eso, también puedes usar Fiber y otras plataformas para contratar personas para que hagan trabajos de voz para tu juego. Muchos de ellos en realidad tienen configuraciones de muy calidad que pueden usar para hacer un audio bastante bueno y claro La razón por la que pongo configuraciones de calidad por debajo de cosas como talento local , miembros de la familia, tú y otras personas en tu equipo, es porque aunque puedan grabar voz de calidad, siempre es mejor si todo el diálogo y la voz funcionan en tu juego viene de un solo lugar para tener esa consistencia, y hace que sea más sencillo tener un audio unificado para tu juego Por último, pero no menos importante, quiero decir, es una especie de lista. Usa IA si todo lo demás falla o si encaja dentro de tu juego. Así que usa tu talento de voz disponible. Ahora en el siguiente video, voy a mostrarles una rápida introducción a la audacia Esta es la interfaz de usuario para audacia cuando la abres, y te voy a mostrar cómo conseguir que tu trabajo de voz sea y te voy a mostrar cómo conseguir que exportado y listo para su uso en Unreal Engine 5. 005: introducción a la grabación de voz en Audacity: Bien, ahora que tenemos nuestro diálogo, en realidad empecemos a grabar el diálogo. En primer lugar, permítanme destacar rápidamente lo que voy a estar grabando. Entonces lo primero es, siempre te recomiendo si puedes grabar el diálogo de una sola vez por cada línea. Entonces cuando lo estés viendo, voy a grabar Hola. Sí, lo soy. Y luego el poco de agradecimiento. Esas son las tres líneas de diálogo que queremos poner en nuestro juego. Entonces abre Audacity. Y dentro de la audacia, lo primero que me encanta hacer es dirigirme a editar y luego preferencias, bien, y básicamente venir a editar, luego a preferencias Y luego las preferencias, te va a mostrar, quieres buscar la interfaz. Entonces, sí, esta es la interfaz de allá. Y ahora mismo está ambientado en el tema del clásico. Prefiero el tema de la oscuridad y déjame reiniciarlo. Entonces así es como se ve con oscuridad. Eso es solo una preferencia personal. Paso mucho tiempo frente a mi PC con mi trabajo, así que los fondos oscuros son mejores para la sustentabilidad. Ahora, todo lo que tienes que hacer es darle a este gran botón rojo. Esta es una sola línea de diálogo que he grabado. Y luego pulsa el botón Detener. Y si retomo esto, esta es una sola línea del botón. Bien. Si reproduces esto, no creo que vaya a pasar simplemente porque es una grabación, pero deberías reproducirla y deberías oírla. Si te gusta con sonidos, eso significa que tu micrófono y ambiente son buenos, y puedes comenzar a grabar el diálogo. Ahora, cuando estás grabando diálogos en un entorno profesional real, una cosa que siempre vas a necesitar hacer es que vas a grabar lo que me gusta llamar la línea de base. Entonces, como ejemplo rápido, esta es la frase de línea de base de cómo debe sonar el diálogo en cuanto a volumen y claridad en este juego. Y después de eso, esto de aquí mismo es solo la línea de base. Y esta línea de base es contra lo que vas a medir todo tu diálogo. No es algo que absolutamente tengas que hacer, pero es bueno para la calidad. Y luego después de haber grabado una línea de diálogo aquí, es hora de entrar a limpiarlo y cortarlo. 6. 006 Grabación de líneas y separación en Audacity: Bien, así que fundamentalmente, el diálogo que hay que grabar es Hola. Sí, lo soy. El comerciante con mis cosas ha llegado, y gracias, voy a estar en camino. Esas son las frases básicas que se necesitan para el personaje del jugador, y así es como funciona grabarlas. Entonces dentro de la audacia, tengo mi línea de base Entonces, si escucho esta es la frase de línea de base de cómo debería sonar el diálogo en cuanto al volumen y la claridad en este juego. Bien, así que tenía eso como base para asegurarme de poder mirarlo y saber si encaja o no lo que estoy grabando. La consistencia en el diálogo es realmente importante. Ahora, voy a venir aquí y voy a añadir una pista de audio. Entonces esto está en el menú superior, ve a Tracks, agrega nuevo y agrega una nueva pista estéreo. Eso va a crear una pista por aquí. Ahora haga clic en el original, y voy a hacer clic derecho en él, y quiero renombrarlo. Entonces voy a renombrarlo como línea base porque eso es todo lo que hace, actúa como línea de base. Entonces voy a silenciarlo, bien. Una vez que termine con eso, tengo mi guión, y ahora voy a grabar las líneas. Simplemente selecciono Pista de audio dos, y luego vengo aquí y hago clic en grabar para grabar las líneas. Todo bien. Entonces fuera de la pantalla, hice la grabación, y así es como sueno. Hola. Sí, lo soy. El comerciante con mis cosas, ha llegado. Gracias. Voy a estar en camino. No es la mejor actuación de voz, pero eso es un problema de mí. Ahora, fundamentalmente, tenemos las tres líneas. Tenemos la primera línea. Hola. ¿Tienes la segunda línea? Sí, lo soy. El comerciante con mis cosas ha llegado. Y tenemos la línea final. Gracias. Voy a estar en camino. Pero separarlos en esos tres y luego exportarlos. Lo primero es, queremos agregar en camiones nuevos. Entonces voy a agregar una camioneta nueva. Es bueno tener un camión nuevo para cada línea. Crea otro. tres líneas, crea otra. Ahora, vamos a nombrar, ¿de acuerdo? Haga clic derecho en Cambiar nombre de pista. Al primero, vamos a llamar , vamos a establecer una estructura de nomenclatura adecuada, pero simplemente llamemos a esto cero, cero, uno, ¿de acuerdo? Llamaremos a la siguiente pista, cero, 02 para significar que es la segunda línea Y luego finalmente, cero, cero, tres para la tercera línea. Y cortando, esto es realmente sencillo. Simplemente aguanta. Simplemente arrastra sobre luego controla una X para cortar, llega al inicio y controla V para pegar. Y luego lo mismo. Desde el inicio de cuando inicia el diálogo, controle X, luego el control de cable V, arrastre sobre este control X, Comeoa Control V para pegarlos dentro Entonces ahora tienes las tres líneas de diálogo en pistas separadas. A continuación, simplemente vamos a exportar estos y ponerlos en irreales 7. 007 Estructura de carpetas, nombres y diálogo de exportación: Entonces, comenzando en la posición saludable de tener nuestras líneas de diálogo para el siguiente bit, comencemos cubriendo cómo vamos a organizar la estructura de carpetas. Ahora bien, este es el formato básico que utilizo, y este es un formato listo para la producción. Al organizar y configurar la estructura para organizar archivos de audio, la primera carpeta va a ser el idioma, y luego el personaje y luego la búsqueda en la que Quest en realidad no es el mejor término. Quizás, yo llamaría a este contexto porque a veces el diálogo de mundo abierto se configurará en diferentes carpetas, pero eso no es importante. Por ahora, piénsalo como el Quest, y luego dentro de esa carpeta estará el archivo original, y luego las líneas. Ahora, déjame ilustrarte cómo es eso en realidad. Entonces digamos que queremos que este sea el primer conjunto de líneas que queremos salvar. Empezaremos por ir a archivar, y después queremos comenzar con Guardar Proyecto. Guardar Proyecto y no en la Nube quiere guardar en la computadora. Entonces el lugar donde vamos a estar guardando esto, permítame simplemente abrir una carpeta simple, ¿verdad? Entonces, antes que nada, comenzaremos con una nueva carpeta. Esta será tu carpeta de proyectos, ¿de acuerdo? Voy a llamarlo prueba, pero puedes configurarlo con un nombre que te guste. Dentro de la carpeta de prueba, vamos a crear una carpeta, y esto va a ser inglés. Bien. Entonces todo el diálogo inglés va a estar en esa carpeta llamada inglés. Ahora, por simplicidad, pasemos a la nueva carpeta. Y digamos que también queríamos tener diálogo japonés, ¿de acuerdo? Entonces podría decir japonés, y esta va a ser la estructura fundamental de carpetas. Empezamos con el idioma. Después del idioma, dentro del idioma, vamos a seleccionar y crear otra carpeta. Y esta vez, va a ser el personaje jugador. Ahora, por simplicidad, voy a llamar voy llamar a este jugador subrayado masculino Bien. Entonces digamos que tienes un juego donde puedes seleccionar entre ser protagonista masculino y femenino, así es como lo configurarías. Entonces esto va a tener todo el diálogo del jugador masculino. Y luego dentro del jugador masculino, ahora vamos a crear las carpetas de trabajo reales. Entonces la búsqueda para la que el diálogo para el que guardé mis voicelinas es búsqueda cero, cero, y digamos que tu juego tiene mil misiones, querrías llamarlo cero, cero, pero el mío probablemente tendría menos, así que lo llamaré Quest cero, cero La razón por la que me gusta guardar y organizar las carpetas de esta manera es en caso de algún cambio, va a ser muy fácil encontrar la búsqueda específica donde ese diálogo necesita ajuste. Entonces dentro de quest, simplemente la tendremos aquí y teclearemos quest, cero, cero, guión bajo, jugador, guión bajo, Eso es. Esa es la estructura básica simple. Entonces ahora tenemos guardado el archivo de este proyecto. Ahora fíjate en lo que hemos hecho. En la parte superior, copiamos. No cortamos este audio. Copiamos las líneas de audio para separarlas. Entonces, si alguna vez necesitamos hacer referencia a las líneas de voz originales, simplemente podemos venir aquí. Esta es la frase de base. Y obtener acceso. Entonces tenemos una línea de base y Oh, Mike, en realidad no guardé esto. Bien, no hagas lo que hice. La línea base es buena, pero no los corte con Control X, cópielos con Control C y conserve el archivo maestro. Siguiente, fíjate que todo está silenciado. Entonces si le pego play, no se juega nada. Entonces presionaré aquí. Voy a dessilenciar, y ahora nuestra línea de voz está disponible para jugar Entonces cuando presioné Play. Hola. Bueno se detendrá ahí. Ahora con solo esto siendo insilenciado, ten en cuenta, audacia solo reproducirá hasta el no diálogo hasta el punto en que se reproduce el audio no silenciado Por lo que sólo va a exportar esto. Así que ahora voy a volver a archivo y voy a ir a Exportar Audio. Déjame mostrarte exactamente por qué es Exportar Audio y exportar a la computadora. Ahora, la carpeta, está aquí. Entonces ahora fíjate que el nombre es quest 00 playermil punto WAV. Pero como esta es la primera línea de diálogo, y si vamos aquí, la llamamos 001, y es la primera línea, le ponemos un guión bajo y lo llamamos cero, cero, uno, y luego exportamos Y recuerden, se está exportando como una ola. Un archivo WAV es siempre el mejor tipo de archivo que desea utilizar para exportar su audio muy recomendable. En realidad, hay otro ajuste. En cambio, dado que la Búsqueda va tras el jugador en términos de nuestra jerarquía, hagamos que el jugador esté ahí en el guión bajo Y entonces la búsqueda viene después de que en realidad Quest no es completamente capital. Busca cero, cero, guión bajo, luego el diálogo que deja salir el jugador Entonces con eso, simplemente guardaremos el archivo web y lo exportaremos. Bien, entonces esta es la carpeta donde se exportará todo tu diálogo. Entonces ahora, cuando entres al inglés, tienes, déjame también hacer este jugador extra grande masculino, Quest 00. Y luego, así que fíjense por cómo hemos guardado, tenemos el archivo original, que tiene una grabación, que podemos hacer referencia en cualquier momento. Y luego tenemos la línea de búsqueda real. Déjame tocar esta línea de búsqueda para que podamos escuchar cómo suena. Hola. Hola. Ahí vamos. Hemos exportado nuestra primera línea de diálogo grabado, y lo hemos hecho de una manera que está organizada. Ahora bien, esta estructura básica de pasar del idioma al jugador a la búsqueda o contexto que quieres que las líneas estén en el archivo original y luego las líneas te va a ahorrar mucho dolor de cabeza. Nunca deberías estar luchando buscando archivos. Esa es una de las mayores despilfarradoras de tiempo. Cuando estás desarrollando juegos, quieres estar bien organizado. Ahora que esto está hecho, vamos de hecho a exportar las otras dos líneas. Ahora, rápidamente, hemos terminado de exportar 001. Voy a pegar silencio en eso y luego comprobaré cero. Sí, lo soy. Aguanta. Sí, lo soy. El comerciante con mis cosas tiene aquí. Bien, entonces para la segunda línea, ahora está sin silenciar. Voy a través de la Exportación de Audio. Bien. Ahora, simplemente voy a volver a cambiarlo. A ver. A ver. Carpeta. Este es el indicado. Entonces simplemente selecciono ese primero para que me permita cambiar el nombre. Entonces en vez de 001, será 002 wav. Quiero exportarlo así. Entonces eso ahora se exporta. Y se puede ver 002 está aquí exportado. Y si lo ponemos en cualquier orden, lo estoy. El comerciante con Excelente. Así que tenemos nuestro sistema de exportación de diálogo organizado sistema adecuado. Déjame exportar rápidamente la tercera línea. He exportado rápidamente gracias. Voy a estar en camino. Hecho. Entonces ahora tenemos esta carpeta, que tiene nuestras tres líneas de diálogo. A continuación, vamos a abrir irreal Engine y comenzar a construir realmente el sistema de diálogo Pero antes de entrar, quiero mostrarte algo. Ahora bien, esto de aquí mismo es audio. Hola. Este audio es algo que obtuve de un amigo mío. contraté a bordo para que me ayudara a grabar las líneas de voz femeninas, para poder mostrarte la diferencia entre las líneas de voz masculina y femenina y cómo integrar la opción de elegir entre las dos. Sí, lo soy. Entonces estas son sus líneas, y las voy a exportar también para demostración y para aprender. Ahora bien, si tienes voces masculinas y femeninas o incluso más que eso, así es como guardas el proyecto. Entonces vas a guardar el proyecto. Guarda el proyecto como bien. Y quieres subir donde guardaste tu proyecto, ¿de acuerdo? Y ir al inglés porque estas son voces inglesas. Y luego está el jugador subrayado masculino, simplemente creas una nueva carpeta, ¿de acuerdo? Y se llamará jugador subrayado femenino, algo así como en juegos como Mass Effect, donde podrás elegir entre Shepherd y Fem Shep Entonces tendrás estas dos opciones de voz. Entonces dentro del jugador femenino, puedes cambiar, abrir crear otra carpeta, y puedes poner en Quest O porque es la misma búsqueda. Y dentro de aquí, asegúrate de establecer el nombre del archivo como jugador, guión bajo, femenino, guión bajo, guión bajo, búsqueda cero, cero Bien. Así es como configurarías el nombre del archivo del proyecto y lo guardarías. Bien. Ahora bien, si quieres que sea aún más minucioso, puedes poner una EN antes que todos los archivos en inglés. Ahora, sólo por simplicidad, te voy a mostrar cómo es eso. Entonces digamos que comenzamos con la primera línea. Hola. El saludo muy fuerte. Entonces voy a seleccionar eso. Ahora quiero exportar el audio. Y claro, quieres exportarlo a jugador female quest, bien, cero, cero, y luego cero. A ver, 01. Como esta es la primera línea de diálogo, simplemente la llamaré 001. Si quisiera demostrar que este es el diálogo en inglés, simplemente podría escribir al principio guión bajo en inglés para que nuestros nombres de archivo sean representativos también del idioma que se habla Hace que sea mucho más fácil administrar archivos, sobre todo si tu juego va a ser muy grande y muy localizado. Así que vamos a guardar eso rápidamente. Ahora, ya te he enseñado cómo hacer esto varias veces. Déjame guardar las otras líneas de diálogo de voz femenina, y luego pasaremos al siguiente video donde realmente abriremos el motor Unreal y comenzaremos a colocar nuestro audio en el motor 8. 008 Creación del proyecto de motor irreal e importación de audio: Bien. Entonces ahora, en este punto, es el momento de agregar el audio a UnRel Engine Ahora, para llegar a UnrelEngine, simplemente abre tu lanzador de juegos Epi y simplemente haz clic en Launch for UnRel Engine, ya que a estas alturas, lo tienes instalado Dentro de Unreal Engine, una vez que se pone en marcha, simplemente quieres seleccionar el plano de tercera persona Básicamente, es una plantilla de ejemplo que usaremos. La razón por la que usaremos la plantilla de tercera persona es porque viene con animaciones y una plataforma que ya configuró, y eso estaría fuera del alcance de este tutorial si necesitara que hicieras todo eso tú mismo. Entonces, en cuanto a la plataforma de destino, puedes cambiar ese howver que quieras, pero usemos blueprints porque usaremos motores irreales integrados en el sistema Blueprint para ejecutar este sistema Ahora bien, en la medida en que básicamente seleccionas la ubicación de tu proyecto, ¿de acuerdo? Seleccionarás la ubicación de tu proyecto. Estoy llamando a Min DsCG y el nombre del proyecto es sistema de diálogo Guía completa Por supuesto, estas son solo las palabras que usaría. Para ti, es posible que necesites cambiarlo. Y me está diciendo que no puedo usar más de 20 caracteres. Entonces lo voy a llamar diálogo Guía del sistema. Bien, y simplemente voy a crear Y esto es lo que deberías estar viendo al final de UnrelEngine cargando las cosas Déjame mostrar mi mouse en pantalla solo para que veas claramente lo que estoy presionando. Bien. Entonces ese es mi ratón. Ahora, dentro de UnRel Engine, si mantienes pulsado el botón derecho y WASD, puedes moverte por el mundo, y eso es todo lo que estoy haciendo Entonces de este lado, se puede ver que tenemos algunas plataformas básicas. Este pedacito por aquí con una bandera es donde el jugador va a engendrar Dejé click para seleccionarlo. Déjame click out izquierdo. Entonces esto es lo que ves cuando golpeo play. Entonces por aquí, ahí está el botón Reproducir. He dejado clic para asegurarme de que tengo el control. Entonces tienes un personaje sencillo donde puedes caminar y puedes mirar a tu alrededor. Esto es todo lo que necesitamos para comenzar. Ahora, ahora que estamos aquí, si presionas Control y barra espaciadora, ¿bien? Ahora estarás viendo todas las carpetas dentro de este proyecto de motor de develar específico Se pueden ver todos estos personajes, desarrolladores, entrada, es ****. Eso es genial. Ahora, por simplicidad, vamos a crear una nueva carpeta, primero seleccionar el contenido, y luego hacer clic izquierdo y básicamente agregar una nueva carpeta. Y esa carpeta, simplemente la vamos a llamar dire Log y dentro de esta carpeta es donde vamos a mantener todo el diálogo para el proyecto Ahora, comencemos poniendo un solo archivo, y luego en el siguiente video, profundizaremos un poco más en qué hacer. 9. 009 Cómo agregar archivos de audio a Unreal Engine: Ahora, para poder exportar nuestros archivos a un motor irreal, simplemente encuentra el lugar donde guardaste los archivos Por ejemplo, tenemos inglés y japonés. No hay nada en japonés en este momento, pero podemos ver que el inglés tiene jugador femenino con el Quest cero y todo el diálogo que grabamos. Y actualmente también hay jugador masculino con todo el diálogo que se grabó. Ahora, simplemente vuelve a la cima. Obtendremos estos dos, y queremos copiarlos con control y después de copiarlos, te dirigás a la carpeta de tu proyecto AnreLo tu motor NUL Entonces dentro de esa carpeta, vas a encontrar otra carpeta llamada content. Esta carpeta está llena de todos los archivos que entrarán en tu juego. Entonces entraremos en la carpeta de contenido, y creamos una carpeta llamada diálogo. Entonces entraremos en la carpeta de diálogo, y luego vamos a hacer una simple pasta. Ahora, el inglés y el japonés están dentro de nuestro juego. Abramos UnrelEngine y veamos cómo acepta el audio Por supuesto, simplemente, lo llamé diálogo Guía del sistema, pero como sea que lo hayas llamado, simplemente puedes seleccionar ese proyecto donde hemos puesto en los archivos. Ahora, enseguida abrí UnrelEngine. Puedes mirar hacia arriba en la parte inferior derecha y dice seis cambios en el contenido fuente. ¿Te gustaría importarlos? Y de inmediato le pegaría a Import. Ahora que tenemos motor Anual ha importado, veamos qué ha traído. Estoy presionando la barra espaciadora de control para que aparezcan nuestras carpetas. Entonces ahora mismo, verás el diálogo dentro del que tiene el inglés y el japonés. Vamos a hacer clic en inglés y jugar un Mel Quest Zero. Ah, y mira eso. Tenemos nuestros archivos. Déjame golpear play en el primero. Hola. ¿Escuchaste eso? Hola. Unreal Engine tiene los archivos wav y los ha importado dentro. Sí, lo soy. El comerciante con lo mío. Eso es bastante genial. Vamos a rastrear a la hembra. Entonces vamos a jugar a una hembra. Hola. Sí, lo soy. Todo bien. Así que tenemos nuestros archivos de audio importados a Unreal Engine Y ahora que tenemos eso, vamos a repasar cómo guardar y grabar rápidamente en un video corto, y luego haremos clic Reproducir y en realidad configuraremos nuestro sistema de diálogo. 10. 010: Agregar un NPC al mundo: Ahora que tenemos nuestro proyecto en Annual Engine, es el momento de agregar un NPC al mundo con el que hablaremos y usaremos para crear el sistema de diálogo Ahora bien, hacerlo es en realidad bastante sencillo. Primero, ubicación, sabemos que el jugador genera por aquí, así que quiero que el NPC esté por aquí, a pocos pasos, pero en esa plataforma Una vez que tengamos la ubicación, ahora necesitamos simplemente crear el plano para el NPC Entonces control y barra espaciadora y después de eso, voy a pasar a los personajes y dentro de los personajes. Voy a crear un plano. Veamos, clase Blueprint. Y la clase que quiero usar va a estar ahí es actor, juego de palabras y personaje Ahora, voy a usar un peón de personaje por simplicidad, y básicamente es un NPC Entonces, con esta clase de plano base, se conectará fácilmente con otras cosas que querrás para tus personajes como un sistema de combate Entonces se selecciona el carácter. Y ahora tenemos esta nueva clase Blueprint. Ahora, por simplicidad, simplemente lo voy a llamar PNM subrayado campesino Pero simplemente puedes llamarlo NPC. Ahora haremos doble clic en NPC para abrir su plano. Ahora, dentro del plano del PNC, ves que tenemos un cilindro básico por aquí, bien, cápsula. Y en el lado izquierdo, tenemos el componente de movimiento del personaje. Y en la gráfica de eventos, tenemos al actor en start overlap, eventT y start play Nos meteremos en esto. Por ahora, tenemos nuestro plano básico configurado. Entonces lo que vamos a hacer Barra espaciadora de control, es que vamos a conseguir ese NPC y lo arrastraremos justo por aquí Observe que NualEngine se aseguró de que se mantuviera por encima del suelo para que no esté recortando Entonces ahora tenemos este NPC básico en el mundo. No obstante, si le pegamos a play, fíjese que básicamente no hay nada ahí. Bien, voy a caminar hasta aquí. Y sé que estoy golpeando un objeto, pero ahí no hay nada, así que vamos a agregarle un simple cuerpo físico. Ahora para agregarle un cuerpo físico simple, queremos agregarle un maniquí, así Barra espaciadora de Control Haga doble clic en NPC campesino. Abrirá el plano, y me aseguré de arrastrarlo a la ventana principal irreal del motor para que tenga fácil acceso yendo de él de nuevo al nivel Permítanme abrir rápidamente el editor de planos completo. Ahora estamos aquí. Ahora, lo que quiero hacer es dónde está la malla de personajes, quiero agregarle un cuerpo. Así que una vez más, controla la barra espaciadora. Bajar a tercera persona. Y dentro de tercera persona, habrá planos. Y notarás que este es el plano que usa el jugador Hagamos doble clic en él y arrástrelo a la ventana principal también. Ahora te darás cuenta de que estoy en la ventana gráfica. Se ve este cuerpo que el jugador tiene dentro de esa cápsula, eso es lo que queremos agregar al NPC, y ese cuerpo se encuentra debajo de la malla Ahora bien, si miras en el lado derecho, dice activo de malla esquelética, queen simple Eso es para el personaje jugador. Ahora, volviendo a NPC campesino, seleccionaremos el activo de malla esquelética de ahí Pasaremos a la malla del lado derecho. Y si hacemos clic, observe que tenemos acceso a un par de mallas diferentes Por simplicidad, voy a dar click en Muchos simples. Y ahora tenemos el básico Many malla esquelética. Aún no está listo, pero vamos a echarle un vistazo rápidamente en el mundo. Entonces ahora el dinero está por ahí, pero es como que flota en el aire, que realmente no es lo que queremos. Entonces hagamos algunos ajustes a su posición. Entonces vamos a conseguir dinero. Y para empezar, haciendo clic en la malla esquelética, existe la opción de cambiar su posición Por lo que hay ubicación X, Y, y Z. Para dejarlo caer al suelo, quiere reducir su ubicación Z. Me parece que con los esqueletos básicos irreales del motor, medidas, más bien, Bien Entonces, esencialmente, en cuanto a ubicación, configurarlo en negativo 89 es lo mejor. Y luego para la rotación, configurarlo en negativo 90 es lo mejor porque ahora está de frente a donde está el puntero y se ve bien. Este es nuestro NPC. Después hice algunos cambios en el posicionamiento mundial. Déjeme mostrárselos ahora. Ahora, en cuanto a posicionar a nuestro NPC en el mundo, lo primero, seleccionar este Perfecto Fue en cuanto a rotación, giré para estar a unos 210 grados en la Z, ¿de acuerdo? Esa es la rotación Z allá. Y con eso, lo movió un poco atrás. Así que vamos a echar un vistazo a dónde está. Así que caminando por aquí. Por lo que esta es la posición perfecta para que ahora comencemos a configurar el sistema de diálogo. Estaremos platicando con este PNC. Ahora en el siguiente video, vamos a usar la detección para saber dónde podemos interactuar y entrar en los sistemas de interacción y entrar en los sistemas de interacción y comenzar a construir el sistema de diálogo. 11. 011 Configuración de componentes de detección e interacción: Todo bien. Ahora, solo para un rápido entendimiento antes de seguir adelante, el sistema de diálogo que vamos a crear en Blueprints va a funcionar así Tenemos nuestro personaje jugador que va a pasar por una interfaz. Una interfaz es una forma sencilla de comunicar información entre planos. Y luego dentro de nuestro NPC, adjuntaremos un componente de diálogo El componente de diálogo va a manejar todos los datos de nuestro diálogo, por ejemplo, animación facial y también nuestros archivos de audio. Pero vamos a meternos en eso a continuación. Arrancadores, asegurémonos de que nuestro jugador sea capaz de interactuar con nuestro NPC y hablar con él y que nuestro NPC tenga un componente de diálogo para almacenar los datos Ahora bien, esto es lo que vas a hacer. En el estado actual del juego, cuando golpeas Play, puedes acercarte a este personaje, pero no pasa nada. Vamos a cambiarlo para que cuando estemos dentro de un cierto rango, comencemos, podamos detectar cuándo estamos en rango de audio. Y cuando presionamos un botón para interactuar con este personaje, nos paramos en una posición que parecen estar hablando entre ellos. Eso va a ser con lo que empezaremos. Ahora, para seguir adelante, tengo barra espaciadora de control, y voy a buscar un lugar. Vamos a entrar en tercera persona. Y luego planos. Bien. Entonces dentro de esta tercera persona y plano, aquí es donde quiero poner el componente ¿Bien? Entonces, derecho, haga clic. Vamos a simplemente escribir componente. Agárrate. En realidad, antes de entrar en componente, vamos a configurar una interfaz. Aquí estamos Blueprint interface. Así que haz clic en eso. Y ahora tenemos nuestra nueva interfaz, y se llama a sí misma Nueva interfaz. Pero vamos a sugerir eso. Vamos a haber presionado F dos para cambiar su nombre, y vamos a llamarlo interactuar. ¿Bien? Entonces básicamente, interactuar va a ser nuestra interfaz, y es lo que usaremos para hablar con nuestro otro plano, bien, hablando entre nuestro personaje y el NPC Ahora que se crea ese plano, haz doble clic en él y nota en su interior Todo lo que hay es una nueva función. Bien, y la función actualmente está vacía, y eso es todo lo que tiene ser por ahora, déjame cerrar esto. Compile y ciérrelo rápidamente. Ahora, configurar el componente actor va a estar un poco más involucrado. Entonces comenzaremos con, por supuesto, el espacio de control. Y luego una vez que estemos aquí, no vamos a poder encontrarlo tan fácilmente. Por ejemplo, si vienes por aquí y tecleas interfaz, te va a mostrar la interfaz Blueprint, y podrás seleccionarla, y es bastante fácil llegar a No obstante, para nuestro componente actor, está un poco más involucrado. Primero tienes que dirigirte a la clase Blueprint, y luego te mostrará todas estas clases diferentes Después vas a todas las clases y buscas, y quieres buscar componente actor. Además, no tengo idea a lo que le está ladrando mi perro. De todas formas, así que quieres encontrar objeto, componente actor, y seleccionar que ahora está por aquí y está diciendo: Oye, nuevo plano, y, ya sabes, primero vamos a cerrar eso Barra espaciadora de control. Entonces aquí tenemos nuestro nuevo plano, y este plano es que notas actor de clase parental nativa Ahora voy a pressF dos, y voy a llamarlo componente de diálogo Y ahí estamos. Entonces tenemos nuestro componente de diálogo, y tenemos nuestra interacción. Entonces la interacción es la interfaz de blueprint que va a conectar nuestros dos blueprints juntos, y el componente de diálogo es una clase de blueprint Ahora, ahora que tenemos estos dos establecidos, vamos a configurar la detección de si nuestro personaje puede detectar o no al enemigo, no al enemigo, al NPC y comenzar a interactuar con él Ahora, para que la detección funcione correctamente, lo primero que vamos a hacer es abrir nuestro plano de personaje en tercera persona Y notarás que ya está poblado con todo el código que permite que este maniquí camine por ahí No necesitamos tocar eso. Estamos aquí por el sistema de diálogo. Entonces en la parte superior, simplemente vamos a presionar C y C va a hacer que haya un cuadro de comentarios. Quiero agrandarlo un poco. Personalmente, soy un gran fan de tener caja de comentarios completamente completamente 100% negra. Entonces voy a cambiar eso con caja negra, pero con comentarios blancos. Y vamos a llamar a esta interacción detectora. Eso, nada más. Ahora también, aumentaremos el tamaño de fuente a unos 50 que pueda ver fácilmente lo que hay dentro de este comentario, y mantendremos el comentario como movimiento de grupo. Ahora, dentro de esto, todo lo que vamos a hacer es configurar algún código para detectar si un objeto que es interactable se Ahora bien, ¿cómo vamos a hacer eso? Bueno, para empezar, vamos a sumar en una esfera alrededor de nuestro personaje, que está escuchando objetos interactuables Entonces simplemente nos dirigiremos a los componentes aquí, y vamos a querer agregar un componente así que para agregar una caja de calor por aquí, que usaremos, simplemente vamos a agregar. Y queremos buscar un colisionador. Pero digamos usemos colisión de esfera. ¿Bien? Entonces ahora, ha agregado ese pequeño colisionador de esferas Vamos a expandirlo yendo a escala. Bloqueemos la báscula para que escale todo hacia arriba. Ahora simplemente estoy arrastrando hacia arriba creo que esto parece correcto. A cinco. Déjame hacerlo aún más grande hasta unas seis. Entonces, en el momento en que algún momento entre a esta región, detectará que hay un objeto interactable Entonces ahora que tenemos esa esfera, voy a ir a la esfera, y voy a llamarla interacción, es caja, ¿de acuerdo? Después compilar. Entonces tenemos esa interacción hit box. Pero claro, en su estado actual, no está haciendo nada porque no le hemos dicho que haga nada. Entonces voy a caminar justo por aquí, y no ha pasado nada. No obstante, ahora que lo tenemos, si entramos en el gráfico de eventos donde configuramos este comentario para detectar interacción, voy a seleccionar la interacción en box y luego agregar un evento, y el evento va a estar en componente comenzar solapamiento. Básicamente lo ha agregado en algún lugar súper lejano. Control X para cortar, traerlo de vuelta aquí, Control V para pegar. Así que ahora tenemos esto que se disparará en la superposición de componentes, y luego de vuelta al cuadro de impacto de interacción, voy a agregar otro evento en la superposición de extremo de componente, ese. La superposición es cuando dos cosas se ponen una encima de la otra. Entonces esta esfera en box va a estar escuchando o tocando otra en box o collider Así que tenemos en componente comenzar superposición y componente final superposición. Entonces, por simplicidad, para detectar, vamos a arrastrarlo y usar una simple cadena de impresión. Entonces llamaré a esto solapamiento final. Bien. Y luego imprimir cadena. Y llamar a esto comenzar solapamiento. Así que ahora tenemos o va a imprimir solapamiento final o comenzar. Solo para que quede aún más claro, lo configuraré para que el solapamiento final sea de color rojo y comenzar a superponerse va a ser el color verde Así que tendremos esa confirmación visual sin necesidad de leer el texto y presionar compilar. Ahora en su estado actual, si entramos y golpeamos play, notemos que comenzó diciendo comenzar solapamiento. Ahora está diciendo comenzar a superponerse, y superponerse, comenzar a superponerse y superponerse, comenzar a superponerse y superponerse. Eso es bueno. Ahora somos capaces de detectar si nos hemos solapado con un objeto Ahora, en el siguiente video, solo vamos a ajustar la superposición por el bien de la optimización número uno, lo cual es realmente importante con el motor irreal Y dos, para cambiar lo que sucede cuando se detecta el solapamiento, sigamos adelante. 12. 012 Comunicación con el plano del NPC: Todo bien. Ahora que estamos en el punto en el que tenemos nuestro personaje principal que es capaz de trabajar y comenzar a superponerse y superponerse, podemos detectar cuándo está en el rango para interactuar. Hagamos algunas optimizaciones a nuestra interacción en box, ¿de acuerdo? Entonces lo primero que vamos a hacer es dentro del plano de tercera persona Quiero que selecciones la casilla de impacto de interacción, y en los detalles, escriba colisión o COL. Traerá a colación todo lo que necesitamos ver. Entonces ves ahora mismo está configurado para superponerse a todas las dinámicas lo que significa que se superpone con todos los diferentes objetos, por lo que la física destructible, pero no queremos que esto sea Lo configuraremos a medida. Y ahora vamos a decir, Oye, ¿cuáles son las respuestas de colisión? Queremos que esté ahí para la superposición. Visibilidad, no, no queremos que esté ahí. No, no bajo la cámara. Y luego bajo las respuestas de objetos, lo único a lo que queremos que reaccione va a ser el peón que es todo lo que queríamos hacer Ahora, solo para probar que esto está funcionando correctamente en juego. Sólo debe detectar solapamiento con el peón. Bueno. Entonces eso está funcionando. Eso es un poco de optimización. Ahora, lo siguiente que vamos a hacer es que vamos a en los mismos detalles de la interacción it box, vamos a buscar la t Entonces debería estar diciendo que comienza con tick habilitado, pero queremos cambiar el tick de cero, ahora mismo en línea base, debería ser cero a algo un poco más largo como 3 segundos. La razón por la que lo hemos establecido en 3 segundos es porque va a reducir el número de veces que esto verifica. Esto es un poco de optimización porque cuando se trata de la toma, la toma básicamente significa el cálculo, la comprobación. Lo hemos configurado para verificar una vez cada 3 segundos porque normalmente, déjame abrir la calculadora. Si tienes tu juego funcionando a 120 cuadros por segundo, eso significa que por cada 1 segundo, los 120 frames, eso significa que cada 0.008 segundos, haría el cálculo Entonces si hacemos 1/0 0.00. Y divides uno por 0.083, obtienes Entonces estaría disparando varias veces por segundo. Pero ahora que lo hemos reducido a tres, sólo se disparará una vez cada 3 segundos. No quieres que ese intervalo sea demasiado largo. No quieres que sea demasiado corto. ¿Bien? Eso es sólo algo a tener en cuenta. Todo bien. Pero ahora que tenemos esa poca optimización vuelve al plano de tercera persona, selecciona la interacción detectora, Control C para copiar, y luego lo vas a pegar Control V, y luego cambiar el nombre de ese comentario Yo lo estoy llamando interacción de fuego. Aquí va a ser donde realmente presionemos un botón para comenzar a interactuar con el diálogo. Ahora, para empezar vamos a abrir nuestro plano en tercera persona, y por simplicidad, vamos a necesitar encontrar que vamos a necesitar encontrar los controles Entonces los controles están debajo de la carpeta llamada input. Entonces dentro de la entrada, observe que hay una carpeta llamada Acciones, y luego hay IMC default Déjame hacer doble clic en IMC default. Echa un vistazo a las asignaciones. Sí. Esto tiene mapeos para saltar mover y mirar. Ahora, todo lo que vamos a hacer es entrar en acciones, y vamos a crear otra acción de entrada. Entonces para hacer eso, permítanme escribir entrada. No, déjame salir de eso. No creo que necesite escribir ahí. Déjame venir aquí. Quiero crear una nueva acción de entrada. Excelente. Entonces por simplicidad subrayado, lo llamaré IA subrayado interactuar Entonces ahí está IA subrayado interactuar. Y luego voy a subir a la entrada. Haré doble clic en IMC default, que son los controles de interacción predeterminados Entonces entraré en asignaciones y haré clic en Agregar. Y luego veamos el que quiero agregar es interactuar. Entonces voy a hacer clic en Interactuar. Ahora interactuar es algo que puedo mapear a un botón. Voy a mapearlo a E en el teclado. Eso va a ser lo suficientemente bueno por ahora. Ahora la razón por la que estamos haciendo esto es porque queremos configurar un botón que se utilizará para interactuar. Ahora que tenemos eso marcado, volvamos al plano de tercera persona En primer lugar, guardar todo. Siempre sigue ahorrando. Y queremos buscar subrayado IA, interactuar. Entonces ahora tenemos interactúo aquí. Entonces, cuando presionemos el botón, disparará todo aquí. Ahora, por simplicidad, primero hagamos una comprobación rápida. Deberemos imprimir cadena hola. Eso es lo suficientemente bueno porque solo queremos hacer una comprobación rápida de que el botón está funcionando. Entonces sí, cuando presiono , escribe hola pero está escuchando consistentemente. Así que volveremos vamos a sacar el gatillo. Y luego vamos a decir, veamos, haremos una rama rápida. No, en realidad no nos ramificaremos. Lo que queremos es, vamos a ver, aquí estamos dispuestos un do una vez asentir No necesitamos una rama, clic derecho y configuramos un nodo do once. Entonces, cuando se activa, presiona una vez, y cuando se completa, se restablece, luego ingresará la cadena Esta es una manera de suavizar las entradas. Entonces ahora si vuelves y presionas Reproducir, presionaré el botón inter, solo sale una vez. Cuando lo solté, ya está hecho. Por lo que esto evitará más instancias en las que esté tratando de continuar presionando el botón cuando solo lo mantengas presionado. Eso es solo un pequeño consejo rápido para ti. Bien, entonces ahora tenemos un botón para iniciar la interacción, y tenemos una manera de detectar rápidamente. Vamos a entrar aquí. Comenzar superposición, final de superposición, comenzar, hacer. Puedo presionar el botón e iniciar la interacción. Bueno. Entonces estos son los conceptos básicos que necesitamos tener listos antes de seguir adelante. Ahora, usemos realmente la interfaz que configuramos para conectarnos con el NPC Ahora, para hacer eso, necesitamos tener una comprensión clara de cuándo somos capaces de interactuar. Ahora para hacer eso, vamos a configurar una variable muy sencilla. Entonces agregaremos una variable, y la llamaremos puede underscoe interactuar En realidad puede subrayar, interactuar. Y va a ser un booleano donde uno va a significar no Quiero decir, uno va a significar que sí y cero va a significar que no. Ahora, en aras de la simplicidad, asegúrate de compilar y establecer el valor predeterminado en off. Entonces el valor predeterminado siempre va a ser falso o puede interactuar. Entonces vengamos por aquí. Creo que vamos a retroceder un poco la detección para que podamos ampliar ese comentario para más. Arrastraré en la lata interactuar, y lo llamaré set, y luego copiaré y pegaré estos dos nodos usando Control C para copiar, Control V para pegar. Entonces justo después de que se detecte el solapamiento, simplemente declarará que puede interactuar. Y luego al final de la superposición, estableceremos la lata interactuar de nuevo para que no sea posible. Eso es bueno. Ahora que ya lo hemos hecho, lo siguiente que queremos hacer es que lo queremos hacer para que cuando se presione este botón, envíe un mensaje al NPC diciéndole que queremos interactuar contigo Ahora hacer eso es bastante sencillo. Comenzaremos por regresar al botón de interacción de disparo. Cerraremos este sonido para que no sea demasiado largo. Bien. Entonces después de hacer una vez, en lugar de imprimir una cuerda, vamos a establecer una rama. Una rama significa que puede ir por una de dos vías. Entonces con esa rama, permítame aumentar el tamaño de este comentario. Desde esa rama, vamos a arrastrar en la lata interactuar conseguir colocar esto aquí y luego conectarlo a la condición. Ahora la razón por la que estamos haciendo eso es que queremos escuchar y averiguar si puede interactuar, entonces debería disparar. ¿Bien? Eso es cierto. Entonces cuando presionemos este botón, disparará el código que ponemos aquí. Si no puede, no hará nada. Eso es esencialmente todo lo que tenemos que hacer. Entonces ahora tenemos una manera de detectar si podemos interactuar o no podemos. Y tenemos una manera mandar un mensaje al otro objeto si podemos. Ahora bien, esta parte va a necesitar conectar estas dos. Entonces lo que vamos a hacer es que vamos a arrastrar el otro componente actor aquí para que podamos conectarnos con el otro actor con el que nos estamos superponiendo para interactuar con ellos. Ahora volvamos y echemos un vistazo a nuestra interfaz una vez más. Entonces nuestra interfaz se llama interactuar. Vamos a hacer doble clic en él. Y dentro de interactuar hay una función simple llamada nueva función. Cambiemos su nombre a la función de subrayado de interacción. Bien, entonces se llama función de interacción. Ahora bien, si volvemos al plano en tercera persona, ya ve al otro actor Si arrastramos del otro actor al espacio, y cuando Unreal Engine nos pide lo que queremos, escribimos la palabra interactuar Y vas abajo, notarás que hay una clase con interacción, una forma de enviar un mensaje, y está mostrando la función de interacción. Así que vamos a hacer clic en esa función de interacción. Ah, y mira lo que tenemos aquí. Entonces ahora tenemos una función de interacción que está lista para una entrada diciéndole que se disene. Así que vamos a conseguir esto y lo arrastraremos hasta aquí hasta aquí. Y diremos, Oye, si es cierto que el jugador ha pulsado el botón y puede interactuar, disparemos esta función de interacción específica. Y fíjate, todo lo que tiene es un target, y a partir de ahí, va a mandar un mensaje al NPC de que quiere interactuar con él Así que vamos a compilar rápidamente. Y ahora dentro del NPC, también vamos a agregar algunos nodos Pero para empezar, sólo para asegurarse de que no se rompa nada, caminas por aquí, y presionando E, no está pasando nada. Yo vengo aquí. Oh, sí, todavía no hay una manera adecuada de detectar un momento, presiona Control S para guardar el código. Ahora tendremos que entrar en el NPC para asegurarnos de que realmente podamos detectar cuándo el jugador ha pulsado el botón Ahora, lo que vamos a hacer es ir al plano campesino del PNC, y luego vamos a ir a los ajustes de clase En la parte superior, cuando estés mirando el gráfico de eventos, hay un botón llamado configuración de clase, harás clic en él. Y luego bajo la configuración de clase, vas a ver una opción para interfaces debajo de los detalles, y luego vas a agregar una interfaz, y simplemente vamos a llamarlo interactuar. Aquí estamos. Entonces ahora que tenemos la interfaz de interacción agregada, como pueden ver, está aquí, eso nos va a permitir acceder a una función que ha sido llamada desde otro blueprint, esencialmente Y ahora que tenemos eso, hagamos algo dentro del NPC causado por el jugador presionando un botón Entonces si estás dentro del NPC, haz clic derecho y luego escribes interactúas, observa que ahora bajo la interfaz de entrada de interacción, derecho, tienes función de interacción Presionemos eso. Entonces ahora tenemos esta función de interacción a la que tenemos acceso. Ahora bien, si bien puedes usar esta función de interacción para ser despedido, digamos, al comenzar a jugar o con otra interacción, esto no es fundamentalmente lo que queremos. Bien. Y si haces doble clic en él, te lleva a interactuar. Eso no es lo que queremos. Volviendo al campesino, si te desplazas hacia abajo, notarás que ahora también hay un nuevo evento. Y a este evento se le llama función de interacción. Y este evento es lo que se va a llamar cuando se active el botón de interacción. Así que llamemos a una cadena de impresión rápida. Y lo dejaremos en hola. Sólo estamos haciendo un rápido real. Déjame decir que es interactuar. Eso es lo que va a imprimir. Así que compila y vuelve a intentar interactuar una vez más. Entonces en el momento en que presiono el botón, note que está en la esquina superior izquierda. Se demuestra con éxito que la interacción está funcionando. Ahora que tenemos la interacción funcionando, continuación pasamos a ponernos en la posición correcta para el diálogo. Ahora bien, si presiono E aquí, déjame asegurarme de que puedas ver esto. Déjame mostrarte mi teclado. Así que presiona play. Si presiono E desde aquí, no pasa nada. Sin embargo, una vez que estoy rango, comenzar a superponerse. En el momento en que presione E, afirmará que estoy interactuando. ¿Bien? Pero una vez que estoy fuera, cuando estoy fuera de alcance, cuando presiono E, no pasa nada. Esto es todo lo que necesitamos para comenzar a configurar correctamente el sistema de diálogo. A continuación, vamos a entrar en cómo reposicionar al personaje del jugador el lugar correcto para que comience el diálogo 13. 013 Reposicionamiento del reproductor para los diálogos: Todo bien. Entonces lo siguiente que vamos a hacer es configurarlo. Así que cada vez que vengas e intentas interactuar, cuando estás en el rango, tu personaje principal va a entrar en una posición de conversación. Ahora, lo que eso significa esencialmente es que vamos a configurar un objeto en el NPC alrededor de esta región Y cada vez que entra el personaje jugador, para hablar con el NPC, el personaje jugador se mueve justo delante de él Ahora, el primer paso para hacerlo es que entraremos en el plano campesino del NPC, entraremos en la ventana gráfica, y vamos a agregar a la ventana gráfica un objeto simple, que vamos a usar para posicionar al personaje posicionar Ahora bien, la forma en que me gusta configurarlo es simplemente agregar un componente, y quiero agregar un simple colisionador de cajas Todo bien. Ahora, voy a llamar a ese colisionador de cajas posición de conversación Eso es todo lo que tiene que hacer. Es la posición donde debe estar el jugador cuando está teniendo ese diálogo. Lo voy a arrastrar a aproximadamente déjame decir 200 unidades en el eje X. Y eso es todo lo que tengo que hacer. Lo he arrastrado a 200 unidades a lo largo del eje X, así que está frente a nuestro NPC Si miramos en el mundo, es por aquí. Eso es lo suficientemente bueno para la mayoría de las conversaciones. Conversaciones mercantiles, conversaciones con aliados y enemigos por igual, esa es una buena. Ahora, más adelante, se puede ajustar esta p sobre una base de PNJ, pero aquí va a ser donde está por ahora Ahora que hemos terminado con eso, volvamos de nuevo al campesino del PNC y volvamos a la gráfica de eventos Entonces lo que vamos a hacer es ahora que tenemos ejecutándose la función event interact, y ahora está configurada para imprimir cadena, vamos a reemplazar esto con algunos nodos que cambiarán la posición del personaje jugador. Ahora, para hacer eso, ahora vamos a usar la interfaz de interacción con toda su fuerza por primera vez. Entonces vayamos a la interfaz de interacción. Donde quiera que lo hayas puesto, que interactúan, haz doble clic en él y asegúrate de que sea fácilmente accesible. Entonces en este momento, la interfaz de interacción tiene una función de interacción. Pero esta función no tiene ninguna entrada, y no tiene ninguna salida. Bien. Ahora vamos a cambiar eso para que haya entradas, y haya algunas salidas para que las usemos. Y eso nos va a permitir pasar datos a través de la función de interacción. Ahora lo primero que vamos a hacer es seleccionar la función de interacción y luego entraremos en sus detalles, y vamos a agregar una entrada. Añadió eso y lo he hecho más. Ahora, esa entrada, voy a llamar a este jugador personaje. Ahora bien, la razón por la que lo estoy llamando personaje jugador es porque voy a cambiar su tipo para que podamos usarlo para hacer referencia al personaje del jugador. Ahora bien, el tipo que estamos buscando va a ser una referencia de objeto. No, no referencia de objeto de cámara base. Lo que queremos es el objeto actor. Entonces escribe actor, y entonces deberías verlo por aquí. Tipo de objeto, actor, y tendremos esta configuración como referencia de objeto. Entonces ahora tenemos a nuestro actor aquí y está configurado como referencia de objeto base. Asegúrate de que esté funcionando correctamente. Actor, ese es el personaje del jugador. Por lo que ahora la función de interacción tiene un personaje de jugador. Control S para guardar, compilar rápidamente, supongo, también guardar todo Control Shift S, guardar todo. Ahora, volvamos a nuestro personaje en tercera persona, ese es el plano del personaje del jugador y veamos cómo ha cambiado la función de interacción Entonces ahora en la interacción de fuego, observe que hay una nueva entrada llamada personaje jugador. Entonces es escuchar al personaje del jugador como una forma de datos o referencia que está listo para aceptar. Y entonces si entras en el campesino NPC, notarás que hay una salida llamada personaje jugador que ahora existe Esta es la forma fundamental en la que se pasan los datos de un plano a otro y les permite hablar entre Bien, ahora que tenemos aquí al personaje jugador, ahora podemos cambiar su posición en el momento en que interactúes. Ahora comenzaremos con el personaje en tercera persona porque necesitamos agregar aquí una referencia al personaje jugador. Ahora, dentro de tu personaje jugador, conseguir una referencia es sencillo. Simplemente escribe uno mismo, y estamos obteniendo una referencia a uno mismo porque este plano es exactamente el personaje del jugador Y ahora vamos a poder acceder a todas las propiedades del yo dentro de la función de interacción. Vamos a compilar eso. Ahora vamos al campesino del PNC. Y ahora como el personaje jugador para ajustar su posición para que se mueva por aquí va a ser bastante sencillo. Entonces vas a, antes que nada, comencemos haciendo un simple comentario, presione C, y prefiero establecer el tamaño del teléfono a 50 y el color de fondo a totalmente negro ahora que tenemos este comentario, Bien, vamos a expandirlo porque esto va a ocupar una cantidad razonable de espacio. Y el propósito de todo el texto aquí va a ser más jugador a la posición de conversación. Eso es esencialmente todo lo que va a hacer. Ahora que tenemos ese setter, puedo conseguir todos estos otros nodos y arrastrarlos fuera. No son importantes para nosotros. No los necesitamos. Entonces, a partir de la función de interacción del evento, arrastraremos el personaje del jugador y queremos obtener la ubicación del actor. Entonces esto va a mantener la ubicación o nos permitirá acceder a la ubicación del personaje jugador, y lo dejaremos ahí arriba. Ahora queremos agregar en el nodo alguien para establecer la ubicación y rotación del actor. Entonces nos arrastraremos desde la función de interacción del evento principal, y diremos establecer la ubicación del actor, que nos va a dar acceso a la ubicación y rotación del actor, y lo conseguiremos. Y vamos a usar esto para cambiar la ubicación y rotación del actor. Ahora se podría decir, ¿qué actor? Bueno, definitivamente va a ser el personaje del jugador. Déjame arrastrar esto, y ese va a ser el objetivo que vamos a usar. Así que vamos a compilar rápidamente. En este momento está listo para simplemente cambiar su ubicación a 000. Entonces veamos si esto está funcionando como se pretendía. Entonces, si trabajas de nuevo al personaje, y simplemente presionas E. Sí, se teletransporta a la ubicación 000 No donde queremos que esté, pero al menos sabemos que el código está funcionando correctamente. Está interactuando de nuevo con el campesino del PNC. Lo que vamos a hacer es que vamos a dividir el dolor estructural de la ubicación, dividir el pin de estructura. Entonces lo que queremos hacer es que queremos retener queremos conservar la ubicación Z actual. En otras palabras, su altura. Queremos conservar su altura, y todo lo demás es lo que vamos a permitir cambiar. Esa es su posición horizontal. Entonces la Z se va a poner en esa posición. A continuación, lo que vamos a hacer es que vamos a llamar una referencia al yo. Este es el propio NPC. Y lo que vamos a hacer es que queremos conseguir rotación de actores. Oh, he escrito mal la rotación, obtengo rotación de actor, y luego queremos dividir este valor Y lo que queremos es que el personaje jugador se enfrente cara a cara con el NPC con el que está hablando Así que también dividiremos el pin de estructura en rotación. Y entonces lo que vamos a hacer es que vamos a conseguir la rotación Z, que es la yema y luego vamos a agregarle. Y cuando agreguemos, la cantidad que agregaremos va a ser exactamente una, va a ser exactamente 180 grados. La razón por la que estamos usando 180 grados ahí es que obtendremos la rotación de esto. Y cuando agregas 180 grados, es como girar 180 grados. Entonces va a garantizar que el personaje jugador va a estar enfrentando al NPC Entonces echemos un vistazo a cómo se ve eso. Entonces me acercaré al PNJ. En el momento en que presiono E, note que el personaje jugador está directamente frente al NPC Ahora déjenme apartar la mirada solo para mostrarlo con más claridad. Estoy mirando hacia otro lado pero estoy en rango de interacción. Ahora, le estoy mirando directamente. Eso es perfecto. Eso está funcionando correctamente. Todo bien. Así que volvamos a la gráfica de eventos. Ahora que tenemos la configuración correctamente a 180 grados, así que esa es la nueva rotación Z. Lo siguiente es que vamos a necesitar configurar la ubicación real del actor hasta la nueva ubicación Y y la nueva ubicación X. Recuerda esa caja que hicimos que tiene la posición de toing Arrastraremos la posición de toing por aquí, y luego obtendremos la ubicación Bien, vamos a conseguir una ubicación salvaje. La ubicación salvaje es lo que necesitamos. Y luego partiremos ese pin, y luego agregaremos en la ubicación X y la ubicación Y. Con todo eso, permítanme traer todos estos juntos agradables y ceñidos aquí Entonces con esto, estos nodos son todo lo que necesitamos para mover al personaje jugador a la posición de conversación para nuestro sistema de diálogo. Así que voy a venir aquí. Golpeé E, y mira, perfecta, posición ideal para platicar. Ahora, ahora mismo, todavía tengo el control del personaje. Bien. Pero a continuación, vamos a configurarlo que en el momento en que ingreses a la posición de conversación, pierdas el control sobre el personaje, y agregaremos una interfaz de usuario en la parte superior y luego iremos después de eso, platicando cómo hacer que ese diálogo juegue entre los dos personajes. Vamos a seguir adelante. 14. 014 Configuración de la función de componente de diálogo: Todo bien. Ahora estamos en una posición donde nuestro personaje puede caminar hacia un NPC, y al presionar el botón está en posición de platicar A continuación, vamos a configurar la función de componente de diálogo. Ahora, abramos el plano campesino del PNC. Y te darás cuenta ahora mismo, todo lo que tiene es la función de interacción de eventos que obtiene los datos del personaje del jugador y luego los usa para realinear la posición del personaje del jugador con un simple conjunto de ubicación y rotación del actor Ahora vamos a usar el componente de diálogo que antes creamos ahora Barra espaciadora de control. Recuerde, creamos la interfaz Interact Blueprint que usamos para comunicar entre el blueprint del personaje de Clare y el NPC, y eso Bien, usamos esto de interactuar, y eso es lo que hemos usado hasta ahora. Ahora, a continuación, vamos a ajustar nuestro componente de diálogo. Así que rápidamente haga doble clic en ese componente de diálogo. Ahora al hacer doble clic, se abrirá aquí. Vamos a abrir el editor completo de Blueprint. Ahora el componente de diálogo, como vemos aquí, tiene un tick de evento y tiene el start play. No vamos a utilizar el tick del evento y comenzar a jugar, así que solo voy a eliminarlos. No los necesitamos en estos momentos. Pero lo que sí necesitamos es una función sencilla. Así que simplemente haremos clic derecho y queremos crear un evento personalizado. He escrito Custom. Nos dará la opción de un evento personalizado. He hecho clic en el evento personalizado, y llamaremos a este evento personalizado Talk Todo bien. Ahora, ahora que tenemos este evento personalizado Tk setup, lo que queremos de Tk es que queremos crear una interfaz de usuario sencilla y aplicarla a la pantalla. Y dentro de esa interfaz de usuario , muchas veces llamada widget en Unreal Engine, vamos a usar eso para administrar el Vamos paso a paso para que tengas un entendimiento pleno. Ahora, desde el evento personalizado Tk, lo vas a arrastrar y quieres crear widget. Eso es. Ahora, ahora mismo está vacío. Necesitamos crear una clase, pero por ahora, vamos a dejarla como está. Aún no hemos creado el widget. Es solo configurarlo. Así que está destinado a construir esto, ¿de acuerdo? Ahora, después de construir este widget, lo siguiente es que queremos ajustar la interfaz de usuario, lo que básicamente significa querer agregarlo a la ventana gráfica Entonces queremos arrastrarlo hacia fuera y diremos add to viewport. ¿Y qué estamos agregando a viewpot? Estamos agregando lo que sea que estemos construyendo Controles. No te preocupes. Esto se compilará más adelante. Sólo queremos configurarlo. Ahora que estamos construyendo un widget y agregándolo a la ventana gráfica, lo siguiente que queremos hacer es simplemente querer obtener el controlador del jugador. Bien. Y desde el controlador del reproductor. Bien, desde el controlador del reproductor, arrastraremos hacia fuera, y luego configuraremos el modo de entrada. Bien. Y vamos a establecer el modo de entrada solo a la interfaz de usuario. En otras palabras, nuestro personaje jugador no debería estar controlando ningún movimiento. Está configurado para ser estrictamente controlador de interfaz. Déjame mover el controlador del reproductor hacia abajo. Y luego en cuanto en widget para enfocarnos, vamos a arrastrar el valor de retorno. Porque el widget que creamos va a ser el que nos centraremos. Entonces hay una cosa más que vamos a ajustar. Vamos a asegurarnos de que se muestre el cursor del ratón. Entonces pondremos el cursor del ratón. En realidad, no, mostrar mostrar el cursor del ratón. Así que establece, muestra el cursor del ratón. Y queremos establecer mostrando el cursor del ratón para que sea verdadero. ¿Bien? Así que déjame cubrir esto muy rápido. Hay un evento personalizado en el componente de diálogo llamado Talk que creamos. Lo hemos configurado para construir un widget que no hemos creado, pero lo insertaremos aquí. Tampoco hemos configurado todavía al jugador propietario, pero volveremos a esto más tarde Lo agregaremos a la ventana gráfica. Conectaremos ese valor desde el widget construido. A partir de ahí, también establecemos interfaz de usuario del modo de entrada solo después de obtener el controlador del reproductor, y estableceremos el widget in para que se enfoque a aquel que construimos, y desde el controlador del reproductor, arrastraremos de nuevo y configuraremos el cursor del mouse show para que sea verdadero. Entonces ahora, todo este trono funk está destinado a construir un widget de interfaz de usuario Y agrégalo al puerto de vista. Ahora que tenemos esta configuración, hagamos rápidamente un widget para que podamos probarlo. Pero antes de hacer ese widget, ahora tenemos este componente de diálogo estoy presionando Control y S. Así que esta función Tk está lista. Compilación rápida. Ahora, volvamos al campesino del PNC Ahora en el lado izquierdo, hagamos clic en AD y agreguemos DL. Así que agreguemos el componente de diálogo. Por lo que ahora tiene un componente de diálogo adjunto a él. ¿Bien? Y si hacemos clic en ese componente de diálogo, a la derecha, solo nos muestra alguna información básica. Nada realmente tan importante para nosotros ahora. Pero más adelante, vamos a estar usando esto para almacenar algunas variables. De todos modos, ahora que el componente de diálogo está aquí, justo después de la función de interacción del evento y movemos al reproductor a la posición de conversación e imprimimos esta cadena, ahora vamos a vincular esto a esa función especial que hicimos en el componente de diálogo llamado toque Y hacerlo es tan sencillo como escribir toque. Y fíjate aquí mismo, tienes acceso a esa función toque desde el componente de diálogo. Y arrastremos y conectemos esto para que ahora compilara. Por lo que ahora, una vez que haya terminado de mover al jugador a esta posición, intentará disparar el componente de diálogo toque. Ahora, veamos rápidamente Bien, sin resolver, juguemos a un editor Definitivamente aún no está listo porque aún no hemos adjuntado el widget, pero veamos rápidamente. Bien, así que aún no está pirando. Ahora, vamos a crear esa barra espaciadora de control de widget. Y básicamente voy a entrar en no, déjame dejar el diálogo. Permítanme quedarme en estos planos para la simplificación. Ahora, haga clic derecho, y luego queremos entrar en la interfaz de usuario y Widget Blueprint, y simplemente lo llamaremos un widget de usuario, básicamente, porque es todo para interfaz Y llamemos a este widget de diálogo. Bien. Entonces tenemos nuestro widget de diálogo, controles. Y si hacemos doble clic en el widget de diálogo, se abre abre esta interfaz donde podemos alterar el widget. Ahora, lo primero que vamos a hacer es que vamos a ir al lado izquierdo en el widget, y queremos agregar en un panel de Canvas. El panel Canvas lo arrastrará hacia adentro. El panel Canvas es básicamente nuestra pantalla, ¿de acuerdo? Y luego por el bien de la simplicidad, voy a simplemente dejar caer algún texto. Y en el bloque de texto, voy a editarlo a la derecha. Sólo voy a decir que el diálogo está funcionando. Bien. Solo asegúrate de que el tamaño del texto sea lo suficientemente grande para que no vaya a ninguna parte. Entonces, esencialmente, tenemos el widget simple, y solo dice que el diálogo está funcionando. Ahora volveremos al componente de diálogo. Y vamos a seleccionar la clase, y la clase es widget de diálogo. Así que vamos a seleccionar widget de diálogo, y rápidamente compilamos. Entonces ahora no debería haber errores de compilación. Así que vamos a compilar eso, compilar, asegurarnos de que todo esté correctamente compilado, y vamos a probarlo. Entonces caminemos hacia nuestro NPC parlante. Presiona el botón Interactuar. Y fíjate ahora está diciendo aquí el diálogo está funcionando, y estoy presionando botones. Déjame mostrarte mis aportaciones. Estoy presionando botones, estoy presionando movimiento, y en realidad no puedo moverme porque nos ha bloqueado completamente para iniciar el diálogo, y ahora solo podemos interactuar con la interfaz de usuario. Ahora, con todo eso configurado, a continuación, vamos a agregar un poco más de datos ahora, la forma en que agregaremos los datos es que obtendremos alguna información de esta función de interacción, que está dentro del plano de tercera persona, que es nuestro blueprint de jugador Entonces esta función en este momento solo está tomando los datos del personaje del jugador, pero va a estar tomando muchos más datos. Entonces vamos a aumentar las variables en nuestro componente de diálogo que va a aceptar, y va a estar alimentando datos a la función T, y alimentará datos a este widget. Va a tener sentido, y voy a llevarlo realmente paso a paso, así que tiene sentido a lo largo de todo el camino. Ahora, el siguiente video, vamos a ampliar sobre esto. Y lo que vamos a hacer es que lo vamos a configurar para que después de que vengas a platicar, ahora empiece a tocar el diálogo. Entonces van a haber dos videos. El siguiente video tendrá un rápido resumen de velocidad de ejecución de cómo grabar diálogo y ponerlo en un motor real porque necesitamos agregar en el cuadro de diálogo para este NPC Entonces vamos a pasar por una rápida descripción general de cómo están funcionando los ajustes este momento cómo está todo configurado, y luego justo después de eso, estos van a ser videos realmente rápidos para asegurarnos de que estás al día. Después de eso, en realidad vamos a hacer que el NPC empiece a hablar Hagámoslo y continuemos en el siguiente video. 15. 015 Botón de diálogo de salida: Ahora, en nuestro proyecto actual, puedes subir hasta el NPC y presionar el botón de interactuar, y esto nos bloquea en una conversación A continuación, vamos a configurar el botón de diálogo de salida para que podamos dejar esta conversación. Ahora para configurarlo, dirígete al widget de diálogo. Dentro del widget de diálogo, va a haber una gráfica. Así que vamos a estar configurando los planos aquí mismo. Ahora no voy a tocar nada de eso por ahora. Ahora, dentro de la vista del diseñador, agreguemos un botón. Voy a teclear botón por aquí para que pueda encontrar un botón. Yo tengo ese botón. Lo voy a poner justo por aquí. Permítanme aumentar ligeramente su tamaño. Y luego voy a buscar texto. Y voy a agregar texto al botón. Ahí vamos. Y voy a llamar a este botón. Voy a renombrarlo con F dos. Voy a llamarlo salida, botón de subrayado. Y luego en cuanto al texto, voy a renombrarlo, y luego lo voy a llamar salida, botón de subrayado subrayado Todo bien. Y en cuanto al texto, voy a seleccionar el texto, y luego el contenido del texto, vamos a llamarlo salida. Solo eso, manteniéndolo increíblemente simple. Ahora bien, no me gusta el color de este botón. Por simplicidad, déjame ajustarlo porque quiero que sea realmente fácil de ver. Entonces ese es nuestro botón de salida. Vine aquí y le cambié el color de fondo. Ahora para que sea utilizable, queremos asegurarnos de que este botón de salida justo aquí arriba esté configurado como una variable. Una variable va a hacer que sea accesible para nosotros. Y luego en la parte inferior, queremos tener un evento para unclicked Entonces agregaremos un click sobre ese plus. Y ahora, ha creado para nosotros un botón sin hacer clic. Antes de poner todo el código, lo que vamos a hacer es que vamos a poner un comando y vamos a llamar a este diálogo de salida. Bien. Por lo que en este comentario se afirma diálogo de salida, lo mismo. Me gusta que el tamaño del teléfono sea 50 y luego el color de fondo sea completamente negro para que cuando tenga muchos nodos, pueda seguirlos fácilmente. Entonces este es el comentario del diálogo de salida. Bien. Entonces en el momento en que se haga clic en este botón, queremos salir del diálogo Ahora, salir del diálogo básicamente significa que queremos cambiar el modo de entrada Eso es todo lo que nos hace falta que hagamos. Entonces, como simple explicador para que todos estemos en la misma página, vamos a compilar eso Entonces, cuando cambiamos y accedemos al componente de diálogo al evento, una de las primeras cosas que hacemos es establecer el modo de entrada solo a la interfaz de usuario, y configuramos el cursor del mouse para que se muestre. Entonces todo lo que vamos a hacer es que vamos a revertir estas dos acciones. Volvamos al widget. Entonces el comentario del diálogo de salida hizo clic. Entonces lo primero que queremos hacer es que queremos obtener el controlador del reproductor. Lo estaremos utilizando. Después de que obtengamos el controlador del jugador, lo siguiente que queremos es que lo arrastraremos desde el controlador del jugador y vamos a mecanografiar el modo de entrada y lo configuraremos solo para juego Entonces eso es lo primero que necesitamos revertir. Ya terminamos. Bien. Ahora que hemos configurado el modo de entrada solo para juego, lo siguiente que queremos hacer es ocultar el cursor del mouse. Así que vamos a sacar esto de aquí. Y luego vamos a escribir el cursor del ratón, desplazarnos hacia abajo, buscar esa función. Vamos a establecer show mouse cursor es lo que estamos buscando. Y queremos establecer show mouse cursor para que sea, no, porque no queremos mostrar el cursor del mouse. Ahora, vamos a expandir esto porque hay más entrando. Así que ahora hemos configurado el modo de entrada a juego solamente y desde el controlador claro, y hemos ocultado el cursor del ratón. Lo siguiente que tenemos que hacer es destruir el widget que acabamos de crear. Ahora bien, destruirlo en realidad es bastante sencillo. Simplemente haremos clic derecho y escribiremos remove from parent, que lo va a eliminar de su padre. Excelente. Y luego queremos eliminar queremos eliminar todos los widgets de la pantalla. Así que queremos eliminar todos los widgets. Ahora bien, si estás trabajando en un juego listo para producción, es posible que no quieras hacerlo dependiendo de tus widgets y de cómo los configures a menos que vayas a actualizar todos tus demás widgets. Pero solo para este ejemplo, podemos eliminar todos los widgets. Y entonces lo último que vamos a hacer es que queremos recoger basura. Esto es para la optimización. La razón por la cual es que todos estos widgets que se eliminan de la pantalla no se destruyen de inmediato. Solo queremos asegurarnos de que Un motor real sepa limpiar todos esos datos innecesarios. Así que ahora con esta configuración tal como está, vamos ex diálogo este botón por aquí. Configuraremos el modo de entrada solo para el juego, configuraremos mostrar el cursor del mouse para que esté apagado. Eliminaremos este widget del padre, eliminaremos todos los widgets y recolectaremos basura para eliminarlo por completo. Ahora, veamos cómo se ve eso en el juego. Asegúrate de hacer tu compilación rápida y luego Control S para guardar todo y Control Shift S para guardar todo. Ahora volvamos al motor real, para que puedas trabajar a tu personaje. He pulsado E. Ahora estamos en diálogo, como ve, como ve el diálogo de texto está funcionando, se está mostrando. Ahí está el botón de salida. En el momento en que hago clic en el botón de salida, tengo el control una vez más. Bien. Ahora déjame mostrarlo mientras muestro los botones que estoy presionando y asegurarme de que funcione exactamente del mismo lado de tu lado. Ven aquí, puedo moverme y mirar alrededor. el momento en que entable diálogo, no importa lo que presione y no puedo moverme. No puedo cambiar donde estoy buscando. En el momento en que hago clic en Salir, ya me he ido y puedo moverme. Debería estar funcionando exactamente de esa manera. Entonces ahora tenemos una manera de salir del diálogo. A continuación, pongamos el diálogo del NPC dentro del juego, y luego haremos que el NPC realmente comience a hablar Vamos a hacerlo en el siguiente video. 16. 016 Explicación final del proceso de preparación de diálogos: Ahora, antes de agregar en el diálogo de NPC, voy a describir rápidamente cómo uso el proceso por el que ya te he llevado Entonces para empezar, ya te hemos mostrado o ya te hemos mostrado cómo he grabado el diálogo del jugador por sí mismo. A continuación se acaba de grabar el diálogo campesino. Ahora, marcado en amarillo está todo el diálogo que sigo adelante y termino de grabar. Después de grabar el diálogo, se corta de la misma manera que lo hice para el diálogo del jugador y lo exporté. El diálogo se exporta en esta estructura de carpetas. En primer lugar, tenemos el idioma, que es el inglés para este diálogo. Y luego busco creé una carpeta. Estoy llamando a este NPC subrayado Campesino 001, pero puedes nombrarlo en base a tu personaje. Dentro de esa carpeta, tenemos la búsqueda y dentro de esa búsqueda específica, así es como va el naming Tenemos el idioma, el idioma, el carácter en el que se usa esta línea, el contexto, que aquí se establece en búsqueda cero, cero, y luego el número de diálogo real. Entonces es la primera línea en esa búsqueda, la segunda línea, y luego la tercera línea, y luego la cuarta línea. Esa es la organización. Y entonces todo esto está ahora dentro de nuestro proyecto de motor Unreal Como es habitual, Unreal Engine detectará todas esas actualizaciones y solicitudes de entrada Por supuesto, ingrese todos esos activos. Entonces ahora, antes de seguir adelante y realmente entrar en el diálogo, si entramos en nuestra carpeta de diálogo, que hemos organizado muy bien, haga doble clic en inglés. Ahora, hay una carpeta llamada NPC Campesino 001, Quest 00, y algo de diálogo Eso lo reconozco. Bien, entonces el diálogo está todo aquí listo para ser usado dentro del motor irreal Y luego tenemos jugadora femenil. Bien, y toca un diálogo masculino también. Ahora, con todo nuestro diálogo dentro de Unreal Engine, listo para funcionar, así como actualmente tenemos nuestro personaje principal configurado para poder trabajar de nuevo y comenzar a trabajar de nuevo y comenzar dialogar aquí mientras podemos salir, ahora avanzamos para que los personajes realmente hablen con sus voces, las diferentes líneas que se han grabado para ellos Vamos a meternos en eso en el siguiente video. 17. 017 Cómo agregar un componente de voz al NPC: Todo bien. Ahora vamos a agregar un componente de voz a nuestro NPC Actualmente, podemos pasar al NPC e iniciar el diálogo y luego simplemente salir, pero no pasa nada en el medio. Vamos a configurarlo. Entonces, una vez que comencemos, el PNJ va a hablar una línea de diálogo Ahora, para que todo eso funcione, vamos a entrar en el Blueprint de NPC Y una vez que estemos dentro del plano del NPC, vamos a buscar una posición para poner nuestros códigos vocales Entonces si nos acercamos, alrededor de donde está la boca es donde quiero agregar el componente vocal, y el motor real no tiene uno específico unificado para voz, pero somos capaces de agregar un componente de audio a este NPC específico Ahora, en el lado izquierdo, simplemente vaya a agregar componentes, y desea agregar un componente de audio, o simplemente puede seleccionar audio. Ahora la forma en que me gusta organizar las cosas, me gusta llamar a este NPC subrayado voz Bien. Así que en realidad, normalmente no lo llamo voz. A mi me gusta llamarlo NPC subrayado boca. Sólo me gusta llamarlo boca, ¿de acuerdo? Esencialmente es lo que es. Por lo que este componente va a ser localizado. Entonces ahora mismo está justo ahí. He seleccionado la boca del PNC. Lo arrastraré hacia arriba, y lo arrastraré hasta donde está la boca del PNJ justo por aquí Entonces ahora, cada vez que este PNJ hable, va a producir sonido desde ese lugar específico Nos meteremos en eso un poco más tarde. Todo lo que importa es que tenemos la boca de NPC ahora mismo, y vamos a compilar rápidamente Ahora que tenemos esa boca NPC aquí, repasemos rápidamente cómo Unreal Engine lidia con el audio Entonces, si tuviéramos que entrar en el nivel ahora mismo, voy a poner un archivo de audio justo en frente de donde está el personaje del jugador. Así que vamos a abrir rápidamente uno. Voy a entrar en el diálogo. Bien, entonces esta es la línea de voz del PNC. Lo he colocado justo por aquí, y luego en el lado derecho, quiero asegurarme en. En el lado derecho, queremos asegurarnos de que esté configurado para reproducción automática solo asegurándonos de verificar bien la reproducción automática, sí, está configurado para activarse automáticamente. Eso es esencialmente todo lo que se necesita. Ahora que está configurado para activarse automáticamente, voy a presionar play. Reconozco el equipo que llevas puesto. Nos dijeron que esperáramos ayuda aquí para la bestia. Ahora, fíjate en este audio aquí, solo lo dejé caer al mundo. Cuando golpeas play reconozco el equipo que tienes puesto. Nos dijeron que espero que la grabación lo capte correctamente, pero si lo pruebas tú mismo, lo conseguirás. Reproduce el sonido a igual volumen en todas las áreas. Sin embargo, lo que puedo hacer es seleccionar ese audio, entrar en detalles, y luego buscar una configuración llamada atenuación Bien. Ahora, la atenuación esencialmente significa esencialmente que el audio se caiga lo mejor de la distancia Ayuda a que suene mucho más realista. Así que voy a golpear la atenuación de anulación. Y ahora se puede ver la esfera de atenuación. Ahora déjame saltar. Reconoce el equipo que tienes puesto. Nos dijeron que nos ampliáramos. Ahora fíjate ahora cuanto más lejos voy, menor es el volumen. ¿Bien? Ahora, hay dos esferas. Esta esfera exterior es la que determina dónde habrá cero volumen. Esta esfera interior es la que gestiona de dónde empieza a bajar el volumen. Ahora, sólo para mostrar una vez más, permítanme reducir la distancia de caída a alrededor de las escaleras. Entonces, una vez que cruces las escaleras, no oirás nada, ¿de acuerdo? En el lado derecho, se puede ajustar la distancia. Ahí está el radio interior, que es el círculo interno. Y luego está la distancia de caída, ¿de acuerdo? Ese es el exterior que determina los límites mismos. Ahora lo he montado, así que el exterior se detiene justo alrededor de donde están las escaleras. Así es como reconoce el equipo que tienes puesto. ¿Fuimos que viste eso? inmediato, sales de ese rango, el audio está hecho. Entonces así es esencialmente como Unreal Engine maneja el audio. Puedes tener audio no atenuado, lo que significa que suena básicamente como suena en todas partes del mundo a la vez, o puedes haber atenuado, y yo soy un gran creyente y prefiero tener mis sonidos con atenuación para que no prefieran, que estén Eso es solo mi preferencia, y así es como voy a mostrarte cómo configurarlo. Así que permítanme eliminar la atenuación de anulación y eliminar para eliminar ese archivo de sonido Entonces, qué vamos a hacer, si nos fijamos en nuestro NPC en este momento, está creado con un módulo de sonido específico Ese módulo de boca que lo hemos llamado boca NPC es donde vamos a reproducir todos los archivos de sonido para el NPC, y así es como lo vamos a configurar Entonces, lo siguiente que vamos a hacer, volvamos al campesino del PNC Ves el módulo de sonido, la boca. Vamos a agregarle algo de atenuación. Pero entremos en nuestros detalles. ¿Quieres buscar atenuación, y ahí estamos anulando la atenuación Ahora bien, si estás haciendo un juego completo real, en lugar de golpear la atenuación de anulación y luego administrarlo caso por caso, lo que haces es crear una única configuración de atenuación de sonido para todos tus actores de voz Sólo para mostrarte cómo lo hacemos a escala, déjame darte un ejemplo rápido. Entonces lo que vamos a hacer podríamos hacer es controlar la barra espaciadora. Entonces ahora estamos de vuelta en el diálogo por aquí. Y simplemente voy a escribir click, y voy a escribir atenuación, lo que nos va a permitir crear un ajuste de atenuación de sonido Voy a llamar a esto. Voy a llamar a esto voces. ¿Bien? Entonces esta va a ser la configuración de atenuación de voces. Ahora permítanme hacer doble clic en la configuración de atenuación de voces, y si se va a mostrar Bien, entonces Annual Engine está haciendo eso. Déjame arrastrar esto por aquí. Entonces ahora tenemos acceso a todos estos escenarios en voces. Entonces, en la atenuación de volumen por encima, voy a establecer eso en true Función de atenuación, puede configurarlo a lineal o puede decir sonido natural ¿Bien? Y luego la forma de atenuación, esfera es generalmente la preferida porque también maneja la distancia vertical y horizontal Entonces diremos radio interior, 400 radio exterior. Por lo que el radio interior, siempre se puede ajustar. Tiendo a ponerlo en tal vez 400 para el diálogo directo de NPC a NPC Puedes hacer esto más grande como ejemplo si necesitas que tus NPC hablen durante la batalla, para que puedan usar diferentes módulos de audio y configuraciones cuando estén en batalla y cuando estés teniendo conversaciones básicas, digamos en la cámara Todo bien. Eso aparte, vamos a compilar rápidamente. Y ahora, nuestras voces están puestas, y aguanta, la boca está puesta, y se puede ver que el rango de atenuación es bastante bueno Entonces dentro de esto, el sonido tiene un sencillo tiene un solo volumen. Después afuera, el volumen comienza a bajar y puedes ajustarlo a tu gusto. Juega con esos ajustes hasta que tengas algo bueno para tu uso adivina. Ahora, lo siguiente que vamos a hacer es asegurarnos de que cuando iniciemos el diálogo, este módulo tenga acceso al sonido del NPC hablando, esa línea de voz Ahora, volvamos al plano. Y ya lo tenemos configurado para que en la interacción, mueva al personaje jugador a la posición de conversación. Y luego después de eso, juega la función de toque. Ahora déjame hacer doble clic sobre esto para mostrarte la función de toque. La función de tok está en el componente de diálogo, y crea un Wudget y lo agrega a la Lo que vamos a hacer es que vamos a agregar un poco de variable para que con Tk, que esté dispuesto a aceptar líneas de diálogo que dejaremos a un lado para el NPC Déjame mostrarte cómo se ve eso. Ahora la visión general simplificada es que el jugador interactúa con el NPC El NPC tiene una función toque, y en esa función tok, vamos a agregar las líneas de voz NPC al widget de diálogo Ahora bien, así es como se ve dentro de Unreal Engine. Recuerda ese componente de diálogo, este, por aquí que creamos. Bien. Entonces este componente de diálogo de aquí que creamos, vamos a agregar la posibilidad de que lleve alguna información porque al lleve alguna información porque hacer clic en el componente de diálogo, en el lado derecho, como puedes ver, realmente solo muestra que es una variable con algunos sockets, algunas etiquetas, y esencialmente y algunos eventos. Pero queremos que se aferre también a algunas variables. Así que abre donde el componente de diálogo que está el componente de diálogo que creamos y simplemente haz doble clic en él. Entonces ahora estamos dentro de nuestro componente de diálogo. Ahora, del lado izquierdo por aquí, fíjese que existe la opción de agregar algunas variables. Eso es lo que vamos a hacer. Vamos a agregar algunas variables que usamos para almacenar las líneas de voz. 18. 018 Cómo reproducir la primera voz del NPC: Ahora, solo por claridad visual, vamos a entrar en el plano de NPC Dentro del componente de diálogo, vamos a tener una matriz de diálogo NPC Esto va a contener todos los archivos de audio. Luego en el componente de diálogo, vamos a crear un widget de diálogo, y va a tener la matriz de diálogo dentro de él. Así es como se ve eso. Vamos a empezar entrando en el componente de diálogo. Ahora estamos dentro del componente de diálogo, y se puede ver que este es todo el código que se estaba usando que estamos usando para crear el widget de diálogo. Ahora, ahora que podemos ver esto, queremos repasar al evento personalizado Tk, y en el evento personalizado tok, vamos a agregar algunas entradas que nos van a dejar meter la matriz de audio. Así que hemos seleccionado toque. Después de seleccionarlo, vamos al lado derecho donde están las entradas, y agregaremos en un rápido plus. ¿Bien? Ahora está pidiendo un insumo. Y para empezar, llamemos a las líneas de voz de subrayado NPC de entrada Bien. En realidad, no necesito capitalizar esa V. Esas son las líneas de voz de NPC Esas son las líneas de voz. Y luego queremos agregar otra entrada, y esta va a ser la boca de subrayado NPC En otras palabras, va a ser ese componente de audio donde hable el NPC Ahora que tenemos nuestras entradas dentro del componente de diálogo, demos un paso atrás. Volveremos al presente. Ahora sabemos a ciencia cierta que la boca del NPC, si haces zoom en lo que Unreal Engine te está mostrando, te está mostrando que ese es un componente de audio Déjame hacer click en él otra vez. Ves que es un componente de audio. Entonces, para la boca NPC, volvemos al componente de diálogo, seleccionamos de nuevo Hablar. No necesitamos que la boca del NPC tenga que ser un componente de diálogo Entonces vamos a hacer clic en eso y queremos buscar diálogo, y aquí abajo, tenemos ese componente de diálogo, y queremos que sea una referencia de objeto. Entonces ahora se está haciendo referencia al componente de diálogo de boca NPC . Ese es el código. Entonces para las líneas de voz NPC, queremos que esas líneas de voz sean queremos que sean un archivo de audio Así que vengamos por aquí. Haga clic en audio. Bien. Y nos va a dar un par de opciones. Pero lo que realmente queremos Bien, así que restregando, no usemos audio para eso Lo que queremos es una matriz de ondas sonoras. Bien, entonces tenemos onda de sonido. Entonces tenemos tipo de objeto, dice onda sonora. Seleccionemos la referencia de objeto. Entonces estas son ondas sonoras. Sin embargo, en lugar de configurarlo en una sola variable, vamos a convertirlo en una matriz. Entonces ahora tenemos el componente de diálogo de boca NPC. Y las líneas de voz NPC que son una onda de sonido como entradas. Ahora que ya tenemos esos insumos establecidos, vayamos al lado izquierdo y primero compilemos. Entonces ahora notarás que tenemos líneas de voz NPC y boca NPC En realidad asegúrate de que la boca esté arriba y por encima de las líneas de voz. Recompilar rápidamente. Bien, entonces necesitamos insertar el componente de boca NPC y el núcleo de líneas de voz Entonces en cuanto al interior del componente de audio, también queremos crear algunas variables, ¿de acuerdo? Y la primera variable que queremos, realidad sólo va a ser una por ahora. O tener NPC, subrayado, líneas de voz. Y esto va a ser onda sonora. Bien, ven aquí, onda de sonido, referencia de objeto. Y queremos asegurarnos de que esto simplemente puede hacer clic derecho está configurado en matriz. Entonces tenemos líneas de voz NPC establecidas como ondas sonoras. Entonces, si retrocedemos el zoom, entonces antes de la función toque, insertaremos la muda NPC y las líneas de voz NPC Controle S para guardar, compilar y asegurarse de guardar todo. Ahora entra una vez más al campesino NPC y a su gráfica de eventos Ahora te darás cuenta de que tenemos toque por aquí. Y ya hemos insertado un componente de diálogo como el objetivo. Entonces, si hacemos doble clic en eso, necesitamos seleccionar las líneas de boca y voz del NPC Bien. Así que volvamos al presente otra vez. Así que lleva ahí el componente de boca NPC y arrástralo hacia abajo por aquí Ahora que lo hemos arrastrado hasta aquí, simplemente lo conectamos a la boca del NPC Un momento, arrástralo en la boca de PC. ¿Bien? Entonces, si eso no está funcionando, el momento en que lo ves queriendo cambiar, ves ese azul y rojo, es pedir marchar. Eso quiere decir que estos dos no son coincidentes. Entonces esto es tratar de aceptar un audio. Veamos, referencia de objeto componente de diálogo. Si bien este es un componente de audio. Entonces tendremos que ajustar esto para que coincida con él. Entonces volvemos al componente de diálogo. ¿Bien? Entonces vamos a venir aquí. Entonces simplemente voy a escribir componente de audio. Bien, entonces componente de audio, y queremos tener una referencia de objeto. Ahora está haciendo referencia a un componente de audio. Compilemos rápidamente, volvamos a la compilación campesina NPC y veamos si van a conectar directamente Boom, y ahora se conecta directamente. Entonces, cada vez que los objetos no estén aceptando conectarse sin cambiar de tipo, solo verifique dos veces y asegúrese de que los tipos coincidan. Entonces ahora el componente de boca NPC, que es esto de aquí, desde donde hablarán, están completamente conectados Entonces eso está conectado a la función toque del componente de audio. Por lo que hacer doble clic en esto nos llevará al componente de audio. Y ahora el componente de audio quiere aceptar líneas de voz NPC Bueno. Entonces volveremos a los controles campesinos, y puedes ver las líneas de voz del PNC justo por aquí Bien. Entonces, lo que vamos a hacer arrastra esto hacia atrás y selecciona el ven aquí al componente de diálogo y haz clic en él. Bien. Ahora que hemos hecho clic en el componente de diálogo, si vas a la derecha, notarás que hay algo llamado default, que muestra sus variables, y verás elines de voz NPC Hagamos un plus rápido, y ahora está buscando una línea de voz por aquí. Hemos agregado un miembro a la matriz. Ahora, para obtener la línea de voz, simplemente controlaremos la barra espaciadora. Al inglés, yendo a NPC Campesino 001, Quest 00. Y como pueden ver, tenemos nuestros archivos muy bien organizados. Entonces sabemos que esta es la primera línea de diálogo en la búsqueda bajo el idioma inglés para el NPC para esta búsqueda Entonces lo conseguirás y lo arrastrarás aquí. Y ahora tenemos esto como nuestro primer objeto en la matriz. Ahora, solo por simplicidad, entiende que puedes agregar aún más a la matriz. Pero por ahora, déjame borrar esto para que entremos con una sola línea de voz en la matriz, y luego te mostraré cómo trabajar con las líneas de voz agregadas más tarde. Tenemos esa única línea de voz. Ahora que tenemos esa línea de voz, estamos haciendo referencia a la boca del NPC y las líneas de voz de NPC Entonces lo que queremos hacer es desde el componente de diálogo, arrastrar esto, y luego queremos escribir líneas de voz NPC Ahí estamos. Así que consigue líneas de voz de NPC Entonces, desde el componente de diálogo, estamos obteniendo las líneas de voz, y luego queremos arrastrarlo ahí mismo. Entonces ahora tenemos las líneas de voz NPC y se han conectado perfectamente Ahora que tenemos estos dos configurados, el siguiente bit es donde vamos a agregar las líneas de voz a nuestro widget de diálogo. Entonces vamos a compilar primero, bien. Entra en el componente de diálogo. Y como pueden ver, tenemos la boca NPC y las líneas de voz NPC Lo que ahora queremos hacer es desde el momento en que creamos el widget de diálogo, queremos agregar una referencia a la boca y las líneas de voz que van al widget en el momento en que se crea. Déjame mostrarte rápidamente cómo hacer eso. Ahora el primer paso es que veas todos estos nodos que van desde crear el widget hasta agregar a viewport al modo de entrada No necesitamos estos para estar aquí. Entonces, para deshacernos de estos, simplemente iremos de todo, desde agregar a viewport en adelante, conseguiremos todo y lo moveremos un poco hacia arriba Entonces por razones de organización, presionamos C para configurar nuestro comentario, y esto es simplemente agregar widget a viewport Así que voy a conseguir esto, ponlo por aquí. Por supuesto, como de costumbre, tamaño del teléfono a 50 por simplicidad y fondo a totalmente oscuro. Así que lo he seleccionado, y ahora voy a ampliar su tamaño. Quiero que administre todo eso, todos estos nodos de aquí para que podamos tenerlos separados, y simplifica todo el resto de lo que vamos a hacer Ahora, lo siguiente que vamos a hacer después de todo esto es que vamos a entrar en el widget de diálogo, y vamos a agregar algunas variables. Entonces sabemos a ciencia cierta que tenemos un componente de audio llamado boca NPC, y tenemos líneas de voz NPC que son una onda de sonido, y queremos agregarlas a nuestro widget como referencias Entonces agreguemos un componente de audio y una onda de sonido. Entonces iremos al widget de diálogo. Recuerda esto. Vaya al widget de diálogo. Entra en su gráfica, y luego queremos buscar dónde ponemos en las variables, y verás en el lado izquierdo, ahí es donde están las variables. Entonces quiero agregar rápidamente una variable, y esta variable se va a llamar NPC, subrayado boca ¿Bien? Ese es el componente. Y vamos a verificar rápidamente qué tipo de componente es de nuevo al componente de diálogo. Entonces este es un componente de audio. Entonces entraremos en el widget. Boca NPC. Este es un componente de audio, y es una referencia de objeto. Entonces ahora tenemos la boca NPC, referencia de componente de audio que es buena Lo siguiente que queremos agregar va a ser las voicelinas NPC y sabemos que esas son una matriz de ondas sonoras Entonces vamos al widget, agregamos, y llamamos a este NPC subrayado voces y sabemos que estas son una matriz de ondas sonoras, entonces onda de sonido, entonces onda de sonido Referencia de objeto. Bien, pero no es un solo objeto. Es clicando con el botón derecho. Se trata de una matriz. Entonces el componente de audio de la boca de NPC está aquí, y la matriz de elines de voz NPC ya está lista Ahora que tenemos a esos dos listos, conectémoslos asegurándonos de que los datos se envíen a este widget. Entonces volveremos al componente de diálogo. Y ahora dice justo después de crear el widget de diálogo, queremos ahora agregar esos datos a esas variables. Entonces vamos a arrastrar y vamos a escribir set NPC mouth. Entonces esto va a poner la boca del NPC. Y luego queremos alargar de nuevo. Establecer líneas de voz NPC. Entonces va a establecer las líneas de voz de NPC. Entonces ahora que tenemos estos dos, asegurémonos de conectar los puntos. Déjame arrastrar esto un poco hacia abajo para mantenerlos más cerca. Y ahora, arrastraremos la boca del NPC a la boca del NPC, y luego arrastraremos las líneas de voz de NPC a las líneas de voz de NPC Entonces ese es el núcleo, hemos terminado con eso. Permítanme, en realidad, mover esto un poco más lejos, también. Déjame mover esto un poco más al frente. Bien. Ahora, simplemente necesitamos conectarnos necesitamos conectar el camino de la lógica y la ejecución a estos. Entonces lo que vamos a hacer es que los vamos a conectar para establecer, mover esto ligeramente hacia adelante, arrastrar esto hacia fuera. Y esta vez, voy a escribir secuencia. Ahora bien, lo que es una secuencia es que se trata de una serie de acciones que se toman en orden lógico desde cero hasta básicamente cualquier punto que la detenga. Entonces me aseguraré de que lo primero haga es que ponga la boca del NPC Entonces el segundo es que configura las líneas de voz de NPC. Y luego justo después de eso, podemos asegurarnos de que lo tercero es que agrega a viewport, agrega al viewpot el widget Ahora que todo esto está hecho, hagamos una prueba rápida y veamos si todo el código está funcionando antes de seguir adelante. Entonces entraré caminaré hacia Caminaré hacia el NPC, presionaré el botón Interactuar, y nosotros el juego no se ha estrellado, eso significa que nada está fuera de lo común Eso es bueno. Ahora que tenemos esa configuración, por favor entra en el widget de diálogo, y vamos a crear el código para reproducir esa primera línea de voz. Ahora bien, lo que haremos es usar el constructo del evento para esto. Entonces arrastraremos el constructo del evento, ya que vamos a usarlo, y presionaremos C. Ahora, llamemos a esta reproducción primera línea de voz. Simplemente lo nombraremos que por ahora a medida que avanzamos, el tamaño del texto a 50 como siempre y el fondo a negro, queremos asegurarnos de que podamos leer nuestro texto de comentario, lo hizo bastante grande. Excelente. Ahora, justo después del evento Construir por aquí, también puedes usar comenzar a jugar Bien, comenzar a jugar y construir eventos aquí son básicamente fundamentalmente lo mismo es donde vamos a poner en el código. Así que recuerda la variable de boca NPC por aquí. Entonces lo que vamos a hacer es que vamos a sacar la boca del NPC y ponerla justo en frente de la construcción del evento Vamos a usar G, por lo que será G NPC boca. Ahora que tenemos acceso a la boca NPC, solo por memoria, recuerden, la variable de boca NPC básicamente está controlando este componente de aquí que está destinado a reproducir audio Tenemos la boca del PNC. Queremos establecer el sonido que reproduce. Entonces simplemente arrastraremos fuera de ella y vamos a escribir set sound. El sonido set fundamentalmente solo decide sobre qué activo va a tocar. Ahora que hemos sacado el sonido del set, lo siguiente que tenemos que hacer es conseguir esa primera línea de diálogo. Ahora, recuerden, colocamos esa primera línea de diálogo como un elemento debajo de las líneas de voz NPC del componente de audio Entonces, qué vamos a hacer, ya que lo hemos transferido por aquí arriba, necesitamos obtener las líneas de voz de NPC Arrastraremos las líneas de voz de NPC y simplemente obtendremos líneas de voz NPC que es bueno Y luego vamos a necesitamos acceder a esa primera línea. Entonces lo vamos a arrastrar y luego solo teclear get y va a pedir obtener una copia. Y ahora mismo, lo acabo de configurar para que se ponga a cero. Cero debería ser la primera línea de voz, y luego arrastrarla hacia aquí como el sonido. Entonces la boca NPC está teniendo su primer sonido ajustado al primer valor de la matriz, lo cual es bueno Ahora vamos a arrastrar el constructo del evento. Ahora bien, si tuviéramos que parar aquí y simplemente compilar e ir al juego y caminar hacia este NPC, no va a pasar nada Seguirá siendo lo mismo porque le hemos pedido que consiga. Ahora queremos agregar en el nodo para jugar para jugar y hacer que esa línea de voz se reproduzca. Entonces justo después del sonido del set, ahora que hemos aplicado el sonido al que va a estar accediendo, queremos ahora agregar play. Así que vamos a arrastrar de la boca del NPC y simplemente tecleamos play ahora que hemos reproducido desde el componente de audio, seleccionamos play, simplemente lo conectamos hacia arriba Una vez que todo esto esté configurado, deberíamos poder escuchar la línea de voz en el juego. Así que ahora me acercaré a este PNJ y golpearé a Interact. Reconozco el equipo que llevas puesto. Nos dijeron que esperáramos ayuda aquí para la bestia. Y luego me voy y lo pruebo una vez más para su confirmación. Reconozco el equipo que llevas puesto. Nos dijeron que esperáramos ayuda. Aquí por la bestia. Bien. Fantástico. Ahora tenemos nuestro audio sonando de este personaje justo delante de nosotros. Así que solo un rápido resumen antes de pasar por la siguiente sección donde agregaremos en las voicelinas del jugador para que todo coincida Partimos del personaje jugador. Probamos y vemos si la interacción es posible, y si la interacción es posible, interactuamos usando la función de interacción con el NPC, y tenemos el mensaje de función de interacción enviando aquí Ahora en el NPC, obtenemos acceso al personaje jugador y lo colocamos en la posición correcta para el diálogo Y luego una vez que hayamos terminado con eso, disparamos la función tok. Dentro de la función toque, almacenamos los datos o una referencia a la boca del NPC, que es un componente de audio en la boca del NPC Y también guardamos del componente de diálogo las líneas de diálogo que se van a reproducir, y llevamos esos datos a través de la función toque. Del componente toque. Ahora, dentro de esa función tok, lo que hace es crear un widget de diálogo al tiempo que conserva los datos de la boca NPC y las voicelinas NPC Después envía esos datos al widget de diálogo, que es lo que aparece en pantalla y lo estará utilizando para seleccionar diálogo. Una vez hecho eso, lo construye y lo agrega a la ventana gráfica, establece el modo de entrada solo a la interfaz de usuario y muestra el cursor del mouse Una vez hecho esto, entramos en el widget de diálogo. Si el jugador selecciona salir del diálogo, simplemente vuelve a configurar el modo de entrada al juego solamente, oculta el cursor del mouse, elimina este widget del padre y luego recoge basura. Bien. Sin embargo, lo primero que hace en este momento es que reproduce la primera línea de voz al obtener acceso al componente de audio de boca NPC Y las líneas de voz de NPC y luego establece eso como sonido y lo reproduce. Si todo lo que he dicho tiene sentido, has conseguido los fundamentos fundamentales del sistema de audio. A continuación están todas las pequeñas cosas que necesitamos poner en su lugar para que funcione correctamente. Pasemos al siguiente video. Si algo de lo que he dicho no tiene sentido, recomiendo hacer una revisión rápida y una verificación de conocimientos antes de seguir adelante. Pasemos a la siguiente lección. 19. 019 Hacer que el intérprete interprete una línea de diálogo: Ahora, muy rápido, actualmente, tenemos nuestro sistema de diálogo configurado. Entonces si te diriges al NPC, reconozco que tienen uno Nos dijeron que esperáramos ayuda aquí para la bestia. Va a reproducir ese clip de audio, lo cual es bueno. Ahora bien, la forma en que conseguimos que eso funcione es que a través del componente de diálogo, accedemos a las líneas de boca y voz de NPC, y nos aseguramos de enviarlas a variables en nuestro widget de diálogo Y ahora mismo está configurado para inmediatamente en la construcción del evento, solo reproduce la primera línea de voz. Eso es genial. A continuación, vamos a entrar en cómo hacer que reproduzca las líneas de voz del jugador una vez que sean seleccionadas. Ahora, para hacer eso, comencemos yendo al plano del jugador Entonces, dentro del plano del jugador, vamos a pasar por un conjunto similar de pasos Para empezar, vamos a agregar un componente de audio, y vamos a llamar a este componente de audio reproductor underscore mouth Esencialmente, este va a ser el componente del que salga el sonido. Y luego vamos a desplazarnos hacia el lado derecho, y aquí, vamos a seleccionar bajo ajustes de atenuación por ahí Vamos a seleccionar las voces. Entonces ahora puedes ver cómo podemos usar una única configuración de atenuación para las voces y aquí está Entonces una vez que lo ajustamos una vez, cambia para todas estas bocas de personajes Ahora lo siguiente que vamos a hacer ahora que tenemos nuestra boca de personaje por aquí, entraremos en el gráfico de eventos, y verás esta función de interacción. Esta función de interacción actualmente lleva al personaje del jugador. Para que sea referenciable. Si entramos en el presente NPC, puedes ver que esa función de interacción está aquí y somos capaces de hacer referencia al personaje del jugador Entonces vamos a hacer un ajuste bastante sustancial. Nos pondremos de nuevo en el personaje del jugador. Ves esta función de interactuar. Ahora vamos a seleccionar la función de interacción, y queremos agregar otra entrada. Pero en lugar de personaje jugador, esta entrada va a ser un componente de audio. Se va a llamar jugador subrayado boca. Y va a ser un componente de audio componente de audio. Y va a ser una referencia de objeto. Bien, entonces ahora la boca del jugador va a ser referenciable Vamos a compilarlo rápidamente. Regresa al campesino NPC y fíjate que ahora la boca del jugador está siendo referenciada por aquí, lo cual es bueno Ahora, lo siguiente que vamos a hacer es que queramos cuando entremos en la función Tk agregar en líneas de voz del reproductor y también agregar en la propia boca del jugador. Entonces iremos a la función toque. Y lo que haremos es simplemente seleccionar la boca del NPC, y no puedo simplemente duplicar eso, sino que voy a seleccionar eso Y voy a llamar a este jugador underscore mouth, y va a ser ajustado a un componente de audio y es una referencia de objeto Y luego voy a agregar ondas de sonido así que tenemos onda de sonido por aquí como referencia de objeto, y queremos que esto sea una matriz. Así que permítanme hacer clic derecho, clic derecho y seleccionar matriz. Entonces tenemos la boca NPC, los elines de voz NPC, tenemos la boca del jugador, y luego tenemos jugador subrayado elines Y ambos van a ser enviados al widget, lo cual es genial. Ahora, permítame asegurarme de que todos estos se salven. Controle S, compile y Control Shift S para asegurarse de que todo esté guardado. Ahora que hemos configurado la boca del reproductor y las líneas de voz del reproductor, volvamos a las variables de los componentes del diálogo. Recuerda cómo tiene las líneas de voz NPC. Simplemente vamos a agregar otra variable, configurarla como una onda de sonido. Referencia de objeto, haga clic con el botón derecho para configurarlo como una matriz. Al hacer clic derecho, lo cambiaremos a una matriz. Y luego queremos cambiar esto a líneas de voz de subrayado de jugador Entonces ahora, el componente dialo va a poder albergar las líneas de voz del jugador, lo cual es realmente bueno para nosotros, así que rápidamente compilar eso Ahora bien, si entramos en el campesino PNC, entramos en su componente de diálogo Tenemos líneas de voz NPC y líneas de voz de jugador. Ahora, solo por simplicidad, permítanme agregar una línea de voz de un solo jugador. Así que voy a abrir la barra espaciadora de Control para abrir esto, dirijo al diálogo en inglés, dirijo a la jugadora femenina, Quest cero, y luego voy a conseguir la primera frase ahí. Esa es la primera línea de voz y ponla por aquí. Ahora aquí es donde está esa línea de voz. Así que tenemos una línea de voz de reproductor y una línea de voz NPC incluida. Ahora podemos volver al campesino del PNC, asegurarnos de que esto esté compilado. Ya estamos aquí. Bueno. Y luego desde el componente de diálogo de aquí, vamos a arrastrar y vamos a escribir get player voice lines. Entonces queremos obtener las líneas de voz del reproductor y asegurarnos de que esas estén insertadas. Bien, entonces ahora la función to tiene las líneas de voz del reproductor. Después volveremos a la función de interacción del evento, tomaremos la boca del jugador y la vincularemos a la boca del jugador por aquí. Ahora que tenemos eso vinculado, todo lo que tenemos que hacer es acertar compilar, y queremos hacer un poco de una adición rápida de variables porque, recuerden, partimos del jugador. Ah, aquí no se inserta la boca del jugador. Sí, eso es lo que estaba buscando. Entonces quiero arrastrar la boca del jugador aquí abajo y conectarlo a la función de interacción. ¿Bien? Por lo que ahora es capaz de transmitir correctamente. Así que pasemos ahora al widget de diálogo. Y ahora el widget de diálogo tiene espacio para aceptar la boca NPC, bien, esa referencia de componente de audio Agreguemos otra variable. Lo mismo, jugador subrayado boca. Y luego vamos a configurarlo como un componente de audio. Y una referencia de objeto de componente de audio. Entonces ahora tenemos que dejarme asegurarme de que es P. Ahora tenemos los componentes de audio de boca NPC y de boca del reproductor ambos siendo referenciados Entonces lo siguiente que vamos a hacer es que necesitamos agregar en líneas de voz del jugador. Así que el jugador subraya elines de voz no como un componente de audio Esto va a ser onda sonora, cierto, y queremos que esto sea una matriz. Entonces ahora tenemos el componente de audio de boca NPC, referenciable, el componente de boca del reproductor, referenciable, y luego tenemos la matriz de ondas de sonido de línea de voz NPC, y la matriz de ondas de sonido de líneas de voz del reproductor, todos los que están dentro de nuestro widget de diálogo Ahora que tenemos los establecidos correctamente, ahora queremos probarlos. Entonces la simple prueba que vamos a hacer es vamos a configurar para que de inmediato esto se termine de tocar, vamos a tocar las líneas de voz del reproductor, y queremos escucharlo. Una vez que lo escuchamos y confirmamos, podemos continuar y agregar más líneas de voz y configurarlo para que el jugador pueda seleccionarlas. Ahora, antes de agregar los de aquí, verifiquemos rápidamente para asegurarnos de que la información esté transmitiendo. Entonces personaje en tercera persona, interactuar ventilación, personaje jugador, boca del jugador. Esto está funcionando correctamente. Esto entra en el campesino del PNC. Bien. Personaje jugador, boca del jugador. Esto lo hemos vinculado correctamente, llamada la función Tk. Bien, ahora simplemente necesitamos mapear boca del jugador y las líneas de voz del jugador por aquí. Entonces para hacer eso, veamos, necesitamos arrastrar esto desde el widget create, y queremos establecer la boca del jugador. Bonito. No consigue querer poner la boca del jugador. Establecer, saltar la boca del jugador. Set. Bien, establece eso. Entonces queremos establecer las líneas de voz del reproductor, arrastrarlo hacia afuera, establecer líneas de voz del jugador. Entonces tenemos esos dos establecidos. Rápidamente voy a subir aquí, romper el eslabón que está subiendo. Entonces tendremos que la tercera secuencia pase a configurar la boca del jugador y luego la cuarta a establecer las líneas de voz del jugador. Luego agregaremos uno más y lo enviaremos de nuevo para agregarlo a la ventana gráfica para asegurarnos de que NRL Engine haga todo en la secuencia correcta Ahora que tenemos eso, vamos a arrastrar la boca del jugador. A la boca del jugador del set y arrastraremos las líneas de voz a las líneas de voz del jugador. Entonces le pegaremos a compilar. Ahora que hemos acertado a compilar ahí, eso significa que el blueprint Widget o el widget que creamos va a tener las líneas de boca y voz NPC y las líneas de boca y voz del jugador todas juntas en sí mismas Ahora, entraremos en el widget y vamos a configurar una prueba rápida aquí. Ahora, solo por claridad en el estado actual, pesar de que estamos transfiriendo la información, si venimos reconozco el equipo que tienes puesto. Nos dijeron que esperáramos ayuda. Aquí por la bestia. Y luego una vez hecho, ya está hecho. Ahora lo que queremos que suceda es después de eso, juega la siguiente línea de diálogo del jugador. Entonces entraremos en el widget de diálogo. Vamos a sacar la boca del jugador y arrastrarla hasta aquí. Quieren obtener la boca del jugador, y queremos obtener las líneas de voz del jugador. Entonces obtendremos las líneas de voz del jugador. Ahora, desde el jugador, lo vamos a arrastrar. Y vamos a usar el set sound asentir de la misma manera que lo hicimos con la boca del NPC Entonces tendremos el sonido del set. Y luego en cuanto a qué sonido, arrastraremos desde las líneas de voz del reproductor y usaremos el asentimiento G y lo dejaremos en cero porque es la primera línea de voz en la matriz y la conectaremos al sonido Ahora bien, si conectamos esto directamente aquí, va a tocar dos sonidos a la vez, que no es fundamentalmente lo que queremos. Entonces vamos a agregar algunos nodos para asegurarnos que después de que reproduzca el diálogo de boca del NPC, jugará la siguiente línea de diálogo Ahora, para hacer eso, vamos a usar un evento vinculante. Ahora. La forma en que funciona es bastante sencilla. Entonces simplemente dejaremos que arrastre esto al frente. Así que justo después de la reproducción, queremos enlazar evento en el final de audio. Así que vincula evento en audio. ¿Bien? No es aceptar sacar de ahí. Déjame venir aquí arrastrando de la boca del NPC, evento Bind en audio terminado Es eso de ahí. Por lo que solo se disparará después de que el audio esté terminado. Ahora que tenemos terminado el evento bind en audio, arrastra esto por aquí. Necesitamos tener un evento sencillo. Entonces vamos a escribir evento personalizado. Y queremos agregar un evento personalizado por aquí. Así que simplemente por ahora se llama Evento personalizado. Lo dejaremos así. No necesitamos agregarle un nombre. No es tan importante. Y luego arrastraremos eso hacia adelante hasta el sonido del set. Ahora bien, permítanme ampliar el comentario. Ahora que el sonido del set está hecho, todo lo que queremos hacer ahora es simplemente agregar un nodo de reproducción para que reproduzca el sonido. Todo bien. Por lo que está configurado para reproducir el sonido. Ahora bien, esto debería estar funcionando perfectamente. Vamos a probarlo rápidamente. Así que de vuelta al visor de niveles, voy a caminar hacia el NPC Reconozco que aquí tienes en. Nos dijeron que esperáramos ayuda aquí para la bestia. Hola. Todo bien. Por lo que reprodujo el audio correctamente, lo que significa que está funcionando correctamente. Ahora bien, si quieres ver realmente lo que está pasando en cuanto a los nodos, puedes pulsar el widget de diálogo y luego pulsar Reproducir. Ahora es actualmente stand alone. Tengo dos monitores, así que esto podría ser más fácil para mí de ver. Pero esencialmente, teniendo ahí los nodos, entonces reconozco el B tienes uno. Nos dijeron que esperáramos ayuda aquí para la bestia. Hola. Entonces se puede ver que ese nodo se dispara. Esto es mucho más fácil de hacer con tus monitores, pero como solo puedo grabar en uno, solo puedo mostrártelo ahí. Entonces está funcionando correctamente. Ahora antes de seguir adelante, repasemos los conceptos básicos generales. Estamos enviando en acceso una referencia a la boca del jugador través de la función indirecta del evento. Y luego dentro del NPC ahora mismo, tenemos acceso al personaje del jugador y a la boca Lo primero que hacemos es posicionarlo en el área de posición de conversación. Luego obtenemos alguna información del componente de diálogo, incluyendo la matriz de líneas de voz NPC y la matriz de líneas de voz del reproductor Los enviamos a la función tok. Dentro de la función tok, creamos un widget. No obstante, ese widget también va a contener una referencia a la boca, las líneas de voz tanto del jugador como del NPC Y luego controlamos todo el resto de la reproducción dentro del widget de diálogo. Ahora mismo, esta es la versión más sencilla donde simplemente vas a hablar y jugar dos líneas. Ahora estamos avanzando, y todo lo que vamos a hacer es pasar algún tiempo dentro del widget de diálogo, agregando esa interactividad Espero que todo haya tenido sentido hasta este punto. Es muy importante. A continuación, es solo un poco de limpieza y agregar algo de complejidad para que sea mucho más funcional Pasemos al siguiente video. 20. 020 Reproducir el diálogo sobre la selección: Ahora, la última vez que dejamos estas lecciones, configuraste para que juegues la primera línea de voz desde el NPC, e inmediatamente entres y tocas la línea de voz del jugador Eso es genial. Ahora vamos a hacer un ajuste para convertirlo en un sistema de diálogo adecuado, así dejaremos que el reproductor seleccione el diálogo. Así es como va a quedar. Como ejemplo sencillo con las líneas que ya estamos usando, el hola que saldría por aquí, en realidad, necesitamos cambiar esa línea de voz. De todos modos, entonces la línea de voz que el jugador pueda seleccionar estará a la izquierda, y luego el botón de salida va a estar por aquí. Y vamos a configurarlo para que sea posible hacer clic en la siguiente opción de diálogo, y luego el jugador hablará esa opción de diálogo, o simplemente puedes salir. Ahora bien, para asegurarme de que esto funcione correctamente, permítanme volver al presente de NPC y a las opciones de diálogo Y voy a cambiar la línea de voz. Entonces, veamos. La primera línea de voz que dice el NPC es, reconozco el engranaje Se habla del equipo, y luego voy a configurarlo. Sí, lo soy. No. Déjame cambiar realmente sé que voy a usar esto. Sí, lo soy. Sí, esta es la línea de diálogo que voy a usar. Entonces voy a usar esto como la siguiente línea de diálogo. Entonces vamos a hablar al campesino, oye, ¿estás aquí por esta bestia? Y entonces el personaje jugador va a decir, yo soy, entonces va a pedir la posición del comerciante. Estos tienen sentido lógico. Ahora, lo siguiente que vamos a hacer es que vamos a entrar en el widget de diálogo y vamos a ir a la vista del diseñador. Ahora que estamos en la vista del diseñador, obtendremos esa línea de texto que indica diálogo está funcionando y lo eliminaremos. Ya no se necesita. No lo necesitamos. Iremos volveremos a la paleta y buscaremos un botón. Y arrastraremos un botón a la pantalla. Ahora, por simplicidad, veamos. Voy a seleccionar de uno de los anclajes y voy a tenerlo anclado en esa dirección. ¿Bien? Entonces pondré su posición Y a cero. Su posición X no va a ser súper importante. Es la talla X va a ser 500. Es la talla Y va a ser 200. Oh, eso es demasiado grande. Bien, 100. Mucho mejor. Entonces aquí está. Así que esta de aquí va a ser nuestra opción de diálogo A. Así que voy a nombrarlo en vez de solo ser botón, voy a llamarlo opción A. Bien, entonces eso va a estar bajo el diálogo seleccionable. Entonces ahora que tenemos el botón, rápidamente solo agreguemos algo de texto básico. Quiere arrastrar el texto, después de haber seleccionado el texto, va a simplemente arrastrarlo hacia allí, y luego voy a seleccionar ese bloque de texto. Quiero que sea Uh, eh. Sólo voy a llamarlo en blanco. En realidad, déjame hacer Lorem Epsum. No importa lo que pongas aquí, honestamente. Incluso podría simplemente poner número. Lo único que importa es que ahí tengamos texto. Ahora, asegúrese de nombrar la opción del botón A y la opción de texto A, subraye el texto Y asegúrese de seleccionar el texto y asegurarse de que esté configurado como una variable. ¿Bien? Entonces es variable porque vamos a estar cambiando lo que hay dentro de ella. Una vez que tengas esa configuración, vamos a entrar en la gráfica. Ahora, ahora mismo, está configurado para que se construya de inmediato. Reproduce el sonido del NPC, y luego una vez que se realiza ese evento, más bien una vez hecho el audio, reproduce el diálogo del reproductor Vamos a tener esto mucho más organizado. Lo primero que debes hacer es poder eliminar todo eso. No es necesario en absoluto. Solo usamos eso para asegurarnos de que todo esté funcionando. Y vamos a crear un evento personalizado. Crearemos un evento personalizado, y vamos a llamar a este diálogo de progreso del evento Bien. Ahora que tenemos el evento personalizado de diálogo Progreso, lo configuraremos para que justo después de la construcción del evento, avancemos en el diálogo. Entonces llamaremos a ese evento personalizado exacto. Este va a ser el evento principal de cotización que vamos a utilizar para avanzar con el sistema de diálogo. Ahora que tenemos eso, vamos a crear un cuadro de comentarios completamente nuevo. ¿Bien? Solo estoy presionando Control C y luego Control V para simplemente pegar eso. Pero solo crea otro cuadro de comentarios, y luego lo vamos a llamar diálogo Progreso. Este cuadro de comentarios de aquí va a contener todo el código para avanzar en el diálogo, y va a ser súper importante tener este grande porque va a contener bastante en él Entonces obtendremos este evento personalizado de diálogo Progreso. Y déjalo caer justo por aquí. Y ahora podemos comenzar a establecer el sistema de diálogo propiamente dicho. Ahora bien, este es el flujo muy simple que vamos a utilizar. Entonces de inmediato construimos, vamos y avanzamos el diálogo. Avanzar en el diálogo va a contener los nodos para dejar hablar al NPC Una vez hecho eso, volvemos a la neutralidad. Y luego si seleccionas la opción A, el jugador reproduce su diálogo y luego vuelve al diálogo Progreso, que va a permitir que el NPC hable una vez más Esa es la forma muy simplificada que vamos a configurarlo. Ahora de vuelta al motor irreal para configurarlo. Todo bien. Así que estamos de vuelta dentro del motor NRL Lo primero que vamos a hacer es que vamos a dirigirnos a las variables, y vamos a crear algunos enteros que nos van a permitir rastrear qué línea de voz se ha hablado para mover el diálogo hacia adelante ¿Bien? Ahora simplemente haga clic para agregar una variable. No va a ser una onda de sonido. De hecho, será un entero, y no será una matriz, simplemente haga clic derecho con un mouse, ¿de acuerdo? Conviértalo en una sola variable, no una matriz. Y entonces simplemente vamos a llamar a este guión bajo actual, en realidad, diálogo actual, subrayado NPC, así vamos a tener eso, y luego vamos a crear otra variable también número entero y lo llamaremos jugador diálogo actual Y ya terminamos. Ahora, solo para verificar y asegurarnos de que todo esté bien, necesitamos asegurarnos de que compilaremos y asegurarnos de que los valores predeterminados estén totalmente puestos a cero. ¿Bien? Asegúrate de que ambos estén puestos a cero. Entonces sabemos que una vez que comienza el diálogo, inicialmente comienza con ambos totalmente puestos a cero. Ahora que eso está hecho, usemos estos enteros para reproducir la línea correcta de diálogo Ahora, ya lo hemos configurado para que inmediatamente en la construcción del evento, avancemos en el diálogo, y progresar en el diálogo significa reproducir los elines de voz del PNC Entonces sacaremos la boca del NPC, obtendremos la boca del NPC. Bien. Y entonces simplemente pondremos el sonido. Entonces queremos establecer su sonido y vamos a conectar eso. Eso es lo primero que hace al progresar el diálogo. Y entonces vamos a conseguir las líneas de voz de NPC, y las tenemos aquí. Y de las líneas de voz de NPC, vamos a conseguir una copia de eso Y entonces esto va a vincularse con el sonido que se va a reproducir. Sin embargo, necesitamos tener este entero. Entonces obtendremos el cuadro de diálogo actual NPC, y obtendremos el diálogo actual NPC Bien. Entonces está por aquí, y eso es establecer el sonido. Una vez hecho eso, desde la boca del NPC, arrastramos y llamamos a la jugada Porque queremos que esto reproduzca el sonido. Bien. Entonces lo siguiente que vamos a hacer es que vamos a obtener el cuadro de diálogo actual NPC Y luego vamos a agregar, simplemente agregaremos. Usaremos un operador add, ¿de acuerdo? Y simplemente queremos agregar uno, eso, solo agregarle uno, y luego vamos a establecer diálogo, NPC, y vincularemos esto Eso significa que el diálogo NPC, una vez que este está configurado para jugar, el diálogo NPC está configurado para ir Eso es bueno. obteniendo la siguiente línea de la matriz. Ahora que esto está completamente configurado, veamos. Entonces conectaremos esto aquí. Excelente. Entonces hemos conseguido el diálogo actual de NPC, le agregamos uno, y lo hemos configurado como el diálogo actual del NPC Esto está bien hecho. Esto es correcto. Una vez hecho eso, arrastraremos esto, y luego nos uniremos al audio. Aguanta, vamos a arrastrar esto. Entonces vamos a enlazar en audio terminado. Para que veas que escribí la aleta de audio. Así que el evento bind en audio terminado. Esto se configura aquí, y luego está escuchando para un evento. ¿Bien? Así que dejaremos eso por aquí por ahora. No necesitamos agregar nada. Entonces compilaremos rápidamente esperando un evento. Bien, primero tendremos que crear un evento personalizado rápido, para que irreal nos permita compilar Entonces, esencialmente, progresar en el diálogo significa que jugamos el evento basado en el número de diálogo actual, bien. Se va a jugar eso y luego incrementar el diálogo. Y luego justo después de eso, cuando termine de jugar, progresará básicamente dirá que, Bien, genial, hemos terminado con eso, y disparará un evento personalizado. Aún no hemos configurado el evento personalizado. Se compile rápidamente. Y echemos un vistazo a cómo se ve eso. Reconozco lo suficientemente bueno. Sabemos que eso está funcionando correctamente, así que vamos a compilar rápidamente. Lo siguiente que vamos a hacer es que vamos a configurar los nodos para que este evento de aquí, este de aquí no se muestre de inmediato. Solo queremos que el texto se muestre después de que el audio haya terminado de reproducirse. Pero primero, seleccionaré esto y cambiaré su color de fondo a algo un poco más oscuro, lo cual es genial, y luego reduciré su valor Alfa para que sea un poco más transparente. Déjame llegar a Alpha 0.75. Eso es lo suficientemente bueno. Todo bien. Ahora, volvamos a la gráfica. Ahora queremos asegurarnos de que el Bien, diez. Así que queremos asegurarnos de que cuando el jugador se acerque al equipo de los NPCs tengas Nos dijeron que esperáramos ayuda. Entonces lo que vamos a hacer es volver al widget de diálogo y luego lo vamos a configurar, veamos, volveremos al diseñador, seleccionaremos el botón Opción A, y luego buscaremos visible. Así que aquí mismo, he seleccionado el botón Opción A, y luego he escrito visibles los detalles, y está configurado como visible No obstante, voy a configurarlo ahora para oculto. Se mostrará aquí, pero no aparecerá en el juego. Entonces, si tratamos de caminar por encima, y presionamos Internet. Reconozco que está oculto. Eso es bueno. No obstante, lo que queremos es mostrarlo el momento en que se haga la primera línea de diálogo. Ahora, para hacer eso, iremos al evento personalizado que ya habíamos configurado. Y luego vamos a encontrar la Opción A entre nuestras variables. Está por ahí. Arrastraremos la Opción A, obtendremos la opción A y luego queremos escribir visible. En otras palabras, establecer la visibilidad, y luego la estableceremos en visible. Bien, por lo que se establecerá en visible. Cada vez que cada vez que se va a poner a visible, inmediatamente se hace el diálogo. Entonces, la forma en que se ve ahora es si caminamos hacia el NPC Reconozco el equipo que llevas puesto. Nos dijeron que esperáramos ayuda aquí para la bestia. Ahora es visible. Ahora está funcionando bastante correctamente. Ahora que tenemos eso, agreguemos otro conjunto de nodos para cuando el jugador presione la Opción A. Voy a obtener este diálogo de salida y bajarlo aún más. Y luego voy a obtener el diálogo de progreso, copiarlo, y pegarlo porque será el que usemos. Creo que es una buena cantidad de espacio. Sí, es casi perfecto. Y simplemente llamaremos a esta opción play opción A. Así es como lo vamos a llamar. Lo mantendremos así de simple. Ahora, esta opción de reproducción A va a provenir de cuando se haga clic en la Opción Entonces entraremos en el diseñador, seleccionaremos el botón de la opción A, desplazaremos hacia abajo, y hay una función para unclicked aquí y simplemente haga clic en Ahora dentro de nuestro plano, dejará caer una pequeña función para cuando se haga clic en A Ahora lo colocaremos dentro de este cuadro de comentarios. Ahora, ahora que tenemos esta configuración de función, lo primero que sucede cuando hacemos clic en Opción A es que queremos obtener la opción A. Y luego queremos establecer visibilidad. Entonces voy a escribir visible, establecer visibilidad, y queremos que sea invisible, una vez más, queremos que se oculte. Por lo que de inmediato hacemos clic en la opción, la hacemos oculta justo después. Ahora lo siguiente lógico con la opción A es que queremos sacar la boca del jugador y colocarla por aquí. Y luego queremos configurar el sonido Bien, haremos el sonido del set. Y luego vamos a arrastrar en las líneas de voz del jugador, así obtendremos las líneas de voz del jugador. Y luego queremos conseguir una copia de ellos por aquí, y queremos conectarlo al nuevo sonido. Pero ahora que tenemos acceso para determinar qué línea de voz está ahí, vamos a estar jugando, quieres obtener el diálogo actual del reproductor. Arrástralo por aquí, consígalo, y vamos a usar el cuadro de diálogo actual del reproductor justo por aquí para elegir la línea de voz que vamos a usar. Y con toda esa configuración, vinculamos esto después del sonido del set. Y luego después de que hayamos terminado con eso, también vamos a jugar. Entonces sacaremos de la boca del jugador, y simplemente vamos a jugar ahora que tenemos play por aquí, conectamos eso, así que va a tocar esa línea de voz. Entonces realmente es así de simple. Y luego después de esta línea de voz, así que verifiquemos rápidamente y asegurémonos de que todo esté funcionando según lo previsto, así que nos dirigiremos reconozco el equipo que tienes puesto. Nos dijeron que esperáramos ayuda aquí para la bestia. Ahora ha aparecido la Opción A, y voy a dar clic a la Opción A. Sí, el comerciante con mis cosas, ¿ha llegado? Bien, perfecto. Eso está funcionando correctamente. Ahora, a continuación, vamos a ir y asegurarnos que esa opción A no va a ser sólo un par de números. En realidad va a actualizar el texto con las líneas que el personaje realmente hablará. Hagámoslo en el siguiente video. 21. 021 Mostrar texto de diálogo: Ahora para esta siguiente parte, todo lo que vamos a hacer es agregar en el texto del subtítulo al texto del diálogo para que en lugar de ver números, cuando el jugador vaya a hacer clic en el cuadro de diálogo, van a ver qué va a decir el personaje o una descripción de lo que van a decir Ahora, solo por claridad, actualmente, si decides caminar hacia el NPC, y luego comenzamos a platicar con el NPC El equipo tienes uno. Nos dijeron que esperáramos ayuda aquí para la bestia. Entonces tenemos este cuadro de diálogo, y luego simplemente podemos hacer clic en él. Pero ahora mismo sólo hay un par de números. Sí, el comerciante con mis cosas, ¿ha llegado? Bien, entonces ya está hecho, ¿verdad? Entonces vamos a alterar eso. Ahora, una de las cosas bonitas de cómo Unreal Engine guarda diálogo es que podemos introducir el texto del subtítulo directamente dentro del archivo de diálogo Ahora, solo para asegurarme de que estoy haciendo referencia al archivo correcto, voy a entrar en caracteres Campesino PNJ, ábrelo, el componente de diálogo, y luego déjame verificar dos veces Entonces ahora mismo, la única línea de voz del jugador actual es dejarme ver cual es esta? Se trata de Quest 00, 002. Esa es la línea de voz. Necesito asegurarme de que estoy seleccionando el bloque uno. Y esa, si le doy a Control y Barra espaciadora déjame buscar esa línea de diálogo vamos a ver jugar una Quest 00 femenina, es 002 Ahora bien, esto de aquí está dentro de Anreil Engine cinco. Entonces, la forma en que el motor Unreal lo almacena es con un poco más de datos que el archivo por sí mismo Entonces todo lo que tienes que hacer es hacer doble clic en él. Y eso nos lleva a un par de detalles sobre ese archivo. Ahora dentro de ese archivo, vamos a estar buscando algo llamado subtítulos. Entonces los detalles se desplazan hacia abajo. Ahí está subtítulos. Bien. Ahora, los subtítulos son una matriz. Entonces puedes ver que hay algunos elementos de matriz. Así que vamos a agregar un solo elemento de matriz, y se puede ver que dice índice cero, cero. Ahora, conozco ese texto de este diálogo, así que simplemente diré que voy a decir algo tan sencillo como Veamos ¿ha llegado el comerciante? Porque normalmente cuando estás escribiendo texto de subtítulos, ya sabes, podemos configurarlo como descriptivo o podemos decir toda la línea, algo así como actor, déjame decir que ha llegado el comerciante ¿Bien? Entonces ese es un simple texto de subtítulo Ahora que tenemos ese simple texto de subtítulo, necesitamos agregarlo Tenemos que agregar eso y asegurarnos de que eso se desarrolla en lugar de que entre en el campo de texto. Ahora que terminamos con eso, dejémosme poner esto por aquí para asegurarme de que pueda verificarlo dos veces. Ahora, controla la barra espaciadora. Queremos abrirnos. Queremos abrir el widget de diálogo. Y luego entramos en gráfica. Ahora lo que queremos hacer es justo después del diálogo Progreso, queremos actualizar esta opción A con las líneas del subtítulo Ahora bien, para hacer eso, esto dice el diálogo de progreso que es núcleo. Ahora, sólo voy a copiar este cuadro de comentarios y después voy a traerlo por aquí. Y luego voy a cambiar lo que hay en el cuadro de comentarios, y lo voy a cambiar para actualizar la opción A, texto. Bien, porque eso es lo que va a hacer este código. Simplemente va a actualizar la opción Un texto. Entonces vamos a ir al diálogo Progreso. Bien. Y dentro del diálogo Progreso, al final después de que haya terminado de establecer la visibilidad, vamos a crear un evento personalizado. Evento personalizado. Bien. Y vamos a llamar texto a esta opción de actualización. Queremos tener un nombre descriptivo sencillo y agradable. Ahora que tenemos ese evento, queremos seleccionar poner un enlace a ese texto, más bien un enlace a esa función justo por aquí. Bueno. Por lo que ahora, actualizar Opción A texto va a dispararse justo después del diálogo de progreso. Entonces obtendremos esta opción A, función de texto, ponla aquí. Y ahora podemos empezar a trabajar desde aquí. Entonces lo que vamos a hacer es que vamos a conseguir las líneas de voz del jugador. Déjame arrastrarlos hasta aquí, obtener las líneas de voz del jugador, esa variable. Después de que hayamos conseguido las líneas de voz del reproductor, vamos a obtener una copia de la matriz para que podamos acceder a los datos desde dentro de la matriz. Y luego queremos arrastrar en el cuadro de diálogo actual del reproductor, lo obtendremos y lo vincularemos por aquí para que estemos seleccionando correcto el miembro correcto dentro de la matriz. Ahora, una vez que hayamos terminado con eso, cualquier línea de voz que hayamos seleccionado se arrastrará desde el Get y luego vamos a escribir get subtitles. Bien. Entonces vamos a conseguir los subtítulos, lo que nos va a dar acceso a los archivos de subtítulos Y luego desde dentro de los archivos de subtítulos, vamos a obtener una copia de eso nuevamente Va a haber mucho conseguir una vez que tengamos ese primer archivo de subtítulos, lo siguiente que vamos a hacer es que vamos a romper el subtítulo Q. Romper el subtítulo Q, así es como se llama Y lo que eso hace es básicamente que estamos sacando los subtítulos como texto. Bien. Entonces ahora tenemos un archivo de texto con los subtítulos. Disculpe. Y luego después de eso, arrastraremos de aquí. En realidad, no. Ahora vamos a arrastrar en la opción Un texto, que es la opción A texto, arrástralo adentro. Y luego desde el texto de la Opción A, vamos a arrastrarlo y llamar a la función set text. Bien. Entonces verás el texto del conjunto de widgets. Entonces va a establecer el texto y arrastraremos desde el subtítulo Q hasta el texto establecido. Ahí estamos. Y después arrastraremos aquí el texto de la opción A de actualización. Y eso es todo lo que está haciendo. Así que podemos hacer una prueba rápida dentro de Unreal Engine para ver si esto está funcionando como se pretendía, luego volveré y explicaré todo lo que está haciendo una vez más antes de seguir adelante para asegurarnos de que nadie se quede atrás Entonces dentro del motor Vanual, simplemente pasemos por encima y luego presionemos el Reconozco el engranaje que tienes puesto Nos dijeron que esperáramos ayuda aquí para la bestia, y ahí estamos. Ahora está poblando el texto. Más bien, está poblando la opción Un cuadro de texto con lo que ponemos en los subtítulos ¿Ha llegado el comerciante? Sí, yo el comerciante con mis cosas, ¿ha llegado? Ahora, salgamos rápidamente. Ahora bien, aquí está lo básico que hicimos. Lo que hicimos fue que conseguimos las líneas de voz del jugador. Después obtuvimos los subtítulos de la línea de voz del reproductor que seleccionamos. Una vez que hicimos eso, esencialmente, obtuvimos la primera línea, que está en la matriz, que se establece en cero. Rompimos el subtítulo Q, obtuvimos el texto, y lo pusimos como el texto establecido para la opción texto A. Eso es esencialmente todo lo que hicimos. Ahora bien, esa es la forma sencilla actualizar el texto dentro de los subtítulos. Sin embargo, una cosa sobre esto es que si tienes subtítulos encendidos y actualmente estás entrando en tu Índice cero y configurándolo como el subtítulo, te va a causar un par de problemas El motivo es porque si tienes índice cero, teniendo esta línea como subtítulo, entonces lo que va a hacer es que va a hacer que no puedas tener los subtítulos idealizados Entonces, lo que quieres hacer cada vez que hagas esto es justo después de tener eso, simplemente puedes enumerar la línea completa. Acabo de aguantar como llegó el comerciante porque eso simplifica las cosas Pero cuando estás haciendo que tu jugador diga una línea, gente no le gusta mirar una línea dentro de aquí, eso no coincide con lo que dice el jugador. Así que tienes que ajustar el diálogo de tu reproductor para que quepa dentro del tamaño del libro de texto, así puedes aumentar el tamaño del cuadro de texto si quieres que el jugador diga líneas más grandes Alternativamente, puedes asegurarte de que a medida que escribes el diálogo de tu reproductor, solo facetas esto. Pero esta es una forma sencilla y escalable de configurar tu diálogo y subtítulos para que funcionen indistintamente para trabajar de la mano Ahora que tenemos esta configuración, sigamos ajustando el sistema de diálogo para que hagamos que el reproductor actualice esto de manera consistente. Y cada vez que el jugador termina de hablar , avanza el diálogo Sigue progresando en ello. Hagámoslo en el siguiente video. 22. 022 Progreso de adiciones a los diálogos: Entonces esto es lo que estamos haciendo en este video. Ya tenemos el inicio y entrando en la línea de voz de NPC Fresco. Entonces configuraremos la lógica para ir desde la primera línea de voz NPC Le da al jugador la opción de elegir la opción A. Si el jugador elige opción A y no solo sale del diálogo, reiniciará la línea de voz del jugador X. Establecerá X en X más uno, y luego reiniciará la siguiente línea de voz NPC y le dará al jugador la posibilidad seleccionar la siguiente opción A, que es ese botón Este es el diagrama simplificado de lo que estamos haciendo. Entremos en Unreal Engine. Ahora vamos a mantenerlo realmente, muy simple. Entonces dentro del juego actualmente, ya lo tenemos configurado. Entonces, si el personaje jugador camina hacia el NPC, reconoce el equipo que tienes puesto Nos dijeron que esperáramos ayuda aquí para la bestia. Y luego tenemos la posibilidad de seleccionar la opción A. Luego podemos seleccionar. Sí, el comerciante con mis cosas, ¿ha llegado? Todo bien. Y luego se detiene ahí mismo. Así es como se configura actualmente. No avanza más porque en la construcción de eventos, disparamos la función de diálogo de progreso. Y actualmente la función de diálogo de progreso, básicamente, reproduce el diálogo NPC actual, y luego incrementa en uno el diálogo NPC actual Y luego en el audio terminado, se actualiza la opción A texto. Entonces vamos a entrar en la opción A actualizar. Aquí estamos. Estos son los nodos. Ves el valor de comentar, muy importante. Ahora, actualizar la opción A básicamente actualiza el texto en la opción A. Eso es todo lo que hace. Entonces lo siguiente que hace es que sale, no, es que reproduce la Opción A si haces clic, por lo que retendrá la opción A. Primero hace que esto se alce y luego reproduce el cuadro de diálogo de la opción Perfecto. Entonces dos cosas, en primer lugar, creo que este conjunto visible en la opción A, voy a controlar X para eliminar eso. Eso no es necesario para estar aquí. Lo pondremos en la opción de actualización Un texto, arrastra esto por aquí. Eso es configurarlo para que sea visible. Puede estar aquí. No creo que tenga que ser del otro lado. Bueno. Eso ayuda a limpiar un poco el código. Entonces así es como se ve ahora actualizar el texto de la Opción A. Entonces con todo esto tal como está, volvamos a cómo lo vamos a organizar. Así que recuerda, queremos ir desde el inicio de la línea de voz NPC, la opción A, línea de voz del reproductor, actualizar las líneas de voz, luego damos la vuelta en círculo Pero para hacer eso, esencialmente, necesitamos asegurarnos de tener más líneas de voz NPC y líneas de voz de jugador Entonces volvamos al campesino del PNC y echemos un vistazo rápido a su componente de diálogo Entonces en estos momentos solo tenemos una línea de voz para el NPC y otra para el personaje femenino. Bien. Así que el espacio de control B. Entremos al diálogo inglés. A ver, PNJ. Y éste es 01. Entonces queremos agregar un par más en esa matriz. Entonces el 01, déjame poner en la línea de diálogo 02. La línea de diálogo 03 y la línea de diálogo 04. Déjame escuchar lo que es 04. Reconozco el Bien, está permitiendo reproducir ese sonido seleccionado. Déjame compilar. Parece que tengo que compilar antes de que aparezcan estos botones de reproducción. No lo noté antes. Eso es simplemente motor irreal. Apenas unos cientos de escalones río abajo. Él está encendido. Bien, entonces no necesitamos esa línea. Entonces son sólo tres líneas las que se necesitan. Permítanme borrar eso. No queremos ninguna línea de diálogo vacía. Entonces tenemos reconozco reconozco el engranaje. Él lo hizo. Simplemente le dice al personaje jugador dónde se encuentran. Buena suerte. Ya sabes. Entonces eso y luego hecho. Entonces tenemos tres líneas de diálogo para el PNC. Eso es genial. Ahora entremos con el jugador. Sí, lo soy. Bien. Ahora, agreguemos dos. Así que vuelve. Juega a una hembra dentro de esa búsqueda. Sí, también tiene tres líneas de Hold on. Hola. Bien, el hola no es necesario. Entonces eso significa que la siguiente línea de diálogo será? Sí, lo soy. Sí, lo soy. Gracias. Bien. Esto puede variar en función de tu proyecto, pero solo necesitas asegurarte de que el diálogo sea lógico. Compile rápidamente. Y estamos 100% hechos. Entonces tenemos tres líneas de diálogo para el NPC y tres líneas de diálogo para el jugador Gracias. Voy a estar en camino. Bien, perfecto. Entonces el NPC dice la primera línea de voz, el jugador Sí, me dice el segundo. Entonces el PNJ podrá responder. Sólo unos cuantos Bien. Entonces, gracias. Voy a estar en camino. El PNJ Hecho. Entonces tenemos tres líneas de diálogo para el NPC y tres líneas de diálogo para el jugador Eso es suficiente. Ahora que tenemos diálogo suficiente para realmente dejar que el sistema se flexione, vamos a hacer un ajuste muy, muy sencillo. Entonces vamos a hacer una compilación rápida. Ahora, vamos a configurarlo para que funcione. Al reproducir la siguiente opción justo después más bien jugando la siguiente opción justo después de la opción A, permítanme volver a la gráfica nuevamente. Entonces comenzamos a reproducir línea de voz NPC, hacer disponible la Opción A, reproducir el incremento de línea de voz del jugador en uno, y luego regresamos y pasamos por las líneas de voz Así que justo después de la opción de reproducción A, queremos configurar un evento de reproducción en audio está hecho, ¿de acuerdo? Entonces básicamente, queremos vincular este evento en audio terminado. Entonces, lo que vamos a hacer tenemos que subir en el diálogo del jugador. Entonces comenzaremos por conseguir el diálogo actual del jugador. Bien, consigue el diálogo actual del jugador. Y luego queremos establecer Bien, diálogo actual del jugador, y vamos a romper esto. Vamos a agregar. Quiere una función AD básica. Y solo queremos agregarle uno. Ahora que le estamos agregando uno, va a incrementar el diálogo del jugador en uno, lo cual es bueno, lo que significa que la próxima vez que el jugador llegue a seleccionar la opción A, va a seleccionar la siguiente línea de diálogo Asegurémonos de que en la actualización Opción Un texto que funcionaría correctamente. Sí, funcionará correctamente. Eso es bueno. Entonces justo después de tocar la opción A, queremos tocar el evento de diálogo de progreso. Queremos acceder a esa función. Así que arrastra esto y sacaremos a relucir la función de diálogo de progreso. Es la misma función que vamos a usar para muchos de nuestros elementos. Ahora que esa función de diálogo de progreso está arriba, eso es fundamentalmente bueno. Si entramos, sal por aquí. Reconozco el engranaje que viste en eso. Nos dijeron que esperáramos habla el primer año para la bestia. Ahora podemos seleccionar Opción. Sí, el comerciante con mis dedos. Tienes un problema. Agárrate. Volvamos. Este es un error básico de mí. Lo he configurado para avanzar en el diálogo, pero no lo configuré para hacer eso después que haya terminado con el diálogo. A ver. Establecer sonido. Veamos, evento bind evento vendido en. Audio terminado. Sí, tenemos que crear ese evento bind en audio terminado. Y la razón por la que estamos haciendo eso es que queremos que esto se reproduzca solo después de que el audio haya terminado. No queremos que se esté reproduciendo el audio oh, déjame venir primero por aquí. Simplemente agregue un evento personalizado rápido. Ni siquiera necesitamos llamar a este evento de nada. Ahora va a avanzar el diálogo. No queremos que el diálogo se superponga. Ahora que solo tenemos una vez más, recuerden, comprando el evento en audio terminó el diálogo de progreso. Ahora que tenemos eso, va a funcionar. Reconozco el equipo que llevas puesto. Nos dijeron que esperáramos ayuda aquí para la bestia. Sí, yo, um, el comerciante con mis cosas, ¿ha llegado? Realizó unos cientos escalones río abajo en la orilla occidental. Sí, soy el comerciante con mis cosas. Ahora tenemos todo lo que hay que va bien. Sólo hay otro problema. Déjame asegurarme rápidamente. Sí, tengo dos de las mismas líneas de diálogo aquí en las líneas de voz del reproductor, lo cual es incorrecto. Entonces déjame borrar uno de esos porque había puesto en dos de la misma línea de voz. Ese es un problema básico. Ahora que tengo eso resuelto, veamos si el diálogo se desarrollará lógicamente Reconozco el equipo que llevas puesto. Nos dijeron que esperáramos ayuda aquí para la bestia. Bien. ¿Tenemos la primera línea de voz? Sí, yo, um, el comerciante con mis cosas, ¿ha llegado? Él lo hizo. Apenas unos cientos escalones río abajo en la orilla occidental. Bien. Ahora la siguiente línea de diálogo, el siguiente archivo wav no tiene subtítulos, pero esos se pueden agregar fácilmente. Gracias. Voy a estar en camino. Buena suerte. Ya sabes, una chica en nuestro pueblo esa voz. Casi no lo lograste. Pero su padre, no se encuentra por ningún lado. Por favor, necesitamos el mejor cuidado. Bien, y luego ya está hecho. Ahora fíjate que el diálogo tanto para el NPC como para el jugador se ha agotado, pero aún estás en la opción de diálogo Entonces, en el siguiente video, vamos a configurar, antes que nada, configuraremos un diálogo de salto para que no te veas obligado a escuchar todo el diálogo. Y luego después del diálogo de salto, vamos a configurarlo para que una vez que hayan agotado su diálogo, simplemente termine. Hagámoslo en el siguiente video. 23. 023 Cómo agregar un botón de saltar diálogo: Bien, así que lo primero que vamos a hacer es que vamos a agregar un botón por aquí para ayudarnos a saltarnos el diálogo. Ahora, para hacer eso, todo lo que tenemos que hacer es comenzar con sólo seleccionar el botón de salida. Bien. Y luego sólo vamos a hacer una copia rápida de la misma, seleccionar el panel Lienzo y pegar. Y lo que eso va a hacer es que va a pegar el botón de salida así como su texto. Entonces podemos hacerle un simple ajuste. Entonces lo llamaremos el siguiente botón. Bien. Y luego vamos a llamar al texto el siguiente botón de subrayado, subrayado, Vamos a mantenerlo así de simple. Y luego moveremos ese siguiente botón hacia abajo básicamente a donde está el botón de salida. Nosotros solo lo queremos por allá. Y entonces el texto lo cambiará de salida a siguiente. En realidad puedes llamarlo Skip. Puedes llamarlo como quieras. Bien. Siempre y cuando te estés comunicando correctamente con el jugador porque a veces no quieres sentarte ahí y esperar a través de un diálogo que no se puede omitir. No es bur. Ahora que tenemos el siguiente botón por aquí como variable, seleccionemos rápidamente el siguiente botón y luego desplazemos hacia abajo. Y, por supuesto, vamos a crear un evento sin hacer clic aquí Entonces ahora tenemos ese botón siguiente sin hacer clic ahí mismo, lo cual es genial Entonces voy a conseguirlo y colocarlo por aquí y luego seleccionar el comentario del diálogo de salida. Selecciona el comentario del diálogo de salida, cópialo y pegarlo, ponlo aquí. Y luego voy a cambiar esto al siguiente botón. Omita el diálogo actual con eso, básicamente configurará el siguiente botón para omitir el diálogo actual, lo cual es genial. Ahora que tenemos esa configuración, vamos a necesitar otra variable. Así que vamos a dirigirnos a las variables, y vamos a agregar una compilación. Y esta variable, vamos a decir, vamos a llamar a esta variable. El jugador está hablando. Sólo lo llamaremos jugador está hablando. Bien. Ahora que tenemos esta configuración de variables, lo que se compila rápidamente, el jugador está hablando es configuración. Nos aseguraremos de que su valor predeterminado sea cero. Es así de simple. Ahora que tenemos jugador está hablando, un toro básico y configuración, sabemos que si es cero, eso significa que el jugador no está hablando. Si es uno, significa que el jugador es el que habla. Solo necesitamos tener eso alrededor. Ahora tenemos este siguiente botón, y queremos agregar algún código para asegurarnos de que si alguien presiona entrando al diálogo, asegúrate. Reconozco el equipo que llevas puesto. Cuando alguien presiona ese botón, detiene todo diálogo. Bien. Entonces lo primero que vamos a hacer. Bien, ahora, ahora que tenemos nuestro propio clic en el botón Siguiente aquí y tenemos nuestro jugador está hablando por aquí. Lo siguiente que vamos a hacer es que vamos a sumar en una rama rápida. Bien. Ahora que hemos agregado la rama, vamos a usar la condición de get player está hablando. Va a ser la condición que usemos para controlar esta sucursal. Ahora bien, lo que vamos a hacer es si el jugador está hablando está puesto en verdadero, eso quiere decir que es el jugador el que está hablando, así que vamos a arrastrar. En realidad, vamos a necesitar conseguir la boca del jugador. Mira debajo de los componentes por aquí. Deberías poder acceder a los componentes. Seleccionaremos la boca del jugador, la arrastraremos aquí. Configúrelo para obtener la boca del jugador. Bien. Y luego sacaremos de la boca del jugador, y luego vamos a teclear stop porque simplemente queremos detener lo que esté diciendo el jugador. Queremos que ese diálogo llegue a su fin de inmediato. Ahora que lo hemos configurado para detenerlo, lo siguiente que vamos a hacer es que vamos a conseguir la boca del NPC, arrastrarla hasta aquí, conseguirlo Y entonces queremos hacer lo mismo. Queremos que simplemente deje de hablar, queremos que se detenga de inmediato. Arrastre esto aquí. Y hecho. Entonces, si es el NPC hablando, vamos a hacer eso Ahora que tenemos esa configuración de parada inicial, vamos y asegurémonos de que esté funcionando como se pretendía. Entonces dirigiéndose al NPC, reconozco el. Simplemente detiene el diálogo. Sí, el comerciante con mis cosas, ¿ha llegado? Bien. Entonces se está registrando correctamente cuando el NPC está hablando y se lo salta, pero no está registrando correctamente cuando el jugador es el que no le salta al jugador, lo cual está Entonces lo que queremos hacer es ahora mismo que el jugador está hablando se configura como una línea de base de ser cero. Entonces lo que vamos a hacer es que vamos a ir a jugar a la Opción A, que es básicamente justo después de que ésta esté jugando. Eso lo moví. No pretendía mover eso. Bien, así que justo después del juego de la opción A, déjame avanzar un poco estos eventos. Justo después de que se juegue la Opción A, queremos cambiar quién está hablando, ¿verdad? Entonces vamos a conseguir que el jugador esté hablando, arrastraremos esto por aquí y conseguir que el jugador esté hablando, y queremos que el jugador esté hablando, y queremos configurarlo. En realidad, vamos a quitar a esos jugadores que hablan. Quiero configurarlo en uno, que significa que es el jugador el que está hablando. Todo bien. Y luego voy a copiar ese nodo e ir justo después el NPC esté hablando justo después de la jugada Y lo alineamos y lo pondremos a cero para que sepa que el NPC es el que está hablando durante ese tiempo Y luego vamos a compilar eso, y veamos cuán saltable es ahora el diálogo Así que corre por aquí. Reconozco el trabajo siguiente. Sí, lo hice. Apenas unos cientos después. Gracias. Voy a estar en la próxima. Buena suerte. Siguiente. Bien. Ahora note que somos capaces de saltarnos rápidamente el diálogo. Por lo que el salto básico del diálogo está funcionando como se pretendía Ahora, lo único que tenemos que hacer en realidad es que queremos hacer una comprobación rápida para ver si hemos terminado el diálogo actual del jugador y el NPC, y una vez hecho eso, salir y disparar la función de diálogo de salida Hagámoslo en el siguiente video. 24. 024 Detener todo el diálogo a la salida: Ahora para seguir adelante, volveremos a la gráfica, y luego buscaremos el punto en el que hemos salido del diálogo, y vamos a agregar un poco más para que salir del diálogo sea aún mejor Entonces, vamos a hacer avanzar esto. Ahora, lo que vamos a hacer al salir del diálogo es que vamos a conseguir la boca del NPC y luego le vamos a decir que deje de jugar Bien. Y entonces también vamos a conseguir la boca del jugador, arrastrarla hacia adentro, y conseguir que deje de jugar, STOP. Ahí estamos lo que garantiza que en el momento que decidamos presionar el botón de salida, va a impedir que se jueguen todos los diferentes diálogos para que no tengamos diálogo jugando mientras nos alejamos Reconozco el equipo que llevas puesto. Una vez que golpeé la salida y terminé con ese diálogo, se detiene de inmediato. Ahora pasemos a ajustes un poco más pequeños. 25. 025 Salida automática del diálogo al final de las líneas de voz: Ahora en el estado actual del juego, si vas y hablas con el NPC, así es como van las interacciones. Déjame bajar el volumen. Reconozco el equipo que tienes la W habla, puedes venir. Sí, lo soy. El mercader barre mi Lo hizo. Y luego solo unos cientos de pasos. Y si te lo vuelves a omitir, puedes Gracias. Voy a estar en mi camino. Buena suerte. PNJ. Ya sabes, habla una chica en nuestra villa. Pero si vuelves a hacer clic en siguiente, te mira atrás para agradecerte. Que no es realmente lo que queremos. En realidad es lo que está causando esos errores. Lo que queremos es tener una comprobación básica para si todo el diálogo está agotado. Ahora la forma en que el sistema está configurado actualmente, lo que vamos a hacer es después del diálogo de progreso, vamos a hacer una comprobación básica. Y si esa comprobación básicamente ve que el diálogo ha terminado, simplemente va a terminar la sesión de diálogo. Ahora, vamos a entrar en cómo hacer eso. Ahora para hacer eso, vamos a configurar alejemos un poco, supongo, justo a la izquierda del diálogo de progreso. Vamos a montar otro cuadro de comentarios. Déjame copiar y pegar eso. Es una caja de comentarios básica con solo Oh, Dios mío. Eso es muy malo. ¿Qué fue eso? ¿Qué fue? ¿Cómo se movió eso? ¿Eh? Bien, eso es una cosa de unilingar. Déjame arreglar esto. Todo bien. Me puse implacable para comportarme una vez más, tuve que rehacer un De todas formas. Entonces después de configurar eso, vamos a configurar vamos a rehacer esto Y lo que realmente queremos hacer es que queremos comprobar el fin del diálogo. Bien. Sólo queremos hacer una simple comprobación para el final del diálogo. Ahora, para hacer eso, va a ser bastante sencillo. Vamos a tener una rama básica, ¿de acuerdo? Una rama muy básica. Ahora que nos hemos metido en esta sucursal, no te preocupes. Entraremos en cómo leer desde la sucursal. Queremos empezar por conseguir la corriente queremos obtener el diálogo actual del PNC Entonces este es el diálogo actual del PNC. Entonces lo que queremos hacer es querer ver el tamaño de la matriz de las líneas de voz NPC Entonces obtendremos las líneas de voz de NPC. Bien, la matriz de líneas de voz NPC es realmente lo que queremos obtener Y luego queremos simplemente arrastrar fuera de él y obtener la longitud de la matriz. Bien, quiero obtener la longitud exacta de la matriz. Ya que tenemos el diálogo actual del NPC como matriz N y tenemos la longitud de los elines de voz NPC como una matriz, y sabemos a ciencia cierta que las matrices, la longitud de la matriz va a contar cuántos elementos hay en ella Así que queremos comparar estos dos, pero ten en cuenta, tendremos que eliminar uno de la longitud de la matriz. Entonces obtendremos la longitud de la matriz, y luego usaremos una función básica de resta, y restaremos una porque el diálogo comienza en cero y luego sube en un incremento Pero la longitud cuenta incluso cero como uno cuando se trata del tamaño de una matriz. Entonces vamos a estar quitando uno de ahí. Entonces queremos hacer una comprobación básica, bien. Y esta comprobación va a ser un básico mayor que así lo hacen un básico mayor que. Y lo que queremos comprobar es que queremos comprobar y ver si la longitud de la matriz es mayor que el cuadro de diálogo actual del NPC Eso es realmente lo que queremos comprobar y ver. Entonces con eso, conectaremos eso a la condición. ¿Bien? Ahora, lo que vamos a hacer, aguanta, comenzaremos por usar una impresión básica para que veas. Así que vamos a configurar la impresión. Imprimir cadena de impresión. Y aquí, dirá, si es mayor que, voy a copiar y pegar esto. Y entonces pondrá y luego si no es mayor que, lo que va a hacer es que va a dar salida al valor del diálogo actual del NPC ¿Bien? Y luego lo configuraremos para que si el diálogo actual del NPC es mayor que la longitud de las líneas de voz del NPC, lo que va a hacer que esto sea cierto, vamos a jugar vamos a teclear en realidad, no, vamos a escribir para que terminemos el Si es falso, simplemente imprime el diálogo actual del PNC Entonces vamos a crear un evento personalizado. Bien. Y vamos a renombrar este evento personalizado presionando F dos, y vamos a cambiarle el nombre y Check. Básicamente, todo lo que hace es que en realidad me deja escribir el diálogo, subrayar y verificar para que sea más comprensible visualmente Y tenemos ese chequeo de diálogo. Y lo que vamos a hacer es por aquí, más bien después del diálogo de progreso. Veamos en el evento de audio terminado. De verdad, vamos a venir aquí. Se trata de decir actualizar el texto de la opción A. También vamos a venir aquí y vamos a llamar a la función de diálogo y verificación. Entonces eso es lo que queremos hacer. Así que vamos a compilar rápidamente. Ahora, vamos a ver si nuestra comprobación de diálogo funciona correctamente? Reconozco el equipo que llevas puesto. Estábamos. Bien. Entonces uno, dice uno, si lo puedes ver, entonces sí, yo soy tú lo hiciste. Apenas unos pocos ahora se está mostrando también. Gracias. Voy a estar en mi camino. Buena suerte. Y luego está diciendo fin, así que ahora se está mostrando correctamente. Ahora que sabemos que está mostrando el final correctamente, volvamos a entrar y de hecho agreguemos la función final. Y la función que queremos es la función de diálogo de salida. Y vamos a hacer eso. Necesitamos simplemente llamar. Necesitamos crear una función personalizada alrededor de donde sale el diálogo Así que crea este evento personalizado. Y vamos a llamarlo salida, en realidad, diálogo, subrayado salida Ese es el evento personalizado, y lo vincularemos al resto del código que está saliendo del diálogo Así que ahora volveremos a la comprobación de fin de diálogo, y buscaremos la función, diálogo salir. Entonces, inmediatamente después de que imprima el extremo de la cadena, simplemente saldrá del diálogo. Ahora comprobemos y asegurémonos de que esté funcionando como se pretendía. Entonces cuando jugamos y luego pasamos al NPC, reconozco el equipo que tienes puesto ¿Fuimos Uno? ¿Bueno? Sí, yo el comerciante. Él lo hizo. Apenas unos cientos de pasos. Dos, bien. Gracias. Voy a estar. Buena suerte. Ya sabes, una chica nuestro pueblo estaba en sus voicelinas esto Casi no lo logró. Pero su padre, no se encuentra por ningún lado. Por favor, necesitamos que se encargue de la bestia. Y terminó, hecho. Y ahora, justo después de terminar el diálogo, como puedes ver, estás fuera. Me recupero, si lo empiezo de nuevo y solo sigo dando clic a siguiente, oh. Sí, lo soy. Él lo hizo. Gracias. Bueno. Bien, funciona correctamente. Entonces así es como se tiene que terminar correctamente el diálogo. A continuación, vamos a cambiarlo para que reconozca a continuación, automáticamente selecciona la primera línea de diálogo o la opción A. Algunos jugadores solo quieren saltarse el diálogo y no quieren pasar el tiempo escuchando todo. Entonces lo configuraremos para que cuando alguien haga clic en Siguiente, seleccione automáticamente el Sí, yo soy. Hagámoslo en el siguiente video. 26. 025 Omitir diálogos y funciones personalizadas: Todo bien. Entonces vamos a entrar y asegurarnos de que si el personaje del jugador es reconocez podamos saltarnos de inmediato Y cada vez que alguien haga clic en el siguiente, básicamente, quiere saltarse el diálogo, se va a asegurar de simplemente saltarse y actuar como si hubiera seleccionado de inmediato ha llegado el comerciante y simplemente, ya sabes, básicamente seleccionando la opción a. eso es lo que vamos a hacer. Entonces lo primero es lo primero, ya tenemos la configuración básica al que todo el diálogo se detenga, dependiendo de quién esté hablando, ¿de acuerdo? Eso es súper importante. Ahora, hay un par de otras funciones personalizadas que queremos crear. Entonces lo primero es lo primero, alejemos el zoom. Y vamos a empezar pasando por nodo de diálogo de progreso. Ahora, actualmente se configura el nodo de diálogo Progreso. Básicamente, establece el sonido para el NPC basado en nuestra matriz Y luego lo juega, y luego selecciona y configura, Oye, ¿el jugador está hablando a cero? Eso quiere decir que sabemos a ciencia cierta que es el NPC el que está hablando Entonces, cuando avanzamos un poco, actualmente está configurado para actualizar el diálogo actual del NPC justo antes de que finalice el evento de enlace de audio del evento en audio Y vamos a cambiar esto por completo. ¿Bien? Entonces lo que vamos a hacer es, antes que nada, vamos a vamos a romper estos vínculos. Rompamos rápidamente este enlace y rompamos este enlace. Y vamos a arrastrar esto por aquí, vamos a porque vamos a actualizar, vamos a cambiar la forma en que estamos actualizando el diálogo actual de NPC Ahora que tenemos eso hecho, vamos a ver. Entonces tenemos la función para actualizar el texto sobre básicamente actualizar la opción Un texto, así como una simple comprobación final de diálogo. Ahora, primero, vamos a comenzar agregando un evento personalizado Skip NPC Así que vamos a crear rápidamente eventos personalizados. Y vamos a llamar a este evento personalizado. Bien, vamos a llamarlo Skip Okay, N PC. Y la razón por la que estamos configurando el evento personalizado skip NPC es porque va a haber momentos en los que simplemente queremos poder ejecutar todas las funciones que normalmente ocurren dentro después de que el NPC hable, pero queremos hacerlas sin que el NPC necesite jugar Entonces vamos a romper el enlace a la opción de actualización, un texto. Vamos a romper ese vínculo, y vamos a agregar en un simple do una vez. ¿Bien? Un simple hacer una vez. Y con eso, eso significa que esta función sólo se dispara una sola vez. Vamos a hacer esto para evitar errores donde quiera jugar el evento personalizado y el NPC skip también quiera jugar Porque recuerden, vamos a estar omitiendo esto, pero este evento personalizado, que se reproduce en el evento de audio terminado, todavía va a querer disparar, que es lo que no queremos, razón por la cual hemos configurado el nodo do once Después del nodo Dance, ahora estás pensando, ¿cómo reiniciamos esto? ¿Bien? Vamos a crear otro evento personalizado. Bien, y se va a llamar NPC Reset. Y dispararemos esto en situaciones en las que sabemos que ahora es seguro restablecer la capacidad de las funciones de diálogo posterior del NPC para disparar. Todo bien. Ahora que tenemos esta configuración, vamos a agregar ahora en estos nodos, que avanzan el diálogo del NPC, el contador de diálogo del NPC Entonces agregaremos estos por aquí, lo cual es bonito, bastante genial. Ahora hay otra función que vamos a necesitar agregar. Ahora, vamos a pasar a la opción del jugador A. Ahora, vamos a configurarlo para que justo aquí, después del siguiente botón, vamos a forzar la opción A, que básicamente es seleccionar la opción A para el jugador si quiere saltarse el diálogo. Si es la buena opción o la mala opción, los jugadores con prisa, quieren saltarse el diálogo. Entonces vamos a agregar en un evento personalizado. Y a este evento personalizado, lo vamos a llamar opción de subrayado de fuerza A porque es cuando queremos forzar la opción A, que es la opción A diálogo en nuestro sistema de diálogo. Bien. Y esto está configurado porque más adelante, podrías tener ambas opciones A y B. Pero si el reproductor quiere saltarse el diálogo, siempre seleccionará la opción A. Ahora que tenemos eso, puedes notar que tenemos nuestros nodos de sonido establecidos, nuestro nodo de reproducción, y comprobando que el reproductor está hablando. Y entonces vamos a hacer lo mismo aquí con el contador de diálogo. Rápidamente rompamos ese vínculo. Póngalo aquí y luego acerque estos porque queremos que este contador de diálogo esté después de este evento para los momentos en que lo saltemos, porque saltarse el evento de diálogo por completo va a ser una parte clave del sistema de diálogo, y haremos exactamente lo mismo También crearemos otro evento personalizado, y lo vamos a llamar skip player. Bien. Entonces, esencialmente, se salta al jugador. Y ahora que tenemos ese CStomEvent aquí, vamos a romper el evento en la función de audio terminada Y vamos a crear un nodo do once. Y recuerda, la razón por la que estamos usando la D una vez asentir. ¿Bien? La razón por la que estamos usando el nodo D once es para evitar que ambos disparen al mismo tiempo. Es muy importante. Y luego creamos otro evento de castom y este se llama player reset Bien. Y está aquí para básicamente reiniciar para restablecer el nodo do once para situaciones en las que es seguro jugar para jugar todas las funciones después de que el jugador necesite estar hablando, y lo tendremos completamente configurado. Ahora que tenemos eso completamente configurado y organizado, ahora podemos básicamente incrementar el diálogo del reproductor actual como antes Y podemos disparar el evento de diálogo de progreso como antes. Y ahora en esta región, realidad antes del evento de diálogo de progreso, en realidad queremos tener el texto de la Opción A de actualización por aquí. Por lo que actualizará la opción A. Texto, para luego continuar con el avance del diálogo Ahora, antes de seguir adelante, permítanme asegurarme rápidamente de que estos nombres sean consistentes. Permítanme establecer eso como reset, subrayar NPC, y luego omitir subrayado Bien, y luego ir al jugador y renombrarlo reiniciar jugador guión bajo Y luego para el skip skip, agregue un jugador de subrayado rápido solo para claridad visual y organización Bien. Ahora hemos agregado bastantes eventos personalizados, y vamos a necesitar pasar específicamente por dónde usarlos para asegurarnos de que todo funcione según lo previsto. Entonces lo primero que vamos a pasar paso a paso va a ser el diálogo de progreso y tenemos que asegurarnos de que lo configuramos completamente correctamente. Bien, entonces comenzaremos desde el inicio de los nodos de diálogo de progreso, y espero que seas capaz de seguirlo es realmente sencillo, pero son muchas piezas simples que pueden empezar a parecer muy complejas. Entonces lo primero en el diálogo de progreso es que fijamos el sonido de la boca del NPC para que sea su línea de voz actual de NPC basada en la configuración, la posición del diálogo actual del Entonces tocamos eso en el componente de audio y lo configuramos para saber que el reproductor no está hablando. Además, ¿por qué está hablando el jugador? Eso es un poco reventado. Aguanta. Déjame cambiar eso rápidamente. Es hablar, hombre. ¿Hablar? ¿Qué es eso? Eso es una locura. Bien. El jugador está hablando. El jugador está apilando. En fin, así que el jugador está hablando. Lo siguiente, vinculamos este evento en audio terminado, por lo que sólo va a pasar y ejecutar esto. Pero lo hemos configurado para que lo haga una vez, y podemos pasar por aquí si nos saltamos el NPC o podemos pasar por aquí en este evento personalizado después de que el audio esté terminado, y solo puede hacerlo una vez a menos que restablecemos el NPC Entonces justo después de eso, Bien, ten en cuenta que este diálogo está progresando vamos incrementar uno por uno el diálogo actual del PNC Lo incrementamos, lo cual es bueno. Lo siguiente que hacemos es correr un rápido, déjame romper este diálogo fin de verificación. Creamos esa función algunos videos atrás. Y si ese cuadro de diálogo básicamente está bien, ejecutaremos la opción de actualización Un texto. Bien. Ahora, vamos a entrar en la opción de actualización Un texto. Y la opción Una actualización de texto es bastante sencilla. Establecemos la visibilidad de la opción Un texto a visible. Y luego pasamos y sacamos la primera línea de los subtítulos de ese archivo de audio específico, cual es genial porque permite tus subtítulos funcionen en el texto, lo cual es bastante fantástico. Y entonces básicamente terminamos con eso. Ahora, necesitamos encontrar un lugar para agregar en el NPC reset. De lo contrario, esto nunca se encenderá. No va a funcionar. Bien. Entonces vayamos a jugar la opción A y repasarla. Entonces está jugando la Opción A normalmente, y hay la opción de pase A. Ambos hacen lo mismo. Establecemos la opción A establecemos la opción A para que esté completamente oculta, lo cual es importante. Y luego después de eso, vendremos aquí al sonido del set, y esencialmente vamos a estar haciendo lo mismo. Descubrimos qué línea de voz se basa en el diálogo actual del jugador, y tocamos ese sonido Entonces lo configuramos para que sepa que el jugador es el que está hablando. Y como todo eso está pasando, vamos a venir y al evento bind en audio terminado, y luego tenemos el reproductor de salto y el reproductor de reinicio, los cuales básicamente hacen lo mismo. Quieres disparar todo después del jugador sin necesidad pasar por el diálogo. Y luego justo después de eso, Bien, tenemos progresando el diálogo, que es genial, y luego tenemos la opción de actualización Un texto, que es lo que queremos hacer después incrementar el diálogo actual del reproductor Ahora bien, aquí es donde vamos a sumar un par de ajustes diferentes. En lugar de tener opción de actualización, más bien, en lugar de tener opción de actualización Un texto aquí, vamos a alterarlo ligeramente suavizar esto porque dentro de actualizar la opción A, Observe que establecemos la visibilidad de la Opción A a visible. Déjame copiar estos nodos. Pero no queremos que sean visibles. No queremos que sean visibles de manera consistente, justo después de ahí. Ahora, hay muchas formas de resolver el problema, pero por ahora, vamos a usar la sencilla. Simplemente estableceremos la visibilidad como oculta aquí independientemente porque todavía queremos actualizar el texto, pero no necesariamente queremos ver cuál es la opción A por aquí. Entonces ahora que tenemos eso, compilemos rápidamente y sigamos adelante. Ahora lo siguiente que vamos a hacer también primero parar por aquí. Vamos a arrastrar esto, y vamos a escribir NPC, restablecer NPC porque lo que eso hace es que el juego sepa que es seguro ejecutar realmente las funciones en el NPC Así que justo después de que hayamos terminado con todo, desde la opción del jugador A, queremos resetear ahora NPC para que ese skip and do una vez funcione correctamente Bien. Entonces lo siguiente vamos a hacer es que también queremos agregar en un reset para el jugador al diálogo del NPC, ¿de acuerdo? Así que vendremos por aquí y justo después de haber establecido el diálogo actual del NPC, vamos a agregar la función de reset player Entonces sabe que es seguro ejecutar las funciones justo después del reproductor. Ahora con esa configuración, nos quedamos con ¿cómo saltamos el diálogo y las opciones actuales? Vamos a eso ahora mismo. Entonces iremos al siguiente botón que salta el diálogo actual, y vamos a hacer un par de cosas Entonces quiero comenzar revisando quien esta hablando. Entonces, si el jugador es el que habla, lo cual es cierto, queremos detener la boca del jugador, y luego queremos venir aquí y ejecutar la función, saltar jugador. Básicamente, esa es mi alarma de trabajo no importa. Queremos ejecutar la función, saltar reproductor porque queremos venir aquí y hacer todas estas cosas de asegurarnos de que el diálogo esté actualizado, que el texto se actualice y se configure oculto restableciendo el NPC y progresando en el Queremos hacer eso sin jugar el diálogo del jugador. Y lo hemos configurado para que se haga una vez que sea seguro hacerlo, y no se ejecute dos veces. No queremos que corra doble. ¿Bien? Entonces queremos que eso sea por aquí. Por lo que actualmente se está saltando al jugador, y luego hace la opción de actualización Hace todas esas cosas, lo cual es muy, muy bueno, y es lo que queremos. Después pasamos a la N PC. Ya paramos la boca del NPC. Entonces queremos ejecutar la función skip NPC. Entonces tenemos todos los datos actualizados sin necesidad de jugar. ¿Bien? Lo siguiente que va a hacer si alguien presiona Skip, ¿de acuerdo? Lo siguiente que va a hacer es que va a forzar un Bien, así que si alguien quiere saltarse ese diálogo, entonces inmediatamente se saltará la línea, y luego va a forzar la Opción A justo después, y ya terminamos. Ahora, vamos a compilar rápidamente esto y echarle un vistazo en motor. Entonces actualmente, con la forma que está configurado con todos los saltos agradables, si caminas hasta el final reconozco el equipo que tienes Sí, el comerciante. Él lo hizo. Apenas unos cientos. Gracias. Voy a estar en camino. Buena suerte. Ya sabes, y hecho. Entonces ahora tenemos nuestra función Skip funcionando correctamente y según lo previsto. Ahora, pasemos al siguiente video a medida que comenzamos a concluir la introducción a cómo funcionan los sistemas de diálogo en Unreal Engine A continuación, vamos a configurar un sistema de cámara sencillo para que dependiendo de quién hable, la cámara cambie de posición. 27. 026 Cómo agregar un sistema de cámara seleccionable: Ahora hacer un selector de cámara va a ser bastante sencillo. Vamos a poner cámaras para seis jugadores. Bien. Y luego haremos una simple comprobación para saber quién está hablando, y luego seleccionará una de las cámaras NPC o las cámaras del reproductor Déjame explicarte solo mostrándote dentro de un VNRLEngine. Todo bien. Entonces actualmente, dentro de un VNRLEngine si me deja caminar rápidamente por el día reconozco el equipo Nos dijeron que esperáramos sin importar lo que le pase a la bestia. Sí, yo soy el comerciante Roba ¿Ha llegado? Lo cual está bien. Ahora, salgamos rápidamente. Ahora, ahora mismo, permítanme abrir el plano del personaje en tercera persona En estos momentos el plano del personaje en tercera persona sólo tiene esta cámara, que es la única cámara que se está utilizando Lo que vamos a hacer es crear una matriz de cámaras a su alrededor, y luego usando la función de interacción, enviaremos esa matriz de cámaras. Bien. Y luego en el NPC, claro, enviaremos esa matriz y la enviaremos en la función Tk, que la va a agregar al widget de diálogo, básicamente, solo como referencia, ¿verdad Luego dentro del widget de diálogo, vamos a configurar básicamente una pequeña área de comentarios, y vamos a ejecutar una función que busca qué línea de voz se está hablando y luego seleccionar la cámara. Va a tener más sentido cuanto más profundicemos. Entonces comencemos por usar una referencia. Entonces sabemos que el pedante NPC pone aquí al jugador. Esta posición es la posición de conversación, y actualmente se configura en 200 unidades en el eje X. Entonces lo que vamos a hacer es entrar en el personaje de tercera persona. Bien, y luego entraremos en la ventanilla. Y luego vamos a hacer una caja básica. ¿Bien? Queremos hacer una caja sencilla. Agárrate. No, queremos añadir una caja sencilla. Bien, colisionador de caja básico. Y vamos a llamar a eso lo vamos a llamar referencia de Talk porque solo va a mantener la posición de referencia cuando los personajes están hablando y se puede ver que esa es la caja. Hagamos su posición 200 unidades al frente. Entonces ahora sabemos que esa es nuestra posición de caja de referencia. Ahora que tenemos esa posición de cuadro de referencia, queremos empezar a agregarle cámaras. Entonces seleccionaré la posición de la caja de referencia, ¿de acuerdo? La referencia Tk. Voy a agregar, y voy a agregar una cámara. Perfecto. Y todas estas cámaras están unidas a la referencia de toque, y yo llamaré a la primera, cero. Voy a llamarlo cero, uno. Y entonces sólo voy a duplicarlo rápidamente. Y AnulEngine hace un trabajo lo suficientemente bueno de, ya sabes, solo mantener un conjunto genial de nombres Ahora, vamos a hacer seis de estas cámaras, seis. Ahora que tenemos aquí estas seis cámaras, vamos a alterar su posición. Ahora, por el bien de la simplicidad, déjame alejarme. Entonces solo para que sea realmente simple, déjame mostrarte mi mouse para que veas lo que estoy presionando usando mi mouse y cómo lo estoy usando. Entonces cuando hago clic en el botón Medio del ratón, puedo desplazarme, si sostengo eso, puedo cambiar la posición de esta cámara. Entonces ahora estoy mirando las cosas a vista de pájaro con el día WAS. Y la posición de cámara uno va a ser un básico mirando justo delante del jugador, mirando a la persona de enfrente, ¿de acuerdo? Entonces, básicamente, con esta posición de cámara, la cámara se ve sencilla. Todo bien. Ahora para la cámara posición dos, voy a tener la cámara mirando desde un ángulo. Entonces lo voy a mover exactamente, digamos, unas 200 unidades a la derecha. Sí, eso es bueno. Y entonces voy a rotarlo probablemente unos 45 grados. Déjame ver rotarlo sobre el eje Z. Digamos 45 grados, negativos 45 grados. Entonces está apuntando a la caja desde ese lado. Entonces voy a tener otra cámara. Observe, todos estos están aproximadamente a la altura de la cabeza. Por lo que la altura de la cabeza es de aproximadamente 60. Esto también es alrededor de 60. Eso es bueno. Entonces seleccionaremos la cámara número tres. También subirá alrededor de 60 unidades. Pero en cambio, va a ser, veamos, un poco más alto. Bien, un poco más alto. Al igual que algunas posiciones básicas de la cámara. Vamos a traerlo hasta, digamos alrededor de la 1:20 Bien. Y luego vamos a hacer que apunte ligeramente hacia abajo. Digamos a negativo 15, núcleo. ¿Bien? Esa es nuestra siguiente posición de cámara. Entonces seleccionaremos la cámara cuatro, elevaremos hasta aproximadamente seis en realidad, no, la cámara cuatro la acercará un poco al suelo. No, no, en realidad ese no es un ángulo de cámara genial. Bien, bien. Lo dejaremos caer más cerca del suelo negativo 60. Lo voy a mover ligeramente hacia la derecha al negativo 200 en el eje Y. Y luego lo rotaremos a unos 45 grados. Eso es el núcleo. En realidad, lo que creo que sería aún más genial es si lo bajé a aproximadamente 90 negativos. Bien, el negativo 90 es demasiado bajo. Estará entrando al suelo. Digamos 60. Pero como queremos que apunte a la cabeza de alguien, vamos a levantarlo veamos, vamos a levantarlo unos 30 grados, entonces está apuntando aquí arriba. Ten en cuenta que siempre podremos reajustar estas posiciones de cámara más tarde Ahora que ya lo hemos hecho, ahora solo necesitamos hacer una cámara cinco y seis. Entonces cinco y seis es realmente fácil. Básicamente los vamos a configurar, girarlos alrededor oh, perdón, rotarlos 180 15 grados para que esté un poco enfocado en el jugador, lo cual es bastante bueno. Y luego sí, esto debería chasquear la cámara seis. La cámara seis es la última. Tenemos que averiguar cuál es un lugar genial para poner la cámara seis. Bien, voy a moverlo a la derecha. No lo suficientemente bueno. Déjame moverlo por aquí. Gírela 100. Todo bien. Entonces después de hacer un par de ajustes, ahora tengo las seis cámaras, y las he colocado alrededor. Entonces tenemos cámaras. Sí, aquí tenemos todas estas cámaras, una, dos, tres, cuatro, cinco y seis. Así que tenemos una referencia básica de Tk que contiene nuestras seis cámaras estilo diálogo. Y, por supuesto, tenemos la cámara de seguimiento, que es como nuestra cámara normal que utilizamos como personaje jugador. Bien. Ahora que tenemos esas cámaras, claro, si pulsas play, ya sabes, personaje del jugador todavía va a estar usando la cámara de seguimiento. Y no te preocupes, esto no tanqueará tu FPS. La cámara es solo la posición de renderizado. Tener múltiples cámaras no destruirá tus FPS porque no todas están activas al mismo tiempo. Bien. Yo reconozco. Eso es bastante genial. Ahora, simplemente a necesitamos transferir los datos de las cámaras al componente de diálogo. Entonces vamos a hacer ajustes el componente de diálogo siguiente. Entonces aquí estamos dentro del componente de diálogo. Y si recuerdas, tenemos las líneas de voz NPC y las líneas de voz del jugador. Eso es genial. Vamos a crear dos nuevas variables. El primero, lo vamos a llamar jugador cámara de subrayado Bien. Y vamos a configurar esto como un entero y un array entero. Vamos a configurar como una matriz entera. Por supuesto, lo haces haciendo clic derecho con el mouse, eso lo cambiará de un solo valor a una matriz. Entonces agregaremos otra, y esta vez la llamaremos la cámara de subrayado NPC Bien. Y lo mismo, será un entero. Entonces estos dos valores de la cámara del reproductor y la cámara N PZ van a ser lo que vamos a utilizar para elegir cuál de las cámaras vamos a usar Eso es bastante genial. Bien. Y ahora que hemos terminado con eso, solo hagamos una compilación rápida. Bien, perfecto. Entonces, los elementos de la cámara del reproductor y la cámara NPC están ahora aquí, y estos son enteros, matrices de enteros Y ahora que tenemos esa matriz entera completamente configurada, lo siguiente que queremos hacer es queremos agregarlos también como entradas por aquí para el evento personalizado de la función toque. Así que selecciona el evento personalizado de la función toque y luego dirígete a las entradas. Y vamos a sumar dos entradas. Y llamaremos al primer insumo. Jugador, guión bajo, cámara, traje, y luego por supuesto, va a ser una matriz entera entera, selecciónela aquí y conviértala en una matriz Entonces el siguiente, por supuesto, va a ser NPC, guión bajo, cámara, y va a ser una matriz entera. Es así de simple. Ahora notarás que la función tiene cámara de reproductor y cámara NPC aquí como una matriz entera, lo cual es agradable Luego tenemos que agregarlos al widget de diálogo, vamos al widget de diálogo, y luego necesitamos agregar dos variables. Ahora bien, estas variables, por supuesto, como se puede imaginar, va a ser jugador subrayado cámara Y va a ser un entero y un array entero. Y entonces tendremos NPC bajo cámara scoe. Y es lo mismo. Ambos son solo matrices de enteros. Ahora que tenemos esa configuración dentro del widget de diálogo, compilamos, luego volvemos al componente de diálogo, compilamos. Y luego vamos a entrar y agregar algunos nodos más a esta secuencia. Entonces vamos a más y más, agregaremos esos dos. Y luego vamos a romper el AD para ver enlace portuario. Bien, porque siempre queremos hacer el add to view port último después de que hayamos configurado todos estos. Entonces lo siguiente que vamos a configurar es que vamos a poner, veamos, cámara ahí estamos. Entonces queremos configurar la cámara NPC. Y luego queremos configurar la cámara del reproductor. Bien, coloque la cámara del reproductor. Así que hemos configurado la cámara NPC y configuramos la cámara del reproductor. Los configuraremos para que sean los siguientes en la secuencia, lo cual es genial. Y luego, por último, enviaremos esta copia de seguridad como lo último de la secuencia. Sí, eso es genial. Ahora eso está hecho. Ahora simplemente arrastraremos del reproductor a la cámara del reproductor y arrastraremos la cámara NPC a la cámara NPC Estas son una especie de salidas escurridas. En fin, no importa. Envía la cámara NPC a la cámara NPC y la cámara del reproductor a la cámara del reproductor Después volveremos al campesino NPC, volveremos a la gráfica inventar, y notaremos que tenemos en la entrada de la función de evento tok, tenemos cámara de jugador, y tenemos cámara NPC Entonces, lo que vamos a hacer, aguanta. NasNa Jago aquí. Lo que vamos a hacer es desde el componente de diálogo, vamos a arrastrar esto. Entonces vamos a decir, Hey, NPC, consigue la cámara NPC, y luego se va a conectar a la cámara del NPC, y luego vamos a decir, Oye, consigue cámara de capa, y luego va a enlazar a la Y luego ya terminamos. Bien, ya terminamos con la configuración fundamental. Vamos a compilar. Luego iremos al componente de diálogo, que es el componente de diálogo que estamos usando. Y fíjate que tenemos dos variables más, cámara del reproductor y luego la cámara de PC. Rápidamente solo agreguemos tres elementos para ambos, y comenzaremos simplemente seleccionando uno, uno, uno y aquí 444. Bien. Esto solo se va a usar para las pruebas. Bien. Una vez que hayas terminado con eso, haz una compilación rápida. Ahora que eso está completamente compilado, ve al widget de diálogo, asegúrate de que todo esté guardado, y asegúrate de ir y hacer clic en guardar todo porque el proyecto se está volviendo bastante grande, y queremos asegurarnos de que nuestros cambios estén guardados. Ahora que esos se guardan, entremos en el widget de diálogo y realmente entremos en el código. Ahora vamos a crear vamos a crear un nuevo cuadro de comentarios. Sólo voy a copiar y pegar este, ¿ok? Déjame ver cambiar la cámara es un problema bastante grande. Así que déjame configurar esto aquí como su propia caja porque esto es un gran problema, y va a tener bastantes cosas en ella. Y va bastante alto, así que esto va a ser bueno. Y entonces esto va a ser la actualización la cámara actualizando la cámara. Bien, supongo que eso debería tener sentido. Actualizando la cámara. Además, siento que el tamaño del teléfono debería ser como 100 en este punto, porque estamos recibiendo muchas notas, y estoy haciendo mucho zoom. Hm. En fin, así tenemos esto actualizando la cámara. Justo aquí y no hay nada en él. Entonces vamos a crear un evento personalizado, y vamos a llamar a este evento personalizado. Vamos a llamar a esta actualización, en realidad, la llamaremos cámara, subrayado, actualización Bien, eso es todo lo que va a hacer su trabajo. Es trabajo va a ser actualizar la cámara. Y ahora podemos adentrarnos en cómo alterar la cámara. Primero compilemos. Ahora bien, lo primero que queremos hacer es que queremos averiguar qué persona está hablando. Entonces entremos y comencemos con una rama simple. Y dentro de la rama, queremos, veamos, jugador está hablando para ser el indicado. Entonces, si el jugador está hablando, se disparará verdadero. Si el jugador no es el que habla, va a disparar falso, lo cual es genial. Entonces vamos a crear otra vamos a crear otra función especial. Ahora vamos a llamarlo función personalizada, y vamos a llamarlo cámara, selector. Bien. Aún no lo necesitamos, pero es bueno tenerlo ahí, ¿de acuerdo? Después seleccionaremos el selector de cámara. Este es el indicado, y vamos a querer selector de cámara, bien para disparar, y luego aquí, lo mismo. Selector de cámara W para disparar. Pero la única diferencia entre estos dos es que aquí vamos a, primer lugar, obtener el diálogo actual para el NPC Bien. Y entonces estaremos usando el diálogo actual del NPC para controlar esta cámara ya que este es el NPC que está hablando Entonces vamos a conseguir la cámara NPC, queremos obtener la matriz de cámaras NPC Entonces por aquí, lo arrastramos hacia afuera. Entonces queremos obtener o una copia de la misma o una referencia, y luego enlazar por aquí. Bien. Y luego selector de cámara. Esto de aquí, vamos a necesitar agregar una entrada. Y la entrada que añadimos a eso va a ser, como puedes adivinar, un entero. Ahora, simplemente seleccionamos lo llamaremos cámara. Bien, solo lo llamaremos cámara. El nombre no es tan importante, pero ahora un evento personalizado del selector de cámara tiene cámara ahí como entrada. Y ahora que lo hace, la cámara también está aquí como entrada, y arrastraremos esto, la conectaremos por aquí. Eso es núcleo, y eso es para el NPC. Ahora para el jugador, vamos a hacer lo mismo. Quiere obtener el diálogo actual para el reproductor. Entonces queremos conseguir jugador, en realidad, quieres conseguir jugador cámara. Perfecto. Queremos conseguir la cámara del jugador. Ahora que tenemos esos dos, queremos obtener todos los datos del reproductor más bien queremos obtener una copia de esto, obtener el diálogo actual, vincularlo por aquí, y luego lo usaremos como salida. Básicamente, lo que eso significa es que estamos vinculando las líneas de voz del jugador y las líneas voz NPC a las que va a salir la matriz dentro de las matrices de cámaras , lo cual es genial Ahora que lo hemos hecho, simplemente guardar, compilar, y tenemos los huesos básicos de lo que necesitamos. Ahora podemos sumergirnos y meternos en el selector de cámara real. Bien. Ahora, supongo que por el bien de la organización, déjame empujar el selector de cámara por aquí, la función de selector de cámara. Ahora bien, esta es la única vez aquí donde vamos a estar usando el elenco. ¿Bien? Ahora, vamos a mantenerlo sencillo. Vamos a conseguir al jugador Peón. Bien. Déjame acercarme porque esto es intrincado Conseguiremos el peón del jugador, y luego lanzaremos al plano de tercera persona Básicamente, queremos hacer referencia al personaje de tercera persona y asegurarnos de que es el que estamos afectando, ¿de acuerdo? Y luego una vez que hayamos terminado con eso, lo siguiente que vamos a hacer es que vamos a empezar a llamar. Vamos a empezar a llamar a las diferentes cámaras. ¿Bien? Pero antes de empezar a llamar a las diferentes cámaras, queremos hacer un switch SWITCH. Bien, en el Int. Activar Int significa que seleccionará un valor basado en el entero. Ahora, vinculemos aquí si el elenco es exitoso, y luego vinculamos la cámara a la selección. Es así de simple. Entonces agregaremos exactamente seis de estos. En realidad, seis. No sé por qué he hecho tantos. He hecho demasiadas. ¿Cómo elimino esto quitar un pin, quitar un pin Retire un pasador, retírelo y retírelo. Bien, perfecto. Estos son seis. Van 0-5. Entonces hay seis pines diferentes. Ahora que tenemos eso, podemos seleccionar cualquier valor 0-5, y funcionará para controlar el interruptor A continuación, queremos apuntar a algunas cosas. Entonces voy a arrastrar como plano de personaje en tercera persona. Lo voy a arrastrar, y voy a decir que consiga cero, uno. ¿Bien? Ése son los nombres de las cámaras. Después consigue 02. Y básicamente, eso es todo lo que voy a hacer. Voy a conseguir 01, 02, y también 03. Bien. Ahora, los chasquidos te mueven hasta aquí. Y esencialmente hacemos lo mismo, obtenemos 04, y luego obtenemos 05, y luego obtenemos 06. Bien. Esencialmente, eso es lo que estamos haciendo. Aquí, estamos aquí estamos. Bien, déjame alinear estos. Alineación, alinéelos todos a la izquierda. Y luego haciendo clic en todos ellos, haciendo clic derecho, y luego alineación, y luego los voy a apilar verticalmente. Bonito. Ahora se ven bien organizados. Bien, entonces ahora tenemos acceso a todas estas seis cámaras, lo cual es genial. Y ahora que tenemos acceso a todas esas seis cámaras, vamos a hacer una función básica y bastante básica, vamos a poner una de ellas como activa. Bien. Y lo que eso significa es, así que vamos a arrastrar esto. Déjame ver. No, no, no, no, no, esto no. Veamos, un conjunto activo. Sí. Entonces lo primero que vamos a hacer es que vamos a poner activos. Entonces, si arrastras fuera de la cámara y escribes set active, lo que hace es que básicamente puede hacer que todas estas cámaras estén inactivas, ¿de acuerdo? Esto es. Entonces, después de que hayamos configurado ese nodo activo de conjunto, conecta todas estas cámaras desesperadas, bien, estas cámaras separadas, las conectan todas para que se vuelvan inactivas. Eso es lo que estamos haciendo, como pueden ver. ya lo hemos hecho. Y luego déjame arrastrar, y luego voy a conseguir la cámara de seguimiento. Y también lo estoy configurando para que esté inactivo. Bien, porque solo debería haber una cámara activa encendida a la vez. Ahora que hemos terminado con eso, vamos a pasar al extremo del interruptor encendido, y aquí es donde va a haber alguna variación. Entonces voy a arrastrar desde el primero y lo configuraré para que se active. Y básicamente, si el número que entra es 01, va a poner eso como activo. Y vamos a repetir el mismo proceso para todas y cada una de esas cámaras. Simplemente arrastramos el conjunto activo y luego lo agregamos. Entonces eso es hacerlo para la cámara número uno. Y luego queremos hacerlo para la cámara dos. Ese es el reproductor más bien si la línea de diálogo es dos y quiero asegurarme de que el activ esté marcado, entonces déjame solo Control C y control V pegar esto para que pueda acelerar este proceso Entonces son dos, tres, cuatro, cinco y seis. Sí, estos nodos en realidad se están volviendo altos. Así que he vinculado dos. Esto es tres, esto es cuatro, esto es cinco, y esto es seis por aquí. Y queremos asegurarnos de que estos nodos que seleccionamos entre todos ellos estén funcionando según lo previsto. Este cero no es un valor, sino por simplicidad, déjame dejar cero en blanco. Y luego arrastra hacia afuera desde la cámara de seguimiento y luego escribe set active. Entonces, básicamente, si va a cero, solo mantendrá activa la cámara de seguimiento básica normal. Eso es bastante fantástico. Bien. Y ahora que tenemos esto, que es bastante genial, vamos a hacer otra cosa. Notarás que este nodo de aquí establece que la cámara normal esté activa. Ahora, lo que vamos a hacer es que vamos a realizar un evento personalizado. ¿Bien? Y vamos a llamar a este evento personalizado cámara subrayado reset Bien. Y vamos a vincularlo para hacer activa la cámara base de la cámara base. Bien. Ahora que hemos terminado con eso, volveremos e iremos a la comprobación de fin de diálogo, lo cual está bien. Y luego vamos a teclear, vamos a ver. Vamos a escribir reset de cámara. Básicamente, cada vez que dejes espera. Sí, este es el de salida de diálogo. Cada vez que el personaje del jugador abandona el diálogo, siempre debe volver a la posición normal de la cámara. ¿Bien? Todo bien. Ahora que hemos terminado con todo eso, estas funciones personalizadas, ahora podemos comenzar a probarlo para asegurarnos de que está funcionando según lo previsto. Lo último es agregar un nodo de actualización de cámara. Entonces básicamente, tendremos el nodo de actualización de cámara disparado. Déjame ver. Bien, entonces justo después del diálogo Progreso, bien, dispararemos el nodo de actualización de la cámara. Entonces vamos a ir directo al diálogo Progreso. Ven aquí. La actualización de la cámara va a ser una de las primeras cosas que queríamos hacer. Déjame mover esto, ¿de acuerdo? Así que quiero que actualice la cámara. Y luego básicamente, después de jugar a la Opción A, vamos a avanzar un poco esto. Queremos que actualice la cámara antes de hacer cualquier otra cosa. Ahora, sé que esto ha sido un montón de configuración antes de que nos metamos en el motor real, pero a estas alturas, tienes una comprensión bastante sólida de lo que estamos haciendo. Todo bien. Ahora, tenemos que hacer algunas pruebas básicas. Entonces, entra en el modo de juego. Quieres asegurarte de que esto esté funcionando como se pretendía. Reconozco el equipo que tienes uno. Nos dijeron que esperáramos ayuda aquí para el número cuatro? Sí, el comerciante con mis cosas, ha llegado? Él lo hizo. Apenas unos cientos de escalones río abajo en la orilla occidental. Gracias. Voy a estar en mi camino. Buena suerte. Ya sabes, una chica de nuestro pueblo fue atacada. Casi no lo logró. Pero su padre, no se encuentra por ningún lado. Por favor, necesitamos el mejor cuidado. Bien. Perfecto. Entonces esto está funcionando más o menos como se pretendía. Entonces, esencialmente, lo que está pasando es, vayamos al componente de diálogo. Quiero mostrarte esto en tiempo real lo que realmente está pasando. Así que vamos a jugar rápidamente desde aquí. Estos son todos los nodos. Sé que son un poco diminutos, pero estos son los nodos que seleccionan. Ahora tenemos este chasquido. Bien, va a tomar un tiempo voy a necesitar cambiarme antes de que esto realmente se muestre. Reconozco el equipo que llevas puesto. Nos dijeron que esperáramos ayuda aquí para la bestia. Sí, lo soy. Bien. El mercader con mis cosas. ¿Ha llegado? Él lo hizo. Apenas unos cientos de escalones río abajo. En la orilla occidental uno. Gracias. Voy a estar en mi camino. Buena suerte. Activo. Ahora está haciendo que una chica en nuestro pueblo fuera atacada. Casi no lo logró. Pero su padre, no se encuentra por ningún lado. Por favor. ¿Bien? Necesitamos al Bara ahora mismo. Y luego, boom, volvemos a nuestra cámara normal. Y así es como hacemos un sistema de cámaras. Ahora, salgamos de esto. Bien. Ahora, lo grande es que podemos seleccionar entre múltiples cámaras. Básicamente tenemos que ir al allí, y podrías decir, Bien, quieres darle una especie de condimento porque sabemos que en el plano de tercera persona, sabemos que la cámara uno está frente al NPC Sabemos que la cámara dos está frente al NPC, y la Cámara tres está frente al NPC, Y entonces cuatro también se enfrenta al NPC. Um, cinco se enfrenta al personaje jugador, y seis están frente al personaje jugador. Entonces vamos a cambiarlo para que seleccionemos entre cuatro, más bien, cinco y seis para el personaje del jugador. Y luego para el NPC, podemos seleccionar entre los demás. Ten en cuenta que esto depende de tu discreción. Puedes cambiar la posición de la cámara en función de lo que quieras. Entonces, cuando el jugador está hablando, golpea primera línea. Tengámoslo en la posición seis, segunda línea, posición cinco, y luego volvamos a la posición seis otra vez, ¿de acuerdo? Estoy diciendo esta voz línea por línea de voz. Entonces para el NPC para su primera línea, vayamos a la posición uno Agárrate. Déjenme volver primero. Agárrate. Revertir, revertir, revertir Bien, entonces haremos seis, cinco, seis. Aquí vamos a hacer uno, vamos a hacer dos, y vamos a hacer tres. Creo que esa será una forma sencilla de mirarlos. Déjame asegurarme widget de diálogo. Todo debería estar funcionando como se pretendía. Bien, debería estar funcionando como pretendía, sin limitaciones. Veamos nuevo activo, nuevo activo, nuevo activo. Los activos están funcionando según lo previsto. Volvamos. Bien. Ahora bien, así es como puede verse fácilmente. Bien, ¿qué puede parecer? Reconozco el equipo que llevas puesto. Nos dijeron que esperáramos ayuda aquí para la bestia. Sí, yo um, el comerciante con mis cosas, ¿ha llegado? Él lo hizo. Apenas unos cientos escalones río abajo por el oeste Bk. Cámara. Gracias. Voy a estar en mi camino. Buena suerte. Ya sabes, una chica de nuestro pueblo fue atacada. Ella casi y luego encontramos el primer bicho. Bien. Entonces a la salida, no nos está devolviendo el control directo a la cámara. Bien. Entonces lo primero es lo primero, déjame asegurarme. Veamos, diálogo actual, cámara jugador jugador, diálogo actual, NPC, cámara, dependiendo de quien esté hablando Esto está funcionando generalmente según lo previsto. Aguanta, juego es hablar, es una. Aguanta, déjame verificar esto. Jugar es hablar, es después de la opción de jugar, eh. Eh. Toda la actualización de la cámara viene antes de que el jugador esté hablando. Esto no es correcto. Lo que tenemos que hacer es romper esto. Agárrate. Rompamos esto. Rompe todos los pines. Rompe todos los pines. Lo que necesitamos es dejarme romper esto también. Tenemos que averiguar quién está hablando antes de actualizar la cámara. Así que empieza eso. Entonces diremos que el jugador está hablando y luego actualizaremos la cámara. Me preguntaba por qué las cosas no funcionaban. Bien, sí, ya está. El orden tiene que ser reajustado, compilar. Bien, es compilar. Así que eso resuelve un problema, y haremos lo mismo para avanzar en el diálogo Rompe este enlace, rompa este enlace. Rompamos esto también. Queremos al jugador. Básicamente, primero queremos configurar y seleccionar quién está hablando antes de actualizar la cámara. De lo contrario, la cámara se actualizará con mala información. ¿Todo bien? Seleccione eso y luego compile rápidamente. Y luego en cuanto a verificar el fin del diálogo, tenemos la función de reinicio de cámara. Bien. Sin embargo, en el diálogo de salida, también necesitamos tener la función aquí. Así que básicamente en el diálogo de salida, creo que voy a poner el reinicio de la cámara muy temprano. Creo que voy a necesitar extender esto de nuevo. Bien. Inmediatamente, se presiona el botón de salida del diálogo. Debemos de inmediato hacer un reinicio rápido de la cámara. Anwa ahora Control S. Vamos a intentarlo una vez más. Al entrar, reconozco el equipo que llevas puesto. Estábamos. Sí, yo soy el comerciante mi. Él lo hizo. C gracias. Voy a estar en mi camino. Buena suerte. PNJ. Anva y ahora, señoras y señores, así es como configuran un sistema de diálogo bastante sencillo que es su introducción en él Sé que ha sido razonablemente complejo, pero si has entendido todo esto, créeme, vas a ser mejor en la creación de sistemas de diálogo. Bien, vas a ser el mejor. Y una vez que tengas esto organizado, puedes hacer cualquier sistema que te guste con solo un par de pequeños ajustes y cambios A continuación, el siguiente video va a ser un rápido chequeo de cordura y un chequeo de conocimientos para asegurarte que has aprendido correctamente de este tutorial Y luego voy a dar algunas recomendaciones sobre los próximos pasos y cómo planificar su propio sistema de diálogo para sus juegos completos. Pasemos al siguiente video. 28. 027 Revisión final de los conocimientos y conclusiones finales: Todo bien. Hagamos una rápida comprobación final de conocimientos. Esta es tu cartilla final para asegurarte de que has aprendido todo lo que puedas de este curso. Comenzamos con los conceptos básicos de obtener una audacia irreal del motor y cualquier escritura y rápidamente cubrimos cómo escribir y crear Y lo estamos haciendo teniendo un buen escenario y entendiendo que el escenario crea los problemas para tus personajes que están tratando de resolver. Probablemente el consejo más importante es usar siempre lo que tengas a tu disposición. Eso significa tener confianza en el uso de su diálogo, sus guiones y cualquier dispositivo de grabación y talento de voz que tenga. Solo usa lo que tengas. Es la única manera de hacer tu mejor esfuerzo y luego tocamos cómo obtener audio y comenzar a grabarlo y usarlo y cortarlo para exportarlo dentro de la audacia, o cualquier aplicación de edición de voz que tengas disponible para ti También revisamos una estructura de carpetas recomendada para cuando estés guardando tus líneas de voz y archivos de voz para asegurarte de que no importa cuán grande sea tu proyecto, vas a poder encontrar fácilmente tus archivos y simplificar las opciones de localización. Y luego nos metimos en Unreal Engine, y de hecho empezamos a trabajar en la configuración de un NPC con el que podamos interactuar Reconozco que tienes que hablar. Estábamos. Y entramos y especificamos gran parte de la lógica fundamental desde saltarse el diálogo, progresar el diálogo e incluso un selector de cámara bastante genial que nos permitiría seleccionar entre todas las diferentes posiciones de cámara para nuestro sistema de diálogo Ahora, esa es una descripción súper simplificada de las docenas de pequeñas cosas que hemos cubierto. Sin embargo, ahora que estás en este punto, espero que tengas una comprensión lo suficientemente profunda y razonable de cómo maneja Unreal Engine, más bien, se puede usar para administrar un sistema de diálogo Una de las grandes cosas es entender las interfaces. Entonces ahora ya sabes cómo conseguir dos planos diferentes para hablar entre ellos, entendiendo los componentes Entonces ahora entiendes cómo hacer un componente, y los componentes se pueden usar para muchas cosas diferentes, y usarlas para crear un sistema de diálogo administrando un widget y pasando datos a través de él. Y como esto es escalable, este componente de diálogo se puede agregar a cualquier NPC del mundo Y básicamente, puedes agregar diálogo a prácticamente cualquier NPC, siempre y cuando tenga ese componente de diálogo, puedes agregarlo, lo cual es genial Funciona universalmente. Ahora, para cerrarlo, el último consejo con el que te dejaré es recordar siempre que planear está bien. Tener una planificación adecuada antes de configurar su sistema va a garantizar que salga de la manera que desee. Por supuesto, necesitas un poco de conocimiento subyacente de cómo funciona UnrelEngine, y espero haberte dado lo suficiente para que puedas configurar o al menos hacer rodar la pelota en tu sistema de diálogo para tu Además de eso, esto es Hyper Dev, y esto pone fin a la introducción del sistema de diálogo Unreal Engine Ahora bien, si realmente te gustó este curso, no me importaría que lo revises y lo calificaras, y pase lo que pase, siempre escucho comentarios. A medida que esto llega a su fin, quería mostrarles una animación específica. Eso, el No, yo haré eso. No. Vete. Cuando se trata de Unreal Engine, entonces una de las cosas realmente interesantes de Unreal Engine, es cómo realmente te permite mapear Sí, movimiento facial. Meta humanos. Entonces, uno de los siguientes cursos que voy a hacer es cómo mapear tu movimiento facial y animación hacia el meta humano y usarlo para alinear diálogo con la animación facial. Va a ser súper genial. Pero eso es todo por ahora, y probablemente te veré en la siguiente lección.