点乘
Vector3.Dot 一般用来判断,当前物体的方向(transform.position - target.position)与目标方向target.forward的点积 dot>0 则面对,dot<0 则为背对
Vector3 toOther = LAItem.FollowingPoints + _Offsets - MGSCameraMgr.Instance.GetMainCamera().transform.position;
if (Vector3.Dot(MGSCameraMgr.Instance.GetMainCamera().transform.forward, toOther) > 0)
{
if (!mCanvasGroup.blocksRaycasts)
{
mCanvasGroup.alpha = 1;
mCanvasGroup.blocksRaycasts = true;
}
}
else
{
if (mCanvasGroup.blocksRaycasts)
{
mCanvasGroup.alpha = 0;
mCanvasGroup.blocksRaycasts = false;
}
}
叉积 我们可以使用叉积的正负值来判断向量a,b的相对位置,即向量b是处于向量a的顺时针方向还是逆时针方向。
叉积得结果还是向量 可以通过判断分量y得正负来判断方位 如果y>0 则b位于a得顺时针方向,反之 则位于逆时针方向
Vector.cross