当たり判定
当たり判定(英:Collision Detection, Hit Box)とは、ブロックに対する通り抜けの有無やプレイヤー/ブロックに対する攻撃/破壊/設置の可能性の判定、ドロップアイテムを拾得できるかどうかといった、対象の存在の有無に関する判定のこと。
概要[編集 | ソースを編集]
ブロックに対する跳ね返り/通り抜け[編集 | ソースを編集]
ブロックに対する通り抜けは、フルブロックである場合は当たり判定が存在するため通り抜けられないが、フルブロックでない場合は当たり判定が存在する場合と存在しない場合が存在し、当たり判定はブロックの見た目に依存せず、当たり判定が存在する場合はブロックで満たされていない空間にも跳ね返りが存在する。
エンティティどうしのぶつかり[編集 | ソースを編集]
プレイヤーに向かって攻撃力のある投擲物を投げつけて、その当たり判定どうしが接触すると、プレイヤーはダメージを食らう。ファイヤーボールの当たり判定は見た目と比べて少しだけ小さく、実際にはプレイヤーに擦れているように見えても接触したと見なされないことがある。
プレイヤー/ブロックに対する操作[編集 | ソースを編集]
プレイヤーやブロックに対する操作は、対象に十字カーソルを合わせることで操作を行う場合に、十字カーソルの先に対象があるかどうかで判定する。ただし、Bloxdでは全てのブロックが1立方メートル立方体のセルとして扱われる。例えば、花には多くのすき間があり、その真下のブロックに照準を合わせることはできるが、花を破壊することなくそのブロックを破壊することはできない。なお、重なり合ったプレイヤーに対して攻撃した場合は、必ず1プレイヤーのみがダメージを受ける。
ドロップアイテム[編集 | ソースを編集]
ドロップアイテムの当たり判定は、ドロップアイテムに近づいて拾うことができる場合に、ドロップアイテムの当たり判定とプレイヤーが接触したといえる。
技術的情報[編集 | ソースを編集]
当たり判定の存在するブロック[編集 | ソースを編集]
当たり判定の存在するブロックには、アイテムの情報としてsolidの値が指定されていない。
solid: undefined
当たり判定の存在しないブロック[編集 | ソースを編集]
フルブロックでないブロックの内、当たり判定のないブロックにはアイテムの情報として、
solid: !1
が渡されている。