VE MIS DIRECTOS ► / edusodap SÍGUEME EN INSTAGRAM ► / edusodap SÍGUEME EN TWITTER ► / edusodap Una manera sencilla de hacer un endless runner con Unity, nivel básico.
Para resolver el bug de Unity con la iluminación de la escena al recargarla en el player del Editor, hay que entrar en Window>Rendering>Lighting, y en la pestaña Environment, vamos al epígrafe Environment Lighting, y cambiamos el Source de Skybox a Color, y el Ambient Color a un gris medio o al color que creáis que queda bien. También le podéis dar al botón Generate Lighting en la parte de abajo de la pestaña de Environment para estar seguros.
Sabes un buen, me ha iluminado, pienso hacer un proyecto como este pero no tenia idea de por donde empezar, muchas gracias por tu aporte, te has ganado un cachito de cielo
Hola, primero EXCELENTE VIDEO!! Me has ayudado un monton, el prooblema un bug que me ha slaido, al iniciar el juego el obstaculo se va hacia atras, no alante, hay alguna solucion?
los cálculos en el Rigidbody, como el salto, es recomendable hacerlos en el la función FixedUpdate en lugar de Update, o sera dependiente del frame rate
Muchas gracias Erick! A ver si me animo a hacer más tutoriales como este. Para generar obstáculos aleatorios es un poco más complicado porque hay que poner un objeto que vaya instanciando obstáculos a la derecha de la pantalla periódicamente usando una corrutina y hacer que los obstáculos se destruyan al salirse de la zona de juego.
Respuesta rápida: dentro del objeto del cubo metí otro cubo, que es el que animo, y en el "padre" eliminé el mesh renderer para dejar solo el collider.
Es sencillo, no pienses en medir la distancia recorrida sino el tiempo transcurrido. Podemos tomar el valor de la velocidad del primer plano del fondo y multiplicarla por el tiempo transcurrido entre cada Update (Time.deltaTime en Unity) para saber la distancia recorrida en cada update. Y eso se lo sumamos a un contador de distancia. float playerSpeed = [Valor de la velocidad de los objetos del primer plano del fondo]; float distance = 0; y luego en cada Update: distance += playerSpeed * Time.deltaTime; Este es el valor que tienes que pasarle al contador.
perdon por molestar tanto , pero esque ahora cuando inicio el juego (al principio iva ) me sale samplescene (not loaded) parpadeando a la izquierda , y no me sale ningun error abajo
tienes que añadir un canvas con un texto y a ese texto le metes un script con un float, a ese float le sumas la cantidad que quieras en cada fixedupdate mientras no se haya perdido la partida y actualizas el texto para que muestre esa cantidad
crea todos los obstáculos y colócalos en el punto en el que quieras que salgan, desactivados. añade todos esos obstáculos en un array en el script del spawner. al spawnear un obstáculo, elige uno de los obstáculos de ese array, instancia una copia y activala
en ese caso lo que tendrias que hacer es destruir los obstaculos cuando salgan por el lado izquierdo, y crear un script con una corrutina que cada cierto tiempo elija un obstáculo aleatorio y lo instancie
te refieres a cuando escribo el código? eso se pone en verde por mi configuración del VSCode, es el theme que tengo puesto, pero no debería afectarte a la hora de hacer el juego.
@@EduSodap anote todo lo que hiciste en esa parte y al regresar a Unity en el Player controller (script) no me parece la opción de Gravity, Jump speed ni de los ejes x,y,z
Esas variables las tienes que crear tu en el script del Player Controller, y tienes que hacerlo como sale en 2:43 Si no pones la palabra public delante no te van a salir en el inspector. public Vector3 gravity; public Vector3 jumpSpeed; La otra opción en lugar de public seria poner [SerializeField] delante [SerializeField] Vector3 gravity; [SerializeField] Vector3 jumpSpeed;
No te preocupes, que me encanta que me dejen comentarios, no me molesta para nada. La verdad es que cuando saqué este vídeo pensaba subir una segunda parte pero ahora mismo me da un poco de pereza. Me lo pensaré!
Para resolver el bug de Unity con la iluminación de la escena al recargarla en el player del Editor, hay que entrar en Window>Rendering>Lighting, y en la pestaña Environment, vamos al epígrafe Environment Lighting, y cambiamos el Source de Skybox a Color, y el Ambient Color a un gris medio o al color que creáis que queda bien.
También le podéis dar al botón Generate Lighting en la parte de abajo de la pestaña de Environment para estar seguros.
Sabes un buen, me ha iluminado, pienso hacer un proyecto como este pero no tenia idea de por donde empezar, muchas gracias por tu aporte, te has ganado un cachito de cielo
Me salió este video justo cuando estaba buscando ideas para hacer juegos xd gracias bro
Hola Me gusto mucho tu video, si no es mucha molestia podrias enseñar como hacer que los obstaculos se generen de manera aleatoria?
Me encanta!!! Se te olvidó dejar en los comentarios o en la descripción lo del bug de la iluminación, podrías hacerlo?
Muchas gracias por el video Edu se aprende un montón me gustaría ver mas sobre unity :D
Lo tendré muy en cuenta, tengo pensado hacer más vídeos con más tutoriales simples como este
no tengo ni unity instalado pero me he visto el video por que explicabas bien
¡Este video es una obra de arte E! Gracias ❤️
Me alegro de que te guste!!
@@EduSodap Tanto que he hecho un tuto de tu tuto 😁
czcams.com/video/gP4zRG8zkOM/video.html
Muchas gracias por el vídeo! Peo en el minuto 3:31 a mí no me aparece la Gravity ni la JumpSpeed, qué hago para que me salga?
Cuando puedas haz la parte de mejorarlo que lo necesito
Hola, primero EXCELENTE VIDEO!! Me has ayudado un monton, el prooblema un bug que me ha slaido, al iniciar el juego el obstaculo se va hacia atras, no alante, hay alguna solucion?
Muy bueno Edu, podrías crear una serie de tutoriales de cosas básicas de Unity para atraer más público al canal
Sí, aunque yo no soy ningún experto de Unity. Antes vamos a ver que tal funciona este a medio-largo plazo 👍
@El palomo muchas gracias!! estoy pensando en hacer nuevos tutoriales, aunque el verano me lo estoy tomando con calma
los cálculos en el Rigidbody, como el salto, es recomendable hacerlos en el la función FixedUpdate en lugar de Update, o sera dependiente del frame rate
Toda la razon, pero al final es un video para principiantes y esta simplificado!! Muchas gracias por la sugerencia.
Que buen video, excelente explicación 10 de 10 👍 porfa la continuación, o como haces para que los obstáculos se generen aleatorios?
Muchas gracias Erick!
A ver si me animo a hacer más tutoriales como este. Para generar obstáculos aleatorios es un poco más complicado porque hay que poner un objeto que vaya instanciando obstáculos a la derecha de la pantalla periódicamente usando una corrutina y hacer que los obstáculos se destruyan al salirse de la zona de juego.
@@EduSodap si, están de lujo tus explicaciones. 👍
Woow increíble el video! ¿Cómo se hace lo del menú cuando pierdes y la puntuación del jugador?
no es difícil, si veo que hay interés puedo hacer un video
@@EduSodap estaría genial que lo hicieras, pero por ahora nuevo sub! Eres grande!
Otra pregunta como hiciste para animar el cubo cuando salta y cae?
Respuesta rápida: dentro del objeto del cubo metí otro cubo, que es el que animo, y en el "padre" eliminé el mesh renderer para dejar solo el collider.
Buenas si es mucha molestia, ¿como hiciste lo del contador de distancia recorrida?
Es sencillo, no pienses en medir la distancia recorrida sino el tiempo transcurrido. Podemos tomar el valor de la velocidad del primer plano del fondo y multiplicarla por el tiempo transcurrido entre cada Update (Time.deltaTime en Unity) para saber la distancia recorrida en cada update. Y eso se lo sumamos a un contador de distancia.
float playerSpeed = [Valor de la velocidad de los objetos del primer plano del fondo];
float distance = 0;
y luego en cada Update:
distance += playerSpeed * Time.deltaTime;
Este es el valor que tienes que pasarle al contador.
@@EduSodap vale muchas gracias
Awesome!
Thanks!
perdon por molestar tanto , pero esque ahora cuando inicio el juego (al principio iva ) me sale samplescene (not loaded) parpadeando a la izquierda , y no me sale ningun error abajo
tendría que ver el proyecto, con esos datos no sé muy bien que te puede estar pasando
A mi tambien me pasa
@@EduSodap por donde te lo podría enviar
hola soy yo otra vez ahora que me di cuenta, cuando creo el script me sale (mono script) afecta en algo?
Gracias ya lo pude solucionar
Che como haces el contador de metros recorridos?
tienes que añadir un canvas con un texto y a ese texto le metes un script con un float, a ese float le sumas la cantidad que quieras en cada fixedupdate mientras no se haya perdido la partida y actualizas el texto para que muestre esa cantidad
una pequeña duda, como puedo generar obstáculos aleatorios? espero tu respuesta!
crea todos los obstáculos y colócalos en el punto en el que quieras que salgan, desactivados. añade todos esos obstáculos en un array en el script del spawner. al spawnear un obstáculo, elige uno de los obstáculos de ese array, instancia una copia y activala
@@EduSodap Gracias! y podrías hacer un tutorial para una pantalla de game over pls?
Buen video bro pero tengo una duda como hago para que los obstáculos varíen?
en ese caso lo que tendrias que hacer es destruir los obstaculos cuando salgan por el lado izquierdo, y crear un script con una corrutina que cada cierto tiempo elija un obstáculo aleatorio y lo instancie
me salta error del script aun no se lo puse al jugador y me dice global name space en tre y dice algo de las definiciones del playercontroller
El nombre del script del playercontroller es igual al nombre de la clase dentro del script?
estaba intentando hacerlo pero me atore en el minuto 2:34 al momento de agregarle el scrip no se me pone en verde el vector3 ni lo demas
te refieres a cuando escribo el código? eso se pone en verde por mi configuración del VSCode, es el theme que tengo puesto, pero no debería afectarte a la hora de hacer el juego.
@@EduSodap anote todo lo que hiciste en esa parte y al regresar a Unity en el Player controller (script) no me parece la opción de Gravity, Jump speed ni de los ejes x,y,z
@@EduSodap Gracias por responder, ya solucione ese inconveniente
continuare con el video :)
@@daymutereal8733 como lo solucionaste a mi tambien me pasa y no se como solucionarlo
@@marcosduran3385 tenia que instalar el visual studio desde unity
me quede atorado en el minuto 3:20 porque me parece la opción de Gravity, Jump speed ni de los ejes x,y,z como puedo solucionarlo?
Esas variables las tienes que crear tu en el script del Player Controller, y tienes que hacerlo como sale en 2:43
Si no pones la palabra public delante no te van a salir en el inspector.
public Vector3 gravity;
public Vector3 jumpSpeed;
La otra opción en lugar de public seria poner [SerializeField] delante
[SerializeField] Vector3 gravity;
[SerializeField] Vector3 jumpSpeed;
Si aún haciendo esto no salen, es que tienes algun otro error en tu script
hpla me gusta el video pero me pudes desir como arreglar que el enemigo no se mueva?
pueden ser muchas cosas, repasa que hayas hecho todo como en el video
@@EduSodap no ya lo arregle gracias, una cosa se pueden poner plataformas?
me sale este error Assets\EndlessScroll.cs(25,45): error CS0117: 'SceneManager' does not contain a definition for 'GetActivateScene
no es GetActivateScene sino GetActiveScene
gracias
Haré el mismo juego pero en RTX 🤑🤑
¿Hay una forma de enviarte la imágen del código?
agrégame a discord sodap#5776 o pasate por mi server de discord (no tiene apenas actividad) discord.gg/YnqMPMMA
Ayuda , no me paran de salir más y más errores con el EndlessScroll : (
Qué errores?
Hace un video de como hacer lo de que los obstaculos se generen de distinta forma porfa
Te molesto de vuelta y las particulas?
(perdon por molestar)
No te preocupes, que me encanta que me dejen comentarios, no me molesta para nada.
La verdad es que cuando saqué este vídeo pensaba subir una segunda parte pero ahora mismo me da un poco de pereza. Me lo pensaré!
@@EduSodap Gracias!
Ayuda , me dice que el nombre scene Manager no existe en ese contexto ( el que copie del video :( )
Tienes que poner arriba del todo:
using Unityengine.SceneManagement;
(sale en el 6:03 como lo pongo yo)
@@EduSodapAaaa gracias ya va :)