複数のターゲットに対してビームをうてるようになりました。
ただ、一旦ロックオンしてしまうと、ターゲット画面に表示されなくなった後もそのまま
ロックオンしたままなので、今日はターゲット(敵)が画面から見えなくなったら、その敵の
ロックオンは解除しよう。。ということに。
そこで、メインカメラ用のスクリプトに以下のようなメソッドを追加して、
逐次(Updateが呼ばれるたびに)呼び出すようにしました。
def IsInSight(target as GameObject):
if not target:
return false
targetPos as Vector3 = camera.WorldToViewportPoint(target.collider.bounds.center)
if targetPos.x < 0.0 or targetPos.x > 1.0:
return false
if targetPos.y < 0.0 or targetPos.y > 1.0:
return false
return true
いやはや、いろいろと考えることがありますね。。
ぼちぼちがんばります。
0 件のコメント:
コメントを投稿