【UE4】トラブルシューティング的な何か

UE4を使ってて行き詰まったところをまとめただけ

ブループリント関連

AI MoveTo使用時、目的地に達しているのにOn Successが呼ばれない
  • Acceptance Radius(目的地の有効半径)が狭すぎると呼ばれにくいので値を増やして遊びをもたせる

レンダリング関連

PostProcessVolumeにBlendablesがない
  • 名称がPostProcessMaterialsに変わっている

C++関連(UE4

コンパイルしたらクラッシュ。その後、プロジェクト立ち上げると無限クラッシュ
  • 99%コードが悪いので見直す。クラッシュレポートに該当行数が書いてある(大半の原因がメモリアクセスエラー)
  • そのまま起動してもビルドされないので'Binaries\Win64'にあるdllを消してプロジェクトを起動するとリビルドできる。VSからのビルドでも可?(VSCode使用してるので不明)
  • とりあえずプロジェクトを起動したいなら'Binaries\Win64'の最新dllを消してバックアップのdllに置き換える。末尾に番号付いてるのがバックアップ
CreateDefaultSubobjectでコンポーネント生成してBP上で参照しようとすると変数の中身がNoneになる

Gameplay Ability System関連

クールタイムの設定がうまくいかない
  • Cooldown用Gameplay Ability BPの設定が正しいことを確認する
    • Duration Policyは"Has Duration"になっており、Duration Magnitudeに秒数が設定されていること
  • Gameplay Ability BPの設定が正しいことを確認する
    • Cooldown GameplayにCooldown用BPが設定されていること
    • イベントグラフにCommitAbilityノードが含まれていること
  • Try Activate Ability by Classノードの戻り値を見ていることを確認する
    • クールタイム中の場合、falseが返ってくるので確認しないと無条件で発動できてしまう

過去の不具合

VSCodeでインテリセンスが機能しない (4.25)
  • バグで'.vscode\c_cpp_properties.json'のdefinesの中身が空っぽなのが原因
  • https://cdn.fs.teachablecdn.com/5GuRLyP1QtGXtVRTS6Cp definesをこれに置き換えて、下3行のMyProjectをプロジェクト名に置き換える
  • プロジェクトファイル再生成するたびに作業が必要になる
  • 4.26で対応済み