3人称視点のアクションゲームを制作している者です
AddActorLocalOffsetとAddActorLocalRotationを使って、初期バイオハザードにあるようなラジコン操作を作ることが出来たのですが、Character Movementの設定が反映されません
AddMovementInputを使えば反映されることが分かり、それを使って設定しようと考えたのですが、今度はラジコン操作にする方法が分からず、困っています……
どなたか回答お願いします!
「初期バイオハザードにあるようなラジコン操作」のニュアンスが少し分かり辛いので、参考になる動画などのリンクを添付して頂けますとイメージしやすいです。具体的に「どのような操作(入力)を行ったときにどうなって欲しい(出力)か」が知りたいです。
CharacterMovementの設定が反映されないのは、AddActorLocalOffset、AddActorLocalRotationを使用されていることによるかと思われます。これはActor自体に作用するものであるため、CharacterMovementComponentの効果が反映されません。よってCharacterMovementの設定を反映される場合はAddMovementInputやAddControllerYawInputを使用すべきかと思います。これらはThirdPersonのサンプルから参考にできます。
不明点がありましたら続けて質問してください:)
すみませんが参考になる動画が見当たらないので、文章での説明になりますが大丈夫ですかね?
十字キーの左右で旋回して向きを変え、十字キーの上でキャラクターの向いている方向に前進するという操作方法です
上には書いていなかったのですが、私が制作しているのはプレイヤーが2人のゲームなのですが、AddControllerYawInputを使った設定をしてみたところ、片方のプレイヤーが動かした結果がもう片方にも反映されてしまうようになりました
AddMovementInputによる前進はそれぞれ別で出来るのですが、AddControllerYawInputの部分だけ一緒に動いてしまうのです
どうすればよいでしょうか?
内容把握しました。
プレイヤーが2人というのはマルチプレイでしょうか?それとも1人で2キャラを操作するものでしょうか?
AddMovementInputによる操作は上手くいってるようですので、AddControllerYawInputも同様にそれぞれのキャラに対して正しく制御できていれば問題は解決しそうですね。AddControllerYawInputの制御を行っている箇所のBlueprintを添付して頂けますでしょうか?
提示して頂いたBlueprintと同じ接続をしましたが、AddControllerYawInputはそれぞれ別に動きました。同じキーが割当てられていたりしないでしょうか?
キーの割り当ては問題ないです
2Pはカメラだけが動いて移動方向が変わらない状態になっているので、AddControllerYawInput自体は動いていると思うのですが、移動方向は1Pによる操作が反映されてしまっている状態です(いちいち情報を小出しにして申し訳ないです……)
返答が遅くなってしまい申し訳ありません。
GetPlayerPawnをGetControlRotationに接続して動作をご確認頂けますでしょうか?
こちらこそ遅くなってすみません。無事に解決しました。ご回答ありがとうございました!
解決できたようで良かったです。
本件解決済みでしたら、お手数ですが質問票を解決済みにチェックしてクローズして下さい。宜しくお願いします。
https://answers.unrealengine.com/static/how-to-use-answerhub.html