ぷちこん開発メモ
ぷちこんで開発したゲームの開発過程でのノウハウメモ。
備忘録的なものになっています。
UEの使用バージョンはUE5 5.0.0 Early Access 2
アクタに、C++でコンポーネントを追加したい。
CreateDefaultSubobjectを利用する。(UnityでいうAddComponent)
さらに、SetupAttachmentでRootComponentを指定することで
ルートコンポーネントの子として、持たせることが出来る。
変数をC++で定義して、Editor上で利用できるようにしたい。
Editor上で表示させるためには、UPROPERTYをつける必要がある。
UMGで追加したオブジェクトをC++で制御する
例えば、HPのゲージ(ProgressBar)をUMGで追加した後
C++側で制御するためには、BindWidgetを使う。
UUserWidgetをC++で利用するためのモジュール追加
上記のC++側での制御のために
UUserWidgetをC++で呼び出すためには
エラー解消のためモジュールを追加する必要があった。
プロジェクト名.Build.csが、そのモジュールを追加するファイルに該当する。
AIPreceptionのデバッグ
実行中のAIデバッグは「「'」(アポストロフィ) キー」を押すのだが
日本語キーボートだと、ProjectSettings→GamePlayDebuggerから
別のキーを割り当てる必要がある。
ユニットが射出した弾の軌道計算に使った関数
以下のBP関数を利用して軌跡計算が可能
suggest projectile velocity
Suggest Projectile Velocityなんていう強烈なブループリントノードがある事を始めて知る。発射位置と到達位置とプロパティを入力するといい感じに速度(Velocity)を弾きだしてくれる。#UE4Study pic.twitter.com/wn7GXRYIYv
— alwei (@aizen76) 2015年4月26日
Predict Projectile Path By ObjectType
AI Taskに引数を渡す
TaskにBlackBoardKey型の変数を作成する
変数のDetailsのInstance Editableにチェックを入れる(外から見える設定)
BehaviourTree上で引数指定が行えるようになる。
ブレークポイントを利用してデバッグする
エンジン側のコードをデバッグするなら、シンボルのインストールが必要。
ブレークポイント使うときはDebug Game Editor。
Spawnしたアクタが動かない時があった
プロジェクト設定をオーバーライドしたい
UDeveloperSettingsを利用して、自信のプロジェクト用に設定を拡張できる
UE5でつまったこと
・UE5でのOGGインポートエラー
自分が使ったバージョンでは
【Error: Unrecognized sound format 'ogg'】
とのことで、oggファイルが取り込めなかった。
WAVファイル以外取り込めないっぽい?
UE4とのコード差分を見ると
Wavへの変換コードがUE5から取り除かれている模様
(SoundFileIOのConvertAudioToWav関数)