‫Si hay algo que es lo más importante para un corredor infinito, entonces es infinito.
‫Y para crear un mundo infinito que necesitamos y la creación procedimental, necesitamos crearlo proceduralmente, lo que
‫significa que tenemos que hacerlo mediante código.
‫Así que no queremos crear un mundo enorme de, no sé, mil millones de piezas diferentes de nuestros elementos de memoria
‫o piezas viejas.
‫Queremos hacer eso de manera programática y podemos hacerlo de una manera procedimental.
‫Entonces, lo que quiero hacer ahora es, en primer lugar, quiero configurar mi cristal y quiero cambiar el cristal, no para estar
‫en algún lugar del mundo o en cualquier lugar donde lo coloqué.
‫Quiero que esté en una parte de la carretera.
‫Así que coloquemos nuestro cristal.
‫Este de aquí.
‫Coloquémoslo en nuestra parte de la carretera.
‫Así que eliminemos a Barway de todos los demás cristales.
‫Elimine también, eliminemos nuestras partes de la carretera, eliminemos también.
‫Y ahora, como directora, Crystal en nuestro juego.
‫Así que digamos que aquí está en una buena posición.
‫Veamos si está arriba.
‫Solo encima, sí, está bien.
‫Así que eso está bien y quiero poner el cristal en la parte de la carretera y ahora voy a desactivar el
‫cristal.
‫Así que ahora, como puede ver, ya no está disponible.
‫Tendríamos que activarlo.
‫Y ahora esa parte de la carretera será una nueva casa prefabricada.
‫Así que rastreemos esa parte de la carretera en nuestra carpeta de prefabricados.
‫Y queremos crear varias de esas partes de la carretera de forma procedimental más adelante.
‫Está bien.
‫Antes de hacer eso, hay una pieza básica de nuestro juego que siempre será la misma.
‫Así que ese será nuestro camino de cierta manera.
‫Por cierto, deshagámonos también de los cristales.
‫Y ahora podemos duplicar el cristal y moverlo en consecuencia.
‫Entonces, los primeros pasos son siempre los mismos, y luego nos movemos al sitio.
‫Entonces, esta pieza siempre será la misma, así que echemos un vistazo al juego.
‫Sí, siempre es lo mismo.
‫Siempre se mueven así.
‫Y el siguiente.
‫Está bien.
‫Así que ahora ese es el comienzo de nuestro mapa.
‫Y ahora queremos seguir adelante y hacerlo procedimental para que las piezas, se creen de forma
‫automática y eficiente.
‫Y para hacer eso, creemos un nuevo guión para nuestro camino.
‫Así que vayamos a nuestro camino en el componente y el nuevo script y llamemos a ese camino.
‫Ahora, abramos ese.
‫Y aquí necesitaremos nuestra casa prefabricada repat.
‫Así que juego público, camino de objetos prefabricado.
‫Asignemos eso realmente rápido en unidad para que nuestro guión de ruta necesite una carretera prefabricada.
‫Por cierto, rastreemos el script en nuestra carpeta de scripts.
‫Ahora vayamos a nuestro.
‫Road y ahora lleva el guión de carretera o el objeto de juego de parte de carretera.
‫Muy bien, prácticamente ya no tenemos casas prefabricadas.
‫Está bien.
‫A continuación, necesitaremos saber a partir de qué punto queremos que se cree nuestro mundo.
‫Entonces tengo una flecha aquí.
‫La parte cruda 11 no es necesaria, por lo que es muy poco.
‫Entonces, desde la carretera, quiero seguir adelante y crear nuevas partes de la carretera.
‫Así que a partir de este momento.
‫Así que necesito posicionarme desde el momento en que quiero crear nuevas partes de la carretera, la posición es la posición o la posición
‫de transformación de nuestra parte de la carretera.
‫Y si lo miramos, está en la posición cero cero siete coma nueve.
‫Bien, revisemos esa posición.
‫Lo arrastraré de regreso a nuestro guión de ruta.
‫Quiero tener ese puesto.
‫Así que voy a crear un nuevo vector público en la última publicación.
‫Así que lo llamaré y lo agregaré aquí a cero cero siete coma nueve o nueve.
‫Esa fue la posición de nuestra última parte de la carretera.
‫Ahora, lo que necesitamos saber es cuánto necesitamos para mover un objeto.
‫Así que esta parte de la carretera, coloquémosla afuera y ahora movámosla o dupliquemos la potencia de la
‫carretera y muévala con control y cambio.
‫Y luego podemos ver que se mueve en un punto completo, siete cero siete.
‫Así que ese es más o menos el ancho o el cambio de posición de nuestro bloque.
‫Y también debería ser el ancho.
‫Está bien.
‫Así que volvamos a nuestros guiones de ruta aquí.
‫Necesitaremos saber esa compensación.
‫Así que creemos un nuevo desplazamiento flotante público y se llama punto siete cero siete como flotante.
‫Y ahora creemos un método.
‫Voy a deshacerme del método de inicio.
‫Voy a crear un nuevo método, vacío público, crear una nueva parte de la carretera.
‫Y voy a, por ahora, depurar el trabajo pendiente, crear una nueva parte de la carretera.
‫Y dentro del método de actualización, voy a verificar si el usuario presiona un botón.
‫Así que ingrese esa tecla hacia abajo.
‫Y qué código quiero.
‫Espacio de puntos de código clave.
‫Entonces, cada vez que el jugador presione el espacio, quiero crear una nueva parte de la carretera.
‫Vayamos con eso ahora.
‫Así que creemos ese método aún más.
‫Así que cree una nueva parte de la carretera.
‫¿Qué necesitamos aquí?
‫Necesitamos generar la posición, que es un vector tres, así que no lo llamemos spon post vector three zero, que
‫es la posición cero cero cero.
‫Entonces esa es una segunda posición desde donde comenzamos.
‫Entonces queremos tener una posibilidad, que es una variable de rango aleatorio entre cero y cien.
‫Y si la probabilidad es menor que cincuenta, entonces quiero engendrar a la izquierda y, de lo contrario, quiero responder a la
‫derecha.
‫Entonces, si la probabilidad es menor que cincuenta, quiero tener un conjunto positivo y, de lo contrario, quiero tener un desplazamiento
‫negativo.
‫Entonces, la posición de Sporn será el nuevo vector tres, que es la última posición que X más el desplazamiento y la
‫última posición de Y.
‫Así que supongo que es por eso y luego, finalmente, la última publicación pensó en Z más el desplazamiento, lo que significa que moverá nuestro o creará una
‫posición de generación, que es un vector tres, que asignará la posición de generación, que es un
‫vector tres. .
‫Y lo usaremos más adelante para generar nuestro objeto de juego, que es nuestra pieza escrita o parte de tirada.
‫De lo contrario, quería que la posición de generación fuera igual al nuevo vector tres, la última publicación X menos el desplazamiento.
‫Última publicación Y y última publicación Zeeb, más el.
‫Ahora sigamos adelante y creemos los objetos del juego.
‫Voy a llamar a un G instanciado para que creamos dentro de nuestro mundo de unidad, escribí prefab.
‫Y en qué posición mientras está en la posición de desove.
‫¿Y qué cuaternión queremos tener?
‫Usamos quaternion dot yula, lo que significa que lo rotamos con cero punto cuarenta y cinco cero porque los objetos de nuestro juego
‫también se rotan.
‫Y queremos que nuestras carreteras se roten y queremos que también se roten aquí.
‫Y ahora necesitamos la última posición o necesitamos establecer la última posición, que es Gedo, transformar esa
‫posición.
‫Porque esa es la nueva posición, ¿verdad?
‫Necesitamos saber cuál es la última posición de nuestro nuevo objeto de juego.
‫Entonces comenzamos con la última posición que configuramos manualmente, y ahora siempre la configuramos con la
‫que se creó.
‫Entonces, la nueva parte de la carretera tiene una posición específica y la guardamos en nuestra última variable de publicación.
‫Está bien.
‫Así que intentemos eso.
‫Volví a Unity y creé la pantalla dividida.
‫Tiene sentido aquí porque lo que queremos ver es lo que está sucediendo en la escena.
‫Así que déjame deshacerme del sonido muy rápido, aunque es genial.
‫Ahora, entremos en el juego y ahora presionemos Spassky.
‫Y como puede ver aquí en la escena, nuestro mundo se crea ahora basado en nuestros grifos.
‫Pero, por supuesto, queremos que eso suceda, no basándonos en que hagamos clic todo el tiempo.
‫Queremos que suceda basándonos en la posición que tenemos.
‫Ahora, volvamos a las secuencias de comandos.
‫Así que creemos esto automáticamente.
‫Usemos aquí el método de activación del vacío privado.
‫E invoquemos la repetición o llamemos al método revocar la repetición y qué queremos
‫invocar repetir bien y crear un nuevo método de parte de la carretera.
‫Y queremos hacer eso después de un segundo y queremos hacerlo cada segundo.
‫Así que intentemos eso.
‫Guardemos el juego y veamos qué pasa ahora.
‫Así que intentemos eso.
‫Y podemos ver cada segundo que se crea una nueva parte de la carretera.
‫Está bien, pero eso no es exactamente lo que queremos.
‫No queremos que se cree cada vez que estamos en una semana porque ahora lo que podría o podría suceder es que no iniciemos
‫el juego y simplemente se esté ejecutando y todavía creamos un mundo enorme cada segundo.
‫Pero lo que queremos hacer es solo si se inicia el juego.
‫Queremos crear esos.
‫¿Entonces cómo hacemos eso?
‫Bueno, no usamos el método despierto aquí, pero usamos uno diferente, que nosotros
‫o creamos uno diferente, que llamamos comenzar a construir.
‫Y no será privado, sino público porque queremos acceder a él desde nuestro administrador de juegos y, por supuesto, ya no necesitaremos el método
‫de actualización con la tecla presionada, donde creamos nuevas partes de la carretera en
‫función de nuestra pulsación de tecla. .
‫Así que vayamos al administrador del juego y vayamos al método de inicio del juego, porque aquí comenzamos el juego
‫y ese es un punto perfecto para crear esos objetos.
‫Así que busquemos un objeto de tipo y busquemos el objeto de carretera.
‫Y allí teníamos un método llamado Start Building, y ese es el que queremos llamar.
‫Está bien.
‫Sigamos adelante y probemos eso.
‫Así que vayamos a nuestro juego y obtengo una excepción sin referencia, y eso tiene que ver con que ya no tengo un
‫administrador de juego.
‫Así que echemos un vistazo a cómo podemos cambiar eso.
‫Creemos un nuevo juego en el administrador, si ese también es tu caso.
‫Voy a crear un administrador de juego aquí y voy a dirigir o voy a
‫restablecer eso primero aquí y arrastrar mi administrador de juego aquí, porque por alguna razón, desapareció.
‫Así que voy a guardar la escena ahora y antes de la prueba.
‫Y, por supuesto, debemos asignar la puntuación y el texto y el texto de puntuación más alta.
‫Así que hagámoslo e intentémoslo de nuevo.
‫Y no deberíamos obtener el error.
‫Está bien.
‫Así que ahora estamos de nuevo en camino.
‫De alguna manera lo he eliminado.
‫Bien, ahora probémoslo o intentémoslo.
‫Empecemos el juego.
‫Y como puede ver, el juego se crea por procedimientos allí en la parte posterior y es un poco demasiado lento.
‫Así que somos más rápidos de lo que nuestro juego crea esas piezas.
‫Así que creemos nuevas partes escritas un poco más rápido.
‫Por cierto, por ejemplo, podríamos crearlos cada punto cinco segundos.
‫Así que hagamos ese punto cinco F ahora que debería resolver ese problema.
‫Creo que el intervalo está bien.
‫Echemos un vistazo, comencemos el juego y veamos si crea lo suficiente.
‫Sin embargo, lo que no me gusta es que todavía puedo ver cómo produce esas piezas.
‫Oh, me caí.
‫Entonces eso significa que cómo se puede resolver es bastante simple.
‫Simplemente podría deshacernos de esta parte aquí y aquella.
‫Bueno, necesito ese.
‫Regresemos a nuestro camino.
‫Simplemente podría duplicar esa pieza aquí y moverla más.
‫De hecho, movámoslo aquí.
‫Duplicado de nuevo para poder simplemente hacer el mundo un poco más grande.
‫Así que ahora salvemos eso.
‫Y ahora ya no debería ver dónde se crea.
‫Así que comencemos el juego.
‫Y ahora, por supuesto, tenemos el problema aquí de que ya no tenemos el punto final correcto porque ¿dónde
‫estaba?
‫Nuestro camino necesita tener la última posición.
‫Entonces, el desplazamiento de la última posición y debería ser esta aquí ahora.
‫Así que nuestro camino, la parte 14 ahora es el último.
‫Así que cambiemos los valores aquí y tomemos el valor Z también de nuestra carretera e introdúzcalo aquí.
‫Bien, ahora intentémoslo de nuevo.
‫Veamos dónde se crean las piezas.
‫Y como puede ver, se crean en la posición correcta.
‫Perfecto.
‫Y ahora no veo dónde se crea mi mundo y pienso, está bien, el punto cinco segundos debería estar bien porque
‫ahora se está creando más rápido de lo que puedo caminar.
‫Ok, eso es bueno.
‫Ahora, agreguemos los cristales nuevamente, porque no tenemos cristales.
‫Ahora lo que sí queremos es tener nuestros cristales.
‫Así que vayamos a nuestro guión escrito.
‫Y aquí, en la parte de crear nueva, queremos tener un cristal cada quinto paso o cada quinto escrito.
‫Así que creemos un recuento de caminos y privados, que es cero, y aumentemos el recuento de caminos para cada camino
‫que creamos.
‫Así que la carretera cuenta más más.
‫Y luego lo comprobamos.
‫Si el recuento de carreteras se divide por cinco, entonces el módulo cinco es igual a cero, entonces queremos activar nuestro cristal.
‫Entonces g transforma el pensamiento y lleva al niño a la posición cero.
‫Así que agréguenos, obtenga el objeto del juego y configúrelo como activo.
‫Verdadero.
‫Así que eso es suficiente para que cada quinto camino tenga un cristal activo ahora.
‫Está bien.
‫Y ahora digamos el guión, volvamos a Unity y veamos si funciona.
‫Así que las piezas iniciales no tendrán cristales.
‫Entonces los que hemos creado manualmente no tendrán cristales.
‫Entonces, el jugador tiene que atravesar cierta parte aquí antes de obtener cristales.
‫Oh, ahora tenemos un pequeño problema aquí.
‫Como puede ver, la animación ya no funciona correctamente.
‫Y tal vez puedas adivinar por qué es así.
‫Bueno, eso tiene que ver con el hecho de que en un momento nuestro jugador estaba en el aire o ha tocado el aire por solo
‫una fracción de segundo.
‫Y fue entonces cuando empezó a no moverse correctamente más o dos.
‫Bueno, ya no solo se corrigió, así que arreglemos eso.
‫Podemos arreglar eso de dos maneras.
‫Una podría ser que en un punto hay algo de espacio en el medio para que los bloques no estén perfectamente alineados
‫entre sí.
‫Entonces, ¿cuál podría ser una de las razones por las que otra podría ser u otra
‫forma de resolverlo podría ser ir a la animación de nuestro personaje y agregar una nueva transición, hacer la transición de
‫caer a correr, y esa se basará en una condición que no hemos creado.
‫Así que creemos un nuevo parámetro y llamemos a ese activador.
‫Sin caer más, esa no sería la solución perfecta, por lo que la mejor solución sería verificar
‫si hay espacios entre mis piezas aquí.
‫Pero yo sería una opción para hacer eso, no caer más.
‫Así que hagámoslo.
‫Volvamos a nuestro script aquí y podemos ir aquí más en nuestro controlador de gráfico y el método de actualización.
‫Podríamos decir que si el refundido ya no está en esta posición, podríamos seguir adelante y configurar
‫el gatillo para que no caiga más.
‫Creo que así es como lo llamo.
‫Así que echémosle un vistazo.
‫Cambiemos eso para no caer más.
‫¿OK?
‫Ese era el término correcto, así que volvamos a la unidad y cambiemos eso para que no caiga más.
‫Y ahora veamos si se soluciona ese problema.
‫Así que juguemos el juego aquí.
‫Podemos ir a nuestra escena y tal vez encontrar una mejor vista de cosas como esa.
‫Y ahora sigamos adelante y comencemos el juego.
‫Así que ahora recopilemos algunos.
‫Como puede ver, estaba cayendo allí.
‫Hubo una pequeña brecha y fue una brecha desde nuestro comienzo.
‫Bueno, el punto donde creé el campo manualmente y donde comenzamos a hacerlo procedimentalmente.
‫Así que debe haber habido una pequeña brecha en el medio.
‫Entonces, la solución que les acabo de mostrar es solo un parche, un pequeño parche.
‫Realmente no deberías usar esos cuando vayas por la vida.
‫Entonces deberías encontrar un pequeño espacio que tenemos allí.
‫Pero creo que es demasiado aburrido para mostrarte eso en detalle.
‫Así que ahora echemos un vistazo al siguiente capítulo.
‫Oh, me perdí ese.
‫Como puede ver, nuestro juego hace lo que debería.
‫¿Tenemos un juego terminado?
‫Yo diría que tenemos el sonido.
‫Podemos acumular esos puntos.
‫Bueno, tenemos una puntuación alta y así sucesivamente.
‫Y creo que lo más importante es nuestro mundo procesal.
‫Ahora, el desafío podría ser un poco mayor.
‫Por supuesto, puede cambiar la velocidad del reproductor paso a paso.
‫Entonces, por supuesto, también tendrías que cambiar el tempo al que creamos nuestro mapa procedimental y eso
‫es genial.
‫Así que creo que es suficiente que me hayas visto conectar veintiséis puntos y en el próximo capítulo vamos a crear
‫el próximo juego.
‫Así que espero que tengas razón y que hayas tomado este juego y lo hayas mejorado aún más.
‫Entonces lo haces aún mejor.
‫Así que por favor continúe y agregue características que crea que harán que este juego se vea mejor o que este
‫juego sea simplemente increíble.
‫Así que, por favor, hazlo y compártelo con nosotros.
‫Está bien.
‫Así que nos vemos en el próximo capítulo.