2012年10月18日木曜日

【Unity】RTS:攻撃と移動

白兵ユニットの攻撃について以下のように分類した。
指定攻撃はマウスで敵ユニットをクリックすると選択した味方ユニットが移動を開始し、攻撃範囲に敵を収めると攻撃を開始する。
自動攻撃はプレーヤーの操作を必要としないパッシブな攻撃で続く3種類に分けられる。
「反撃」は敵の近接先制攻撃を受けた後に攻撃を開始する。「遭遇」は敵が正面にいてかつ至近の場合にこちらから接近し攻撃を開始する。正面に敵がいるのにユニットが棒立ちしているのは不自然なため。「防御」は遭遇と同じ条件だが敵に接近しようとせず、敵が攻撃範囲に入った場合のみ攻撃する。特にこちらが後退しながら追いすがる敵を攻撃する場面を想定したもの。
「反撃」は全方位からの攻撃に反応するが、ユニットがプレーヤーの命令を受けて移動中の場合は働かない(一方的に攻撃を受ける)。ただし正面からの攻撃は「遭遇」扱いとなり移動中でも移動命令を破棄し敵との戦闘を開始する。問題は発動条件が全く同じ「遭遇」と「防御」の使い分けだが、これは移動目的地が敵より向こう側の場合「遭遇」とし、敵と反対方向の場合は「防御」扱いになるようにした。
移動目的地の方位を分析し「遭遇(Encounter)」「防御(Defence)」を使い分ける

0 件のコメント: