Unity以物体中心为圆心的圆形检测
小菜鸟
2021-11-19 PM
2266℃
0条
/// <summary>
/// 圆形检测
/// </summary>
/// <param name="player"></param>
/// <returns></returns>
List<Vector3> angle(GameObject player)
{
List<Vector3> angle = new List<Vector3>();
float Start_angle = player.transform.eulerAngles.z + 90;//检测射线开始的角度
for (int i = 0; i < 21; i++) //21*18+18 18°一条线,首尾共21条
{
float hudu = (Start_angle * Mathf.PI) / 180;
float xx = player.transform.position.x + [物体的x方向的长一半,也就是半径]* Mathf.Cos(hudu);
float yy = player.transform.position.y + [物体的y方向的长的一半,也就是半径] * Mathf.Sin(hudu);
Debug.DrawLine(player.transform.position, new Vector3(xx, yy, 0), Color.red);
angle.Add(new Vector3(xx, yy, 0));//添加需要检测的点
Start_angle -= 18;
}
return angle;
}