Como Hacer Una Camara En Primera Persona Unity - Como Hacer Un FPS En Unity

Поделиться
HTML-код
  • Опубликовано: 7 ноя 2024

Комментарии • 80

  • @insideunity
    @insideunity  2 года назад +3

    Seguiré subiendo videos en mi otro canal ya que me queda más fácil de controlar el contenido y los comentarios, suscríbete a Jucarave si te interesa el tema: ruclips.net/user/jucarave

    • @thenekogl8764
      @thenekogl8764 8 месяцев назад

      es normal que a la hora de poner el código las letras no se me pongan de otro color?

  • @CapybaraDev-t5w
    @CapybaraDev-t5w Месяц назад

    MUCHAS GRACIAS, EL UNICO VIDEO QUE SIRVE

  • @pol449
    @pol449 Год назад

    se que a esta altura ya lo debes saber, pero cada que lo escucho me dan ganas de corregir: es "sensitivity", no "sensibility". Sin embargo, tienes una muy buena forma de explicar y hace muy fácil el aprendizaje.

  • @cristophergarcia8218
    @cristophergarcia8218 3 года назад

    te lo juro que e visto mas de 10 videos y solo el tuyo a funciona GRACIAS

  • @tremerin7323
    @tremerin7323 3 года назад +5

    Estupendo tutorial. Ya que has preguntado por sugerencias sobre que tipo de juegos nos gustaría ver por el canal propongo uno: RTS (estrategia en tiempo real).

    • @insideunity
      @insideunity  3 года назад

      interesante, sería un buen desafío. Muchas gracias por la sugerencia! Saludos

  • @Dazusxd
    @Dazusxd 2 года назад +1

    De ver tantos videos este si funciona gracias (Sub ADQUIRIDO)

  • @adrii_1949
    @adrii_1949 Год назад +1

    Muchas gracias amigo, te explicastes muy bien y fue facil de entender

  • @poloshii
    @poloshii 3 года назад +2

    Como tienes la configuracion de Visual Studio?

  • @agustinlopez2370
    @agustinlopez2370 3 года назад +1

    Excelente, una pregunta! porqué la rotación lo colocaste en update y no en fixedupdate?

  • @rotigames789
    @rotigames789 2 года назад +3

    bro necesito ayuda, tu codigo para el movimiento de camara no me funciono pero encontre otro que si me funciono. es este.
    {
    public float speedH = 2.0f;
    public float speedV = 2.0f;
    private float yaw = 0.0f;
    private float pitch = 0.0f;
    // Start is called before the first frame update
    void Start()
    {
    Cursor.lockState = CursorLockMode.Locked;
    }
    // Update is called once per frame
    void Update()
    {
    yaw += speedH * Input.GetAxis("Mouse X");
    pitch -= speedV * Input.GetAxis("Mouse Y");
    transform.eulerAngles = new Vector3(pitch , yaw , 0.0f);
    }
    }
    Pero como dijiste en el 4:48 cuando rota la camara. pero las flechitas y y x de la capsula no se mueven. osea si yo
    volteo mi camara 90 grados si le doy a W no se mueve hacia adelante, se mueve hacia a la izquierda aunque este
    mirando a otro lugar. plz ayuda

    • @esmike5580
      @esmike5580 2 года назад

      cosas del destino lo dejemos asi, ami me funciono este asi que gracias

    • @podeischupadmelapolla777
      @podeischupadmelapolla777 2 года назад +1

      using System.Collections;
      using System.Collections.Generic;
      using UnityEngine;
      public class (Aca el nombre del Script que creaste) : MonoBehaviour
      {
      private new Transform camera;
      public Vector2 sensibility;
      // Start is called before the first frame update
      void Start()
      {
      camera = transform.Find("Nombre de tu camara");
      Cursor.lockState = CursorLockMode.Locked;
      }
      // Update is called once per frame
      void Update()
      {
      float hor = Input.GetAxis("Mouse X");
      float ver = Input.GetAxis("Mouse Y");
      if (hor != 0) {
      transform.Rotate(Vector3.up * hor * sensibility.x);
      }
      if (ver != 0) {
      //camera.Rotate(Vector3.left * ver * sensibility.y);
      float angle = (camera.localEulerAngles.x - ver * sensibility.y + 360) % 360;
      if (angle > 180) { angle -= 360; }
      angle = Mathf.Clamp(angle, -60, 60);
      camera.localEulerAngles = Vector3.right * angle;
      }
      }
      }

    • @paranormal3am894
      @paranormal3am894 27 дней назад

      me pasa lo mismo

  • @SamuLXSSS
    @SamuLXSSS 2 года назад

    El codigo que yo tenía solo se movia hacia los lados gracias bro!!!!!!!!!!!!

  • @thenekogl8764
    @thenekogl8764 8 месяцев назад +2

    es normal que a la hora de poner el código las letras no se me pongan de otro color?

  • @whyfy6010
    @whyfy6010 2 года назад

    dios mae que salvada sos un crack :) gracias

  • @meth2326
    @meth2326 2 года назад +1

    no me sirvio pero porque no puedo mover la camara del editor osea esta parada y no puedo mover la camara no importa que ya probe con todo y no se que hacer

  • @sergiopamplona1676
    @sergiopamplona1676 Год назад

    Hola, yo lo tengo hecho para que el objeto rote, con el teclado, con las flechas de los lados, pero al mover para lante, no guarda la rotacion, y avanza en el eje Z a 0, como podria solucionalo
    Gracias

  • @FlixYTS
    @FlixYTS Год назад

    grax

  • @maxisanchez4459
    @maxisanchez4459 3 года назад +1

    gracias me sirvio de mucho

  • @icof6068
    @icof6068 2 года назад

    Hola que paquetes necesito descargar a visual studio?

  • @rodriguezfranciscosalvador4831
    @rodriguezfranciscosalvador4831 3 года назад

    muy buen video, gracias.

  • @hggabriel6176
    @hggabriel6176 3 года назад

    Bastante útil, me funciono

  • @agus.vell5
    @agus.vell5 3 года назад

    gracias amigo elunico tutorial que me funciono :)

  • @Efrain_xD
    @Efrain_xD Год назад +2

    lo malo de esto es al poner localEulerAngles la camara esta mirando al otro lado en vez de estar mirando al frente y esto hace que los controles del movimiento se inviertan (AYUDA SI ALGUIEN SABE COMO PODER CAMBIA LA POSICION DE LA CAMARA)

  • @ProDemon664
    @ProDemon664 3 года назад

    exelente video

  • @joantisdale7044
    @joantisdale7044 2 года назад +1

    He puesto que rote también con las teclas y cuando le doy por ejemplo a Q para rotar se queda rotando infinitamente :c y si clico a rotar arriba o abajo se mezclan y rota en todas direcciones, una locura.

  • @freddyanimation1492
    @freddyanimation1492 2 года назад

    al hacer este script me salen muchos erores no se si solo funciona en la vercion 2019 yo tengo la vercion 2022

  • @gonzalosantaellamaraver6814
    @gonzalosantaellamaraver6814 2 года назад

    NullReferenceException: Object reference not set to an instance of an object
    micontroladorfps.FixedUpdate () (at Assets/scrips/micontroladorfps.cs:50)
    me sale este error ayuda

  • @elmija3594
    @elmija3594 2 года назад

    me sale un error que dice "Camera does not contain d definition dor localEulerAngles" que hago porfavor aiuda

  • @franzty4268
    @franzty4268 3 года назад

    hola ayuda el eje z de la camara tambien se mueve que hago?

  • @HolaSoyGatoXD-262
    @HolaSoyGatoXD-262 5 месяцев назад

    papuu como se llama el programa que usas para los scripts, es dificil con el bloc de notas

    • @CodeXpert-c6d
      @CodeXpert-c6d 2 месяца назад +1

      Visual Studio Code si te interesa aunque ni venga del creador y fue hace banda :)

  • @mat1as116
    @mat1as116 3 года назад +2

    Hola no me dunciona la rotacion para arrriba

    • @TheBrothasMC
      @TheBrothasMC 3 года назад

      igual

    • @elcaido8436
      @elcaido8436 3 года назад

      tu tienes en el script: camera = transform.Find("Camera");
      Intenta camera = transform.Find("Main Camera");

  • @santiagomorantes2601
    @santiagomorantes2601 11 месяцев назад

    el Vector no me sale verde, atyuda!!

    • @WerMol_
      @WerMol_ 8 месяцев назад +1

      Realmente no importa, igual a mi no me sale y me funciona bien los códigos

  • @Hakuryuu.978
    @Hakuryuu.978 7 месяцев назад

    Unity me esta dando el siguiente error,
    NullReferenceException: Object reference not set to an instance of an object
    camara.Update () (at Assets/scrips/camara.cs:34)

    • @Stteekuuu
      @Stteekuuu 7 месяцев назад

      x2 si encuentras el error, agradeceria que lo pasaras, si lo encuentro te lo proporcionaré

  • @leox738
    @leox738 2 года назад

    codigo escrito please ?

  • @ch2754
    @ch2754 2 года назад

    Yo lo resolvi asi.
    [SerializeField] float sensibilidad;
    private float rotacionX;
    private float rotacionY;
    private void Awake() {
    Cursor.lockState = CursorLockMode.Locked;
    }
    private void Update() {
    MovimientoHorizontal();
    MovimientoVertical();
    }
    private void MovimientoHorizontal() {
    float mouseX = Input.GetAxis("Mouse X") * Time.deltaTime * sensibilidad;
    rotacionX += mouseX;
    transform.rotation = Quaternion.Euler(0, rotacionX, 0);
    }
    private void MovimientoVertical() {
    float mouseY = Input.GetAxis("Mouse Y") * Time.deltaTime * sensibilidad;
    rotacionY -= mouseY;
    rotacionY = Mathf.Clamp(rotacionY, -90, 90);
    Camera.main.transform.rotation = Quaternion.Euler(rotacionY, rotacionX, 0);
    }

    • @ch2754
      @ch2754 2 года назад

      No tuve que calcular nada

  • @Pupupuuuma
    @Pupupuuuma Год назад

    Gente, porque cuando miro atrás y le doy a la W va hacia atrás? XD

  • @tadeopace3182
    @tadeopace3182 2 года назад

    Hola no puedo agregar FPSCamera a el jugador que en tu caso es capsule, me puedes explicar porque no me funciona. Me aparece: Can´t add script component "FPSCamera" because the script class dass cannot be found

    • @kanekiamvs5079
      @kanekiamvs5079 2 года назад

      x2 ya resolviste el problema ?

    • @tadeopace3182
      @tadeopace3182 2 года назад

      @@kanekiamvs5079 No se, se me soluciono haciendo otro proyecto y metiendo el c# antes de meter el script

  • @uncuberomallorquin2637
    @uncuberomallorquin2637 2 года назад

    Una cosa bro no se porque pero la camara se me cae por el RigidBody ayuda pls

  • @davi_x0289
    @davi_x0289 Год назад

    juracave?

  • @josebaanimacion5402
    @josebaanimacion5402 3 года назад

    como se pone limites a la rotación horizontal??

  • @cristopheradansantiagolara515
    @cristopheradansantiagolara515 2 года назад

    Banda, me aparece el error CS1513: }
    Estoy poniendo todo tal cual como en el video pero aparece eso, alguie sabria como solucionarlo o que lo este causando
    ?

    • @podeischupadmelapolla777
      @podeischupadmelapolla777 2 года назад +1

      using System.Collections;
      using System.Collections.Generic;
      using UnityEngine;
      public class (Aca el nombre del Script que creaste) : MonoBehaviour
      {
      private new Transform camera;
      public Vector2 sensibility;
      // Start is called before the first frame update
      void Start()
      {
      camera = transform.Find("Nombre de tu camara");
      Cursor.lockState = CursorLockMode.Locked;
      }
      // Update is called once per frame
      void Update()
      {
      float hor = Input.GetAxis("Mouse X");
      float ver = Input.GetAxis("Mouse Y");
      if (hor != 0) {
      transform.Rotate(Vector3.up * hor * sensibility.x);
      }
      if (ver != 0) {
      //camera.Rotate(Vector3.left * ver * sensibility.y);
      float angle = (camera.localEulerAngles.x - ver * sensibility.y + 360) % 360;
      if (angle > 180) { angle -= 360; }
      angle = Mathf.Clamp(angle, -60, 60);
      camera.localEulerAngles = Vector3.right * angle;
      }
      }
      }

    • @krieg10
      @krieg10 Год назад

      lo arreglaste yo copie todo como sale en el video y me marca el mismo error

  • @thekevin9951
    @thekevin9951 2 года назад

    Tengo un problema, en el script: camara.Rotate(Vector3.left * ver * sensibility.y); min: 09:47 . . . . En la parte de ''ver'' me sale este error: The name 'ver' does not exist. in the current context, alguien sabe como arreglarlo?

    • @valentinroldan545
      @valentinroldan545 2 года назад

      Buenas, eso te sale porque abajo en los if no debes estar usando la misma variable que declaraste arriba (ver)

    • @thekevin9951
      @thekevin9951 2 года назад +1

      @@valentinroldan545 Ah sisi, ya vi muchas gracias!

  • @jupiterhuguet6732
    @jupiterhuguet6732 Год назад

    tengo un problema i es que al girar la camara hacia abajo o hacia arriba mientras me muevo el personaje atraviesa el suelo o sale volando, y si tiene el RigidBody i el Collider pero como el codigo le dice que vaya hacia alli se buguea i atraviesa el suelo, las paredes no.
    Si alguien me puede ayudar :(

    • @JUNICAKanima
      @JUNICAKanima 7 месяцев назад

      AÑADELE COLOSION AL PISO

  • @cram13yel14
    @cram13yel14 2 года назад

    no me funciona, podria ser pq uso visual studio?

    • @CodeXpert-c6d
      @CodeXpert-c6d 2 месяца назад

      el tmb lo usa, explica porque no funciona

  • @facumasri9453
    @facumasri9453 3 года назад

    hola amigo una pregunta, yo hice que al mover la camara horizontalmente tmb rote el jugador pero cuando voy para adelante pormas que gire pormas que el personaje mire para el otro lado, igualmente sigue caminando para donde miraba antes, el caso es que investige y me di cuenta que pasa porque estoy moviendo las cordenadas globales y tengo que usar las locales el caso es: ¿como hago para utilizar cordenadas locales en vez de globales? aclaro que estoy haciendo el movimiento con el character controler y uso la version de unity 5 saludos!

    • @macroj04
      @macroj04 3 года назад +1

      lo mismo pregunto

    • @facumasri9453
      @facumasri9453 3 года назад

      @@macroj04 si encontras la solucion decime que no me sale JASJAAJ

    • @macroj04
      @macroj04 3 года назад

      @@facumasri9453 jajaj resulta que lo explica en el video siguiente en la lista de reproducción en la que está este video

    • @facumasri9453
      @facumasri9453 3 года назад

      @@macroj04 jjajajjaa gracias

  • @wildbluelucas
    @wildbluelucas 3 года назад

    La variable Clamp me da error dice que no hay sobrecarga para el método clamp toma 2 argumentos

  • @kait339
    @kait339 2 года назад

    me puedes pasar el script

    • @podeischupadmelapolla777
      @podeischupadmelapolla777 2 года назад +4

      using System.Collections;
      using System.Collections.Generic;
      using UnityEngine;
      public class (Aca el nombre del Script que creaste) : MonoBehaviour
      {
      private new Transform camera;
      public Vector2 sensibility;
      // Start is called before the first frame update
      void Start()
      {
      camera = transform.Find("Nombre de tu camara");
      Cursor.lockState = CursorLockMode.Locked;
      }
      // Update is called once per frame
      void Update()
      {
      float hor = Input.GetAxis("Mouse X");
      float ver = Input.GetAxis("Mouse Y");
      if (hor != 0) {
      transform.Rotate(Vector3.up * hor * sensibility.x);
      }
      if (ver != 0) {
      //camera.Rotate(Vector3.left * ver * sensibility.y);
      float angle = (camera.localEulerAngles.x - ver * sensibility.y + 360) % 360;
      if (angle > 180) { angle -= 360; }
      angle = Mathf.Clamp(angle, -60, 60);
      camera.localEulerAngles = Vector3.right * angle;
      }
      }
      }

    • @CodeXpert-c6d
      @CodeXpert-c6d 2 месяца назад

      @@podeischupadmelapolla777 gracias a esta gente el mundo es un lugar mejor