hitotake
(hitotake)
1
Pawnに設定されたキャラクタの角度を変更したいのですが、うまくいきません。
一人称のゲームでゲームパッドので操作に加えて特定のものをクリックすると、決まった場所、決まった角度でワープ(同じレベル内で瞬間移動)できたらと思うのですが、移動は出来ても角度はクリックする前の角度のままワープします。
クリックするとキャラクタの関数を呼び出し、そこにあるノードの角度に変更するというシンプルな方法にしています。
「この場所ではこの角度」と、決まった状態にしたいのですが・・。
ふつうのアクターの角度は少し扱えるようになりましたが、キャラクタの角度は何か特別な方法が必要なのでしょうか。
初心者ですので、恐縮ですが、なるべくシンプルな方法(できましたら変数なしで差分をプラスするなどもなしで純粋にその場所にとんだ時決まった角度になる方法)を教えていただけましたら幸いです。
お手数をおかけいたしますが、どうかよろしくお願いいたします。
LunaNelis
(ネリスさんMain)
2
PawnはActorを継承しているので、基本的に扱いは同じです
なのでSetActorRotationで通常問題ないのですが、FPSテンプレートの場合少し都合が変わりまして
FPSテンプレートのキャラクターはPlayerControllerのControlRotationの方向に常に従うという設定になっているため、回転の設定はPlayerControllerのSetControlRotationで行う必要があります。
この設定があるためSetActorRotationで回転を設定しても変わらないように感じたわけです。
hitotake
(hitotake)
3
ご返信、感謝いたします。
明解なお答えをいただき、実装できました!
セーブ、ロードにも反映されています。
本当にありがとうございます!
Yawがコントロールできれば満足!・・だったのですが、すみません、もう一つだけよろしいでしょうか。
欲が出てしまいPitchもコントロールしたいとおもい、MakeRotatorに-50と入れワープボタンを押すと、ちゃんと地面を見た状態で瞬間移動するのですが、ためしに他のレベルにいって帰ってをしてみると、セーブ、ロード機能でYawは反映され、Pitchは反映されずでした。
セーブは変数Rotatorを使用していると、3つの角度情報を格納してくれるとおもうのですが、Pitch
だけ反映されない原因でなにか推測されることなどございましたら、お教えいただけますでしょうか。
お手数をおかけいたしますこと、心苦しく思いますが、できましたらよろしくお願いいたします。
申しわけありません。
LunaNelis
(ネリスさんMain)
4
どのように実装されているかわからないため憶測でしかありませんが
・そもそもPitchが保存されていない
・PlayerControllerが正しく設定されていない
これだけの実装でも正しく反映できているので、問題が起きたときはまずはPrintStringで確認してみるのが先かと思います。
hitotake
(hitotake)
5
ご返信感謝いたします!
画像で教えていただくのは、とても分かりやすく有難いです。
本当にお手数をおかけいたしまして申し訳ありませんでした。さっそく教えていただいた部分を組み込み、勉強させていただこうと思います。
私用でお礼を申し上げるのが遅くなり、失礼いたしました。
本当にありがとうございました!
LunaNelis
(ネリスさんMain)
6
無事に解決できてよかったです。
解決済みの場合であれば以下の解決に沿って解決済みにしていただきたいです。
Answerhub クイックスタートヘルプ日本語訳: Answerhub クイックスタートヘルプ日本語訳 - AnswerHub - Unreal Engine Forums
よろしくお願いします。
hitotake
(hitotake)
7
大変失礼いたしました。Answerhub クイックスタートヘルプ日本語訳を見つけられておりませんでした。なにからなにまでお手数をおかけいたしまして、本当に申し訳ありません。
解決済みの操作をさせていただこうと思います。有難うございました。