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
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;
}
}