Unreal Engine 4 で乗り物が作りたいと思うけど、ビークルテンプレートって4輪車しか作れなくね?
と思ったときに、装甲車みたいな6輪駆動車や戦車、バイクの様な2輪車はどうやって作るのだろうか。。
よし今日は寝よう。
となりがちな僕のような人のために、やっぱもう少しやってくか。。となる
きっかけになればいいなと思い、ビークルのムーブメントコンポーネントについて浅く紹介できれば。。
といった内容の記事です。
この記事を作る上で使用したEngineバージョンは4.21.1です。
#ビークルテンプレート!
セダンやトラックなど、4輪車なら何の問題もなくテンプレートで動いてくれます。
しかし世の中にはシューターで戦車使いたい人や、欧州市場狙いでバイクを作りたい人も
まあいるのではないかと思います。
そんな時、何となくビークルテンプレートのセダンBPを複製してメッシュを変え、
Vehicle Movementコンポーネントのホイールの設定(配列に4つの設定が入っているはず)を
増やしたり、減らしたりしてプレイしてみると。。
はい動きません。
となって、なんでやねん!と思った人もいる事でしょう。
はい。ホイール設定は4つでないと動きません。これはプログラム的な仕様です。
(WheeledVehicleMovementComponent4WクラスのSetupVehicleDrive関数で、はじかれます)
頑張ってテンプレートで使われているコンポーネントで、いろんな工夫をして何とかする方法も
あるのかもしれないのですが、この先の内容を読んでいただき、なにとぞ検討願います。
#いまある機能で作る!
これは、SimpleWheeledVehicleMovementComponentを使えば作れます。
このコンポーネントの使い方は、公式のドキュメントにもあります。
Simple Wheeled Vehicle Movement コンポーネント
このコンポーネントを使えばホイールの数をN個に設定できるので、設定して後はホイールを回せばOKです。
さすがUnreal Engine、超簡単ですね。
ただしこのコンポーネント、名前にSimpleとある通り普段ビークルテンプレートで使っているものと違って
エンジンやギアの設定がありません。ですのでアクセルやスロットルの操作で進んで、ブレーキで止まる。
バックするといった機能もありません。
ですので動くだけでよいならいいのですが、車としての挙動を求めるなら色々と工夫が必要になります。
ブループリント等で何とかフォローできないこともないのですが、なかなかどうして真に迫るのは大変です。1
手っ取り早くN輪車を動かしたいなら必要十分ですし、対応も非常に簡単なので
まず試しに使ってみるのが良いと思います。
#いまない機能で作る!
やっぱり、ない機能は作るに限りますよねー。
どうやらUnreal Engine 4の機能ではなくてその向こう側、PhysX側の機能を使ってやれば。。出来ないこともない?
という話になるのですが、これが中々と簡単ではありません。でした。。
出来ればこの投稿で簡単な概要だけでもと考えてはいたのですが、ちょっと時間が足りなくなってしまいました。
休みのうちに計画を立てて、この辺りまとめて投稿できればと考えていますので、今しばらく時間をください。。
また、ストアでプラグインが売っています。2 お急ぎの方は購入をご検討ください。
#さいごに
僕自身まだまだビークルに対する愛と理解と技術と諸々と、そしてなによりも速さが足りておらず。。
精進を重ねて、次回にはもう少し役に立つ話が速く出来たらなと思う今日この頃です。