Cómo rotar un objeto en dirección al mouse o a cualquier objetivo en Unity

แชร์
ฝัง
  • เผยแพร่เมื่อ 30 ม.ค. 2025

ความคิดเห็น • 48

  • @laugh0ri4921
    @laugh0ri4921 11 หลายเดือนก่อน +1

    Hombre, eres increíble. Había tratado de hacer esto por mi cuenta y el PJ no dejaba de temblar cuando seguia el mouse, ahora tiene un movimiento más estable. Estaria genial una continuación de este tema pero para sustituir el mouse por un pad táctil para mover la vista del jugador. Muy buen video!

  • @mateohernandez5543
    @mateohernandez5543 2 ปีที่แล้ว +3

    No dejes de hacer contenido, por favor. Eres grande.

  • @gustavojuanfernandez617
    @gustavojuanfernandez617 2 ปีที่แล้ว

    En serio, este chico es un salvador!
    A mi, que no se programar nada solo, me ayuda muchisimo. Sigue asi

  • @dekar4204
    @dekar4204 2 ปีที่แล้ว +1

    me sorprende la calidad de tus videos y como explicas, es excelente. Sigue asi!!

  • @Bubbl33s_
    @Bubbl33s_ 2 ปีที่แล้ว

    Muchas gracias por compartir estos conocimientos!

  • @kogamedev
    @kogamedev ปีที่แล้ว

    Muy Bueno, muchas graciais pela tutoria !!!

  • @santiagoocamposantana9907
    @santiagoocamposantana9907 2 ปีที่แล้ว +1

    Un Capo!!!! Muy buen contenido

  • @boomy_bo
    @boomy_bo 2 ปีที่แล้ว +1

    Puedes hacer un video explicando como hacer contador y que cuando el jugador muera el contador se reinicie o se detenga.
    Me encantan tus videos no dejes de hacerlos!!

  • @mijailmurzha3381
    @mijailmurzha3381 ปีที่แล้ว

    vaya lo pude hacer en media hora quebien la verdad que no pense que el video sea tan completo

  • @saulcatin
    @saulcatin 2 ปีที่แล้ว +4

    oye puedes hacer el dead eye de red dead redemption por favor

  • @josereyesperez9126
    @josereyesperez9126 2 ปีที่แล้ว +6

    Puedes hacer uno de como hacer un sistema de atributos(stats)

  • @tiagocarbo
    @tiagocarbo ปีที่แล้ว

    hola quiero hacer un juego en 3d que se ve desde arriba como si fuera 2d, como puedo utilizar el LookAt para que el personaje vea hacia el cursor

  • @brunotiago7009
    @brunotiago7009 2 ปีที่แล้ว +2

    Muito bom seu video Brave!, uma recomendação de video também para fazer seria de como criar sistemas de status simples, ou, um bom uso de save/checkpoint.

  • @kevinnunezolarte1632
    @kevinnunezolarte1632 2 ปีที่แล้ว

    Grasias mano, me salvaste

  • @anthonyfalcon1332
    @anthonyfalcon1332 2 ปีที่แล้ว

    una peregunta cuando quiero poner el ScreentoWorldPonti mi unity no reconose ese codigo no me sale la referencia como a ti y al usar el codigo que usas en un enemigo para que vea mi personaje no funciona bien no se que estoy hacendo mal o si me falta descargarme algo del mismo unity

  • @makako2468
    @makako2468 10 หลายเดือนก่อน +1

    ayuda no se por que para que gire, la camara tiene que estar anclada al jugador y cuando gira, lo hace rapidisimo y no mira ni al mouse, simplemente rota sin control:
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    public class CambiarRotacion : MonoBehaviour
    {
    private Vector3 objetivo;
    [SerializeField] private Camera camara;
    private void Update()
    {
    objetivo = camara.ScreenToWorldPoint(Input.mousePosition);

    float anguloRadianes = Mathf.Atan2(objetivo.y - transform.position.y, objetivo.x - transform.position.x);
    float anguloGrados = (180 / Mathf.PI) * anguloRadianes - 90;
    transform.rotation = Quaternion.Euler(0, 0,anguloGrados);
    }
    }

    • @BravePixelG
      @BravePixelG  10 หลายเดือนก่อน

      Hola, es posible que el error se esté presentando por tener la cámara dentro del objeto que estamos tratando de girar, cuando colocas la cámara dentro del jugador y el jugador intenta rotar, la cámara también lo hace, entonces lo que necesitas es dejar la cámara por fuera del jugador y él rotará según la posición del mouse, si lo que necesitas es que la cámara siga al jugador además de tomar este efecto debes usar Cinemachine para que la cámara siga al jugador sin tener que colocar este objeto dentro de él

    • @makako2468
      @makako2468 10 หลายเดือนก่อน

      el problema es que el jugador no mira al mouse y ademas se mueve hacia atras daia la ecla que presione si me podrias ayudar en eso @@BravePixelG

  • @charly1155
    @charly1155 2 ปีที่แล้ว +1

    Hola amigo que buenos videos!
    Yo quería saber si pudieras hacer un video donde el personaje pueda usar un "dron" y poder moverlo, atacar, ponerlo en automatico y manual y bueno, ya tu sabe jaja
    Por favor amigo si pudieras hacerlo...

  • @noxworld945
    @noxworld945 ปีที่แล้ว

    Muy buen video!!!! Por si a caso me podrías explicar como hacer esto pero con el touch en android, para que el personaje rote hacia donde estamos tocando. Te lo agradecería un montón!

    • @BravePixelG
      @BravePixelG  ปีที่แล้ว

      Hola, lo que podrías hacer es cambiar el valor del objetivo por el de la entrada táctil cuando la conviertes en una posición de mundo, para la entrada táctil puedes usar este video, ahí vemos como tomar la posición del mundo con el toque de la pantalla:
      th-cam.com/video/KsYa46EMDHA/w-d-xo.html

  • @Clau_Spike
    @Clau_Spike 2 ปีที่แล้ว +1

    Tengo un problema , me gira pero no se desplaza al punto. He copiado el código del video varias veces y no hay manera.
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    public class Movement : MonoBehaviour
    {
    [Header("MovimientoCamara")]
    private Vector3 objetivo;
    [SerializeField] private Camera camara;
    [Header("MovimientoJugador")]
    [SerializeField] private float velocidadMovimiento;
    private Vector2 direccion;
    private Rigidbody2D rb2D;
    private Vector2 input;
    // Start is called before the first frame update
    void Start()
    {
    rb2D = GetComponent();
    }
    // Update is called once per frame
    void Update()
    {
    objetivo = camara.ScreenToWorldPoint(Input.mousePosition);
    float anguloRadianes = Mathf.Atan2(objetivo.y - transform.position.y, objetivo.x - transform.position.x);
    float anguloGrados = (180 / Mathf.PI) * anguloRadianes - 90;
    transform.rotation = Quaternion.Euler(0, 0, anguloGrados);
    input.x = Input.GetAxisRaw("Horizontal");
    input.y = Input.GetAxisRaw("Vertical");
    direccion = input.normalized;
    }
    private void FixedUpdate()
    {
    rb2D.MovePosition(rb2D.position + direccion * velocidadMovimiento);
    }
    }
    A ver si me puedes ayudar , porfa

    • @BravePixelG
      @BravePixelG  2 ปีที่แล้ว

      Hola, en el código te hace falta colocar en el método del fixed update que se multiplique por Time.fixedDeltaTime para que puedas controlarlo de mejor manera con las teclas

  • @issaelynuma9001
    @issaelynuma9001 2 ปีที่แล้ว

    Sabes si se puede hacer esto pero con camara en perspectiva?

  • @joshmendoza8455
    @joshmendoza8455 2 ปีที่แล้ว

    Se puede aplicar en 3D cierto? supongo que es poniendo todos los vectores y añadir la rotación faltante, no se, no se programación

    • @BravePixelG
      @BravePixelG  2 ปีที่แล้ว +1

      Hola, existe un método en 3D que se llama "look at" y como parámetro le colocas el objetivo, sin nada de matemática

  • @ghots3322
    @ghots3322 2 ปีที่แล้ว

    como se llama la inmagen del carro, que se ve que esta arriba la camara

  • @valentinmarquez3731
    @valentinmarquez3731 2 ปีที่แล้ว

    Buen video como todos los que haces, podrias hacer un video replicando el efecto de mario que al correr saque polvo de sus pies?

  • @megalodon8300
    @megalodon8300 ปีที่แล้ว

    Sabes porque no me sale como el "child", "variable" o lo que sea que está en el script para adjuntarle el GameObject, y copié tal cual como está en el video.

    • @BravePixelG
      @BravePixelG  ปีที่แล้ว

      Hola, el espacio que sale en el script es la variable que le asignamos desde Unity arrastrando el objeto, para que aparezca en el inspector puedes dejar la variable como public o si es privada debes agregar [SerializeField] antes de la variable, en caso de salir un error en la consola puede ser por otro problema

  • @PedroCB192
    @PedroCB192 2 ปีที่แล้ว

    Y si quiero que al presionar W avance hacía donde esta el mouse, como podría hacerlo?:((

    • @BravePixelG
      @BravePixelG  2 ปีที่แล้ว +1

      Hola, puedes usar transform.up (si tu personaje tiene la rotación para arriba) o transform.right (si mira a la derecha), este valor lo puedes usar para que se mueva siempre para adelante cuando presionas un botón, esto funciona independientemente de la rotación de tu personaje

    • @PedroCB192
      @PedroCB192 2 ปีที่แล้ว

      @@BravePixelG muchas gracias bro

  • @joakomancilla8586
    @joakomancilla8586 7 หลายเดือนก่อน

    estoy buscando hacer esta rotación respecto al mouse en la pantalla pero para un juego 3d con vista isométrica o perspectiva de arriba alguien tiene alguna idea??

  • @HolyManFK12
    @HolyManFK12 2 ปีที่แล้ว

    Está genial c: me sirve para la PC, pero cuando intento usar el mismo sistema para la adaptación del proyecto para Android cambia la rotación cuando toco los botones tactiles :( como corrijo eso?

    • @BravePixelG
      @BravePixelG  2 ปีที่แล้ว

      Si estás usando botones del UI puedes agregar una opción en las imágenes que es para bloquear el raycast, esto puede prevenir que el toque de la pantalla táctil pase por el botón

    • @HolyManFK12
      @HolyManFK12 2 ปีที่แล้ว

      @@BravePixelG la opción la agrego como un script ? o es algo que ya encuentro dentro de inspección ? :c losiento apenas estoy aprendiendo no sé mucho

  • @nightcorex746
    @nightcorex746 2 ปีที่แล้ว

    graciassss

  • @xavierfernandez89
    @xavierfernandez89 2 ปีที่แล้ว

    Cómo puedo hacer lo mismo pero sin vista satelital? Es que quiero que mi personaje pueda apuntar hacía 8 direcciones

    • @BravePixelG
      @BravePixelG  2 ปีที่แล้ว

      Puedes tomar el valor que toma la rotación y que este sea el que controle los 8 puntos estáticos, que no rote directamente, sino que haga una aproximación

  • @Anxous-cy4ve
    @Anxous-cy4ve 2 หลายเดือนก่อน

    ¿Como puedo hacer esta rotación sin el mouse?

    • @BravePixelG
      @BravePixelG  2 หลายเดือนก่อน +1

      Hola, tenemos una segunda parte donde vimos algo similar, donde no se usa el mouse ni la cámara, sino solo el objetivo, puedes implementar algo similar con un joystick, el valor que retornan estas entradas son Vector 2 con valores en X y Y donde puedes usar esto como el objetivo al cual mirar, te dejo el video aquí abajo:
      th-cam.com/video/7aVybTuPI1M/w-d-xo.html

    • @Anxous-cy4ve
      @Anxous-cy4ve 2 หลายเดือนก่อน

      @BravePixelG gracias voy a estudiarlo

  • @rp927
    @rp927 2 ปีที่แล้ว +1

    Lo he intentado hacer pero en 3D y como que no ha funcionado XDDD
    esquiva al objetivo o cursor XD

    • @BravePixelG
      @BravePixelG  2 ปีที่แล้ว +1

      Hola, un método que hace algo similar es "look at" en 3D, este cambia la rotación del objeto en la dirección del objetivo que entra por parámetro, si lo que quieres es que el jugador mire en la dirección del mouse puedes hacerlo también con esta función, pero depende del tipo de juego que estés creando

  • @michellemendina261
    @michellemendina261 ปีที่แล้ว

    No se porque me da error

    • @BravePixelG
      @BravePixelG  ปีที่แล้ว

      Hola, ¿que error te sale en la consola?, puede que sea un error de sintaxis, te puede salir que está fallando como un mensaje y si le das doble clic te lleva a la línea que lo está generando

  • @WachingatumareY
    @WachingatumareY ปีที่แล้ว

    alguien deja copiado el scriptt ?