Hola! Tengo una nave 2d en mi juego Top view y me gustaría añadirle un drone ayudante, que orbitara ("Hiciera círculos" ) alrededor de mi nave. Me gustaría que el drone no deformara su orbita cuando la nave se mueva.
¿Alguna idea?
Utiliza el seno del tiempo, esto te va a dar valores del -1 al 1. Entonces el drone ya se podría mover de izquierda a derecha. El resultado lo multiplicas por la distancia que quieras que haya entre tu nave y el drone. Repite lo mismo con el coseno del tiempo pero el resultado lo aplicas al eje vertical.
Esto te va a dar la posición con respecto al origen del mundo, o sea, siempre va estar alrededor de (0, 0). Para que vaya alrededor de tu nave solamente sumas la posición de la nave a la posición que calculaste del drone.
No puedo probarlo ahora mismo pero sería algo así:
public Transform nave;
public float distancia = 5f;
private void Update() {
// Sin retorna un valor entre -1 y 1 a medida que el tiempo avanza
var x = Mathf.Sin(Time.time);
// Igual el coseno. Ambas funciones juntas forman un circulo
var y = Mathf.Cos(Time.time);
// No sé que ejes estás usando pero suponiendo que es un top-down literal
// "X" y "Z" serían los ejes
// Esta posición estaría entre [(-1, -1); (1, 1)]
var nuevaPosicion = new Vector3(x, 0, y);
nuevaPosicion *= distancia;
// Le sumamos la posición de la nave para que este alrededor de ella
nuevaPosicion += nave.position;
}
Hola, quizas este video te puede ayudar si es que ya lo resolviste.
Girar alrededor u orbitar un objeto de juego en Unity 3D C # (//%5Byoutube%5Dhttps://www.youtube.com/watch?v=3PHc6vEckvc%5B/youtube%5D&t=536s)
Saludos.