UE4-C++

UE4 C++ GameplayAbilitiesのAttributeSetをJsonに書き込んだり読み込んだり

やあ ゲームのセーブ、ロードの実装中にAttributeSetをJsonに保存したいなーって思って調べたよ。 前置き Json関連のものを使えるようにするためにモジュールを追加する。 PublicDependencyModuleNames.AddRange(new string[] { "Json", "JsonUtilities" });…

UE4 C++からアセットを作る

やあ データテーブルから大量のデータアセットを作ろうと思ったときに、面倒だったから自動化したいなーって思って調べてみたよ。 やあ 環境 準備 やる 新しいDataAssetFactoryクラス EditorUtilityWidgetクラスを作る おまけ BP版 環境 UE4.26.0 準備 C++の…

C++ 別ヘッダーファイルで宣言したテンプレート関数を呼ぶとリンカエラーになる

やあ C++なにもわからない僕が、親クラスと子クラスのヘッダーファイルを分け、親クラスでテンプレート関数を実装して、子クラスで呼び出そうとしたらリンカエラーが出たので、解決策をメモ。 やあ 状況例 解決策1 解決策2 参考 状況例 Parent.h class Paren…

UE4 C++ 特定の階層下のGameplayTagを判定する(ごり押し)

やあ やるだけです 汎用化?(引数にGameplayTagContainer) 汎用化?(引数にGamepalyTag) やあ タイトルの通りだよ。 特定のタグ階層下のGameplayAbilityが呼び出されたときに、処理をしようと思ったんだけど、MatchesAnyやMatchesAnyExactでは判定できなかっ…

UE4 C++ GameplayAbilitiesを勉強していくPart.5 AbilityTasks

やあ 前回 AbilityTasksについて AbilityTaskを自分で作る よく使う関数 デリゲートって? タスクの作成 アニメーションモンタージュを再生できるようにする タスクを実行できるようにする タスクが実行できているかテスト 再生するアニメーションモンタージ…

UE4 C++ GameplayAbilitiesを勉強していくPart.4 GameplayAbility

やあ 前回 GameplayAbilityについて GameplayAbilityの処理の流れ Tags Input Advanced Replication Policy Instancing Policy Server Respects Remote Ability Cancellation Retrigger Instanced Ability Net Execute Policy Net Security Policy GameplayA…

UE4 C++ GameplayAbilitiesを勉強していくPart.3-5 GameplayEffect GrantedAbilities

やあ 前回 GrantedAbilitiesについて Ability Level InputID Removal Policy 実際にGrantedAbilitiesを使ってみる GameplayAbilityのサブクラスを作成(超大事、どのくらい大事かというと☆100000000000個分) 3秒間スタミナが1秒毎に10ずつ減るGameplayEffect…

UE4 C++ GameplayAbilitiesを勉強していくPart.3-4 GameplayEffect Expiration

やあ 前回 Expirationについて Premature Expiration Effect Classes Routine Expiration Effect Class 実際にExpirationを使ってみる(Premature Expiration Effect Classes) GameplayEffectの作成 GameplayEffectを適用できるようにする テスト 実際にExpir…

UE4 C++ GameplayAbilitiesを勉強していくPart.3-3 GameplayEffect StackingとOverflow

やあ 前回 Stackingについて Stacking Type Stack Limit Count Stack Duration Refresh Policy Stack Period Reset Policy Stack Expiration Policy Overflowについて Overflow Effects Deny Overflow Application Clear Stack on Overflow よくわかんないか…

UE4 C++ GameplayAbilitiesを勉強していくPart.3-2 GameplayEffect コストとクールダウン

