Noticias

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

Busco equivalente de transform.LookAt EN 2D

Iniciado por BennyDz, Julio 18, 2016, 11:34:11 PM

Tema anterior - Siguiente tema
Algún equivalente para: transform.LookAt(yourPlayerGameObj.transform);
 
En 2D quiero que un cañon solo rote en Z siguiendo mi player.
 
 
 
 
 
quiero hacer un cañon como este:
 
(ME REFIERO AL CAÑON VERDE QUE SALE A PARTIR DEL SEGUNDO 30)
 
por ahora solo he logrado hacer que la bala salga en direccion de mi personaje, pero quiero que se vea el movimiento del cañon
 


   
eature=oembed" width="480">

Julio 19, 2016, 12:22:47 AM #1 Ultima modificación: Julio 19, 2016, 10:20:10 AM por pioj
encontre este script:      
 

GameObject playerShip = GameObject.Find("EffectSpaceWithEffect(Clone)");
        
        Vector3 mouse_pos = Input.mousePosition;
        Vector3 player_pos = Camera.main.WorldToScreenPoint(this.transform.position);
        mouse_pos.x = mouse_pos.x - player_pos.x;
        mouse_pos.y = mouse_pos.y - player_pos.y;
        float angle = Mathf.Atan2 (mouse_pos.y, mouse_pos.x) * Mathf.Rad2Deg;
        this.transform.rotation = Quaternion.Euler (new Vector3(, , angle));

 
pero si le pongo en: Vector3 mouse_pos = Input.mousePosition; le cambio para: 
 



   
      Vector3 mouse_pos = playerShip.transform.position;
   

[/quote]
 
ya deja de funcionar bien. alguna idea de como cambiar que siga el mouse, y siga mi personaje?

Julio 19, 2016, 06:44:36 AM #2 Ultima modificación: Julio 19, 2016, 10:20:51 AM por pioj

 using UnityEngine;
using System.Collections;
public class Apuntar : MonoBehaviour {
public GameObject objetivo;
void Update () {
Vector2 pos = objetivo.transform.position - transform.position;
float rot_z = Mathf.Atan2(pos.y, pos.x) * Mathf.Rad2Deg;
transform.rotation = Quaternion.Euler(0f, 0f, rot_z);
}
}

 
 

Etiquetas: