使敌人自动旋转面向玩家

 1 using System.Collections;
 2 using System.Collections.Generic;
 3 using UnityEngine;
 4 
 5 public class RotatoToPlayer : MonoBehaviour
 6 {
 7     public Transform player;
 8     
 9     
10     void Update()
11     {
12         //使用Vector3.Angle方法求两个向量的夹角
13         float angle = Vector3.Angle(transform.forward,player.position-transform.position);
14         //使用Vector3.Cross方法求两个向量的叉乘后的值
15         Vector3 v = Vector3.Cross(transform.forward,player.position- transform.position);
16         //判断v.y的正负,使用左手螺旋法则来旋转Transform,使其朝向与它形成夹角的游戏对象
17         if (v.y > 0)
18         {
19             transform.Rotate(Vector3.up * angle);
20         }
21         else 
22         {
23             transform.Rotate(Vector3.down * angle);
24         }
25     }
26 }

 

posted @ 2019-07-12 00:05  废柴米老鼠  阅读(444)  评论(0编辑  收藏  举报