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!
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!!
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.
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
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);
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
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...
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!
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
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
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
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.
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
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
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??
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?
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
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
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
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
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
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!
No dejes de hacer contenido, por favor. Eres grande.
En serio, este chico es un salvador!
A mi, que no se programar nada solo, me ayuda muchisimo. Sigue asi
me sorprende la calidad de tus videos y como explicas, es excelente. Sigue asi!!
Muchas gracias por compartir estos conocimientos!
Muy Bueno, muchas graciais pela tutoria !!!
Un Capo!!!! Muy buen contenido
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!!
vaya lo pude hacer en media hora quebien la verdad que no pense que el video sea tan completo
oye puedes hacer el dead eye de red dead redemption por favor
Puedes hacer uno de como hacer un sistema de atributos(stats)
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
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.
Grasias mano, me salvaste
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
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);
}
}
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
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
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...
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!
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
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
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
Sabes si se puede hacer esto pero con camara en perspectiva?
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
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
como se llama la inmagen del carro, que se ve que esta arriba la camara
Buen video como todos los que haces, podrias hacer un video replicando el efecto de mario que al correr saque polvo de sus pies?
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.
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
Y si quiero que al presionar W avance hacía donde esta el mouse, como podría hacerlo?:((
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
@@BravePixelG muchas gracias bro
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??
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?
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
@@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
graciassss
Cómo puedo hacer lo mismo pero sin vista satelital? Es que quiero que mi personaje pueda apuntar hacía 8 direcciones
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
¿Como puedo hacer esta rotación sin el mouse?
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
@BravePixelG gracias voy a estudiarlo
Lo he intentado hacer pero en 3D y como que no ha funcionado XDDD
esquiva al objetivo o cursor XD
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
No se porque me da error
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
alguien deja copiado el scriptt ?