やあ 前回 GameplayEffect CostGameplayEffectについて 実際にCostGameplayEffectを使ってみる CostGameplayEffect用のGameplayEffectを作成 CostGameplayEffectを設定 テスト CooldownGameplayEffectについて 実際にCooldownGameplayEffectを使ってみる(簡…

UE4 C++ GameplayAbilitiesを勉強していくPart.3-1 GameplayEffect ModifierMagnitudeCalculationとExectuionCalculation

やあ 今回は、前回名前は出たけど触っていなかった、Modifier Magnitude CalculationとGameplay Effect Execution Calculationを例を交えて勉強するよ。 まぁ、細かいところの説明は前回で大体やったから、ほぼ例の実装だけどね。 間違いなどあれば教えてく…

UE4 C++ GameplayAbilitiesを勉強していくPart.2 AttributeSetとGameplayEffect

やあ 前回 Attributesとは BaseValueとCurrentValue AttributeSetとは AttributeSetの作成 AttributeSetの初期化 GameplayEffectsについて AttributeSetの値の初期化 GameplayEffectsの3つの持続時間 Modifier Operation Modifier Types 実際にAttributesを…

UE4 C++ GameplayAbilitiesを勉強していくPart.1

やあ セットアップ キャラクターを作る AbilitySystemComponentについて 初期化 アビリティをもたせる GameplayAbilityについて 初期化 ここまでの処理を試してみる 適当にアビリティをつくる キャラクターにアビリティを設定する GameplayTagsについて Game…

UE4 C++ コンポーネントのメモ

やあ こんなかんじのベースクラスがあったとします 子クラスでコンポーネントを生成しないようにする 子クラスのコンポーネントをコンポーネントの継承クラスにする やあ メモだよ こんなかんじのベースクラスがあったとします HogeBase.h UCLASS() class TE…

UE4 C++ InventorySystem Part.5 Equipment

やあ UE4 C++でインベントリシステムを作ろう! Part.5では、装備UIと装備の着脱をやるよ。 前回 pto8913.hatenablog.com Part.5の結果 目次 やあ 前回 Part.5の結果 目次 概要 装備UIの動作を考える 装備UIの動作の実装 装備の情報を保持する 装備UIの動作の…

UE4 C++ InventorySystem Part.4 HotBar

やあ UE4 C++でインベントリシステムを作ろう! Part.4では、ホットバーを作るよ。 前回 pto8913.hatenablog.com Part.4の結果 目次 やあ 前回 Part.4の結果 目次 ホットバーの動作を考える ホットバーの動作の実装 ホットバーを表示するためのUIを作成 ホッ…

UE4 C++ InventorySystem Part.3 Chest

やあ UE4 C++でインベントリシステムを作ろう! Part.3では、インベントリコンポーネントを持った、アイテムを作ってそれとやりとりできるようにするよ。 前回 pto8913.hatenablog.com Part.3の結果 目次 やあ 前回 Part.3の結果 目次 概要 宝箱の動作を考え…

UE4 C++ InventorySystem Part.2 Drag&Drop

やあ UE4 C++でインベントリシステムを作ろう! Part.2では、インベントリ内のアイテムをドラッグアンドドロップで移動できるようにするよ。 前回 pto8913.hatenablog.com Part.2の結果 目次 やあ 前回 Part.2の結果 目次 概要 スロットの動作を考える アイテ…

UE4 C++ InventorySystem Part.1

やあ UE4 C++でインベントリシステムを作ろう! Part.1ではアイテムを拾って表示するだけのインベントリを作るよー 正直UE4何もわからないしC++も何もわかってないのでこここうしたほうがいいとか、間違ってるところがあれば教えてくださると非常に助かります…

UE4 C++データテーブル

やあ やあ メモだよ 今回は、 ・C++上で作った構造体をエディタのDataTableから使う ・登録したデータをC++から使う をやるよ。 hoge.h #include "CoreMinimal.h" #include "Engine/DataTable.h" #include "hoge.generated.h" USTRUCT(BlueprintType) struct…

UE4 C++ Drag & Dropで詰まったところ

とりあえずまだ完成してないから詰まったところだけ書いておく。(書きかけ) 完成したら全体のコードとか載せた記事書きます。 ・OnMouseButtonDown()でオーバーライドしても呼び出されない FReply NativeOnMouseButtonDown(const FGeometry& InGeometry, con…

PythonからSQLite3に保存した画像をC++ OpenCVでdecode

タイトルの日本語わかりにくくない? ここでは画像はpng形式のものを使うことにします。適宜置き換えてください まずはPythonからsqlite3に画像を保存する。 import sqlite3 img_path = "hoge.png" # open image and write byte to blob with open(img_path,…

UE4C++ キャラクターの体力

こんなかんじでUMGを作る! グラフに移動して、UMGからPlayerBlueprintの変数を引っ張ってこられるようにする。 Character.hのpublic部分に変数を追加! Character.cppにこんなの書く! あとはなんか適当に体力をへらす処理を書いてこうじゃ! 終わり! 体力…