Jump to content

Archived

This topic is now archived and is closed to further replies.

nomoregames

ANSWERED Distancia y posiciones

Recommended Posts

1 - Necesitas el punto de referencia que usarás para rotar, esto puedes hacerlo con un Transform.

2 - Necesitas la dirección normalizada desde el punto de referencia y el mouse.

3 - Sumas la posición del punto de referencia más la dirección multiplicada por la distancia deseada

public class ObjectRotation : MonoBehaviour
{
    [SerializeField]
    private Transform m_point;
    [SerializeField]
    private float m_distance = .3f;
    
    private Vector3 GetNewPosition(Vector3 mousePosition)
    {
        Vector3 dir = m_point - mousePosition;
        dir.Normalize();        
        return m_point + dir * m_distance;
    } 
}

 

Share this post


Link to post
Share on other sites

Bale, ahora voy a sacar a la luz hasta que punto soy un ignorante...

Como aplico tu script? algo asi como centro.transform.position = GetNewPosition???

Share this post


Link to post
Share on other sites

Hola a todos! Soy el único que ha echado de menos el foro 😊

Bueno, aquí os traigo la solución que encontré, la mar de sencilla.

Cree un objeto vacío  al cual hice hijo de el player, luego añadí un script que hace que este objeto vacío apunte hacia el objeto "mouse" y para acabar, hice que el objeto "centro" fuera hijo de el objeto vacío...   

si os interesa lo explico de forma mas detallada, por si no ha quedado claro

Y gracias por buestra ayuda!!

 

Share this post


Link to post
Share on other sites

×
×
  • Create New...