UnrealEngine/覚書/入力を取ってキャラを動かしたやつをデバッグ


ブループリントのデバッグ

まずはデバッグしたいブループリントを開く。
今回はまずキャラクターのブループリントから調査するのでMyCharacterのブループリントを開く。
開いたらゲームプレイを開始。
プレイを開始するとブループリントのデバッグフィルターの所で対象のオブジェクトが選択できるできるようになるので選択する。
そしたらあとはこれと同じ。

最初この通りやろうとしたらデバッグフィルターの選択ができなかったのだが、プレイを開始していない状態だとそもそもキャラクターがレベル上に存在していなかったため。
プレイと同時にレベル上にキャラクターが出現するので、そこで初めてデバッグフィルターでオブジェクトを選択できるようになる。

で、「脈動してるワイヤー」を追った結果、まずジャンプしてもアニメーションに反映されなかった原因が判明。
それは、とある箇所でワイヤーが繋がっていなかったからでした。これはイージーミス。

次は素早く2回伏せボタンを押すと、立ちから伏せへのアニメーション(もしくは伏せから立ちへのアニメーション)が延々再生されることのデバッグ。
これは恐らくキャラクターの状態としては立ち状態になっているのに、アニメーションの状態としては伏せ状態になっていて齟齬が生じているからだと思われる。

まずはこの時にアニメーションがどうなっているのかを見るため、MyAnimationBlueprintを開く。
アニムグラフのタブを選択しておき、プレイを開始してデバッグフィルターを設定。
そして伏せボタンを2回押すと、どうやらStand_To_Proneの所から次に遷移しないことが問題のようだ。

Stand_To_ProneからProne_Idleに遷移する条件はIsProneがtrueであることとStand_To_Proneのアニメーション終了まで0.1秒以内であるということだが、伏せボタンを2回押すとIsProneがfalseになってしまってアニメーションが遷移しない。

そもそもここでIsProneを判定しなくてもそのまま時間経過で伏せ状態に遷移して良いと思われるので、遷移ルールからIsProneの判定を抜いて対応。

ちなみにこれだと立ち状態に遷移する前に移動ができてしまうが、この際そこは気にしないことにする。

次にしゃがみ移動がなんかガクガクになってしまう件を調査。
これもMyAnimationBlueprintのアニムグラフを表示して見た所、Crouch_BSとWalk_BSの間を行ったり来たりしていることが分かった。
恐らく遷移条件が間違っているのだろうと思って調べてみると、案の定Crouch_BSからWalk_BSへの遷移条件の所でNot Equalの箇所にチェックが入っていない所があり、これを直すことで無事修正が完了した。

最後に後退時にちょっと左を向いている件については、MyAnimationBlueprintのGetActorRotationをウォッチしていたら移動に合わせて角度が変化していることが確認できた。
なんか余計なことをしているなぁという感じだったが、そういえばMyCharacterBlueprintの時にいろいろ余計なチェックを入れたような記憶を思い出す。
案の定調べてみたらCharacterMovementのOrient Rotation to Movementが、加速度に応じて回転を変化させるという機能だった。
恐らくこれが悪さをしているのだろうということでチェックを外して無事解決。




  • 最終更新:2016-02-12 19:04:29

このWIKIを編集するにはパスワード入力が必要です

認証パスワード