Ohh dios mío, después de mirar tantos vídeos y romperme la cabeza durante horas por fin hay alguien que si sabe explicar :D, eres todo un crack te has ganado un nuevo sub
Hola, tengo 18 años y hace unos años tengo unas re ganas de hacer un videojuego que no existe que me gustaria jugar, entonces me re intereso la idea de querer aprender programacion, me re sirve este video para incrementar esas ganas, voy a seguir viendo videos tuyos al mismo tiempo que poder estudiar esta carrera lo antes posible, espero poder hacer un buen juego algun dia, gracias genioo🤞🤞🤞
Estaba buscando la manera de solucionar el controlador FPS que tenía y no encontraba la manera, pero viendo tu tutorial, vi dónde estaba mí error. Muchas gracias y mucho éxito con tus proyectos.
Excelente tus aportes! Hace tiempo que buscaba tutoriales en español que no sean solo "copy-paste" y me encanta lo que haces, lo bien y detallado que explicas. Muchas gracias por compartir tus conocimientos! No te detengas y aguante Pipas Joueney! quiero verlo ya terminado así me lo descargo :)
sos un capo amigo espero que nunca dejes de hacer esto y si ves que las vistas no suben no te desanimes, eres una gran persona y te mereces toda la fama del mundo un abrazo
Excelente tutorial, información bien redactada y coherente, calidad de voz y ambiente tranquilo. Sigue sacando más tutoriales felicitaciones. Es el primero que veo, me suscribo y manita arriba. Saludos
Ups... Me olvidé de decir esto. Si quieren *ocultar el mouse* durante el play mode, agreguen en el método Start estas dos líneas: Cursor.visible = false; //oculta el cursor (es sólo algo visual) Cursor.lockState = CursorLockMode.Locked; //lo bloquea (que no se mueva) Para volver a mostrarlo, presionen ESC.
Hola, una pregunta, sabes cómo puedo convertir un string ("1+1") a in entero, es que me sale un error por el operador, si sabes la solución en unity podrías ayudarme 🙏
@@carlosa2843 Hola! Perdón, nunca vi este mensaje. ¿Ese string ya está formado de antes? Lo ideal sería que no formes un string así si no que almacenes su resultado. Hay que tener muy en claro los tipos de variables. Por ejemplo, si todo fuera integer, es más fácil: int resultado; int num1; int num2; resultado = num1 + num2; No hay ningún problema ahí. Si tus números fueran string, tendrías que parsearlos (dejar que C# interprete esos strings y los convierta a enteros): int resultado = Int.Parse("1") + Int.Parse("1"); //esto da un integer que es 2 Si además querés guardarlo como string, tendrías que pasarlo después a string: string resultado = (Int.Parse("1") + Int.Parse("1")).ToString(); o con el paso intermedio explícito: int interm = Int.Parse("1") + Int.Parse("1"); string resultado = interm.ToString(); __________ Por último, si no te quedara otra opción que interpretar ese string, deberías partir el string en 2: string suma = "1+1"; int resultado; String[] partes = suma.Split( '+'); int num1 = Int.Parse(partes[0]); int num2 = Int.Parse(partes[1]); resultado = num1 + num2;
@@damiangonzalez_esp no la escribí tal cual incluso la borre y la escribí de nuevo como 10 veces y me dice algo asi como de que el + no se puede utilizar
Excelente canal! ojalá te hubiese encontrado antes... estoy terminando mi primer juego en 2D, pero esta bueno ir conociendo un poco de 3D... saludos desde Misiones
Hola espero me puedas leer soy nuevo en esto de la programación y me sale un error, cuando pongo play se cae más allá del piso pero el código dice estar bien
Muchísimas gracias, sigue así compañero, espero que poco a poco te ayudemos mínimo a compensar el 50% de tu tiempo ayudándonos con tus vídeos. Tengo una pregunta, cuando termino de hacer el tutorial y lo pongo en pantalla completa y se me ralentiza muchísimo el juego y solo tiene poco contenido, que seria? Perdona por la pregunta es que como ves estoy supèr verde. Un abrazo
hola, me ha parecido muy bueno el tutorial, pero tengo un problema, al mover el ratón para mover la cámara, el jugador sale volando. ¿sabes como solucionarlo?
Excelente video, una consulta en el movimiento del mouse en la línea de Quaternion.Euler no me aparece el menú para escoger la segunda opción y a la hora del subirlo el movimiento es muy lento, como lo puedo solucionar, gracias
Ey bro muchas gracias!, tu video fue de mucha ayuda!. Veo que tienes rato sin subir video...Bueno... Mientras te animas hacer un nuevo video estaré dándole un ojo a tus otros videos!. nuevo sub :)
Como se haria para que al avanzar o retrodecer, respetara la rotacion que se le ha dado con el raton, (en mi caso lo hago con el teclado) Gracias por el video
Hola buenas, si tengo un arma implementada en la camara para que gire igual, cuando me agacho el arma tambien disminuye de tamaño, hay alguna forma de solucionar eso?
Hola Damián. Donde pongo lo del "ClampMagnitude" para que no se me sumen las velocidades de caminar o correr al apretar dos teclas juntas? Gracias por el tutorial y se agradece mucho lo distinto que es al resto.
Hola, Fernando! Llego tardísimo a contestar, perdón. Seguramente ya pudiste, pero te contesto igual. Más vale tarde que nunca. En este caso (pausando en 10:13 lo vemos bien) estamos sumando 3 vectores3, que da otro vector3. Algo como rb.velocity = vectorZ + vectorX + vectorY; El ClampMagnitude se lo deberías aplicar a toda esa suma. Por ejemplo: rb.velocity = Vector3.ClampMagnitude(vectorZ + vectorX + vectorY, vel);
Hola recién encontré tu canal y me parece genial. Cómo puedo apoyarte, no encuentro ninguna opción que me permita hacerlo. Por favor indícame como hacerlo. Aprovecho para pedirte tu valiosa colaboración, traté de utilizar el controlador de primera persona que viene en los standards assets de Unity, pero me marca un error me dice que está obsoleto, existe alguna forma de poderlo agregar y corregir dicho error. De antemano muchas gracias.
todo bien, pero en mi caso, al aumentar de tamaño la capsula e intentar subir una rampa, la capsula se eleva como si estuviera saltando y de ahí baja, como haría en ese caso?
3 ปีที่แล้ว
Una consulta como seria el metodo mas comodo para evitar que tenga saltos infinitos ? osea si o si este en el suele, tenia pensado usar un collider que mientras este colisionando con el suelo pueda saltar pero no se si es mucho consumo
Hola. Excelente tutorial. Estoy tratando de hacer un simulador de vuelo. Solo un avión en el espacio. Pero estoy perdido porque el avión se debe inclinar a derecha o izquierda y se mueve en un espacio 3d. Podría por favor, hacer un tutorial sobre ese caso? Gracias
Hola, Carlos. Sí, en realidad es bastante fácil, podría dedicar un video a eso! ...Ahora que lo pienso, es casi lo mismo que lo que explico acá, solo que al "girar" no gira sobre su eje Y sino sobre su eje Z, y no avanza hacia adelante sino con una inclinación...
No te da error esa línea? Le sobra (o falta) un paréntesis, hay 2 de apertura y 1 de cierre. Si no te da error de sintaxis y simplemente se mueve siempre a la misma velocidad, quizá tus velocidades estén definidas iguales, o no estés usando "vel" más adelante sino una de las otras. No sé sin ver tu código.
10:22 Me tira error: Assets\miPropioControlador.cs(41,58): error CS1061: 'Vector2' does not contain a definition for 'X' and no accessible extension method 'X' accepting a first argument of type 'Vector2' could be found (are you missing a using directive or an assembly reference?).
@@poloshii probá aumentar la fuerza. Probá valores exagerados, para ver si es eso. También chequea que en las constraints del rigidbody no hayas tildado las opciones de posición , solo las de rotación.
@@damiangonzalez_esp Perdon por molestarte de nuevo, es que soy muy nuevo en Unity, tube un problema y me perdi en Scene, y no se como ir donde estan todos los objectos
Como podria hacer que una imagen siguierse la camara? Es decir, que el sprite colocado en el mundo se vea siempre igual da igual la posicion en el que lo veas?
Brich, lo más fácil sería hacer la imagen un hijo de la cámara, entonces cuando la cámara gira o se mueve, el hijo gira y se mueve con ella. Otra opción es por código
Hola. Sí, lo que no está contemplado acá es el joystick digital, pero hice un video sobre eso, dice "controles táctiles" en la miniatura. Tendrías que adaptar un poquito el código.
¡Hola! Tengo un problema respecto a la rotación de cámara a la hora de que mire hacia arriba y abajo, he seguido los pasos del minuto 12:40 y la cámara empieza a dar vueltas de manera incontrolable y no sé por que. Aquí le dejo el código por si me podría decir en que fallo: using System.Collections; using System.Collections.Generic; using UnityEngine; public class mipropiocontrolador : MonoBehaviour { public Rigidbody rb; //Rigidbody Vector2 inputMov; // Vector de movimiento Vector2 inputRot; // Vector de rotacion public float velcamina = 10f; // frames de caminar public float velcorre = 20f; //frames de correr public float sensibilidadmouse = 1; //sensibilidad del mouse Transform cam; float rotX;
void Start() { //para el rigidbody y la camara rb = GetComponent(); cam = transform.GetChild(0); rotX = cam.eulerAngles.x; }
void Update() { //el input inputMov.x = Input.GetAxis("Horizontal"); inputMov.y = Input.GetAxis("Vertical"); inputRot.x = Input.GetAxis("Mouse X") * sensibilidadmouse; inputRot.y = Input.GetAxis("Mouse Y") * sensibilidadmouse; } private void FixedUpdate() { //usar el input para el movimiento float vel = Input.GetKey(KeyCode.LeftShift) ? velcorre : velcamina; // velocidad de correr y caminar rb.velocity = transform.forward * vel * inputMov.y // movimiento vertical +transform.right * vel * inputMov.x // movimiento horizontal + new Vector3 (0, rb.velocity.y, 0) // Caida ; transform.rotation *= Quaternion.Euler(0, inputRot.x, 0);// rotacion horizontal
Hola, tengo un problema concretamente con la rotación, que se mueve de 10 en 10 unidades, estas son mis líneas: Variables: Vector2 inputRot; public float sensibilidadMouse = 1; Transform cam; float rotX; Start: cam = transform.GetChild(0); rotX = cam.eulerAngles.x; Update: inputRot.x = Input.GetAxis("Mouse X") * sensibilidadMouse; inputRot.y = Input.GetAxis("Mouse Y") * sensibilidadMouse; Fixed: transform.rotation *= Quaternion.Euler(0, inputRot.x, 0); rotX -= inputRot.y; rotX = Mathf.Clamp(rotX, -50, 50); cam.localRotation = Quaternion.Euler(rotX, 0, 0); Gracias de antemano a cualquiera que conteste, me serviría mucho
hola tengo una pregunta.... hice el código de salto todo bien pero si aprieto varias vece el personaje comienza a volar.... como lo puedo solucionar??? me encanto tus tutoriales, muy bien explicado......
Ohh dios mío, después de mirar tantos vídeos y romperme la cabeza durante horas por fin hay alguien que si sabe explicar :D, eres todo un crack te has ganado un nuevo sub
cuando llege a hacer un juego increible con que gane plata sin duda te donare mucho por que pude hacer esto gracias a ti bro
Con una palabra: Increíble. Con las que quiera: Increíblemente bueno este videotutorial, muchas gracias 👍
Tanto buscar que ya me estaba arrepintiendo y tú me has mostrado este video sinceramente gracias
Hola, tengo 18 años y hace unos años tengo unas re ganas de hacer un videojuego que no existe que me gustaria jugar, entonces me re intereso la idea de querer aprender programacion, me re sirve este video para incrementar esas ganas, voy a seguir viendo videos tuyos al mismo tiempo que poder estudiar esta carrera lo antes posible, espero poder hacer un buen juego algun dia, gracias genioo🤞🤞🤞
Estaba buscando la manera de solucionar el controlador FPS que tenía y no encontraba la manera, pero viendo tu tutorial, vi dónde estaba mí error. Muchas gracias y mucho éxito con tus proyectos.
hola, tengo un problema
al saltar el "personaje" puede hacer varios saltos, como hago para que solo se pueda 1?
No se si aun necesites saber eso, pero cualquier cosa contactate conmigo que te puedo ayudar :)
Excelente tus aportes! Hace tiempo que buscaba tutoriales en español que no sean solo "copy-paste" y me encanta lo que haces, lo bien y detallado que explicas. Muchas gracias por compartir tus conocimientos! No te detengas y aguante Pipas Joueney! quiero verlo ya terminado así me lo descargo :)
sos un capo amigo espero que nunca dejes de hacer esto y si ves que las vistas no suben no te desanimes, eres una gran persona y te mereces toda la fama del mundo un abrazo
Excelente tutorial, información bien redactada y coherente, calidad de voz y ambiente tranquilo. Sigue sacando más tutoriales felicitaciones. Es el primero que veo, me suscribo y manita arriba. Saludos
gracias a tu tutorial voy a poder hacer bien al personaje de un juego que quiero hacer de terror,muy bien explicado,sin duda alguna 😁👏gracias genio
Ayuda cuando pongo + new Vector3 me dice que no se permite poner el +
Ups... Me olvidé de decir esto. Si quieren *ocultar el mouse* durante el play mode, agreguen en el método Start estas dos líneas:
Cursor.visible = false; //oculta el cursor (es sólo algo visual)
Cursor.lockState = CursorLockMode.Locked; //lo bloquea (que no se mueva)
Para volver a mostrarlo, presionen ESC.
Hola, una pregunta, sabes cómo puedo convertir un string ("1+1") a in entero, es que me sale un error por el operador, si sabes la solución en unity podrías ayudarme 🙏
@@carlosa2843 Hola! Perdón, nunca vi este mensaje. ¿Ese string ya está formado de antes? Lo ideal sería que no formes un string así si no que almacenes su resultado. Hay que tener muy en claro los tipos de variables. Por ejemplo, si todo fuera integer, es más fácil:
int resultado;
int num1;
int num2;
resultado = num1 + num2;
No hay ningún problema ahí. Si tus números fueran string, tendrías que parsearlos (dejar que C# interprete esos strings y los convierta a enteros):
int resultado = Int.Parse("1") + Int.Parse("1"); //esto da un integer que es 2
Si además querés guardarlo como string, tendrías que pasarlo después a string:
string resultado = (Int.Parse("1") + Int.Parse("1")).ToString();
o con el paso intermedio explícito:
int interm = Int.Parse("1") + Int.Parse("1");
string resultado = interm.ToString();
__________
Por último, si no te quedara otra opción que interpretar ese string, deberías partir el string en 2:
string suma = "1+1";
int resultado;
String[] partes = suma.Split( '+');
int num1 = Int.Parse(partes[0]);
int num2 = Int.Parse(partes[1]);
resultado = num1 + num2;
hola oyes espero que veas esto en esta linea
+ transform.right * vel * imputmov.x
no me deja poner el operador + y no se porque me ayudas?
@@chickenduck8440 Hola! Pero qué dice el error? Habrás escrito bien el nombre de la variable? Falta o sobra algún paréntesis?
@@damiangonzalez_esp no la escribí tal cual incluso la borre y la escribí de nuevo como 10 veces y me dice algo asi como de que el + no se puede utilizar
Hola DGonzalez, como puedo agregar funcionalidad a joystick solo me hace falta desplazar la capsula en el espacio desde el comando del joystick.
Excelente canal! ojalá te hubiese encontrado antes... estoy terminando mi primer juego en 2D, pero esta bueno ir conociendo un poco de 3D... saludos desde Misiones
Hola, que lenguaje tengo que utilizar para el script?
Grande Damián! como siempre buen contenido y excelentes tutoriales! muchos éxitos! Gracias por compartir!
Hermano me ayudan mucho tus videos, muchas gracias por todo el esfuerzo.
TE QUIERO CRACK
Muchas gracias por este tutorial era lo que estaba buscando, gracias Damián
Hola DGonzales una pregunta yo al darle a saltar varias veces vuela y solo debe saltar una vez
Grosooo! q bien q arranque algo nuevo ! ya por terminar el d zombies y arrancar con este
Oye amigo está bien y todo pero pusiste rig o como pusiste escríbeme aquí porque no lo
una pregunta con que tecla salto
Hola Damián! Y cómo podríamos hacer que el movimiento del mouse se haga con el stick derecho de un mando? Gracias, eres un grande!!
Sos un crack.
me dice: error CS1525: Unexpected symbol 'inputMov' QUE HAGO AYUDAAA
Hola. Fijate detenidamente la línea anterior, quizá te faltó un punto y coma o un paréntesis. Es un error de sintaxis.
@@damiangonzalez_esp Ya lo hice con otro tutorial pero igual gracias :)
Muy buen video es muy útil y educativo, he aprendido mucho y me a encantado :)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class miPropioControladorFPS : MonoBehaviour
{
Rigidbody rb;
Vector2 inputMov;
Vector2 inputRot;
public float velCamina = 10f;
public float velCorre = 20f;
public float fuerzaSalto = 300;
public float sensibilidadMouse = 500;
Transform cam;
float rotX;
Vector3 escalaNormal;
Vector3 escalaAgachado;
bool agachado;
void Start()
{
Cursor.visible = false; //ocultar el cursor
Cursor.lockState = CursorLockMode.Locked; //lo bloquea
rb = GetComponent();
cam = transform.GetChild(0);
rotX = cam.eulerAngles.x;
escalaNormal = transform.localScale;
escalaAgachado = escalaNormal;
escalaAgachado.y = escalaNormal.y * .75f;
}
void Update()
{
//leemos el input
inputMov.x = Input.GetAxis("Horizontal");
inputMov.y = Input.GetAxis("Vertical");
inputRot.x = Input.GetAxis("Mouse X") * sensibilidadMouse;
inputRot.y = Input.GetAxis("Mouse Y") * sensibilidadMouse;
agachado = Input.GetKey(KeyCode.C);
//salto
if (Input.GetButtonDown("Jump") && !agachado) rb.AddForce(0, fuerzaSalto, 0);
}
private void FixedUpdate() {
//usamos ese input para movernos y girar
float vel = Input.GetKey(KeyCode.LeftShift) ? velCorre : velCamina;
rb.velocity =
transform.forward * vel * inputMov.y //movernos hacia atras y delante
+ transform.right * vel * inputMov.x //deslizarnos hacia los costados
+ new Vector3 (0, rb.velocity.y, 0)
;
transform.rotation *= Quaternion.Euler(0, inputRot.x, 0); //rotar horizontalmente
//mirar hacia arriva y hacia abajo
rotX -= inputRot.y;
rotX = Mathf.Clamp(rotX, -50, 50);
cam.localRotation = Quaternion.Euler(rotX, 0, 0);
//agacharse o erguirse
transform.localScale = Vector3.Lerp(
transform.localScale,
agachado ? escalaAgachado : escalaNormal,
.10f);
}
}
De nada ;)
Gracias
salta muchas veces seguidas, saben como arreglarlo???
Muchas gracias te lo agradesco me ayudates y mucho te deseo bendiciones para ti y tu familia
Hola espero me puedas leer soy nuevo en esto de la programación y me sale un error, cuando pongo play se cae más allá del piso pero el código dice estar bien
Muchísimas gracias, sigue así compañero, espero que poco a poco te ayudemos mínimo a compensar el 50% de tu tiempo ayudándonos con tus vídeos. Tengo una pregunta, cuando termino de hacer el tutorial y lo pongo en pantalla completa y se me ralentiza muchísimo el juego y solo tiene poco contenido, que seria? Perdona por la pregunta es que como ves estoy supèr verde. Un abrazo
me sale un error me dice que la variante rigidbody no esta disponible o no la encuentra
Buen video amigo, me va a ayudar mucho! Sabes como hacer para que al caminar haga el "efecto" de dar pasos?
Grande Damian !! Un abrazo
hola soy nuevo en esto de la programacion el el visual no me aparecen las letras con colores o esos atajos y esas cosas nose porqeu ayuda
Eres un genio
Amo tus videos, es aprender y divertirse. En cuanto pueda te boy a apoyar en patreon
hola, me ha parecido muy bueno el tutorial, pero tengo un problema, al mover el ratón para mover la cámara, el jugador sale volando. ¿sabes como solucionarlo?
recien hoy conozco este canal, cuando le estaba por dar suscribir ya estaba subscripto XD asique solo voy a difundir tu hermoso canal
de los mejores tutos que eh visto 0-o
el mejor y el único que me pudo explicar bien jejeje gracias maquina.
Hola Damian! Excelente youtuber, no se como no tiene mas subscriptores :(
Excelente video, una consulta en el movimiento del mouse en la línea de Quaternion.Euler no me aparece el menú para escoger la segunda opción y a la hora del subirlo el movimiento es muy lento, como lo puedo solucionar, gracias
muchas gracias por este video!
Excelente Video... sin mas palabras
Capo sos lo más, muchas gracias por todo
q lenguaje estas utilizando?
Ey bro muchas gracias!, tu video fue de mucha ayuda!. Veo que tienes rato sin subir video...Bueno... Mientras te animas hacer un nuevo video estaré dándole un ojo a tus otros videos!. nuevo sub :)
Muy bueno, un genio Damián 👌
nesecito ayuda,cuando muevo el jugador se sube
un grande
Y como hago para que desaparesca el mouse
sirve en la version 2022? porque me da error y no se de que es
Como se haria para que al avanzar o retrodecer, respetara la rotacion que se le ha dado con el raton, (en mi caso lo hago con el teclado)
Gracias por el video
Magnífico! Acuérdate el PVE Cooperativo Extremo!!!
Hola buenas, si tengo un arma implementada en la camara para que gire igual, cuando me agacho el arma tambien disminuye de tamaño, hay alguna forma de solucionar eso?
Sé que llego tarde , lo que yo haría es tener el arma como unb objeto a parte y ese objeto añadirlo a tu personaje
Muy bueno muchas gracias ! ! !
disculpa me aparece un error que recopile todos los errores y no puedo ponerle play
muy buen tutorial, Very cool 👍
Hola Damián. Donde pongo lo del "ClampMagnitude" para que no se me sumen las velocidades de caminar o correr al apretar dos teclas juntas?
Gracias por el tutorial y se agradece mucho lo distinto que es al resto.
Hola, Fernando! Llego tardísimo a contestar, perdón. Seguramente ya pudiste, pero te contesto igual. Más vale tarde que nunca.
En este caso (pausando en 10:13 lo vemos bien) estamos sumando 3 vectores3, que da otro vector3. Algo como rb.velocity = vectorZ + vectorX + vectorY; El ClampMagnitude se lo deberías aplicar a toda esa suma. Por ejemplo: rb.velocity = Vector3.ClampMagnitude(vectorZ + vectorX + vectorY, vel);
Gran video, Gracias
Tengo problemas por ejemplo que la cápsula se mueve muy lento apenas en el primer script, y no se cómo moverlo correctamente
Muy buen video gracias
hola, como se cambia la sensibilidad del mouse?
Buen video tio
amigo como me uno a tu patreon?
Excelente video. muy buen contenido
Volviste! like y comentario sin ver el video, Crack!
puse este sript exactamente como el video y me salen 5 errores necesito ayuda
Tengo un problema el personaje se mueve solo sin que yo presione nada
y la cam no mira para arriba ni para abajo
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerController1 : MonoBehaviour
{
Rigidbody rb;
Vector2 inputMov;
Vector2 inputRot;
public float velCamina = 10f;
public float velCorre = 20f;
public float fuerzaSalto = 300;
public float sensibilidadMouse = 500;
Transform cam;
float rotX;
Vector3 escalaNormal;
Vector3 escalaAgachado;
bool agachado;
void Start()
{
Cursor.visible = false; //ocultar el cursor
Cursor.lockState = CursorLockMode.Locked; //lo bloquea
rb = GetComponent();
cam = transform.GetChild(0);
rotX = cam.eulerAngles.x;
escalaNormal = transform.localScale;
escalaAgachado = escalaNormal;
escalaAgachado.y = escalaNormal.y * .75f;
}
void Update()
{
//leemos el input
inputMov.x = Input.GetAxis("Horizontal");
inputMov.y = Input.GetAxis("Vertical");
inputRot.x = Input.GetAxis("Mouse X") * sensibilidadMouse;
inputRot.y = Input.GetAxis("Mouse Y") * sensibilidadMouse;
agachado = Input.GetKey(KeyCode.LeftControl);
//salto
if (Input.GetButtonDown("Jump") && !agachado) rb.AddForce(0, fuerzaSalto, 0);
}
private void FixedUpdate()
{
//usamos ese input para movernos y girar
float vel = Input.GetKey(KeyCode.LeftShift) ? velCorre : velCamina;
rb.velocity =
transform.forward * vel * inputMov.y //movernos hacia atras y delante
+ transform.right * vel * inputMov.x //deslizarnos hacia los costados
+ new Vector3(0, rb.velocity.y, 0);
transform.rotation *= Quaternion.Euler(0, inputRot.x, 0); //rotar horizontalmente
//mirar hacia arriva y hacia abajo
rotX -= inputRot.y;
rotX = Mathf.Clamp(rotX, -50, 50);
cam.localRotation = Quaternion.Euler(rotX, 0, 0);
//agacharse o erguirse
transform.localScale = Vector3.Lerp(
transform.localScale,
agachado ? escalaAgachado : escalaNormal,
.10f);
}
}
Hola recién encontré tu canal y me parece genial. Cómo puedo apoyarte, no encuentro ninguna opción que me permita hacerlo. Por favor indícame como hacerlo. Aprovecho para pedirte tu valiosa colaboración, traté de utilizar el controlador de primera persona que viene en los standards assets de Unity, pero me marca un error me dice que está obsoleto, existe alguna forma de poderlo agregar y corregir dicho error. De antemano muchas gracias.
Espero poder apoyarte mas adelante en tu patreon al tener trabajo!
todo bien, pero en mi caso, al aumentar de tamaño la capsula e intentar subir una rampa, la capsula se eleva como si estuviera saltando y de ahí baja, como haría en ese caso?
Una consulta como seria el metodo mas comodo para evitar que tenga saltos infinitos ? osea si o si este en el suele, tenia pensado usar un collider que mientras este colisionando con el suelo pueda saltar pero no se si es mucho consumo
muy buen video, no se si seguís en patreon?
Muy bueno en tu linea genial
Hola. Excelente tutorial. Estoy tratando de hacer un simulador de vuelo. Solo un avión en el espacio. Pero estoy perdido porque el avión se debe inclinar a derecha o izquierda y se mueve en un espacio 3d. Podría por favor, hacer un tutorial sobre ese caso?
Gracias
Hola, Carlos. Sí, en realidad es bastante fácil, podría dedicar un video a eso!
...Ahora que lo pienso, es casi lo mismo que lo que explico acá, solo que al "girar" no gira sobre su eje Y sino sobre su eje Z, y no avanza hacia adelante sino con una inclinación...
Gracias por el tutorial buenisio tio
9:41 alguien sabe porque el programa no me detecta keycode de la linea 28? float vel= (Input.GetKey(KeyCode.LeftShift) ? velcorrer : velcamina;
No te da error esa línea? Le sobra (o falta) un paréntesis, hay 2 de apertura y 1 de cierre. Si no te da error de sintaxis y simplemente se mueve siempre a la misma velocidad, quizá tus velocidades estén definidas iguales, o no estés usando "vel" más adelante sino una de las otras. No sé sin ver tu código.
donde puedo comprar el código de eso ?
Sobresaliente como siempre! me queda una duda respecto al salto, ya que puedo saltar en el aire? sirve el codigo que usamos en 2D voy a probar!
Hola, Raúl! Sí, me olvidé de eso. Y sí, se puede usar algo similar, pero OverlapCircle se convierte en OverlapSphere en 3D.
@@damiangonzalez_esp
//Saltar
Collider[] hitColliders = Physics.OverlapSphere(refPie.position, 0.5f, 1
buenisimoooooo!!!!
10:22 Me tira error: Assets\miPropioControlador.cs(41,58): error CS1061: 'Vector2' does not contain a definition for 'X' and no accessible extension method 'X' accepting a first argument of type 'Vector2' could be found (are you missing a using directive or an assembly reference?).
Hola! Me extraña esa x mayúscula en el mensaje. La escribiste en minúscula, verdad?
inputMov.x
@@damiangonzalez_esp Listo gracias, pero tengo otra duda en lo del salto le doy al espacio y no me deja saltar, no me tira ningun error.
@@poloshii probá aumentar la fuerza. Probá valores exagerados, para ver si es eso. También chequea que en las constraints del rigidbody no hayas tildado las opciones de posición , solo las de rotación.
@@damiangonzalez_esp Perdon por molestarte de nuevo, es que soy muy nuevo en Unity, tube un problema y me perdi en Scene, y no se como ir donde estan todos los objectos
@@poloshii No te preocupes. Elegí uno en Hierarchy y con el mouse sobre Scene apretá la F, eso te va a llevar a ese objeto.
sos un capo pa, el unico problema que tengo es que salta infinitamente y que cuando pulso dos teclas va mas rapido
Como podria hacer que una imagen siguierse la camara? Es decir, que el sprite colocado en el mundo se vea siempre igual da igual la posicion en el que lo veas?
Brich, lo más fácil sería hacer la imagen un hijo de la cámara, entonces cuando la cámara gira o se mueve, el hijo gira y se mueve con ella. Otra opción es por código
al mover el mouse la capsula se mueve de lugar, alguna idea de porque
hola,esto sirve para juegos de celular?
Hola. Sí, lo que no está contemplado acá es el joystick digital, pero hice un video sobre eso, dice "controles táctiles" en la miniatura. Tendrías que adaptar un poquito el código.
¡Hola! Tengo un problema respecto a la rotación de cámara a la hora de que mire hacia arriba y abajo, he seguido los pasos del minuto 12:40 y la cámara empieza a dar vueltas de manera incontrolable y no sé por que. Aquí le dejo el código por si me podría decir en que fallo:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class mipropiocontrolador : MonoBehaviour
{
public Rigidbody rb; //Rigidbody
Vector2 inputMov; // Vector de movimiento
Vector2 inputRot; // Vector de rotacion
public float velcamina = 10f; // frames de caminar
public float velcorre = 20f; //frames de correr
public float sensibilidadmouse = 1; //sensibilidad del mouse
Transform cam;
float rotX;
void Start()
{ //para el rigidbody y la camara
rb = GetComponent();
cam = transform.GetChild(0);
rotX = cam.eulerAngles.x;
}
void Update()
{ //el input
inputMov.x = Input.GetAxis("Horizontal");
inputMov.y = Input.GetAxis("Vertical");
inputRot.x = Input.GetAxis("Mouse X") * sensibilidadmouse;
inputRot.y = Input.GetAxis("Mouse Y") * sensibilidadmouse;
}
private void FixedUpdate() {
//usar el input para el movimiento
float vel = Input.GetKey(KeyCode.LeftShift) ? velcorre : velcamina; // velocidad de correr y caminar
rb.velocity = transform.forward * vel * inputMov.y // movimiento vertical
+transform.right * vel * inputMov.x // movimiento horizontal
+ new Vector3 (0, rb.velocity.y, 0) // Caida
;
transform.rotation *= Quaternion.Euler(0, inputRot.x, 0);// rotacion horizontal
//rotacion vertical
rotX -= inputRot.y;
rotX = Mathf.Clamp(rotX, -50, 50);
cam.localRotation *= Quaternion.Euler(rotX, 0, 0);
}
}
Hola. Es tu última linea. Donde pusiste *= es solamente =
Le estás sumando la rotación final en vez de establecerla.
@@damiangonzalez_esp Ya me funciona! Muchas gracias, buen video por cierto, espero que sigas subiendo más contenido como este :D
Hola, tengo un problema concretamente con la rotación, que se mueve de 10 en 10 unidades, estas son mis líneas:
Variables:
Vector2 inputRot;
public float sensibilidadMouse = 1;
Transform cam;
float rotX;
Start:
cam = transform.GetChild(0);
rotX = cam.eulerAngles.x;
Update:
inputRot.x = Input.GetAxis("Mouse X") * sensibilidadMouse;
inputRot.y = Input.GetAxis("Mouse Y") * sensibilidadMouse;
Fixed:
transform.rotation *= Quaternion.Euler(0, inputRot.x, 0);
rotX -= inputRot.y;
rotX = Mathf.Clamp(rotX, -50, 50);
cam.localRotation = Quaternion.Euler(rotX, 0, 0);
Gracias de antemano a cualquiera que conteste, me serviría mucho
También tengo otro problema y es que no salta mi personaje (el código está tal cual, no sé qué será)
con que botón es para saltar?
Normalmente GetButton("Jump") responde a espacio y al botón Y del joystick.
Genial
me suscribo gracuas
hola tengo una pregunta.... hice el código de salto todo bien pero si aprieto varias vece el personaje comienza a volar.... como lo puedo solucionar??? me encanto tus tutoriales, muy bien explicado......
xD me pasa lo mismo, lo solucionaste?
No se porque tengo un montón de problemas con cada cosa que meto le pongo igual que tu pero no se porque a mi no me funcionan
buen video maquina :)
Oye Dgonzales me aparecen errores que de velCamina no existe y no se puede mover mi personaje me pone en primera persona y no puedo ver lo que hace
Hola, Tiziano! Las variables hay que definirlas antes de usarlas. Es lo que hago en 05:51 en la línea 9. Quizá te salteasate ese paso.
Como se instala Assembly-CSharp para visual studio code?
Hola! Debería instalarse automáticamente. Cuál es el problema?
Bro... Me perdí y no me funciona, puedes poner los comandos en la descripción?
Hola Fede! "No me funciona" es demasiado amplio. Que es concretamente lo que no funciona? Que error da?
@@damiangonzalez_esp Aaaaa me volví a fijar en el video y ya pude resolver el problema, Gracias!!