UE4のビークルユーザーガイド
( Unreal Engine での Vehicles の設定方法 | Unreal Engine 5.2 ドキュメント )を
見ながら車を動かしてみようと思ったのですが、タイヤはWASDで回ってくれるのですが、その場で回るだけで、
前方、または後方に何かが当たっているかのように動いてくれません。
前進または後進(W,S)を押しているのに、そのまま横に滑っていくこともあります。
また、車体も球、またはカプセル型のコリジョンがついているかのように、その場で傾いてしまいます。
Physics アセットがおかしいのかと思い、ルートボーンのPhisicsをキネマティックに変えてみたところ、
斜めに傾くことはなくなりましたが、依然進むことは出来ず、UE4に元々ついているビークルと見比べてみると、
ルートボーンのPhisicsはデフォルトであるところから、やはりデフォルトであると判断しました。
BPなども見比べてみましたが、私では不具合は見つけられませんでした。
モデル自体はBlenderで作成、セットアップまでしました。
何かわかる方いらっしゃれば、知恵をお貸しいただけると幸いです。
前進、または後進しない問題は解決しました。
Blenderからエクスポートする際、車体の向きが Y方向に向いており、UE4にインポートしてから向きを90度変えてX方向に向くようにしていたのですが、そのせいで前進したくても前には進めず、横に流れていく(本来の<前>に向かって動く)というようなことになっていたようです。
検証が甘くて申し訳ありませんでした。
ただ、相変わらず動きは不安定で、フィジックスの重心の位置など変えてはみてるのですが、ぐらぐらしてしまいます。 何かわかる方いらっしゃれば教えていただけるとありがたいです。
以前同様の問題に遭遇したことがあります。
BlenderとUE4では座標系が違うために前後に進めなくなる問題は解決できたようでなによりです。
次の問題として、動きが不安定であるというのが具体的にどういう状態なのかがもうひとつ分かりません。もしかするとコリジョンの問題かもしれませんので、表示メッシュとコリジョン(実際の物理挙動をするphysicalボディ)の状況を確認していただけないでしょうか。
不安定な動きの件ですが、前述の一枚目のように、車全体にカプセル型の大きなコリジョンが設定してあるかのような感じで、ころん、と転げてしまったり、前進すると前につんのめるように車体が傾いたり、後進すると後ろに引っ張られるような感じで車体が沈んだりします。
とりあえず重心を低めに設定することで、それらは大分緩和されたのですが、完全には直らず…
物理挙動をするphysicalボディ、というのがどのことを指しているのかがいまいちわからず…BPの方のものでしょうか?BPのほうではコリジョンは設定しておらず、オブジェクトはメッシュとカメラのみです。
また、メッシュ自体はきちんと地面に接しているのに、プレイするとタイヤが少し浮いてしまっているので、やはりコリジョンが何か設定されててそれでおかしいのかなと思います…が、どこでどう設定したのか、した覚えもないのですが…
いい加減な情報ばかりですみません。
PAVI_PAVI
(PAVI_PAVI)
5
恐らく Kanianthi さんが仰られているphysicalボディは「Physics Asset」だと思います。
車の挙動がおかしかったり、プレイ時にタイヤが浮いたりしているので原因はPhysics Assetにあるかもしれません。
Vehicleサンプルにある Sedan_PhysicsAsset や Vehicle Advanced テンプレートの VehiclePhysicsAsset と saorinnnnn さんのPhysicsAssetを見比べてみると原因が特定しやすくなると思います。
PAVI_PAVI
(PAVI_PAVI)
6
プロジェクトをアップしてもらうことは可能でしょうか?
こちらでもsaorinnnnnさんのプロジェクトが手元にあればより詳細な調査が出来ます。
ご指摘ありがとうございます。
Sedan_PhysicsAssetやVehiclePhysicsAssetと見比べてみましたが、特に違うところも見つけられず…両方ともほぼデフォルトのままのようなので、自分で作ってみた方も、特にコリジョンを追加するぐらいしかやっていなかったので、そんなに違いは無いはず…と思います。
色々ご意見ありがとうございます。自分でも色々いじってみます。
様からすでにご指摘いただきましたが、ぼくが言いたかったのはPhysics Assetのことで間違いありません。用語を混乱させて申し訳ありませんでした。
BlenderとUE4連携はぼくもずっと取り組んでいますが座標系や単位の違いなどでかなり悩まされる局面がありますね。さてアップしていただいた画像を拝見する限り、たしかにメッシュとPhysical Assetの関係は適切であるように見えます。ということはどこか「見えない部分」に何かが潜んでいるのでしょうが、考えられる原因としてBlender側でメッシュやボーンにトランスフォームが入ってしまっていること、が考えられます。
特に、デルタトランスフォーム(差分)が入っているのは一見するだけでは分かりにくいので、一度確認してみることをお勧めします。
皆様色々とご意見ありがとうございます。
恐らくはKanianthiさんの仰る通り、Blenderの方での処理に問題がありそうなのですが、Blenderのこと自体をあまりよくわかっていないまま作業しているので、現状よくわからないという感じです…。Blenderについて質問するのはここでは不適切かと思いますので、またそちらで進展あればここに追記する形をとらせていただきます。
また、 様にプロジェクトのアップロードを提案してもらいましたので、こちらに上げさせていただきます。
http://fast-uploader.com/file/7074667482165/
プロジェクトファイルを見ていただいて、それでも問題が見つからないようであればBlenderの方での処理に問題があるということがわかるかと思います。その際はいったんこちらの質問は消すなりそのままにしておくなりまた対応を考えます。
ありがとうございます!出来ました!!!
デバッグというかコンソールコマンドの使い方からまず勉強し直してきます…すみませんでした。
ありがとうございました。
PAVI_PAVI
(PAVI_PAVI)
11
よろしければ、以下のリンクを参考に回答済みとしてマークしていただければ助かります!
Answerhub クイックスタートヘルプ日本語訳
PAVI_PAVI
(PAVI_PAVI)
12
コンソールを起動し showdebug vehicle でデバッグ表示させて見たところVehicle Wheelのコリジョン位置が妙な所にありました。
前進・後退すると車体が変に傾いていたのはWheelのコリジョン位置が原因だと思います。
VehicleMovementコンポーネント の Wheel Setups でコリジョン位置を良い感じの位置に調整したところ車体が傾くような事は無くなりました。