概要
この記事は私が躓いた当たり判定についての備忘録です。
2022夏のRuby合宿にて今回のゲームを作成しました。
作ったゲームのリポジトリはこちらです。初対面のメンバー4人でチーム開発&初めてGit,Github使って開発しました。
使用した技術はRuby, mittsuライブラリです。
自分は当たり判定を主に担当しましたので、当たり判定で困っている方の助けになれば嬉しいです。
アイデア出し含む制作期間は4日です
この記事で伝えたいこと
当たり判定で躓いてからどのように修正したのかの思考過程
ゲームの概要
3Dぴんぽんバトル
Install
depends on Ruby 2.x, Mittsu, OpenGL 3.3+, and GLFW 3.1.x
Mittsu:https://github.com/danini-the-panini/mittsu
ゲーム内容
3D空間で卓球をします。
勝利条件:4点先取
操作方法
space:スタート&リスタート
左ラケット
W:上移動
A:左移動
S:下移動
D:右移動
右ラケット
↑:上移動
←:左移動
↓:下移動
→:右移動
デモ動画です。
苦労したポイント
- 当たり判定
初め、板の中心とボールの中心との距離で判別していたため板の中心にしか当たり判定がなかった。
かといって当たり判定をデカくしすぎると違和感しかない。なのでラケットの後ろに当たり判定用の物体を生成してそれとボールの距離で判別することにした。
ただ、どれくらい後ろに置けばよいのかわからん。なので公式(?)を作ってみた
実装してみるといい感じになったので合ってそう
ただ、これだとまだ問題があって
角に判定がないので大きめに判定をすることでごまかしました(ガバ)
感想
公式作ってるおかげでボール・ラケットを大きくしても当たり判定が正常に動作してくれるの嬉しかった
反省としては、mainファイルにいろんな機能を入れた結果読みづらいコードになった。なので次回以降は機能ごとに別ファイルにまとめることを意識してコーディングしていこうかなと
影つけるだけでカクついたので今度はRubyじゃなくてUnityでゲーム開発しようと思います。
チームメンバーのみなさま本当にありがとうございました。