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.