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 ゲームのアイテムのための設定

やあ アイテムの設定 やあ メモだよ アイテムの設定 AHoge::AHoge() { SceneComp = CreateDefaultSubobject<USceneComponent>(TEXT("Scene Comp")); SetRootComponent(SceneComp); MeshComp = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("Mesh Comp")); MeshComp->SetupAttachment(SceneCom</ustaticmeshcomponent></uscenecomponent>…

Blenderで作ったアーマチュアつきのモデルをエクスポートしてUE4で使うまでのメモ

使用アドオン 超大事 Blender側で気にすること アニメーション ルートモーションをUE4で使う場合 マテリアルの再割り当てを行うと、ボーンコンストレイントが初期化される UE4側で気にすること アニメーション アニメーションが動かない場合 Tips 間違ってい…

UE4 浸食されるマテリアル

やあ 実装 結果 やあ 先月は初めてのエフェクトを作ったり、ゲームの制作を進めたり、いろいろしてたよ。 今回は、エフェクトを作っている時にできた浸食されるマテリアルを作るよ。 実装 浸食部分のみ。 それ以外はなにもやっていないので erodeの部分の値…

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 クロスシミュレーションを使うまでのメモ

やあ メモだよ まずクロスシミュレーションを使いたいSkeletal Meshアセットを開いて、 ウィンドウ->Clothingをクリック するとClothingタブが追加される 次に、ツールバーのセクション選択をクリック。 ビューポート上でクロスシミュレーションを使いたいオ…

UE4 クロスシミュレーションで衝突判定が起きなくて詰まってた話

やあ Blender上で作ったキャラクターをUE4にインポートして、クロスシミュレーションで服を動かそうとしたときの話。 ↓こんなかんじでキャラクターの足にコリジョンを入れていざシミュレーション! すると。 貫通してる!? 初めてクロスシミュレーションを使…

UE4 C++データテーブル

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

キャラモデル制作はじめ2

pto8913.hatenablog.com 前回屈辱を味わった僕は進化した。 1日かけて顔を作り! 1日かけて体を作り上げたのだ! 初めて(前回のことは忘れた)作ったにしてはよくできているんじゃあないか? 髪の毛とか追加したら多分人間ぽくなるはず。

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

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

キャラモデル作成はじめ

ゲームを作ってて、キャラクターのモデルも作りたいなぁ!?となって作ることにした。 3DCGソフトのことなにもわからないので、名前を聞いたことのあるBlenderを使ってやってみることにした。 ついったーで2.83のすかるぷてぃんぐがやべーみたいのを見て2.83…

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,…

UE4 SaveGame

※ セーブやロードの誤ったやりかたを書いていたので書きなおしました。2021/06/24 間違ってるところがあったら教えてください。 環境 注意点 セーブ/ロードのやりかた 非同期セーブ/ロード セーブ/ロード完了時のイベントの登録 環境 ・UE 4.26.2 注意点 UE4…

UE4 UAnimNotifyを継承したクラス上で何かをスポーンしようと思ったときに詰まったこと

UAnimNotifyクラスを継承したクラス上で、通知を受け取ったら何かをスポーンする。という感じの処理をしようと思ったときに詰まったこと。 UAnimNotifyクラスにGetWorldがあるので、それを使って UWorld* world = GetWorld(); world->SpawnActor<hoge>(hoge); こん</hoge>…

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

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

UE4 BPを開いても何も表示されない時

ちょっとC++でのキャラクターの動かし方見てみるか―と思い、FPSでプロジェクトを作成した。 BPはどうなってるんだろと思ってBPを確認すると・・・ 何もない;; なんでや!と試行錯誤してたら以下の方法で解決 メニューバーからウィンドウを選択 ウィンドウ…

UE4 ウィジェットのテキストを別のクラスから変える

良い例が思いつかなかったので、今回はキャラクターがジャンプしたら、 ウィジェット上にJumpと表示するようにします。 キャラクターの体力などを表示する。みたいな状況で使える(UE4初心者並みの想像力) 一番下に全体図を置いているので、わかる人はそこま…

SQLiteでテーブルを削除してもファイル容量が減らない

SQLiteを使って遊んでいたときに気付いた。 これで解決 VACUUM VACUUMはファイルの容量によって、処理にかなり時間がかかるので注意。 pythonで書くと import sqlite3 conn = sqlite3.connect("test.db") conn.execute("VACUUM") メモなので

MSVC2019でSQLiteを使うまでのメモ

SQLite公式から 以下をダウンロードして展開 ダウンロードしたら 展開したフォルダの中身をプロジェクトの実行ファイルがある場所に移動してください 移動したらMSVCに移動して開発者コマンドプロンプトを開いてください 開いたら、プロジェクトの実行ファイ…