1.效果
我们检测的是,立方体正前方五米60度范围内,当进入这个范围我们让这个Cube变
2.分析
在这里我们重点只需要用到两个方法
Vector3.Distance(Vector3 a,Vector3 b);
这个不用多说是用来检测两点之间的距离的
Vector3.Angle(Vector3 from,Vector3 to);
这个方法是用来计算两点之间的角度的
不过这里需要注意的是这个方法计算出来的角度是0-180
图解
这里还是比较容易看出来的,当我们需要检测他某一个方向的角度的时候
例:我们要检测60度范围内,我们就只需要检测,左边30度和右边30度就好了。
这样下来就简单很多了。
3.代码
分析完毕直接上代码
if(Vector3.Distance(Cube1.transform.position,Cube2.transform.position)<5)
{
if(Vector3.Angle(Cube1.transform.forward,Cube2.transform.position-Cube1.transform.position)<30)
{
Cube2.GetComponent<Renderer>().material.color = Color.red;
}
else
{
Cube2.GetComponent<Renderer>().material.color = Color.white;
}
}
else
{
Cube2.GetComponent<Renderer>().material.color = Color.white;
}
核心就两行只有If判断里的那两句
在这里我们检测的是Cub1的正前方
讲解完毕,如果有什么疑问,可以在评论区提问,也可以私信我,我会及时答复的。谢谢大家!