#memo

indiedev太郎

ヘッドショット判定とる

https://i.gyazo.com/958fc4263bcb3d9f6eb0065a15bf9544.gif

UE4のアップデートが来るたびにカテゴリが無限に増えてゆく

FPSのS廻りの実装は全くやってなかったので、とりあえず弾の発射とヘッドショットの判定くらいは作っておく

・プレイヤーの銃が弾をSpawn
・弾はSphereCollisionがある
・弾はHit先にイベントをCallする

弾自体の処理は簡単に上程度にしておいて、衝突部位ごとにバリエーションがほしいので、ヘッドショットとか取れるようにしたい
ヘッドショット判定用のCollisionはPhysicsBody側でボーンごとに作ったものを使用する

https://i.gyazo.com/124c4c1712e5cafc31acad3f55b8d398.png

厳密な衝突判定つくりたいならもうちょっとちゃんと作りこむ、このやり方だとベースメッシュの方使ってComplexな判定取れるかはわからない

このときCharacter本体のカプセルコリジョンが邪魔になるので、弾用の新しいCollision Responseを用意する
プロジェクト設定のEngineのCollisionから新しくBulletレスポンスを作成する、弾のCollisionObjectTypeをBullet
にして、キャラクターのカプセルコリジョンではBulletをIgnoreにする(CollisionのプリセットにあるPawnを直接変更したほうが早い)

するとBulletはPawnを無視してPhysicsBodyと衝突してくれるので、BoneNameから部位が取れる