Ayuda! Unity Juego de plataformas 2d

Gabrii673
Lugar: · 1 mensajes · Colección
#1  Enviado: 02:50 01/09/2019

hola, llevo unos días siguiendo un tutorial en yt de como hacer un juego de plataformas en unity, pero desde que comenzamos con los saltos tengo un fallo que pensaba que solucionaria en algun video pero o fue asi, supongo porque lo esoty haciendo en una version nueva que tiene el fallo, y bueno queria preguntar como hacer un script donde pueda modificar la velocidad maxima en el aire que puede llevar el personaje porque por el suelo es pefect su velocidad pero en cuanto salto parece que incluso pueda volar, agredeceria mucho su ayuda.
sutalu
Lugar: Madrid · 24279 mensajes · Colección
#2  Enviado: 12:22 01/09/2019

En respuesta a Gabrii673 (réplica 1).
hola, llevo unos días siguiendo un tutorial en yt de como hacer un juego de plataformas en unity, pero desde que comenzamos con los saltos tengo un fallo que pensaba que solucionaria en algun video pero o fue asi, supongo porque lo esoty haciendo en una version nueva que tiene el fallo, y bueno queria preguntar como hacer un script donde pueda modificar la velocidad maxima en el aire que puede llevar el personaje porque por el suelo es pefect su velocidad pero en cuanto salto parece que incluso pueda volar, agredeceria mucho su ayuda.
¿Y no puedes preguntar la duda en el canal de Youtube?

Si el script lo tienes igual, y te funciona de forma distinta, se me ocurren varias cosas.

No he trasteado aún mucho en Unity, pero una cosa importante son las medidas. En la pantalla de edición, verás cuadrículas. No es lo mismo construir un cubo que ocupe 1 cuadrícula (por alto, ancho y alto), a que ocupe 3, 4... cuadrículas. Será más pesado cuantas más cuadrículas ocupe. Tenlo en cuenta Guiño

Por otro lado, puedes trastear con los valores de la gravedad. Según la versión que tengas, tendrás más opciones o menos. Vete a:

Edit > Project Settings > Physics...

Si dices que te "vuela" el personaje, cambia el valor de la gravedad a algo más pesado. En vez de -9.81 que es la gravedad en la tierra, ponle -20 por ejemplo.

SO: Windows 10 Pro (64bits) - CPU: Intel Core i7-4820K (3.70GHz) - RAM: 16GB - GPU: GeForce GTX 1080 Xtreme Gaming 8GB - HD(SO): Samsung SSD 840 EVO (250GB) - HD(Juegos): Samsung SSD 850 EVO (500GB) - MB: Gigabyte X79-UP4  ###  Plataformas: PC, NES, SNES, PS2, PS3, PS4, PS5
Lugar: · 443 mensajes · Colección
#3  Enviado: 00:25 21/09/2019  Editado: 00:38 21/09/2019 (1 vez)

Quizá llego tarde, pero por si a alguien le interesa dejaré aquí la solución.
Si no es cuestión de que en la caída va despacio casi pareciendo que planea en vez de caer, lo que te comentó el compañero de arriba puede que no sea la mejor opción porque si el correr ya está a tu gusto, el tocar la gravedad y masa del objeto hará que se desajuste todo y deberás pelearte otra vez para ajustarlo todo.
Fíjate que para mover el personaje seguro usas el componente del Rigidbody velocity, pues, en vez de usar éste, usa AddForce, por ejemplo:
rb2D.AddForce(Vector2.up * propulsion_maxima, ForceMode2D.Impulse); //añadir impulso para saltar
Vector2.up es para el impulso vertical y para el horizontal puedes usar velocity o Vector2.right en AddForce. En la variable propulsion_maxima pon el valor máximo para tus saltos y listo.
Espero que eso sirva para solucionar el problema que tienes sin tener que modificar nada de lo ya hecho.
Suerte
Lugar: · 2 mensajes · Colección
#4  Enviado: 10:09 14/11/2019

En respuesta a Gabrii673 (réplica 1).
hola, llevo unos días siguiendo un tutorial en yt de como hacer un juego de plataformas en unity, pero desde que comenzamos con los saltos tengo un fallo que pensaba que solucionaria en algun video pero o fue asi, supongo porque lo esoty haciendo en una version nueva que tiene el fallo, y bueno queria preguntar como hacer un script donde pueda modificar la velocidad maxima en el aire que puede llevar el personaje porque por el suelo es pefect su velocidad pero en cuanto salto parece que incluso pueda volar, agredeceria mucho su ayuda.
Puedes hacerlo de dos formas, la fácil que es usando una entidad con física y aplicarle luego fuerza, tanto para moverte en horizontal como para saltar, quedará más realista y requerirá casi nada de código pero no es una forma óptima (debes jugar con el colisionable en el entorno y las entidades).

Para afrontar la forma óptima ya tienes que entender como funcionan el flujo de programa en los scripts en Unity, date cuenta que tú creas una porción de código que es llamado por el bucle principal de Unity por lo que debes idear un algoritmo fuertemente basado en estados e hilos.
Este tema está inactivo y no se puede replicar más.
Buscar en el foro: En foro: Tipo:
Foro de Vandal
Flecha subir