一:关键步骤
向量的加法口诀:首尾相连,首连尾,方向指向末向量。
向量的减法口诀:首首相连,尾连尾,方向指向被减向量。
向量相减+向量点乘
二:图解
三:代码实现
public bool IsInView(Vector3 worldPos,Camera CurCamera)
{
Transform camTransform = CurCamera.transform;
Vector2 viewPos = CurCamera.WorldToViewportPoint(worldPos);
Vector3 dir = (worldPos - camTransform.position).normalized;
float dot = Vector3.Dot(camTransform.forward, dir);//判断物体是否在相机前面
if (dot > 0 && viewPos.x >= 0 && viewPos.x <= 1 && viewPos.y >= 0 && viewPos.y <= 1)
return false;
else
return true;
}
后言:
最近老出现9.19,所以就更坚信命中注定!!