void Rebound(Transform Obj) //Obj=碰撞目标
{
Vector2 v2 = new Vector2(Mathf.Abs(Obj.position.x - transform.position.x) , Mathf.Abs(Obj.position.z - transform.position.z));
v2 -= Obj.eulerAngles.y < 5 ? new Vector2(Obj.localScale.x , Obj.localScale.z) / 2 : new Vector2(Obj.localScale.z , Obj.localScale.x) / 2;
//计算碰到的是哪一边
Vector2 angle = new Vector2(-1,1);
if (Mathf.Abs(v2.x) > Mathf.Abs(v2.y))
{
angle = new Vector2(1, -1);
}
transform.LookAt(transform.position + new Vector3(transform.forward.x * angle.x, 0, transform.forward.z * angle.y));
//看向目标方向
}
//使用 transform.Translate(Vector3.forward * 10 * Time.deltaTime); 进行移动