乗り物に乗ったり降りたり

ゲームが始まると、目の前に並んでいる乗り物(トロッコ列車や、車やバックホウ)などに乗りこみ、乗り込んだもので走らすことができるというものを作りたいのですが、乗り物に乗るや降りるというやり方を調べておりましたが、見つけられずにいます。
Thired person のテンプレートを使うので、グレーの人間を乗り降りさせたいと考えています。
どのようにすれば作成できるかご教授願えますでしょうか?
参考になるものでも問題ありません。

車両への乗り降りを実現するには Player Controller の ** Un Possessノード ** と ** Possessノード ** を使えば実現出来ると思います。
手順として

  1. Third Person Characterブループリントにて「車両乗り込みキー」が押されたら近くにあるVehicleを探す
  2. Un PossessノードでThird Person CharacterとPlayer Controllerとの接続を解除する
  3. Possessノードで乗り込むVehicleとPlayer Controllerと接続する

といった感じになると思います。

車両から降りる場合の手順は乗り込む場合とほぼ同じです。

返信くださいまして有難うございます。
実際に試す時間が遅くなって、返信遅れてしまいすみません。

実際にやってみたのですが、分からないことがありましたので、質問をさせていただければと思います。
初歩的な内容になってしまうかと思いますが、ご教示のほどお願いいたします。

質問1
サンプルで載せていただいたものですが、ThirdPersonのテンプレートにVehcleを追加するということで大丈夫でしょうか?

質問2
乗り込むキーが押されたらのノードのEvent IGet in Out Car Pressedと
降りるキーが押されたノードのEvent IGet in Out Car Pressedですが
カスタムイベントでしょうか?検索しても見つけられませんでした。

質問3
乗り込むキーが押されたらのノードのEvent IGet in Out Car Pressedと
降りるキーが押されたノードのEvent IGet in Out Car Pressedですが
ともにThirdPersonCharacterのブループリントに作成するということでしょうか?

質問4
Cast to BP_Controllrable VehcleノードとCast BP_Player Pawnノードはどこからきたのでしょうか?
検索でCast toで検索しても見つけられませんでした。
自分で作成するブループリントでしょうか?その場合、親クラスは何か?また、イベントグラフなどに中身はどのような処理を作っていますか?

答え1. はい、その通りです。Third Personテンプレートで作成したプロジェクトでContent Browserの「Add Newボタン」をクリックして最上部にある「Add Feature or Content Pack…」をクリック、追加するテンプレート一覧が表示されるのでそこからVehicleテンプレートを選択して「+Add to Projectボタン」を押せば簡単に追加できます。

答え2. ご指摘の通り、Event IGet in Out Car Pressedは自分が追加したカスタムイベントです。正しく言えばブループリントインターフェースから継承したイベントとなります。
ここでは「降りるキーが押されたら」という処理をしているので、例えば「Eキーが押されたら」と読み替えても問題ありません。
全てのEvent IGet in Out Car PressedノードをEキー入力イベントに置き換えても問題なく動作します。

答え3. Sphere Overlap Actorsノードが呼ばれている方は「人型の操作キャラクターブループリント(例:Third Person Characterブループリント)」に作成してください。
Get Attached ActorsノードからFor Each Loop with Breakノードが呼ばれている方は「車両型の操作キャラクターブループリント(例:Sedanブループリント)」に作成してください。

答え4. BP_ControllrableVehicleもBP_PlayerPawnも自分で作成したブループリントになります。
BP_ControllrableVehicleはVehicleテンプレートにある「Sedanブループリント」を複製して名前を変更したものです。
BP_PlayerPawnも同様にThirdPersonテンプレートにある「ThirdPersonCharacterブループリント」を複製して名前を変更したものです。

ですのでBP_ControllrableVehicleのイベントグラフは複製元となるSedanブループリントとほぼ同一です。変更点は「降りるキー(例えばEキー)が押された時」の処理を追加しただけです。
BP_PlayerPawnも同じです。イベントグラフは複製元となるThirdPersonCharacterブループリントとほぼ同一で「乗るキー(例えばEキー)が押された時」の処理を追加しただけです。

返信いただきまして有り難うございます。
いただいた回答も含め再度やってみました。
車に乗ることはできたのですが、降りたり時に車の横ではなく、関係ない位置になってエラーが出てしまいました。
プレイヤースタート?の位置に降りているのか良くわからないですが、

レベルにプレイヤースタートとBP_playerpawn両方あるのがよくないのでしょうか。

