VRテンプレートを使用してキャラクターブループリントを作成しTouchコントローラやゲームパッドでキャラクターを操作したいのですが、ボタンマッピングやブループリントなどを一通り設定しても対象のアクターが操作できません。
ブループリントの詳細のInputのAuto Receive InputもPlayer 0に設定しているのですが反応がありません。
因や解決方法などご存知でしたらご教授願えませんでしょうか?
VRテンプレートを使用してキャラクターブループリントを作成しTouchコントローラやゲームパッドでキャラクターを操作したいのですが、ボタンマッピングやブループリントなどを一通り設定しても対象のアクターが操作できません。
ブループリントの詳細のInputのAuto Receive InputもPlayer 0に設定しているのですが反応がありません。
因や解決方法などご存知でしたらご教授願えませんでしょうか?
VRテンプレートに標準装備されている、テレポートによる移動は正常に動作しているでしょうか?
最初のマップではなく、
コンテンツ → VirtualRealityBP → Maps → MotionController
のマップを開いて、
プレイボタンの設定(ActivePlayMode)をVRプレビューに設定すると、
左スティックか右スティックを押し込んでから倒すことでテレポートが出来るはずです。
VRプレビューでないとOculusTouchは反応しないようです。
もしテレポートが正常で、VRプレビューにもしていて、自作の移動部分だけが上手くいかないということだと、
原因の特定がむずかしそうです。
プロジェクトデータか、移動処理のブループリントの画面を添付してもらえば、わかるかもしれません。
お答えいただきありがとうございます。
申し訳ないのですが、私の言葉足らずでうまく伝わっていなかったようなので改めて説明させていただきたいと思います。
VRテンプレートを用いてHMD Locomotion PawnやMotion Controller Pawnとは別で作成したCharacterクラスのBPを動かしたいのですが反応がないのです。
調べてみたところどうもマッピングしたイベントの呼び出し自体が行われていないようなのです。
また、プレビューはVRプレビューに設定してあり、Motion Controllerのテレポート機能は正常に機能しています。
最終的にはOculus Touchとゲームパッドを併用するところまで持っていきたいのですが、アドバイスなどいただけませんでしょうか?
仰っていただいた通り動かしたいアクターのブループリントの画像も添付しておきましたので、何かお心当たりなどあればお教えいただければ幸いです。
元々ある MotionControllerPawn を消さずに、自作のCharactorを追加していて、
その両方でInputイベントを受け取りたいということでしょうか?
これはVRとは直接関係ない仕様の問題で、
複数のPawnで同じコントローラーIDの入力を受け付けないようです。
CharacterもPawnを継承してるので同じ扱いだと思います。
Auto Receive Inputも無効です。 Actorにしか使えないようです。
英語の投稿ですが、同じ問題についての話がありました。
Auto Possess Playerなどで設定すれば、自作Characterのコントロールは可能になるはずですが、
代わりにMotionControllerPawn の方は操作が効かなくなります。
このケースの場合、MotionControllerPawn の中に添付画像のブループリント部分を追加して、
そこから別の場所にあるCharacterを動かす設計にするのがいいと思います。
MotionControllerPawnの中からCharacterをgetする方法はいくつかありますが、
例えばMotionControllerPawnの中にCharacter型の変数を追加して、
変数の横にある目が開いた状態(パブリック)にして、
エディタ上で設定するなどが考えられます。
ありがとうございます。
いろいろ試してみた結果、とりあえずキャラクターはゲームパッドで動かす方向にすることしたのですが、今度はゲームパッドのほうの入力が可能になるとTouchコントローラーのボタン入力などが効かなくなりました。また、カメラもキャラクターのほうに追従するようになり、遠くでMotion Controller の手のモデルが動いているという状況になっております。
おそらくキャラクターのほうにのみボタン入力が有効になっているものと思うのですが、キャラクター毎に(Pawnごとに?)コントローラを割り振ることはできるのでしょうか?
複数つないであるゲームパッドを、それぞれ別のポーンに割り振るというのはできます。
http://unrealengine.hatenablog.com/entry/2015/01/27/223857
通信対戦の場合でも、それぞれ別に割り振ることが可能です。
ただOculusRiftとゲームパッドを別々割り振れるかという点についてはわからないです。
unaunagiさん、お返事遅くなってしまいすみません。
いただいたアドバイス等もとにいろいろ試してみましたところ、とりあえずMotion Controller Pawnのほうからイベントディスパッチャを使う方法をとることにしたいと思います。
いろいろとご教授いただきありがとうございました!
Avg920 様
こちらの投稿については、既に問題が解決済のように見受けられますが、数日間の間に投稿が無かったことから追跡目的で解決済みとしました。問題が解決しましたらAnswerhub クイックスタートヘルプ日本語訳に従い、質問票を更新していただけますと幸いです。
よろしくお願いします。