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になる
- https://answers.unrealengine.com/questions/706685/actorcomponent-none.html
- クラス名変更とかするとコンパイル通っても変数がNoneになる謎のバグがあるから変数名を変える
- コンパイル1回通して変数名戻したら成功した、昔から放置されてる
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で対応済み