Tengo 13 años y acabo de descubrir tu canal. Me encanta que subas guías puntuales sobre cosas específicas, porque yo en el cole estoy aprendiendo python y recién en cuarto año vamos a empezar a ver unity, por lo que c# es algo nuevo para mí. Saludos y estaré viendo tus videos!
@@j0h4nd32 yo pude entrar a un cole con orientación en programación, pero si buscas cursos o indagas seguro vas a encontrar algo con lo que puedas aprender
Son muy buenos tus videos pero este en el minuto 3:36 cuando se ve el fondo de pantalla de Guybrush cuando le compra el barco a Stan es de lo mejor!! Jaja muy buen video!! abrazo desde argentina!!!!
Hola! acabo de implementar en mi intento de proyecto (xd) lo que enseñas en este video y en el de cómo disparar :D. Como idea para un futuro video, estaría muy bueno si mostraras cómo hacer una puerta normal o una estilo Doom (tipo las puertas corredizas que solo se abren cuando tenés una llave en específico y apretás el botón de acción). Saludos!
el codigo hasta el día de hoy (12/06/2022) es completamente funcional y sin ningún error de ningún tipo (les recomiendo q cuiden muchísimo las mayúsculas)
Estuvo muy bueno, pero hubo algunas cosas muy rápidas que cuestan entender enseguida, principalmente cuando haces multiplicaciones entre variables y otras cosas. Seguramente tiene que ver con físicas y cosas así, pero cuesta entender el porque de esas ecuaciones. Igualmente tus videos son muy buenos y me están ayudando mucho, muchas gracias, sigue así.
Gracias por el apoyo, si intento explicar un poco con calma pero hay cosillas que si que quiza las haga rapidas para que el video no se haga tan largo, lo tendre en cuenta, un saludo :D
Hola buenas, antes de nada lo has explicado todo genial, buen trabajo. Me gustaría saber si se puede solucionar una cosa que no me gusta mucho y no se como se cambia, cuando te estás moviendo si pulsas W y por ejemplo la A o la D tu velocidad incrementa, no solo andas en diagonal sino que andas más rapido, me gustaría que aunque sigas andando en diagonal no andes más rapido ya que si tuerces la cámara puedes seguir andado en la misma dirección pero llegaras antes a tu destino.
Se podria poner un limite de velocidad, o mejorar el sistema para que no ocurra eso preguntando que si por ejemplo pulsas 2 teclas que la velocidad se mantenga a la mitad para evitar lo que comentas, un saludo :D
ArgumentException: Input Button Space is not setup. To change the input settings use: Edit -> Settings -> Input PlayerMove.Update () (at Assets/player/scrips/PlayerMove.cs:50)
no sé si es porque es la versión 2019 pero el Character Controller ya vienen con la función isGrounded integrada, al menos en la 2020, solo hay que hacer referencia al Character Controller y ya aparece. No sé cuáles son las opciones a modificar de la función pero suele ir perfecto por defecto.
Si en estas versiones creo que tambien lo trae, pero de esta manera se aprende un buen metodo de hacerlo, ya que para otros casos se hace de esta manera, un saludo :D
ayuda, el bool de is ground mask no se me activa, entonces no puedo saltar public CharacterController controller; public float speed = 10f; public float gravity = 9.8f; public float jumpHeight = 3; public Transform groundCheck; public float groundDistance = 0.3f; public LayerMask groundMask; Vector3 velocity; public bool isGroundMask; void Start() { } // Update is called once per frame void Update() { isGroundMask = Physics.CheckSphere(groundCheck.position, groundDistance, groundMask); if (isGroundMask && velocity.y < 0) { velocity.y = -2f; } float x = Input.GetAxis("Horizontal"); float z = Input.GetAxis("Vertical"); Vector3 move = transform.right * x + transform.forward * z; controller.Move(move * speed * Time.deltaTime); if (Input.GetButtonDown("Jump") && isGroundMask) { velocity.y = Mathf.Sqrt(jumpHeight) * -2 * gravity; } velocity.y += gravity * Time.deltaTime; controller.Move(velocity * Time.deltaTime); }
revisa tu codigo seguramente tengas el metodo de salto en el update sin preguntar si has pulsado la tecla, te sale algun error en tu ventana console?, un saludo :D
Quiza has puesto un constrain que impide mover en ese eje?, si me pasas el script puedo revisarlo para ver si hay algo raro, aunque lo hayas revisado siempre se puede escapar algo :D
A mi me pasa es que la cámara se mueve solo en horizontal, peto no en vertical , y no me sale ningún error. He revisado el código y aparentemente esta bien, seguiré cacharreanfo hasta encontrar la solución.
Tienes bien puesto el Mouse X y el Mouse Y , ten en cuenta que tiene que ser tal cual lo he escripo la x y la y mayusculas y un espacio despues del Mouse, un saludo :D
Por lo que veo puede que tengas varios errores en el codigo, si quieres puedes pasarlos por aqui y les echo un vistazo para tratar de ver que puede ser, un saludo
Holaaa, llevo 2 meses siguiendo tus tutoriales y me encantan, pero tengo una pregunta, como haces para que te salgan las referencias en visual studio code?, un saludo.
Quiza es porque no tengas los visual tools para Unity, ua-cam.com/video/O23-mcVhOeY/v-deo.html en este video lo explico rapidito como solucionarlo espero te ayude :D
La cuestion es darle la layer donde pretendo que el player pueda saltar, por ejemplo? por ejemplo puse unos cubos, para que el player pueda saltar de uno a otro, les debo asignar la layer ground
Si justo debes asignar esa layer ground a los objetos donde quieras saltar, puede probar que pasa sino se lo pones :D, un saludo y gracias por el coment
Hola Luis, tengo un problema estaba haciendo las lineas de codigo y tengo un problema con el transform como que no me aparece como si no existiera ni siquiera en las sugerencias de la palabra que vas a escribir, tu sabes como solucionarlo
Quiza es porque no tengas los visual tools para Unity, tengo un video donde enseño como bajarlo y ponerlo a punto :D te lo dejo por aqui ua-cam.com/video/W7cw5-dGeYU/v-deo.html O puede ser que no tengas puesto por predeterminado el visual studio en unity, para ello tienes que ir a edit---preferences y external tools y elegir el visual studio Espero te sirva :D
me aparece un error que dice "CharacterController does not contain a definition for "Move" and no accesible extension metod "Move" accpet a first argument of "CharacterController" could be found (are you miss)
Por lo que veo puede que tengas varios errores en el codigo, si quieres puedes pasarlos por aqui y les echo un vistazo para tratar de ver que puede ser, un saludo
Una pregunta en lugar de ponerle gravedad y saltar al player puedo ponerle un rigidbody y en el mismo scrip ponerle una fuerta asia el eje "Y" para que salte y ya que tiene el rigidbody tendra una gravedad y caera ¿crees que funcione de la misma manera?
hola, me sale este error nose porque,segun yo esta todo bien puesto (Error CS1002) y tambien(cs1513) using System.Collections; using System.Collections.Generic; using UnityEngine; public class playermove : MonoBehaviour { public CharacterController controller; public float speed = 10f; public float gravity =9.8f; public float jumpHeight = 3; public Transform groundCheck; public float groundDistance = 0.3f; public LayerMask groundMask;
Tu variable bool la has escrito mal es asi: bool isGroundMask; Y aqui bajo te sobra un parentesis velocity.y = Mathf.Sqrt(jumpHeight) * -2 * gravity); Es asi: velocity.y = Mathf.Sqrt(jumpHeight) * -2 * gravity; un saludo :D
Mira Nate ArgumentException: Input Axis Mause X is not setup. To change the input settings use: Edit -> Settings -> Input CamerLook.Update () (at Assets/CamerLook.cs:22)
tengo 11 y bueno estoy aprendiendo sobre el mundo de el desarrollo 3d ya que se un bastante sobre el mundo 2d pero tengo un error y es que derrepente despues de haber usado tu codigo de movimiento con mi capsula empieza a dar vueltas bruscas y muy rapidas mientras flota
Cuando pongo el código para espacio me sale este error porfavor ayúdame a solucionarlo: Assets\Scripts\PlayerMove.cs(12,31);error CS1001: Identifier expected . porfavor espero tu respuesta
Hola, me gustan tus vídeos ya que me ayudan a comprender y tener ideas claras sobre el desarrollo del videojuego, pero tengo un problema, cuando inicio la capsula salta infinitamente, ya revise la programación y está correcta. Lo demás funciona bien, podrías decirme alguna solución
Salta infinito al pulsar tu boton de salto? o te deja pulsarlo estando en el aire? si es la segunda es porque no detecta bien cuando estas o no en el suelo revisa que has colocado bien tu checkground, tambien revisa el valor de tu variable para que el salto sea mayor o menor desde el editor de unity, un saludo :D
Se que es tarde pero para el que tenga el problema, se pude solucionar si se escribe GetKeyDown en vez GetButtonDown creo que los 2 funcionan igual pero es otra manera. codigo: if(Input.GetKeyDown("space") && isGrounded) { velocity.y = Mathf.Sqrt(jumpHeight * -2 * gravity); } Pd: Me sirvio muchisimo el tutorial
buenas otra vez luis, por que al poner el character controller pongo play y el personaje se me va bajo la tierra? como si tuviera puesto trigger del capsule collider pero no tengo capsule collider, segui tus pasos un saludo bro
Buenas!, revisa que el mapa tenga collider y la posicion del collider de tu jugador tambien que no este activada la opcion del trigger, te sale algun error en tu ventana console?, un saludo :D
he conseguido arreglar eso por un fallo de una letra pero ahora que he añadido el player me sale error "ArgumentException: Input Axis mouse X is not setup." :(
Buenas Irene, revisa que estas escribiendo bien el input igual que yo es importante tanto los espacios como minusculas y mayusculas exactamene es Input.GetAxis("Mouse X"), un saludo :D
Hola ,muy buenos videos tienes gracias, mira yo hice la primer parte del video que era de la rotacion de la camara para arriba y a los costados pero cundo le doy play a unity solo mira para arriba pero a los costados no.que podria ser?
Buenas!, te sale algun error en tu ventana console?, revisa el codigo que la parte de MOUSE X e Y este bien ya que es donde hacemos el movimiento, un saludo :D
Holaaa, buenas tardes. Tengo un problema y es que no me aparece el "Character Controller" luego de programar y guardarlo. Escribí todo tal cual. Tengo el Visual Studio Community como preferencia y en Console no me salta ningun error. Te paso el Script por las dudas: using System.Collections; using System.Collections.Generic; using UnityEngine; public class Player : MonoBehaviour { public CharacterController controller; public float speed = 10f; void Start() { } void Update() { float x = Input.GetAxis("Horizontal"); float z = Input.GetAxis("Vertical"); Vector3 move = transform.right * x + transform.forward * z; controller.Move(move * speed * Time.deltaTime); } }
El codigo parece que esta bien puede que no te autorecomeidne el codigo y te salga de un color diferente? Quiza es porque no tengas los visual tools para Unity, tengo un video donde enseño como bajarlo y ponerlo a punto :D te lo dejo por aqui ua-cam.com/video/W7cw5-dGeYU/v-deo.html O puede ser que no tengas puesto por predeterminado el visual studio en unity, para ello tienes que ir a edit---preferences y external tools y elegir el visual studio Espero te sirva :D
Luis tus videos son buenos pero como en los tutoriales de los botones cuando programo no funciona hago lo mismo y puedes hacer este tutorial pero sin programar
Dale doble click al error en console, te llevara donde esta y asi sabras que esta mal escrito, o puedes pasar el script por aqui y le echo un vistazo :D
Revisa que has declarado guay tus variables y que si algo es en mayusculas o minusculas es importante, tambien si quieres puedes pasarme el codigo y le echo un ojo :D
Es porque como no tenemos el ratón centrado en el momento que seleccionamos la ventana como que prevee que se queda hacia abajo hasta que subimos, quiza podemos forzar la vista centrada al principio en un futuro, un saludo :D
Si a veces me pasa ami tambien, quiza podamos forzar el valor de la camara al centro desde un principio y luego que ya pille el valor de donde este el raton
Te sale algun error en tu ventana console? que nos de una pista de que puede ser?, revisa que has colocado bien en su posicion el groundcheck, un saludo :D
Hola Luis, tengo una gran duda que me extraño que nadie pregunto. Lo de la formula para el salto, si me la puedes explicar porque he visto que muchos la usan con la función mathf.sqtr y para colmo la colocan de distintas formas y me confundió, busque por internet y nada, por lo que, acudo a ti para que puedas aclararme ese punto. De donde te basas para la formula, si hay algun libro o algún blog o pagina que me puedas recomendar, te lo agradecería mucho. Estoy con un proyecto 2d de plataformas, y siempre tengo dramas a la hora de usar characterController para el salto al intentar simular gravedad. Más que nada, te lo pido para en un futuro poder aplicar formulas que pueda entender y saber como aplicarlas, de antemano t lo agradecería mucho. Saludos
Esa fórmula se deriva de la ecuación de posición en función del tiempo para el movimiento vertical en presencia de gravedad constante. En Unity, puede ser útil para establecer la velocidad inicial de un salto para alcanzar una altura específica, en este caso lo usamos porque con el character controller tenemos que añadir nosotros la gravedad que seria diferente de si usasemos el rigidbody que por ejemplo ya la trae, un saludo :D
@@LuisCanary muchas gracias investigue y empecé aplicar a código pero ocurre el mismo problema, traspasa todo hacia abajo. Estuve averiguando por foros de unity y el isgrounded no es consistente, probé el physics2d.overlap y lo mismo. Es como si el character tuviera confictos con los colliders y los ignorara, probé con collisionFlags y lo mismo, lo del overlap revise y el suelo tiene el layer correspondiente. Pero si quito la gravedad, se mueve horizontal y no traspasa suelo. Ni hablar del salto, no funciona y la booleana para el overlap detecta el piso.
@@LuisCanary hola de nuevo, después de investigar y testear encontré el problema, luego de comparar videos y testear en unity resulta que el character controller no se usa en 2d puesto que es un objeto 3d y solo responde a colliders 3d, lo cual responde a mi problema de porque mi personaje traspasaba muros y pisos, puesto que los sistemas de físicas 2d y 3d son muy diferentes. Lamentablemente donde estudio no te enseñan eso. Al menos ya salí de la duda y termine aprendiendo más cosas en el proceso de investigación.
Eso posiblemente es porque detecta todo el rato que esta en el suelo cuando no es asi, o que has puesto un valor muy alto al realizar el salto, revisaria esos valorcillos y tambien la colision de tu player y la deteccion del suelo, un saludo :D
Ey Luis! note que algunas personas habian tenido un problemilla con que la camara solo se movia en vertical, y yo pude solucionar eso agregando el playerbody. No se si sirva de ayuda pero ahi esta xd
@@LuisCanary de nada Luis! Gracias por ayudarnos a toda esta comunidad, yo por ejemplo soy apenas un principiante y aprendo mucho con tus videos, sigue así!!!
No se si tendre otra version, pero no me aparecen algunas cosas en el codigo, como el transform... tengo la version mas nueva de unity y no se porque sera
Quiza es porque no tengas los visual tools para Unity, tengo un video donde enseño como bajarlo y ponerlo a punto :D te lo dejo por aqui ua-cam.com/video/W7cw5-dGeYU/v-deo.html O puede ser que no tengas puesto por predeterminado el visual studio en unity, para ello tienes que ir a edit---preferences y external tools y elegir el visual studio Espero te sirva :D
buenas luis, tengo un error que al momento de hacer la build para pc y abrir el ejecutable el juego se queda en una pantalla azul sabes cual seria el problema?
Buenas Luis, tengo un problemita, me pone que me faltan un ; y un { pero tengo todo al pie de la letra, sabes porque será? te paso el script para que te fijes porque yo no se en donde mas fijarme using System.Collections; using System.Collections.Generic; using UnityEngine; public class PlayerMove : MonoBehaviour { public CharacterController controller; public float speed = 10f; public float gravity = -9.8f; public float jumpHeight = 3; public Transform goundCheck; public float groundDistance = 0.3f; public LayerMask groundMask; Vector3 velocity; bool isGrounded; void Start() { } void Update() { isGrounded = Physics.CheckSphere(goundCheck.position, groundDistance, groundMask); if (isGrounded && velocity.y < 0) { velocity.y = -2; } float x = Input.GetAxis("Horizontal"); float z = Input.GetAxis("Vertical"); Vector3 move = transform.right * x + transform.forward * z; controller.Move(move * speed * Time.deltaTime); if (input.GetbuttonDown("Jump") && isGrounded) { velocity.y = Mathf.sqrt(jumpHeight * -2 * gravity); } velocity,y += gravity * Time.deltaTime; controller.move(velocity * Time.deltaTime); } } gracias si me ayudas :)
Te lo paso por aqui arreglado using System.Collections; using System.Collections.Generic; using UnityEngine; public class PlayerMove : MonoBehaviour { public CharacterController controller; public float speed = 10f; public float gravity = -9.8f; public float jumpHeight = 3; public Transform goundCheck; public float groundDistance = 0.3f; public LayerMask groundMask; Vector3 velocity; bool isGrounded; void Start() { } void Update() { isGrounded = Physics.CheckSphere(goundCheck.position, groundDistance, groundMask); if (isGrounded && velocity.y < 0) { velocity.y = -2; } float x = Input.GetAxis("Horizontal"); float z = Input.GetAxis("Vertical"); Vector3 move = transform.right * x + transform.forward * z; controller.Move(move * speed * Time.deltaTime); if (Input.GetButtonDown("Jump") && isGrounded) { velocity.y = Mathf.Sqrt(jumpHeight * -2 * gravity); } velocity.y += gravity * Time.deltaTime; controller.Move(velocity * Time.deltaTime); } } Tenias algun problemilla de mayusculas y minusculas, una , en vez de un . y alguna otra cosilla, un saludo :D
buen video pero ayuda porfa hice todo el script pero mi personaje no puede ir defrente solo se mueve en diagonal y en el scrip de salto no puede saltar:(
Te sale algun error en tu ventana console?, revisa los valores de tus variables desde el editor de unity, y tambien revisa que donde hacemos el movimiento todo el tema de ifs y demas este guachi, un saludo :D
Hola que tal tengo un problema el cual hace que el personaje sale volando y no se como solucionarlo, si alguno sabe como solucionar mi error le agradeceria su ayuda
Revisa que no colisione con algun otro objeto, que no te salga ningun error en tu ventana console y que tengas las variables bien asignadas en el editor de unity, un saludo :D
Te puedo mandar por correo o Discord el problema que tengo?Es que me lleva pasando muchisimo tiempo y no se como arreglarlo y me impide el progreso en mi juego, porfavor
Te salen algunos errores en el codigo o en la console?, has asignado los scripts a sus gameobjects correspondientes?, si te sale cualquier error comentamelo y vemos como poder solucionarlo :D
@@LuisCanary yo revise y estoy bastante seguro que lo hice bien, pero algo que si me paso es que me salia en la consola que no tenia el espacio en "jump" configurado, aunque ahora ya no me sale: ArgumentException: Input Button Space is not setup. To change the input settings use: Edit -> Settings -> Input PlayerMove.Update () (at Assets/player/scrips/PlayerMove.cs:50)
El error te comenta que posiblemente te haga falta un , en algun punto de tu script, revisa que lo tengas como en el video y si le das doble click al error desde tu ventana console posiblemente te lleve justo a donde es, un saludo :D
@@LuisCanary Gracias crack, ya lo resolvi, habia puesto una coma en lugar de un punto en uno de los decimales, voy a seguir viendo tus videos a ver que mas puedo aprender.
Muchas gracias por el video. Muy bien explicado y práctico, pero tengo un pequeño problema: a la hora de poner "transform" me dice "que no se encontró y que falta una directiva de nombre o ensamblado". No sé si me podrías aconsejar. De todas formas gracias :) y a seguir aprendiendo con tus videos
Vale pues viendo uno de tus tutoriales ya me has ayudado a solucionarlo, no hace falta que respondas XD. Vi tu tutorial de instalar Visual estudio y no activé la marca de Unity -_-. Gracias igualmente. PD: Yo es que soy muy torpe tio
hola!una pregunta... hice todo bien hasta que cuando intento saltar no me deja saltar.Tambien me da un error que quizas si soluciono ese error pueda saltar:UnassignedReferenceExeption: The variable GroundCheck of PlayerMove has not been assigned.¿sabes como solucionarlo?
Buenas! eso es porque estas detectando todo el rato suelo o hay algo mal en el codigo revisa que pones bien tu layermask, y las variables para la deteccion del suelo, un saludo :D
Buenas! deberias comprobar si has echo el salto y durante ese tiempo en el aire te deje hacer otro hasta que ya toques el suelo, tendrias que gestionarlo con una booleana quiza, un saludo :D
Quiza es porque no tengas los visual tools para Unity, tengo un video donde enseño como bajarlo y ponerlo a punto :D te lo dejo por aqui ua-cam.com/video/W7cw5-dGeYU/v-deo.html O puede ser que no tengas puesto por predeterminado el visual studio en unity, para ello tienes que ir a edit---preferences y external tools y elegir el visual studio Espero te sirva :D
Buenas, has añadido el script?, revisa que no te salga ningun error en console y me has pasado el script entero como lo tienes?? porque le faltarian corchetes al final, un saludo :D
Hola bro espero que te encuentres bien, mira me aparece esto: Assets\PlayerController.cs(25,56): error CS1061: 'Transform' does not contain a definition for 'fordward' and no accessible extension method 'fordward' accepting a first argument of type 'Transform' could be found (are you missing a using directive or an assembly reference?) Aquí te dejo mi código para que lo mires (si te lo preguntabas ya puse a visual como predeterminado como dices) : using System.Collections; using System.Collections.Generic; using UnityEngine; public class PlayerMove : MonoBehaviour {
public CharacterController controller; public float speed = 10f; void Start() {
} void Update() {
float x = Input.GetAxis("Horizontal"); float z = Input.GetAxis("Vertical"); Vector3 move = transform.right * x + transform.fordward * z; controller.Move(move * speed * Time.deltaTime); } }
@ ahora esta bien pero me surgió un problema nuevo al mover el personaje con la a o la d o sea izquierda y derecha la cámara también gira y eso interfiere en el giro del ratón ¿Como lo arreglo? Y gracias por responder
Eso es porque la camara sera hijo del jugador si quieres un funcionamiento diferente tocaria hacer un script aparte para la camara que siguiera al jugador sin que le afecte directamente el movimiento del mismo, no se si es a lo que te refeires?,un saludo :D
Transform.localRotation = Quaternion.Euler(xRotation, 0f, 0f); hay algo mal aca? unity me tira un error que no entiendo Edit: era porque puse Transform con masyuscula la primera
@@LuisCanary si, pero ahora me tira otro error al mover la camara en el eje X que no entiendo, es un error con texto muuuy largo, despues lo copio y pego :'v
Revisa en tu ventana console que errores te salen, y si le das doble click al error deberia llevarte a donde esta, ademas te suele poner una pequeña descripcion de lo que puede ser un saludo :D, y si lo pasas pues podremos ver como solucionarlo
Revisa en tu ventana console que errores te salen, y si le das doble click al error deberia llevarte a donde esta, ademas te suele poner una pequeña descripcion de lo que puede ser un saludo :D
No gira la cámara hacia arriba o abajo :( using System.Collections; using System.Collections.Generic; using UnityEngine; public class CameraLook : MonoBehaviour { public float mouseSensitivity = 80f; public Transform playerBody; float xRotation = 0;
Parece que el codigo esta bien, revisa tus variables desde Unity que esten bien asiganadas y con sus valores guays, no te sale ningun error en tu ventana console?, un saludo :D
Hola Luis. No puedo saltar, podrías revisar mi código por favor? public class PlayerMove : MonoBehaviour { public CharacterController controller; public float speed = 10f; public float gravity = 9.8f; public float jumpHeight = 3f; public Transform groundCheck; public float groundDistance; public LayerMask groundMask; Vector3 velocity; bool isGrounded; void Start() { } void Update() { isGrounded = Physics.CheckSphere(groundCheck.position,groundDistance,groundMask); if (isGrounded && velocity.y
😄Os recomiendo los tutoriales de UNITY🎁 ➔ ua-cam.com/play/PLNEAWvYbJJ9m2sPYTv8pzkSklz79HoTRa.html
Tengo 13 años y acabo de descubrir tu canal. Me encanta que subas guías puntuales sobre cosas específicas, porque yo en el cole estoy aprendiendo python y recién en cuarto año vamos a empezar a ver unity, por lo que c# es algo nuevo para mí. Saludos y estaré viendo tus videos!
Pues espero que se te de genial, y me alegro mucho de que te gusten los videos :D
Ojala mi colegio fuera igual, pero solo hablan de Dios y no le avanzan
@@j0h4nd32 yo pude entrar a un cole con orientación en programación, pero si buscas cursos o indagas seguro vas a encontrar algo con lo que puedas aprender
ok
@@j0h4nd32 Que suerte tienes... yo estudio en marruecos
Oh eres mi gran salvador, ya hice todo paso por paso del video y me quedo muy chevere, muchas gracias.
Me alegro!!, un saludo :D
Ole!, me alegro :D
Son muy buenos tus videos pero este en el minuto 3:36 cuando se ve el fondo de pantalla de Guybrush cuando le compra el barco a Stan es de lo mejor!! Jaja muy buen video!! abrazo desde argentina!!!!
Jajajaj tremendo fondo, un saludo :D
Tranqulo ya lo eh solucionado. Igualmente gracias por la ayuda :D
Hola! acabo de implementar en mi intento de proyecto (xd) lo que enseñas en este video y en el de cómo disparar :D.
Como idea para un futuro video, estaría muy bueno si mostraras cómo hacer una puerta normal o una estilo Doom (tipo las puertas corredizas que solo se abren cuando tenés una llave en específico y apretás el botón de acción).
Saludos!
Estaria guay, me lo apunto para un futuro :D
@@LuisCanary gracias!
si profa igual me gustaría ver como lo hace :D
Exelente , puedes hacer un tuto agregándole botones para controlar desde el móvil
Gracias Isaac, vale me lo apunto y lo vemos en un futuro ;D
Si les sale "Mouse x is not setup" Fíjense que en el código va "Mouse X" y "Mouse Y" la letra va con mayúsculas;
Gracias por comentarlo por si alguien tiene el error :D
A mi me sale de tranform is not found
es transform con s entre medias :D
Hola Gracias Luis ya lo hice y esta CHULO!!
Me alegro :D!!
@@LuisCanary Y de hecho ya hice tu tutorial de disparos y agarrar objetos y tambien estan CHULOS
excelente tutorial hermano me suscribo¡¡¡
Muchisimas gracias por el apoyo!🤗✌🏻
este tutorial me esta sirviendo para aprender a programar juegos que hago
Me alegro :D
el codigo hasta el día de hoy (12/06/2022) es completamente funcional y sin ningún error de ningún tipo (les recomiendo q cuiden muchísimo las mayúsculas)
Gracias por el consejo! :D
Estuvo muy bueno, pero hubo algunas cosas muy rápidas que cuestan entender enseguida, principalmente cuando haces multiplicaciones entre variables y otras cosas. Seguramente tiene que ver con físicas y cosas así, pero cuesta entender el porque de esas ecuaciones.
Igualmente tus videos son muy buenos y me están ayudando mucho, muchas gracias, sigue así.
Gracias por el apoyo, si intento explicar un poco con calma pero hay cosillas que si que quiza las haga rapidas para que el video no se haga tan largo, lo tendre en cuenta, un saludo :D
Podrías hacer un tutorial sobre cómo hacer un videojuego para celular? Gracias
Tenemos alguno en el canal pero vendrán muchos más :D
Muchas gracias, me esta sirviendo mucho.
Me alegro :D
Hola buenas, antes de nada lo has explicado todo genial, buen trabajo. Me gustaría saber si se puede solucionar una cosa que no me gusta mucho y no se como se cambia, cuando te estás moviendo si pulsas W y por ejemplo la A o la D tu velocidad incrementa, no solo andas en diagonal sino que andas más rapido, me gustaría que aunque sigas andando en diagonal no andes más rapido ya que si tuerces la cámara puedes seguir andado en la misma dirección pero llegaras antes a tu destino.
Se podria poner un limite de velocidad, o mejorar el sistema para que no ocurra eso preguntando que si por ejemplo pulsas 2 teclas que la velocidad se mantenga a la mitad para evitar lo que comentas, un saludo :D
Excelente video
Gracias! :D
muchas gracias!
De nada! :D
ArgumentException: Input Button Space is not setup.
To change the input settings use: Edit -> Settings -> Input
PlayerMove.Update () (at Assets/player/scrips/PlayerMove.cs:50)
space se pone con mayusculas ;D
Y eso para que? y donde va?
He seguido todo paso a paso y una vez finalizado el scrip con GroundCheck no me sale para poder ponerlo en inspector de playermove ¿Que puedo hacer?
Te sale algun error en tu ventana console?, un saludo :D
no sé si es porque es la versión 2019 pero el Character Controller ya vienen con la función isGrounded integrada, al menos en la 2020, solo hay que hacer referencia al Character Controller y ya aparece. No sé cuáles son las opciones a modificar de la función pero suele ir perfecto por defecto.
Si en estas versiones creo que tambien lo trae, pero de esta manera se aprende un buen metodo de hacerlo, ya que para otros casos se hace de esta manera, un saludo :D
Pregunta, como se logra la animación que hace el personaje al caminar o correr. Un ejemplo bueno, es la camara de Slender The Arrival
Quiza este video te interese :D ua-cam.com/video/RCKogZqlgDk/v-deo.html
Muy buen video! intento añadirle un sprint solo cuando pulsa la W, pero soy incapaz, me podrias dar algun consejo?
Deberia ser relativamente sencillo al pulsar la w aumenta la variable de velocidad aunque tambien depende del tipo de sprint que quieras, un saludo :D
Me pasaba lo mismo si eso pasa es porque el Script tiene un problema
ayuda, el bool de is ground mask no se me activa, entonces no puedo saltar
public CharacterController controller;
public float speed = 10f;
public float gravity = 9.8f;
public float jumpHeight = 3;
public Transform groundCheck;
public float groundDistance = 0.3f;
public LayerMask groundMask;
Vector3 velocity;
public bool isGroundMask;
void Start()
{
}
// Update is called once per frame
void Update()
{
isGroundMask = Physics.CheckSphere(groundCheck.position, groundDistance, groundMask);
if (isGroundMask && velocity.y < 0)
{
velocity.y = -2f;
}
float x = Input.GetAxis("Horizontal");
float z = Input.GetAxis("Vertical");
Vector3 move = transform.right * x + transform.forward * z;
controller.Move(move * speed * Time.deltaTime);
if (Input.GetButtonDown("Jump") && isGroundMask)
{
velocity.y = Mathf.Sqrt(jumpHeight) * -2 * gravity;
}
velocity.y += gravity * Time.deltaTime;
controller.Move(velocity * Time.deltaTime);
}
Te sale algun error en tu ventana console?, seleccionas guay tu layer en el editor y poner a los objetos la layer necesaria?, un saludo :D
me aparece Assets\Script\CameraLook.cs(28,22): error CS0103: The name 'input' does not exist in the current context :(
olvidalo, habia puesto input sin mayuscula xd
Jajajaja suele pasar :D
Hola Luis. Hice todo bien pero el personaje salta solo y cuando precio espacio no salta
Salta solito todo el tiempo. Porque sera?
revisa tu codigo seguramente tengas el metodo de salto en el update sin preguntar si has pulsado la tecla, te sale algun error en tu ventana console?, un saludo :D
la camara solo se me mueve en vertical y ya he revisado el codigo y esta todo bien y no se por que es
Quiza has puesto un constrain que impide mover en ese eje?, si me pasas el script puedo revisarlo para ver si hay algo raro, aunque lo hayas revisado siempre se puede escapar algo :D
Pudiste solucionarlo? yo tuve el mismo problema y no encuentro el error :(
Buenas, te sale algun error en tu ventana console?, revisa que el codigo este igual y que no te falte alguna cosilla importante, un saludo :D
A mi me pasa es que la cámara se mueve solo en horizontal, peto no en vertical , y no me sale ningún error.
He revisado el código y aparentemente esta bien, seguiré cacharreanfo hasta encontrar la solución.
Tienes bien puesto el Mouse X y el Mouse Y , ten en cuenta que tiene que ser tal cual lo he escripo la x y la y mayusculas y un espacio despues del Mouse, un saludo :D
Y también me sale el error de jump del que no podía saltar con espacio y hice lo mismo que le dijiste al otro y me sigue saliendo
Por lo que veo puede que tengas varios errores en el codigo, si quieres puedes pasarlos por aqui y les echo un vistazo para tratar de ver que puede ser, un saludo
Holaaa, llevo 2 meses siguiendo tus tutoriales y me encantan, pero tengo una pregunta, como haces para que te salgan las referencias en visual studio code?, un saludo.
Quiza es porque no tengas los visual tools para Unity, ua-cam.com/video/O23-mcVhOeY/v-deo.html
en este video lo explico rapidito como solucionarlo espero te ayude :D
Funciona perfectamente
Me alegro! :D
Solo va a saltar desde la ground layer, verdad? por ejemplo desde arriba de la escalera celeste no saltaria
La cuestion es darle la layer donde pretendo que el player pueda saltar, por ejemplo? por ejemplo puse unos cubos, para que el player pueda saltar de uno a otro, les debo asignar la layer ground
Si justo debes asignar esa layer ground a los objetos donde quieras saltar, puede probar que pasa sino se lo pones :D, un saludo y gracias por el coment
tengo un problema,cuando salto cerca de un cubo y llega a la mitad el muñeco se traba y comiensa a virar
Jumm quiza podamos mejorar el sistema de collision para evitar esos falletes, esta bien ajustado tu collider a tu player?
Me sale un error que dice an object reference is required for the non-static field,method or property 'Transform.localRotation
Quiza tengas algo mas escrito?, revisa el tema de mayusculas y minusculas, un saludo :D
Hola Luis, tengo un problema estaba haciendo las lineas de codigo y tengo un problema con el transform como que no me aparece como si no existiera ni siquiera en las sugerencias de la palabra que vas a escribir, tu sabes como solucionarlo
El Transform no se me ve verde acua como tu lo tienes
Quiza es porque no tengas los visual tools para Unity, tengo un video donde enseño como bajarlo y ponerlo a punto :D te lo dejo por aqui
ua-cam.com/video/W7cw5-dGeYU/v-deo.html
O puede ser que no tengas puesto por predeterminado el visual studio en unity, para ello tienes que ir a edit---preferences y external tools y elegir el visual studio
Espero te sirva :D
@@LuisCanaryOye gracias me sirvio la segunda
me aparece un error que dice "CharacterController does not contain a definition for "Move" and no accesible extension metod "Move" accpet a first argument of "CharacterController" could be found (are you miss)
Buenas!, revisa el tema de mayusculas y minusculas, si quieres puedes pasarme el codigo y le echo un ojo, un saludo :D
Hola me paso lo mismo que al que no le saltaba solo que a mi me pone este error:the variable ground check of playermobe has not been assigned
Por lo que veo puede que tengas varios errores en el codigo, si quieres puedes pasarlos por aqui y les echo un vistazo para tratar de ver que puede ser, un saludo
Una pregunta en lugar de ponerle gravedad y saltar al player puedo ponerle un rigidbody y en el mismo scrip ponerle una fuerta asia el eje "Y" para que salte y ya que tiene el rigidbody tendra una gravedad y caera ¿crees que funcione de la misma manera?
Con un rigidbody ya tiene gravedad, el tema del velocity lo usamos porque el character controller no tiene gravedad, un saludo :D
@@LuisCanary muchas gracias lo tendre en cuenta para mi proyecto
hola, me sale este error nose porque,segun yo esta todo bien puesto (Error CS1002) y tambien(cs1513)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class playermove : MonoBehaviour
{
public CharacterController controller;
public float speed = 10f;
public float gravity =9.8f;
public float jumpHeight = 3;
public Transform groundCheck;
public float groundDistance = 0.3f;
public LayerMask groundMask;
Vector3 velocity;
boll isGroundMask;
void Start()
{
}
// Update is called once per frame
void Update()
{
isGrounded = Physics.CheckSphere(groundCheck.position,groundDistance,groundMask);
if (isGrounded && velocity.y
Tu variable bool la has escrito mal es asi: bool isGroundMask;
Y aqui bajo te sobra un parentesis
velocity.y = Mathf.Sqrt(jumpHeight) * -2 * gravity);
Es asi:
velocity.y = Mathf.Sqrt(jumpHeight) * -2 * gravity;
un saludo :D
Mira Nate
ArgumentException: Input Axis Mause X is not setup.
To change the input settings use: Edit -> Settings -> Input
CamerLook.Update () (at Assets/CamerLook.cs:22)
Es Mouse X no Mause ;D
Me sale este error Assets\scripts\CameraLook.cs(36,55): error CS1525: Invalid expression term ')' que hago ?
Parece que te falta un parentesis o algun simbolo en alguna parte, si quieres puedes pasar el codigo y le echo un ojo, un saludo :D
tengo 11 y bueno estoy aprendiendo sobre el mundo de el desarrollo 3d ya que se un bastante sobre el mundo 2d pero tengo un error y es que derrepente despues de haber usado tu codigo de movimiento con mi capsula empieza a dar vueltas bruscas y muy rapidas mientras flota
Buenas!, te sale algun error en tu ventana console?, tambien revisa el valor de tus variables en el editor de unity, un saludo :D
@@LuisCanary era un problema con el rigdibody
Me podrías ayudar no me sale el Character Controller
No te sale dentro del script o en unity?, es raro
@@LuisCanary ya lo he arreglado pero muchas gracias por intentar ayudarme 😁
Buenas Luis! Era para preguntarte si hay alguna manera de acelerar el movimiento al girar la camara con el mouse? Si es así, podrías explicarme?
Aumentando el mouseSensitivity que ponemos en el script de cameralook, un saludo :D
@@LuisCanary Me funciono! Muchísimas gracias :D
Cuando pongo el código para espacio me sale este error porfavor ayúdame a solucionarlo:
Assets\Scripts\PlayerMove.cs(12,31);error CS1001: Identifier expected .
porfavor espero tu respuesta
Quiza te falto algun ; o algo del estilo en tu script de PlayerMove linea 12 posicion 31, un saludo :D
Ayuda me aparece el error error CS0019: Operator '+' cannot be applied to operands of type 'Vector3' and 'float', que puedo hacer?
Si quieres pasame el codigo y le echo un ojo :D
@@LuisCanary ya lo pude solucionar no pasa nada xD
Hola, me gustan tus vídeos ya que me ayudan a comprender y tener ideas claras sobre el desarrollo del videojuego, pero tengo un problema, cuando inicio la capsula salta infinitamente, ya revise la programación y está correcta. Lo demás funciona bien, podrías decirme alguna solución
Salta infinito al pulsar tu boton de salto? o te deja pulsarlo estando en el aire? si es la segunda es porque no detecta bien cuando estas o no en el suelo revisa que has colocado bien tu checkground, tambien revisa el valor de tu variable para que el salto sea mayor o menor desde el editor de unity, un saludo :D
Se que es tarde pero para el que tenga el problema, se pude solucionar si se escribe GetKeyDown en vez GetButtonDown creo que los 2 funcionan igual pero es otra manera. codigo:
if(Input.GetKeyDown("space") && isGrounded)
{
velocity.y = Mathf.Sqrt(jumpHeight * -2 * gravity);
}
Pd: Me sirvio muchisimo el tutorial
buenas otra vez luis, por que al poner el character controller pongo play y el personaje se me va bajo la tierra? como si tuviera puesto trigger del capsule collider pero no tengo capsule collider, segui tus pasos un saludo bro
Buenas!, revisa que el mapa tenga collider y la posicion del collider de tu jugador tambien que no este activada la opcion del trigger, te sale algun error en tu ventana console?, un saludo :D
Una vez añadido el codigo, vuelvo a unity para añadir el player como haces en el video, pero no me sale opción o casilla para añadirlo :(
he conseguido arreglar eso por un fallo de una letra pero ahora que he añadido el player me sale error "ArgumentException: Input Axis mouse X is not setup." :(
Buenas Irene, revisa que estas escribiendo bien el input igual que yo es importante tanto los espacios como minusculas y mayusculas exactamene es Input.GetAxis("Mouse X"), un saludo :D
@@LuisCanary mucgas gracias :)
Gracias por el vídeo estoy haciendo una versión chafa de half Life 3 ya tengo la historia sólo me falta programar
Jajajaja pues mucho ánimo! :D
Hola ,muy buenos videos tienes gracias, mira yo hice la primer parte del video que era de la rotacion de la camara para arriba y a los costados pero cundo le doy play a unity solo mira para arriba pero a los costados no.que podria ser?
Buenas!, te sale algun error en tu ventana console?, revisa el codigo que la parte de MOUSE X e Y este bien ya que es donde hacemos el movimiento, un saludo :D
@@LuisCanary no es eso seguramente se olvido de asignar el player al tranform del main camera en cameralook
Holaaa, buenas tardes. Tengo un problema y es que no me aparece el "Character Controller" luego de programar y guardarlo. Escribí todo tal cual. Tengo el Visual Studio Community como preferencia y en Console no me salta ningun error. Te paso el Script por las dudas:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Player : MonoBehaviour
{
public CharacterController controller;
public float speed = 10f;
void Start()
{
}
void Update()
{
float x = Input.GetAxis("Horizontal");
float z = Input.GetAxis("Vertical");
Vector3 move = transform.right * x + transform.forward * z;
controller.Move(move * speed * Time.deltaTime);
}
}
El codigo parece que esta bien puede que no te autorecomeidne el codigo y te salga de un color diferente? Quiza es porque no tengas los visual tools para Unity, tengo un video donde enseño como bajarlo y ponerlo a punto :D te lo dejo por aqui
ua-cam.com/video/W7cw5-dGeYU/v-deo.html
O puede ser que no tengas puesto por predeterminado el visual studio en unity, para ello tienes que ir a edit---preferences y external tools y elegir el visual studio
Espero te sirva :D
Luis tus videos son buenos pero como en los tutoriales de los botones cuando programo no funciona hago lo mismo y puedes hacer este tutorial pero sin programar
Holi!, comentame que errores tienes y veremos como solucionarlos!, un saludo :D
@@LuisCanary bueno no me aparece algo de play o algo así me preguntaba si tienes una respuesta
Comentame el error al completo, un saludo :D
@@LuisCanary bueno yo estaba en unity veía tus videos ponía los scripts pero en la parte de “on click” cuando te aparecía la función options
Play y eso ami no me aparecía pero bueno me canse de ese error y por las reglas de unity dee 20 céntimos en dólares me cambié a unreal
No me camina namas me da 1000 advertencias en la consola ,ayuda
Dale doble click al error en console, te llevara donde esta y asi sabras que esta mal escrito, o puedes pasar el script por aqui y le echo un vistazo :D
ayuda en el comando controller.Move(move * speed * Time.deltaTime); me sale que playemovement no tiene una definicion de move ni se encontro alguna
Revisa que has declarado guay tus variables y que si algo es en mayusculas o minusculas es importante, tambien si quieres puedes pasarme el codigo y le echo un ojo :D
@@LuisCanary ok muchas gracias y lo pasaré cuando puedo bro
Hola he seguido tu canal desde haze mucho pero no se porque la camara suempre inicia mirando al suelo
Es porque como no tenemos el ratón centrado en el momento que seleccionamos la ventana como que prevee que se queda hacia abajo hasta que subimos, quiza podemos forzar la vista centrada al principio en un futuro, un saludo :D
@@LuisCanary gracias
Un problema bro, que cuando le doy a play siempre me aparece mirando hacia abajo
Si a veces me pasa ami tambien, quiza podamos forzar el valor de la camara al centro desde un principio y luego que ya pille el valor de donde este el raton
@@LuisCanary Y otro problema, no me salta y esta todo tal cual al video :c
Te sale algun error en tu ventana console? que nos de una pista de que puede ser?, revisa que has colocado bien en su posicion el groundcheck, un saludo :D
comando :
XRotation=Mahtf .clamp(XRotation,-90f,90);
El eror de la camara asia abajo es porque le flata un - al 90f ponlo y veras que se soluciona
Hola Luis, tengo una gran duda que me extraño que nadie pregunto. Lo de la formula para el salto, si me la puedes explicar porque he visto que muchos la usan con la función mathf.sqtr y para colmo la colocan de distintas formas y me confundió, busque por internet y nada, por lo que, acudo a ti para que puedas aclararme ese punto. De donde te basas para la formula, si hay algun libro o algún blog o pagina que me puedas recomendar, te lo agradecería mucho. Estoy con un proyecto 2d de plataformas, y siempre tengo dramas a la hora de usar characterController para el salto al intentar simular gravedad. Más que nada, te lo pido para en un futuro poder aplicar formulas que pueda entender y saber como aplicarlas, de antemano t lo agradecería mucho. Saludos
Esa fórmula se deriva de la ecuación de posición en función del tiempo para el movimiento vertical en presencia de gravedad constante. En Unity, puede ser útil para establecer la velocidad inicial de un salto para alcanzar una altura específica, en este caso lo usamos porque con el character controller tenemos que añadir nosotros la gravedad que seria diferente de si usasemos el rigidbody que por ejemplo ya la trae, un saludo :D
@@LuisCanary muchas gracias investigue y empecé aplicar a código pero ocurre el mismo problema, traspasa todo hacia abajo. Estuve averiguando por foros de unity y el isgrounded no es consistente, probé el physics2d.overlap y lo mismo. Es como si el character tuviera confictos con los colliders y los ignorara, probé con collisionFlags y lo mismo, lo del overlap revise y el suelo tiene el layer correspondiente. Pero si quito la gravedad, se mueve horizontal y no traspasa suelo. Ni hablar del salto, no funciona y la booleana para el overlap detecta el piso.
@@LuisCanary hola de nuevo, después de investigar y testear encontré el problema, luego de comparar videos y testear en unity resulta que el character controller no se usa en 2d puesto que es un objeto 3d y solo responde a colliders 3d, lo cual responde a mi problema de porque mi personaje traspasaba muros y pisos, puesto que los sistemas de físicas 2d y 3d son muy diferentes. Lamentablemente donde estudio no te enseñan eso. Al menos ya salí de la duda y termine aprendiendo más cosas en el proceso de investigación.
A bueno si jajaj hay componentes especificos para 2D y 3D, me alegro que encontraras el problema, un saludo :D
Tengo un problema, después de corregir todo el código por q no saltaba , ahora cuando le pongo play el personaje sale volando
Eso posiblemente es porque detecta todo el rato que esta en el suelo cuando no es asi, o que has puesto un valor muy alto al realizar el salto, revisaria esos valorcillos y tambien la colision de tu player y la deteccion del suelo, un saludo :D
hola, se gira toda la cámara sin control, no sé xq
XD revisa que los valores de la camara son los correctos desde unity en su script y tambien revisa la colisiones de tu mapa, un saludo :D
Ey Luis! note que algunas personas habian tenido un problemilla con que la camara solo se movia en vertical, y yo pude solucionar eso agregando el playerbody. No se si sirva de ayuda pero ahi esta xd
Gracias por comentarlo seguramente le ayude a alguien :D
@@LuisCanary de nada Luis! Gracias por ayudarnos a toda esta comunidad, yo por ejemplo soy apenas un principiante y aprendo mucho con tus videos, sigue así!!!
Pregunta, donde lo agregas, estoy teniendo ese problema pero no sé a donde te refieres que lo agregue, ayuda pls
tengi un problema, el codigo todo bien y todo pero a la hora de agrandar el terreno el muñeco deja de saltar
Revisa que ese suelo tenga el tag de suelo!, un saludo :D
No se si tendre otra version, pero no me aparecen algunas cosas en el codigo, como el transform... tengo la version mas nueva de unity y no se porque sera
Quiza es porque no tengas los visual tools para Unity, tengo un video donde enseño como bajarlo y ponerlo a punto :D te lo dejo por aqui
ua-cam.com/video/W7cw5-dGeYU/v-deo.html
O puede ser que no tengas puesto por predeterminado el visual studio en unity, para ello tienes que ir a edit---preferences y external tools y elegir el visual studio
Espero te sirva :D
@@LuisCanary gracias!!
buenas luis, tengo un error que al momento de hacer la build para pc y abrir el ejecutable el juego se queda en una pantalla azul sabes cual seria el problema?
Tienes puesta tu escena principal la primera en el buildsettings?, te sale algun error en tu ventana console?, un saludo :D
Buenas Luis, tengo un problemita, me pone que me faltan un ; y un { pero tengo todo al pie de la letra, sabes porque será?
te paso el script para que te fijes porque yo no se en donde mas fijarme
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerMove : MonoBehaviour
{
public CharacterController controller;
public float speed = 10f;
public float gravity = -9.8f;
public float jumpHeight = 3;
public Transform goundCheck;
public float groundDistance = 0.3f;
public LayerMask groundMask;
Vector3 velocity;
bool isGrounded;
void Start()
{
}
void Update()
{
isGrounded = Physics.CheckSphere(goundCheck.position, groundDistance, groundMask);
if (isGrounded && velocity.y < 0)
{
velocity.y = -2;
}
float x = Input.GetAxis("Horizontal");
float z = Input.GetAxis("Vertical");
Vector3 move = transform.right * x + transform.forward * z;
controller.Move(move * speed * Time.deltaTime);
if (input.GetbuttonDown("Jump") && isGrounded)
{
velocity.y = Mathf.sqrt(jumpHeight * -2 * gravity);
}
velocity,y += gravity * Time.deltaTime;
controller.move(velocity * Time.deltaTime);
}
}
gracias si me ayudas :)
Te lo paso por aqui arreglado
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerMove : MonoBehaviour
{
public CharacterController controller;
public float speed = 10f;
public float gravity = -9.8f;
public float jumpHeight = 3;
public Transform goundCheck;
public float groundDistance = 0.3f;
public LayerMask groundMask;
Vector3 velocity;
bool isGrounded;
void Start()
{
}
void Update()
{
isGrounded = Physics.CheckSphere(goundCheck.position, groundDistance, groundMask);
if (isGrounded && velocity.y < 0)
{
velocity.y = -2;
}
float x = Input.GetAxis("Horizontal");
float z = Input.GetAxis("Vertical");
Vector3 move = transform.right * x + transform.forward * z;
controller.Move(move * speed * Time.deltaTime);
if (Input.GetButtonDown("Jump") && isGrounded)
{
velocity.y = Mathf.Sqrt(jumpHeight * -2 * gravity);
}
velocity.y += gravity * Time.deltaTime;
controller.Move(velocity * Time.deltaTime);
}
}
Tenias algun problemilla de mayusculas y minusculas, una , en vez de un . y alguna otra cosilla, un saludo :D
@@LuisCanary muchas gracias 🙏🙏
buen video pero ayuda porfa hice todo el script pero mi personaje no puede ir defrente solo se mueve en diagonal y en el scrip de salto no puede saltar:(
Te sale algun error en tu ventana console?, revisa los valores de tus variables desde el editor de unity, y tambien revisa que donde hacemos el movimiento todo el tema de ifs y demas este guachi, un saludo :D
Hola que tal tengo un problema el cual hace que el personaje sale volando y no se como solucionarlo, si alguno sabe como solucionar mi error le agradeceria su ayuda
Revisa que no colisione con algun otro objeto, que no te salga ningun error en tu ventana console y que tengas las variables bien asignadas en el editor de unity, un saludo :D
Te puedo mandar por correo o Discord el problema que tengo?Es que me lleva pasando muchisimo tiempo y no se como arreglarlo y me impide el progreso en mi juego, porfavor
Si pasamelo si quieres por correo a luiscanary@gmail.com un saludo :D
no me deja saltar con espacio :(
Te salen algunos errores en el codigo o en la console?, has asignado los scripts a sus gameobjects correspondientes?, si te sale cualquier error comentamelo y vemos como poder solucionarlo :D
@@LuisCanary yo revise y estoy bastante seguro que lo hice bien, pero algo que si me paso es que me salia en la consola que no tenia el espacio en "jump" configurado, aunque ahora ya no me sale: ArgumentException: Input Button Space is not setup.
To change the input settings use: Edit -> Settings -> Input
PlayerMove.Update () (at Assets/player/scrips/PlayerMove.cs:50)
Buenas, eso es porque Space se escribe con minuscula "space", parece una tonteria pero hay que tener mucho cuidado con mayus y minus, un saludo :D
Alguien sabe como solucionar un error CS1003 :Syntax error, ',' expected ? Me salio justo despues de hacer el script para el GroundCheck
El error te comenta que posiblemente te haga falta un , en algun punto de tu script, revisa que lo tengas como en el video y si le das doble click al error desde tu ventana console posiblemente te lleve justo a donde es, un saludo :D
@@LuisCanary Gracias crack, ya lo resolvi, habia puesto una coma en lugar de un punto en uno de los decimales, voy a seguir viendo tus videos a ver que mas puedo aprender.
Me alegro que se arreglará :D
Muchas gracias por el video. Muy bien explicado y práctico, pero tengo un pequeño problema: a la hora de poner "transform" me dice "que no se encontró y que falta una directiva de nombre o ensamblado". No sé si me podrías aconsejar. De todas formas gracias :) y a seguir aprendiendo con tus videos
Vale pues viendo uno de tus tutoriales ya me has ayudado a solucionarlo, no hace falta que respondas XD. Vi tu tutorial de instalar Visual estudio y no activé la marca de Unity -_-. Gracias igualmente.
PD: Yo es que soy muy torpe tio
Me alegro que se solucionara!, un saludo :D
hola!una pregunta... hice todo bien hasta que cuando intento saltar no me deja saltar.Tambien me da un error que quizas si soluciono ese error pueda saltar:UnassignedReferenceExeption: The variable GroundCheck of PlayerMove has not been assigned.¿sabes como solucionarlo?
Puede que este video te ayude :D ua-cam.com/video/0TMZAuycRVw/v-deo.html
que version de unity usas es que tengo algunos problemas y quisa sea eso
En este video uso la 2019.3.9f1 :D
hice el script bien pero no me deja poner el player a none (Character Controller)
Si quieres puedes pasar el script por aqui y le echo un vistazo a ver cual puede ser el error :D
@@LuisCanary ok :D
tengo una pregunta, todo bien y salta , pero tengo saltos infinitos, como quito los saltos infinitos?
Buenas! eso es porque estas detectando todo el rato suelo o hay algo mal en el codigo revisa que pones bien tu layermask, y las variables para la deteccion del suelo, un saludo :D
Luissssssssss sabes como saco el doble salto?
Buenas! deberias comprobar si has echo el salto y durante ese tiempo en el aire te deje hacer otro hasta que ya toques el suelo, tendrias que gestionarlo con una booleana quiza, un saludo :D
A mi no me aparece el velocity como atributo global?, alguien sabe a que se debe ?
Quiza es porque no tengas los visual tools para Unity, tengo un video donde enseño como bajarlo y ponerlo a punto :D te lo dejo por aqui
ua-cam.com/video/W7cw5-dGeYU/v-deo.html
O puede ser que no tengas puesto por predeterminado el visual studio en unity, para ello tienes que ir a edit---preferences y external tools y elegir el visual studio
Espero te sirva :D
estoy probando da una ora y la telecamera no se mueve.
controle el escript mas de una vez
public float mouseSensitivity = 80f;
public Transform playerBody;
float xRotation = 0;
void Start()
{
}
void Update()
{
float mouseX = Input.GetAxis("Mouse X") * mouseSensitivity * Time.deltaTime;
float mouseY = Input.GetAxis("Mouse Y") * mouseSensitivity * Time.deltaTime;
xRotation -= mouseY;
xRotation = Mathf.Clamp(xRotation,-90,90);
transform.localRotation = Quaternion.Euler(xRotation,0f,0f);
playerBody.Rotate(Vector3.up * mouseX);
Buenas, has añadido el script?, revisa que no te salga ningun error en console y me has pasado el script entero como lo tienes?? porque le faltarian corchetes al final, un saludo :D
Hola bro espero que te encuentres bien, mira me aparece esto: Assets\PlayerController.cs(25,56): error CS1061: 'Transform' does not contain a definition for 'fordward' and no accessible extension method 'fordward' accepting a first argument of type 'Transform' could be found (are you missing a using directive or an assembly reference?)
Aquí te dejo mi código para que lo mires (si te lo preguntabas ya puse a visual como predeterminado como dices) :
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerMove : MonoBehaviour
{
public CharacterController controller;
public float speed = 10f;
void Start()
{
}
void Update()
{
float x = Input.GetAxis("Horizontal");
float z = Input.GetAxis("Vertical");
Vector3 move = transform.right * x + transform.fordward * z;
controller.Move(move * speed * Time.deltaTime);
}
}
fordward esta mal escrito es forward, un saludo :D
@@LuisCanary muy humilde mi bro, gracias un saludoo!
he perdido mi character controller como soluciono eso
Buenas! no lo guardaste en tu proyecto?, te sale algun error?, un saludo :D
@ ahora esta bien pero me surgió un problema nuevo al mover el personaje con la a o la d o sea izquierda y derecha la cámara también gira y eso interfiere en el giro del ratón
¿Como lo arreglo? Y gracias por responder
Eso es porque la camara sera hijo del jugador si quieres un funcionamiento diferente tocaria hacer un script aparte para la camara que siguiera al jugador sin que le afecte directamente el movimiento del mismo, no se si es a lo que te refeires?,un saludo :D
@@LuisCanary si me refiero a eso luego lo hago a ver si va 👍🏻
Hola muy buenos dias, he estado intentando con el codigo pero me da el error: "ArgumentException, Input Axis MouseX is not setup". Alguna solucion?
te puedo ayudar yo
si en total vine aca porque al script que usaba yo funcionaba mal
Buenas!, que version de unity usas? por cierto es Mouse X con un espacio entre medias, quiza te falle eso ;D
hola el video es muy bueno y me funciona pero me sale un error en groundDistance
Revisa el tema de mayusculas y minusculas si quieres puedes pasarme el codigo y le echo un ojo, un saludo :D
@@LuisCanary si gracias lo veré ahora
@@LuisCanary ya e solucionado el problema pera ahora tengo dos problemas con el jugador cuando le doy a pley no salta y esta un poco como flotando
Buenas!, revisa su colision y que detectes bien el suelo con el CheckSphere que esten los valores bien configurados, un saludo :D
@@LuisCanary lo vere
Hola tendrias el codigo del script para comparar? me salta un error.
Buenas!, el proyecto no se ya donde lo tengo te sale algun error en tu ventana console que nos de una pista de que puede ser?, un saludo :D
como se llama el programa de edicion de script??
plis me lo dices
Es este!, un saludo :D ua-cam.com/video/W7cw5-dGeYU/v-deo.html
Ya lo solucione todo bien pero el personaje no salta
No? 🤔
a mi simpre me marca error, me marca error(22,24)
Comentame que mas te dice el error, suele dar pistas de lo que es, quiza algun simbolo que te falte?, un saludo :D
Esto sirve para unity 5?
Posiblemente si, pero esa version es algo antigua, un saludo :D
como hago para caer mas rapido ?
Se podria reducir la velocidad en el eje Y a valores mas negativos, un saludo :D
Cómo hago para saltar, no me deja
Te sale algun error en tu ventana console?, revisa que has asignado bien los tags tambien, un saludete :D
@@LuisCanary Hola, gracias por responder. No me fijé pero volví hacer el tutorial nuevamente, y esa vez me funcionó sin ningún problema.
Transform.localRotation = Quaternion.Euler(xRotation, 0f, 0f);
hay algo mal aca? unity me tira un error que no entiendo
Edit: era porque puse Transform con masyuscula la primera
Me alegro que se solucionara :D
@@LuisCanary si, pero ahora me tira otro error al mover la camara en el eje X que no entiendo, es un error con texto muuuy largo, despues lo copio y pego :'v
Revisa en tu ventana console que errores te salen, y si le das doble click al error
deberia llevarte a donde esta, ademas te suele poner una pequeña descripcion
de lo que puede ser un saludo :D, y si lo pasas pues podremos ver como solucionarlo
Y para correr?
Para correr por ejemplo en esta serie lo vemos, un saludo :D ua-cam.com/video/X3St8qZ1Oqw/v-deo.html sino podria hacer un video aposta en el futuro,
hice todo igual y no me funciono
Revisa en tu ventana console que errores te salen, y si le das doble click al error
deberia llevarte a donde esta, ademas te suele poner una pequeña descripcion
de lo que puede ser un saludo :D
No gira la cámara hacia arriba o abajo :(
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CameraLook : MonoBehaviour
{
public float mouseSensitivity = 80f;
public Transform playerBody;
float xRotation = 0;
void Start()
{
}
void Update()
{
float mouseX = Input.GetAxis("Mouse X") * mouseSensitivity * Time.deltaTime;
float mouseY = Input.GetAxis("Mouse Y") * mouseSensitivity * Time.deltaTime;
xRotation -= mouseY;
xRotation -= Mathf.Clamp(xRotation, -90f, 90);
transform.localRotation = Quaternion.Euler(xRotation, 0f, 0f);
playerBody.Rotate(Vector3.up * mouseX);
}
}
Parece que el codigo esta bien, revisa tus variables desde Unity que esten bien asiganadas y con sus valores guays, no te sale ningun error en tu ventana console?, un saludo :D
@@LuisCanary Ya lo corregí Vi varios videos diferentes formas de hacer esto, de todas formas muchas gracias por leer.
@@foxlanza como lo arreglaste yo no puedo ver de izquierda a derecha
@@alfredo1829 Vi otros videos, la verdad no sé qué falla.
@@foxlanza ya lo resolvi
Hola Luis. No puedo saltar, podrías revisar mi código por favor?
public class PlayerMove : MonoBehaviour
{
public CharacterController controller;
public float speed = 10f;
public float gravity = 9.8f;
public float jumpHeight = 3f;
public Transform groundCheck;
public float groundDistance;
public LayerMask groundMask;
Vector3 velocity;
bool isGrounded;
void Start()
{
}
void Update()
{
isGrounded = Physics.CheckSphere(groundCheck.position,groundDistance,groundMask);
if (isGrounded && velocity.y
Ya lo solucione. El error estaba en la configuración del script dentro de player. Tenia ground distance en 0 y lo tenia que poner en 0,3
bro como se pone el punto de arriba gordo
A que punto te refieres?, un saludo :D
No me funciona
Porque no te funciona?🤔
@@LuisCanary era por un error en el nombre del script, pero gracias 😃
pues no me sirvio
Comentame que error tienes y veremos como solucionarlo, un saludo :D