■コライダーを二つ持たせる
今回は空からアイテムが降ってくるようにした。この場合、
物理挙動用のコライダーと、プレイヤーとの
接触判定用のコライダーの二つを持たせる必要がある。(公式チュートリアルのSurvival Shooterを参考にした)
- 物理挙動用コライダー
- 床をすり抜けないようにするためのコライダー
- よってIsTriggerにはチェックを入れないし、RigidBodyのIsKinematicにもチェックを入れることはできない
- このコライダーがプレイヤーにぶつかるほど大きいと、アイテムを取れなくなったり、壁に体を押し付けるような不快な挙動になる
- 落下はするが、他のコライダーにぶつかって倒れたり転がっていくことは望んでいないため、RigidBodyのConstrainsはY以外フリーズしてある
- ただ、「条件を満たしていないため取れないアイテム」を再現したい場合、この接触判定が残るのでイマイチ。IsTriggerにチェックを入れて、スクリプトで床を判定させたほうがいいかもしれない。
- 接触判定用コライダー
- プレイヤーとの接触判定用のコライダー
- プレイヤーがこのコライダーの内部に入ったとき、アイテム取得の処理をしたいのでIsTriggerにチェックを入れる
■スクリプト(コインのプレハブにアタッチ)
- 色々とアイテムを作ったが、ここではゲームの肝であるコインについて紹介
- コインのプレハブには、子オブジェクトにパーティクルシステムを持たせている
- Startで取得できるキャラをランダムで決定し、そのキャラに対応してパーティクルの色を変更している
- ステージ上にはアイテムのスポーンポイントが4つある。アイテムを生成できる数に上限を設けたかったので、アイテムとスポーン管理クラスは紐付けしている。
0 件のコメント:
コメントを投稿