BP_playerpawnをPlyer0にしています。

返信いただきまして有り難うございます。
いただいた回答も含め再度やってみました。
車に乗ることはできたのですが、降りたり時に車の横ではなく、関係ない位置になってエラーが出てしまいました。
プレイヤースタート?の位置に降りているのか良くわからないですが、

レベルにプレイヤースタートとBP_playerpawn両方あるのがよくないのでしょうか。

BP_playerpawnをPlyer0にしています。

すみません。降りる位置については説明していませんでした。

降りる位置はBP_ControllrableVehicleに追加した ** Scene Componentの位置 ** で決めています。

返信くださり有難うございます。
度々の詳しい説明ひじょうに感謝いたします。

降りる位置も追加して作業してみました。
車に乗るができ、さらに降りることもできました。
有難うございました。

乗る降りるの動きを何回かやっていて起きた現象と疑問に思うことがありました。誠に申し訳ありませんが、もう少しだけご教示ください。

■起きた現現象
車に乗って走っている最中に、急に降りるということをすると、車だけが走っていってしまいます。
スピードを落として止まるくらいで降りるということをすると車もほぼ止まっていました。
この動きは正常なのでしょうか?
急に降りても、車はその位置に止めておきたいということをしたい場合はどこの設定を変更すれが可能でしょうか?

■疑問に思うこと
車に乗った際にサードパーソンキャラクターが立った状態で乗り込んでいるかと思います。
乗った時に座席に座ったようにし、降りると元の立っているというようにできたらと思っています。
これはサードパーソンのAnim ClassにThirdPerson_AnimBP_Cというものが設定されているからでしょうか?
このThirdPerson_AnimBPともう1つ座るアニメーションを作成する必要があり、車に乗った時にそのアニメーションに切り替えるというようなことをする必要があるのでしょうか?
仮に切り替えるようであった場合、乗った時にアニメーションを切り替えるような処理はどのようにすれば実現可能なのでしょうか?

Q1. 「車に乗って走っている最中に、急に降りるということをすると、車だけが走っていってしまいます。」
A1. これは正常の動作です。エンジンが回転することで動力がタイヤに伝わり動くのですが現状ではエンジンの回転量を直接操作することが出来ません。
よって、ボタンひとつ(もしくはノード一つ)で車をピッタリ停止することは出来ません。
少し手順を踏む必要がありますが次のような形で ** ピッタリと停止しているように見せる **ことは出来ると思います。(これは ** 車両側のブループリントで書いています ** )

追加したTimelineの中身は、Timelineの長さを0.1秒間にしただけです。

上記の変更に伴い次の2つも追加・変更が必要です。

===========================================================

Q2. 乗った時に座席に座ったようにし、降りると元の立っているというようにできたらと思っています。
A2. これにはグレイマンの ** 車に座っているポーズ ** が必要です。
アニメーションの切り替えはアニメーションブループリント上で行ったほうが良いでしょう。例えば次のようになるかと思います。

度々の返信有難うございます。

急に車から降りると車だけ走っていってしまうというのは、正常な動きなのですね。
教えていただいノードを参考にやってみました。
ピッタリと停止しているように見せることができるとおっしゃっていた通り、ピッタリ停止したように見えます。
こちらの教えていただいた方法で違和感もありませんし、思ったようになっています。有難うございます。

アニメーションの方はまだやったことがありませんので、すぐに実行することが難しいと思います。
一度どのようなものなのかを少し勉強してから挑戦してみたいと思います。
せひ参考にさせていただきたいと思います。

最後にですが、すみません、車はサードパーソンが体当たりじゃないですが、乗ろうとしてドアの横にうまくいけなかった時に車が押せてしまいました。
サードパーソンの人間が車を押してしまうと動いてしまうのですね。
動かないようにできないかと詳細パネルを見ていましたが設定を見つけることができませんでした。

度々の質問にも丁寧かつ詳しく説明していただきまして、本当に有難うございました。
アニメーションに方でもまた質問することがあるかと思いますが、その際にはどうぞ宜しくお願い致します。

昨日作ったものを本日試していたところ、おかしな挙動をすることがありました。

車に乗る、降りる、車に乗る、降りると連続して何回かやってみたところ、乗っている位置がずれる、や乗ったとたんに人間が走っている時や歩いている時などになる時がありましたが、乗る位置に関してはMakeVectorで設定していたかと思います。
再度の質問になってしまって誠に申し訳ありませんが、この動きは正常なのでしょうか?