Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

Un par de dudas

Iniciado por Srare, Octubre 19, 2017, 02:46:25 PM

Tema anterior - Siguiente tema
Buenas compañeros! Espero no ser de tanta molestia con tantas preguntas en el foro, es que soy adicto a aprender y me encanta enterarme por un medio mas interactivo como lo es este! :D
 
En fin, tengo dudas sobre el uso de Android en unity. Esto es general, que se necesita para configurarlo? El sdk solamente?
 
Por otro lado, completamente diferente, como puedo darle una direccion a un objeto y que este vaya a cierta velocidad en esa direccion? Para darse con un ejemplo, tengo a mi personaje, y torretas que le apuntan.. cada cierto tiempo disparan, lo que crea la bala. Lo que debo hacer es darle direccion y velocidad.. es un plataformas 2D, y el movimiento debe ser interpolado. (Es muy probable que con lerp pueda hacerse, pero no me hago idea). Estuve buscand, y nada concreto sobre esta modalidad de movimiento de objetos. Muchas gracias compañeros de ante mano!

hola bienvenid@
 
necesitas instalar Java y el JDK, luego configuras los directorios en las preferencias de Unity
 
para darle direccion depende de si usas fisicas o no, sin fisicas trasladas el objeto en cada cuadro en update() con transform.translate mirate el ejemplo en la documentacion, y con fisicas le aplicas una fuerza con rigibody desde fixedUpdate()

Cita de: Srare date=1508417185Por otro lado, completamente diferente, como puedo darle una direccion a un objeto y que este vaya a cierta velocidad en esa direccion? Para darse con un ejemplo, tengo a mi personaje, y torretas que le apuntan.. cada cierto tiempo disparan, lo que crea la bala. Lo que debo hacer es darle direccion y velocidad.. es un plataformas 2D, y el movimiento debe ser interpolado. (Es muy probable que con lerp pueda hacerse, pero no me hago idea). Estuve buscand, y nada concreto sobre esta modalidad de movimiento de objetos. Muchas gracias compañeros de ante mano!


Tus proyectiles solo deben hacer eso nada mas, entonces cuando los creas o activas(si usas pooling) deberían moverse y/o chequear colisiones.
 
Una  dir no es más que un vector cualquier normalizado. Si queres siempre una dir respecto al player podés hacer
 

Vector3 targetVector = Player.position - transform.position;
Vector3 dirVector = targetVector.normalized;
         

 
Y bueno tu objeto solo se moverá en una dir (vector) asi que con solo pasarle a tus proyectiles (generalmente a la hora de crearlos/activarlos) este vector de direccion listo.
 
Tu script de proyectil podría ser algo así (siempre se mueve):
 

Vector3 m_dirVector;
//ver que dice dir, ya va normalizado
//el creador/activador de este proyectil es el encargado de pasar la dir (usar este método)
public void SetDir(Vector3 dir)   
{
m_dirVector = dir;
}
//Por ejemplo, cuadro a cuadro
void Update()
{
transform.position += m_dirVector * Time.deltaTime * speed;
}

 
 

Muchas gracias chicos por la ayuda, un saludo!

Etiquetas: