目次

075 カメラの範囲外判定について

指定の座標がカメラの範囲内に収まっているか?

bool CheckScreenOut( Vector3 _pos )
{
	Vector3 view_pos = Camera.main.WorldToViewportPoint( _pos );
	if( view_pos.x < -0.0f ||
	   view_pos.x > 1.0f ||
	   view_pos.y < -0.0f ||
	   view_pos.y > 1.0f )
	{
		// 範囲外
		return true;
	}
	// 範囲内
	return false;
}

MonoBehaviourを継承している場合

// 写っている
void OnBecameVisible()
{
	Debug.Log("OnBecameVisible");
}
 
// 写っていない
void OnBecameInvisible()
{
	Debug.Log("OnBecameInvisible");
}

こちらはレンダラ-が有効になっている場合に使える。