0
因此,我有一个任务,我必须为学校在枪类型游戏中向敌人射击玩家时所做的任务。我已阅读Unity教程中的LookAt()函数,并将其用于我的知识。但它似乎没有工作。下面的代码是我到目前为止有:在Unity中使用LookAt()功能
public class EnemyControl : MonoBehaviour {
private Rigidbody rb;
public GameObject Bullet_Emitter2;
public GameObject EnemyBullet;
public float speedOfBullet;
private int score;
public Text countText;
public Text winText;
private GameObject Temporart_Bullet_Handler2;
public Transform player;
public Transform enemy;
void Start()
{
rb = GetComponent<Rigidbody>();
score = 0;
}
private void Update()
{
enemy.LookAt(player);
}
// Update is called once per frame
void FixedUpdate() {
int fire = Random.Range(0, 100);
if(fire == 0 || fire == 1 || fire == 5)
{
Temporart_Bullet_Handler2 = Instantiate(EnemyBullet, Bullet_Emitter2.transform.position, Bullet_Emitter2.transform.rotation) as GameObject;
Temporart_Bullet_Handler2.transform.Rotate(Vector3.right * 90);
Rigidbody Temporary_Rigid_Body;
Temporary_Rigid_Body = Temporart_Bullet_Handler2.GetComponent<Rigidbody>();
Temporary_Rigid_Body.AddForce(transform.up * speedOfBullet);
Destroy(Temporart_Bullet_Handler2, 20.0f);
}
}
}
的问题是我的敌人现在只是着眼于地上,而不是我,然后就拍摄下。有没有办法解决这个问题?我附上了玩游戏的玩家的图像?
之前投入的注视()函数我的太空人也只是在一条直线上固定和消防子弹,但我需要的AI跟踪玩家,而不是固定的。有没有使用LookAt()这样做的另一种方法或我使用此功能是否错误?
感谢您的帮助提前?
你确定你的敌人的Z轴与你期望他们面对的方向一致吗?所有'LookAt()'都是指定对象在指定点的z轴。 – Serlite