皆さん初めまして、キンシコウです!
蒸し暑くなってきた中、いかがお過ごしですか?
アプリとNintendo Switchで年間数えきれないほどのゲームをリリースしている弊社。
どれもこれも、プレイしていて笑顔になる、面白いゲームばかりですが……
ーー気になりませんか? その面白さを作る、ちょっとしたひと工夫が。
という事でこれから、弊社から過去にリリースした作品の中から選んで
ゲームをグッと面白くする『隠し味』をコッソリご紹介。
皆さんのゲーム制作ライフに役立てば幸いです!
初回となる今回の作品はコチラ!
ドローンを操作して気持ちよく空を滑空するレースゲーム
Xシリーズ第2弾、HYPER DRONE X!!
あの気持ちイイ滑空はどのようにして実現されていたのか
ゲームの裏側を、ちょっとだけ覗いてみましょう。
今回の目次
Unity界イチのじゃじゃ馬『Rigidbody』の御し方
レースゲームを作るにあたって一番大事で、一番調整が難しいモノ。
それは、レースを走る車(今回はドローンですが)の物理挙動!
その調整はさながらじゃじゃ馬を御すが如し。
パラメータをたった0.1調整しただけで暴れまくる車…
調整を繰り返せば繰り返すほど、何が正解なのかわからなくなってきます。
特に空を滑空するドローンとなると、なおさら調整が大変です。
そんなじゃじゃ馬『Rigidbody』の弊社における設定事例をご紹介。
HYPER DRONE Xのドローンはこのような設定で飛ばしていました。
Mass(質量):1=1kg
Drag(抗力):0.1=地面などに落ちると緩やかに減速
Angular Drag(回転時の空気抵抗):2=少し回りにくい。着陸時の暴走を防ぐため
Freeze Rotation:X,Y,ZともにON、滑空時の暴走を防ぐため
全体的に物理挙動が暴走させないための制御をメインとした調整です。
ドローンの操作は別スクリプトを独自に書いて制御しているので
Rigidbodyそのものの暴走によるおかしな挙動を防ぐ必要がありました。
Rigidbodyを御する手綱『Physic Material』
物理挙動の調整をするとき、もう一人の調整役がいるのをご存じですか?
Rigidbodyの調整だけではなんだか違和感が残るとき大活躍する調整役
それが『Physic Material』。各種コライダーにアタッチすることで使用し
アタッチされたオブジェクトの物理的材質を設定してくれます。
これを設定することで、摩擦や跳ね返りの細かい設定が出来るため
Rigidbody単体で設定するより幅広い表現が可能となるのです!
さて、そんなRigidbodyの頼れる手綱『Physic Material』は
HYPER DRONE Xではどのような設定がされているのでしょうか。
Dynamic Friction(移動時摩擦), Static Friction(静止時摩擦), Bounciness(跳ね返り)
全て0。飛び立つときに摩擦があっては飛びにくいからです。
Friction Combine, Bounce Combine(衝突があった時どちらを優先するか)
全てMinimum。衝突したオブジェクトの設定によって挙動がおかしくならないようにするためです。
ドローンの移動をスムーズにするため、摩擦や跳ね返りは完全になくしました。
これがあることで、床に引っかかって飛べなくなるなどの現象を防ぐのです。
最後に
今回は、HYPER DRONE XにおけるRigidbodyおよび関連コンポーネントの設定を
ご紹介しました。その設定の難しさから冒頭で『じゃじゃ馬』と表現しましたが、
その難しさがあるからこそ意外な発見が奥深さを出して楽しいのです。
じゃじゃ馬もしっかり馴らせば良き相棒となり得るように
設定の難しいRigidbodyもポイントをしっかり押さえれば、ゲーム体験の手助けをする良き相棒となってくれることでしょう。
さあ、皆さんもお手元のUnityを開いて…お宅のじゃじゃ馬と仲良くなりましょう!
以上、キンシコウがお届けしました。