area2D,area entered)エリア判定が、collision shapeのskewの設定で広がってしまう
(v4.4.1 stable)
area2Dに侵入した別エリアを検知する方法に、シグナル"area_entered"、を使用する方法があります。
・検知用エリアからシグナルarea_entered、をスクリプトで受信、
エリアへの別エリアの侵入を検知
・以下のように、検知用のエリアを、collision shape 2D(shapeはrectangle(四角形)を選択)で作成、そこにプレイヤーのareaが侵入すると、例えばダメージが発生する、等で使用
しかし今回、形を平行四辺形のようにしたくなり、skew(歪み)、を変更、以下のようにしました。
・collision shape の skew を変更、平行四辺形のような形状にする
想定としては、長方形の時同様、上記の平行四辺形(collision shapeの形)のエリアに、プレイヤーのエリアが侵入したら、侵入検知用のスクリプトが反応する、と考えていました。
しかし、なぜか以下のような位置で、エリアが重複していない場所で、侵入が検知されてしまいます。
・skew変更による平行四辺形の場合、以下の位置で検知されてしまう
・skewを変更しない(0)長方形なら、以下のエリアが接触した位置で検知される
原因は不明なのですが、見た目と挙動が変わってしまうのは、困りますね・・・
area関連の処理が、反応しない位置で反応してしまうことがあったら、skew等、collision shapeのインスペクタの形状の設定を疑い、シンプルな初期設定に戻して、一旦テスト、原因を探るのが良いかもしれません。
コメント
コメントを投稿