先日UE4をダウンロードし、ブログなどを参考にしながらUE4を触っているものです!
ローカルマルチプレイのゲームを制作していて、1Pはキーボード操作、2Pはゲームパッドで操作できるように設定したいと思っています。
ジャンプや移動などの操作は画像1のようにしてできたのですが、
画像1(ジャンプ処理)
画像2,3枚目の処理をキーボード操作とゲームパッド操作に分ける方法がわかりません。
画像1枚目の方法で設定可能でしたら、画像2,3枚目の処理に「Get Player Character」のReturn Valueをつなげる方法を教えていただけないでしょうか。
また、他に方法がありましたらそちらも教えていただきたいです、、、
初歩的な質問で申し訳ないですが、よろしくお願いします、、。
画像2(ダッシュの処理)
画像3(武器ごとのアニメーション切り替え処理)
tamfoi
(tamfoi)
2
JumpやStopJumpingのように関数を定義するとよいです。
Castするのは関数を定義したBPに読み替えてください。毎回Castするのは処理的に勿体無いのでBeginplayなどで変数に持たせて置くと更に良いと思います。
ありがとうございます。
コントローラーでの操作で2PもSprintできるようになったのですが、スピードが上がるだけでアニメーションは通常歩行時のままになってしまいます、、
原因が私にはわからないので何を参考に貼ればいいのかわからないですが、とりあえずアニメーションBPのssを貼らせていただきます、、
よろしくお願いします。
tamfoi
(tamfoi)
4
スプリントのフラグが経った時にモーションのplayrateを上げるか、別途用意したスプリント用のモーションに切り替えるかでしょうか。
Blendspaceを使っている場合はスプリント時の速度の位置(おそらくスプリント時が最速だと思うので最大の所)に別途用意したスプリント用のモーションを配置すると良いです。
ありがとうございます。
すみません、説明不足でした、、
スプリント用のモーションはもう用意してあり、キーボード操作の1Pはしっかりとモーションも速度も変わるようになっています。
ですが2Pをコントローラー操作でスプリントに設定したボタンを押すと、移動速度は上がるんですがモーションが通常歩行時のままなのです、、
解決策はありますでしょうか。 何度もすみません、、
宜しくお願いします。
tamfoi
(tamfoi)
6
なるほど勘違いしておりました。申し訳ありません。
移動速度自体は変わるということはCharacterBPの方は大丈夫として、
AnimationBPの方ですが上記のSSを見た限り怪しいなと思うのはCastの部分でしょうか、TryGetPawnOwnerで2Pの情報が取れていない可能性がありそうです(歩行モーションが流せているということはCast出来ている可能性の方が高そうですが
AnimationBP内のSpeed等は想定した値が出てきているか等も確認すると良いと思います
ありがとうございます。
一つ書き忘れましたが、2P用のコントローラー操作でスプリントのボタンを押すと2Pの速度が上がりますが、よく見ると1Pのキャラがスプリント用のモーションをしています、、。
2Pの情報取得方法、探してきます!
tamfoi
(tamfoi)
8
こちらで試してみた所TryGetPawnOwnerで2Pの情報は取れていました。
ステートマシンのトランジションルール等も確認すると良いかもしれません
ありがとうございます。
ステートマシンはこのようになっています。
tamfoi
(tamfoi)
10
SSを見た限りでは問題なさそうですね…
一応確認としてSprintやStopSprintの実装はどのようになっていますか
このようにしてあります、、。
よろしくお願いします。
tamfoi
(tamfoi)
12
1Pと2Pで関数が走ってしまっているのですね。そうなると関数を呼出している部分が気になります。
Targetが正しく繋がっていないのかもしれません
すみません、今画像のように追加したら、2Pでもスプリント用モーションが再生できました、、、。
ですがコントローラーの操作で、1Pまでスプリント用モーションをしてしまいます。解決法はありますでしょうか?