読者です 読者をやめる 読者になる 読者になる

妹でもわかるUnrealEngine4

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

OpenAssetOrgのアセットで2Dゲームを作る⑦ タイルマップへのあたり判定設置

「せっかく壁があるのに矢が貫通してしまうので、コリジョンを設置する。タイルセットにはコリジョンの作成機能があるので、それを使うのが一番簡単」

docs.unrealengine.com

「だいたいここに書いてある通りにやるだけでいい」

f:id:una_unagi:20170102212753p:plain

「そのタイルを選択した状態で、AddBoxボタンを押すと、タイル全体を覆うような四角形のコリジョンが作成される。タイルセット側はこれでOK」

f:id:una_unagi:20170102213113p:plain

「レベル上に設置してあるタイルマップの方も調整する。ビューポートにある表示メニューで、CollisionをOnにしておくとわかりやすいんだけど、タイルセットで設定した形のコリジョンに、指定しただけの厚みを付けてくれる。表示の関係でY軸がずれてもコリジョンに当たるようになる」

妹「これ2Dなのに、Use3DPhysicsの設定でいいの?」

「うん。さっきのドキュメントにも書いてあるんだけど、2Dって設定すると動かない場合がある。っていうか動かなかった。アップデートで2D専用のコリジョンが追加されれば変わると思う」

f:id:una_unagi:20170102213528p:plain

「矢と壁のコリジョン設定が上手くいけば、矢が壁にあたる。今回はMovementComponentでBounceに設定してるから、当たった時に反射するけど、Hitイベントで消滅させるのでもいい」

妹「なんか、ところどころ変な形の矢があるね。矢が短かったりとか」

「あー、反射した時に3D方向にずれたんだろうね。壁とぶつかった時か、いまは矢と矢もぶつかる状態だからそっちのせいかもしれない。回転しちゃいけない軸が回転してる。これも調整しないといけない」