Tabla de contenidos p>
Introducción h3>
Juegos complejos puede ser muy divertido, pero a veces todos los jugadores quieren hacer es sentarse y volver a vivir los días retro donde la mecánica y objetivos simples eran los campeones reinantes. Como desarrollador, no sólo podría desea crear su propio retro, tipos de juegos de estilo arcade (con algo de estilo moderno), pero también puede ser el proyecto de un gran principiante a comenzar sus habilidades de desarrollo del juego! P>
Por lo tanto, en este tutorial, vamos a ser la creación de un juego de arcade de cruce de carreteras en el Unreal Engine. El juego contará con un controlador de jugador, monedas, coches, y un objetivo final – la captura de las clases de mecánica sencillas entre las que cabe esperar. Además, vamos a trabajar fuertemente con el sistema único de Blueprinting Unreal Engine, así que no hay codificación de cero es necesario! P>
Si es tu primera vez que utiliza el Unreal Engine, le recomendamos que siga nuestra introducción al tutorial Unreal Engine en primer lugar, como éste no se va a través de los fundamentos del propio motor. P>
p>
No se pierda! extremos de la oferta en
- Accede a los más de 200 cursos li>
- Nuevos cursos añadió mensual li>
- Cancelar en cualquier momento li>
- Los certificados de terminación li>
Ul>
ACCESO ahora p>
Proyecto Archivos h3>
Para este proyecto, vamos a necesitar algunos modelos 3D hechos en MagicaVoxel. P>
También puede descargar el proyecto de competir con todos los planos, niveles, ajustes y modelos de los. P>
Creación del proyecto h3>
Para empezar, cree un nuevo proyecto (sin contenido de arranque es necesario). A continuación, vamos a crear tres nuevas carpetas en el Navegador de contenido strong>. P>
p>
A continuación, guarde el nivel abierto a los Niveles em> carpeta como MainLevel strong>. P>
Vamos a utilizar algunos modelos en 3D pre-hechos de MagicaVoxel, así descargar los activos incluidos (parte superior de la guía de aprendizaje) y arrastre el contenido dentro de los Modelos em> carpeta, en el navegador de contenido strong> en nuestro Modelos em> carpeta. De esta manera: p>
p>
Creación del jugador h3>
Ahora podemos crear nuestro jugador. Este jugador será capaz de moverse hacia delante, izquierda y derecha. Para empezar, tenemos que configurar los atajos de teclado. Ir a la Configuración del proyecto strong> ventana ( Editar> Ajustes del proyecto em> …) y vaya a la fuerte pestaña entrada . Queremos crear tres nuevas asignaciones de acción. P>
- Move_Forward = W li>
- Move_Left = A li>
- Move_Right = D li>
Ul>
p>
De vuelta en el editor de niveles, se puede navegar en nuestro Modelos em> carpeta y crear un nuevo modelo para nuestro jugador. Que sea de una clase padre Hipoteca em> y lo llaman Reproductor strong>. P>
p>
abrirlo y podemos empezar. P>
En primer lugar, crear un nuevo Estática de malla strong> componente. P>
- Establecer la malla estática al jugador li>
- Establecer la ubicación a 50, 50, -50 li>
- establecer la rotación a 90, 0, -90 li>
- Establecer la escala de 50, 50, 50 li>
- (no se muestra) Desactivar Generar superposición Eventos li>
Ul>
p>
A continuación, crear un Cápsula Colisionador strong> componente como un hijo de la estática de malla. P>
- Establecer la ubicación a 0.96, -1.58, -1.0 li>
- establecer la rotación a 90, 0, 0 li>
- Establecer la cápsula de altura media a 0,5 li>
- Set la cápsula Radius a 0,2 li>
- Activar simulación genera eventos Hit li>
- Establecer la colisión predeterminadas para disparador li>
Ul>
p>
Por último, tenemos la configuración de la cámara. Crear un nuevo resorte del brazo strong> componente como el hijo de malla estática. Este componente llevará a cabo nuestra cámara en su lugar, incluso si estamos girando. P>
- Establecer el zócalo Offset a 100, 0, 0 li>
- fijado el objetivo Offset a 0, 227, 820 li>
Ul>
A continuación, crear un Cámara strong> componente como un niño. P>
- establecer la rotación a 0, -65, -40 li>
- Establecer el campo de visión a 50 li>
Ul>
p>
Vamos ahora a volver al editor de niveles y con el fin de jugar como el jugador, es necesario crear un modelo modo de juego. P>
p>
abrirlo y todo lo que tenemos que hacer, es establecer la Hipoteca defecto Clase strong> a nuestro Reproductor em> modelo. P>
p>
Guardar y compilar. De vuelta en el editor de niveles, vaya a la Ajustes World strong> panel y establecer el Reemplaza GameMode strong> para nuestro nuevo modo de juego. P>
p>
Ahora bien, si usted presiona el juego, verá que aparece el jugador con la cámara por encima de ellos. P>
Desplazamiento del reproductor h3>
De vuelta en el Reproductor strong> modelo, podemos empezar a poner en práctica el movimiento. En primer lugar, tendremos que crear las variables. P>
- TargetPos (Vector) li>
- CanMove (booleano) li>
- Score (entero) li>
Ul>
Compilar strong> y establecer algunos valores por defecto. P>
p>
Evento Gráfico strong>, podemos empezar por restablecer la posición del jugador. El Objetivo Pos em> variable es donde el jugador se mueve a, por lo que vamos a establecer que nuestra posición en primer lugar. P>
p>
A continuación, tendremos que hacer más o menos lo mismo para seguir adelante, izquierda y derecha. Para anular sólo tener tres copias del mismo código, vamos a crear una nueva función llamada TryMove strong>. Crear una nueva entrada para la función llamada Dirección strong> y hacer que de tipo Vector em>. P>
Lo que estamos haciendo aquí, está comprobando si se puede mover. Si es así, añadir la dirección a nuestro TargetPos em> y luego desactivar el movimiento lata. Pero queremos ser capaz de moverse con el tiempo, por lo que vamos a llamar a una función con un retraso. El EnableCanMove strong> em> función es lo que vamos a llamar después de 0,3 segundos. P>
p>
Ahora vamos a crear ese strong>, función EnableCanMove. Todo lo que estamos haciendo aquí está permitiendo la puede mover la función. P>
p>
De vuelta en el gráfico principal evento, ahora vamos a configurar nuestro movimiento de entrada para llamar a la función TryMove. Asegúrese de rellenar el correspondiente Dirección strong> em> entradas. P>
p>
A continuación, tenemos que mover en realidad el jugador. Así que cada cuadro (nodo garrapata evento), vamos a activar el Mover componente A strong> nodo que mueve un componente a la posición deseada. P>
p>
Ahora puede presionar play y probarlo! P>
Nivel diseño h3>
Antes de continuar con el resto de los sistemas del juego, vamos a crear nuestro nivel. Así, en el editor de niveles comenzar por eliminar el objeto piso. P>
A continuación, en los Modelos / tierra em> carpeta, arrastre en la strong> modelo Tile_Ground. P>
- Establecer la ubicación a -50, 50, -110 li>
- establecer la rotación a 90, 0, 0 li>
- Establecer la escala de 50, 50, 50 li>
Ul>
p>
La combinación de los azulejos de térreo y, crear un diseño como el de abajo. P>
p>
monedas de colección h3>
Al jugar el juego, los jugadores pueden recoger las monedas para aumentar su puntuación. Crear un nuevo proyecto (clase padre de Actor em>) y lo llaman Moneda strong>. P>
p>
Todo lo que vamos a hacer componente sabia, es crear un nuevo Estática de malla strong> componente. P>
- Establecer la malla estática a la moneda li>
- Establecer la ubicación a 2.6, -18.0, -97.0 li>
- establecer la rotación a 90, 0, 0 li>
- Establecer la escala de 50, 50, 50 li>
- Activar simulación genera eventos Hit li>
- Establecer la colisión predeterminadas para disparador li>
Ul>
p>
Crea una nueva variable de tipo Flotador em> y lo llaman RotateSpeed strong>. Compilar y establecer el valor predeterminado a 90 em>. P>
p>
En el gráfico de eventos, estamos en primer lugar va a configurarlo de manera que gira la moneda a través del tiempo. Estamos multiplicando por los segundos delta de manera que al girar la moneda en términos de grados por segundo y no en grados por cuadro. Esto hará que sea la misma a través de cualquier tipo de marco. P>
p>
A continuación, tenemos que añadir la puntuación al jugador cuando recogen la moneda. En primer lugar, vaya a la Reproductor strong> modelo y crear una nueva función llamada AddScore strong>. P>
- Crea una entrada para la función llamada ScoreToAdd de tipo Integer li>
Ul>
Esta función solo se sumará a la puntuación existente. P>
p>
De vuelta en el Moneda strong> modelo, vamos a crear la lógica de manera que cuando el jugador choca con la moneda, que se suman a la puntuación obtenida y se destruyen. P>
p>
En el editor de niveles ahora, podemos arrastrar en el plano de la moneda y la posición que donde queremos. Si usted presiona el juego y recoger la moneda, usted debe ver que se destruye. P>
p>
También se puede añadir a continuación en el resto de las monedas. P>
p>
Creación de los coches h3>
Los coches van a ser el principal obstáculo del jugador. Golpeándolos hará que el juego se reinicie. P>
Crear un nuevo proyecto (clase padre de Actor em>) y lo llaman carro strong>. Abrirlo y vamos a empezar por la creación de una malla componente estático. P>
- Establecer la malla estática a carro li>
- Establecer la ubicación a 75, -37, -100 li>
- establecer la rotación a 90, 0, 180 li>
- Establecer la escala de 50, 50, 50 li>
- Desactivar Generar superposición Eventos li>
- Establecer la colisión predeterminadas para disparador li>
Ul>
p>
A continuación, crear un Colisionador strong> componente. P>
- Establecer la ubicación a 1,5, -2,5, -0,75 li>
- Definición de las extensiones de la caja a 1,3, 0,45, 0,6 li>
- Activar simulación genera eventos Hit li>
- Establecer la colisión predeterminadas para disparador li>
Ul>
p>
Ahora vamos a la cabeza a la Evento Gráfico strong> donde vamos a empezar por la creación de algunas variables. P>
- StartPosition (Vector) li>
- Velocidad (Float) li>
- Distancia (Float) li>
Ul>
Compilar, a continuación, para cada variable, permite Instancia editable strong> para que podamos cambiar los valores en el editor de niveles. Sin embargo, para la velocidad, vamos a establecer que a un valor predeterminado de 400 em>. P>
p>
Ahora, para los nodos. Cada cuadro, vamos a estar moviéndose en nuestra dirección de avance. P>
p>
También está queriendo comprobar cada trama si hemos reducido en cuanto a la variable distancia. Si es así, entonces restablecer nuestra posición a la posición inicial. P>
p>
Por último, vamos a comprobar si hay una superposición del jugador colisionador. Si es así, vamos a reiniciamos la escena. P>
p>
De vuelta en el editor de niveles, vamos a cabo por nuestro primer coche. P>
- Establecer la ubicación a 400, -550, 0 li>
- establecer la rotación a 0, 0, 90 li>
- Ajuste la posición de inicio a 400, -550, 0 li>
- establecer la distancia a 1100 li>
Ul>
Ahora bien, si usted presiona el juego, usted debe ver el vehículo se desplace por el camino y luego vuelva a su posición una vez que se llega al final. P>
p>
seguir adelante y crear muchos más coches para llenar las carreteras. P>
p>
Juego de interfaz de usuario h3>
Ahora vamos a crear un poco de interfaz de usuario para el juego. Vamos a tener dos elementos. Una pantalla de victoria y un texto de puntuación para que el jugador puede ver su puntuación actual. En el Modelos em> carpeta, haga clic derecho y seleccione Interfaz de usuario> Widget Blueprint em>. Llamarlo GameUI strong>. Haga doble clic para abrir la ventana del editor de interfaz de usuario. P>
En primer lugar, arrastre en una nueva texto strong> componente. P>
- Establecer el nombre de ScoreText li>
- Habilitar es variable li>
- Definición de los anclajes a Top-Centro li>
- Establecer la posición X a -250 li>
- establecer la posición Y a 60 li>
- Para Tamaño X a 500 li>
- Para Tamaño Y a 80 li>
- fija el texto Resultado: 0 li>
- Para Tamaño, a 50 li>
- Establecer el Centro de Justificación li>
Ul>
p>
A continuación, queremos crear la pantalla de victoria. Arrastre en un componente panel de la lona. Este será el contenido de la pantalla de victoria. Poblarlo con un texto de cabecera y el botón para reiniciar el juego. Asegúrese de que el panel de la lona tiene es variable strong> activado. P>
p>
A continuación, queremos seleccionar nuestro botón de reinicio, y en el Detalles strong> panel de crear un En Seguido em> evento. P>
p>
Esto creará un nodo onClicked en el gráfico. Todo lo que queremos hacer con esto, es cuando se activa – reiniciar el nivel actual. Además, vamos a añadir el nodo EventConstruct la que se llama cuando se crea la interfaz de usuario. Todo lo que estamos haciendo aquí, es deshabilitar el panel de pantalla de victoria. P>
p>
A continuación, vamos a crear el strong>, función UpdateScoreText. Esto se llama el momento de recoger una moneda. Añadir una entrada de tipo Entero em> y lo llaman NewsCore strong>. P>
p>
A continuación, tenemos la strong> Función SetWinScreen que acaba fija el panel de pantalla de ganar para ser visible. P>
p>
De vuelta en el Reproductor strong> modelo, podemos inicializar la interfaz de usuario. En primer lugar, crear una nueva variable de tipo GameUI em> llamada GameUI strong>. P>
A continuación, continuar en el flujo EventBeginPlay, crear e inicializar el widget de interfaz de usuario. P>
p>
Así que dentro de la AddScore strong> función, podemos actualizar la interfaz de usuario. P>
p>
Si usted presiona el juego, verá en acción! P>
Fin Objetivo h3>
Para terminar el proyecto fuera, vamos a crear una bandera al final del nivel que necesita el jugador para llegar. Esto permitirá a la pantalla de victoria, lo que les empuja a reiniciar el juego. Así que en el Modelos em> carpeta, cree un nuevo proyecto de tipo Actor em> llama EndFlag strong>. P>
Todo lo que vamos a hacer es añadir el componente racional en una malla estática. P>
- Establecer la malla estática a la bandera li>
- Establecer la ubicación de -37,0, 7,8, -100.0 li>
- establecer la rotación a 90, 0, 0 li>
- Establecer la escala de 50, 50, 50 li>
- Activar simulación genera eventos Hit li>
- Establecer la colisión predeterminadas para disparador li>
Ul>
p>
Durante la Evento Gráfico strong>, sólo queremos comprobar que la bandera ha chocado con algo. Si es el jugador, permitirá a la pantalla de victoria. También permitirá el cursor. P>
p >
De vuelta en el editor de niveles, vamos a arrastrar en la bandera y la posición al final del nivel. P>
- Establecer la ubicación de 1800, 0, 0 li>
- establecer la rotación a 0, 0, 90 li>
Ul>
p>
Conclusión h3>
Ahí lo tienes! Ahora tiene un total de carreteras de cruce, juego de arcade hecho con Unreal Engine! En el transcurso de este tutorial, hemos aprendido a configurar todo, desde la colección de monedas para el flujo constante de vehículos en movimiento hacia adelante para crear obstáculos para el jugador. Todo esto se logró con el sistema Blueprinting de Unreal Engine, que se encarga de toda nuestra lógica del juego – incluyendo condiciones de victoria p>
A partir de aquí, se podría ampliar el juego mediante la adición de más obstáculos, coleccionables, o niveles aún más único. También puede utilizar estos fundamentos para crear un juego completamente nuevo con su nuevos conocimientos. Decida lo que decida, buena suerte, y esperamos que haya aprendido mucho acerca de la construcción de juegos con Unreal Engine! P>
p>
Mensajes relacionados h3>
- Establecer la ubicación de 1800, 0, 0 li>
- Establecer la malla estática a la bandera li>
- Establecer el nombre de ScoreText li>
- Establecer la ubicación a 400, -550, 0 li>
- StartPosition (Vector) li>
- Establecer la ubicación a 1,5, -2,5, -0,75 li>
- Establecer la malla estática a carro li>
- Crea una entrada para la función llamada ScoreToAdd de tipo Integer li>
- Establecer la malla estática a la moneda li>
- Establecer la ubicación a -50, 50, -110 li>
- TargetPos (Vector) li>
- establecer la rotación a 0, -65, -40 li>
- Establecer el zócalo Offset a 100, 0, 0 li>
- Establecer la ubicación a 0.96, -1.58, -1.0 li>
- Establecer la malla estática al jugador li>
- Move_Forward = W li>