UE4-Study

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

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

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

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

UE4 レベルからレベルにイベントを送る方法

やあ WorldCompositionを使ってて、サブレベルのLevelBounds内にプレイヤーが入った時に、空やフォグの設定を変えたいなーって思ったときによくわからなかったので、調べてみた。 準備 レベルを用意。 今回はトリガーにキャラクターがオーバーラップしたらイ…

UE4 WorldCompositionのレベルの高さを変えたい

やあ WorldCompositionで作ったレベルのZ座標が気に食わなくて、Z座標を変えようと思ったときに、LandscapeStreamingProxyやLevelBoundsのZ座標を変える方法がわかりにくかったのでメモしておくよ。 やる レベル管理タブでレベルを選択。 レベル管理タブがな…

UE4 NiagaraのLOD?

やあ レベルに置いた滝の煙が遠くから見えてしまっていたので、NiagaraにLODがあるか調べた結果、Scalabilityにたどり着いた。 やる Emitter Stateの下にあるScalabilityです。 1. Scalability Modeをselfにする。 2. Enable Distance Cullingを有効化。 カ…

UE4 Waterプラグインが動いてうれしい

やあ Waterプラグイン入れたのはいいものの、海や湖など、レベルに配置しても何も表示されなくて困ってたのが解決した話だよ。 環境 UE4.26.0 WorldCompositionを使ってるよ。 動くようになるまでにやったこと レベル上にあるLandscapeアクターの編集レイヤ…

UE4 splineあくたー

やあ レベルデザインで、道を作るのにLandscape Splineを使おうと思ったら、凹んだメッシュでは衝突判定が起きないことが分かったのでsplineアクターでやることにしたよ。

UE4 UMG WBPをWBPに直接配置するとオブジェクトの数が増える話

やあ 調べ方が悪いんだろうけど、調べてもなにも情報が出てこなかったのでメモしておく。 使ったプロジェクト github.com 問題 例えば、UserWidgetから継承したクラス、WBP_CustomButtonとWBP_ChoiceUIがあったとする。 このWBP_ChoiceUIにWBP_CustomButton…

UE4 C++ GameplayAbilitySystemを勉強していくPart.3-4 GameplayEffectExectuionCalculation

やあ GameplayEffectExectuionCalculationについてのメモ 以下GEECと略します。 間違ってるところなどあれば教えてください。 目次 やあ 目次 キャプチャするAttribute キャプチャするAttributeの宣言 キャプチャするAttributeをGEECの内部で処理できるよう…

UE4 C++ TSoftClassPtr(TObjectPtr)のメモ

やあ メモなので期待しないでください。 一部、感想や想像が含まれます FStreamableManagerの宣言場所 ・SingletonやGameInstanceなど、値を永続的に保持する場所で宣言する。 レベル遷移中のアセットの読み込みとかそのキャンセルをするときに、そういった…

UE4 UIの端だけにフェード処理を掛ける

やあ UIの端っこだけフェードアウトしたいなーって思って作ったよ。 フェード処理をするためのマテリアル 線形グラデーションを掛け合わせて左右(上下)にかけてグラデーションさせてるだけ。 このマテリアルを右クリックしてインスタンスにしておくとパラメ…

UE4 Niagara scale

やあ Niagaraで作ったエフェクトの大きさ変更する方法を書いておくよ。 ユーザーパラメータで拡大縮小する ユーザーパラメータにfloat値のパラメータを作成。 パラメータを掛ける。 エディタから値を変える BPから値を変える トランスフォームの値で拡大縮小…

UE4 Niagara LockAxis

パラメータのパーティクル属性にSpriteFacingを追加。 パラメータに追加したSpriteFacingをパーティクル更新にドラッグアンドドロップ。 レンダリングをクリックして、FacingModeをCustomFacingVectorに設定。 パーティクル更新に追加したSpriteFacingをいじ…

UE4 C++ GameplayTagが追加/削除されたときに処理をする方法

やあ やる おまけ。GameplayEffectが適用/削除されたときに処理をしたい場合。 やあ 制作中のゲームで状態異常を実装しようと思ったときに、どうすればいいんだーってAbilitySystemComponentのソースを読んでたらタグが追加/削除されたときに処理ができるの…

UE4 GameplayTagが追加/削除されたときにイベントを受け取って処理をしたいときに見るメモ

目次 目次 やあ 環境 実装? おまけ(GameplayEffectを適用したときに適用した相手にタグを追加したい) やあ 攻撃されて毒になったり、混乱状態になったりとしたいときに、GameplayTagが追加されたらエフェクトをだして、GameplayTagが削除されたらエフェクト…

UE4 GameplayEffectが適用された/削除されたときになにかしたいときに見るメモ

目次 目次 やあ 環境 内容 やあ GameplayEffectが適用された/削除されたときになにかしたいなーって思って。 環境 UE 4.25.0 内容 hoge.h /* 自分にGameplayEffectが適用されたときに呼ばれる関数 */ UFUNCTION(BlueprintCallable) virtual void OnAppliedGa…

UE4 C++ BTTaskのTickTaskを走らせる方法

目次 目次 やあ 環境 実装 やあ メモだよ 環境 ・UE4.25.0 実装 BT_T_Hoge.h // Copyright(C)write by pto8913. 2020. All Rights Reserved. #pragma once #include "CoreMinimal.h" #include "BehaviorTree/Tasks/BTTask_BlackboardBase.h" #include "BT_…

UE4 アニムグラフからAnimNotifyを飛ばす方法

目次 目次 やあ 環境 やる ステートマシンからAnimNotifyを飛ばす場合 ステート開始イベントからAnimNotifyを飛ばしてみる ステート離脱イベントからAnimNotifyを飛ばしてみる ステートブレンド完了イベントからAnimNotifyを飛ばしてみる トランジションイベ…

UE4 OnOverlapイベントからHitResultを受け取りたいときに見るメモ

やあ やるだけです やあ 敵キャラを攻撃したときや、攻撃されたときに、攻撃された向きでリアクションを変えようと思っていたんだ。 だけど、OverlapイベントからHitResultを取得できるのは、オーバーラップしたアクターが動いてるもの(SweepがTrueの時)?だ…

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

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

UE4 どの方向から攻撃されたかを調べる方法

やあ 概要 実装 やあ タイトルの通りだよ。 もっといい方法があれば教えてください。 BPで書いてもいいけどノードをつなぐのが面倒だったので、C++で書いたよ。 概要 キャラクターのCapsuleComponentのRightVectorをDotProductしてDegAsinした結果と、同じく…

UE4 ポーションを入れたガラスに透過処理したくない時に使うマテリアル

やあ 結果 実装 簡単な説明 やあ キャラクタモデルが持つかばんにポーションをくっつけたいなって思って、ポーションをつくったんだけど、 こういった小物?に透過処理を使うのは無駄な処理な気がしたから、代替マテリアルを作ったよ。 全然難しいことはして…

UE4 AsyncLoadPrimaryAssetでアセットをロードしてもコンプリートイベントが呼ばれない

やあ チェックすること ロードしようとしているアセットがすでにロード 対処法 AssetManagerに登録されてない 対処法 やあ AssetManagerを使ってレベルストリーミングを高速化しようとした時に、 AsyncLoadPrimaryAssetでレベルを読み込んでCompletedイベン…

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