FPSゲーム制作キャラクターコントロールだけで衝突判定をする時
お久しぶりです。かてこです。久々にFPSゲーム制作をしています!今回は、ワープ機能を作ろうとしていて、プレイヤーがワープポイント1というタグがついたオブジェクトに触れたら、ワープポイント2にワープするという機能を作ろうと思ったのですが、プレイヤーにはコライダーがなく、キャラクターコントローラーしかついていない場合は、OnControllerColliderHitというメソッドが必要だという事がわかりました。
参考コード
//WarpPoint1というタグがついたオブジェクトに触れたら処理開始
private void OnControllerColliderHit(ControllerColliderHit hit)
{
// hit.colliderを使う。
//WarpPoint1というタグがついたオブジェクトに触れたら
if (hit.collider.CompareTag("WarpPoint1"))
{
Debug.Log("ワープポイント1に触った");
}
}
このように書くと、プレイヤーがキャラクターコントローラーのコンポーネントしかついていない場合でも、タグがついたオブジェクトを判定できます。
しかし、判定したいオブジェクトのコライダーがトリガーの場合は判定できない。さらに、キャラクターコントローラーだけで、トリガーのコライダーを判定するメソッドなどは調べてもないみたいだ…。今回は別に大丈夫だったが、他のゲームなどだと何かしらのめんどくさいことが起きるかもしれないが、とりあえず今日のメモはこれぐらいとします!
この記事が参加している募集
この記事が気に入ったらサポートをしてみませんか?