2021-01-01から1年間の記事一覧

UE4 Blenderから持ってきたアニメーションの骨の位置がおかしくなる問題

やあ Blenderで作った特定のアニメーションを、UE4に持って行ったら、ルートの位置に腰が来てしまう問題が起きたんだ。 その原因と解決策がわかったっぽいのでメモとして残しておくよ。 環境 ・UE4.26.2 ・Blender2.91.2 実際に起こっている問題 左がアニメ…

UE4 PhysicsConstraintを使用したStaticMeshのSimulatePhysicsを切り替えると位置が戻る

やあ プレイヤーが押すと特定方向に動くアクターを作ってたら、 SimulatePhysicsを切り替えるとStaticMeshの位置が戻ってしまう現象が起きたんだ。 環境 UE4.26.2 問題が起こってた部分 SimulatePhysicsを有効にした後に、プレイヤーがアクターを押す方向に…

UE4 WorldCompositionのサブレベルでMoveToを使ったら動かなかった話

やあ World Compositionのサブレベルで、敵キャラクターを巡回させるためにMoveToを使ったら、全然移動しなくて1時間くらい悩んでたから、考えられる原因とその解決策を残しておくよ。 環境 UE4.26.2 考えられる原因 ・Navimesh Bounds Volumeを配置してない…

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

Blender 洞窟、木の簡単な作り方

やあ 洞窟と木、全然違うよで実は似ていると思いませんか? 僕は思いません。 準備 まず、Shift+AでSingle vertを追加します。 モディファイアーにスキンを追加 追加すると箱ができます。 モディファイア―にサブディビジョンサーフェイスを追加 追加するとち…

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のコンストラクタ/デストラクタが呼ばれるタイミング

やあ UMG(WidgetBlueprint)のコンストラクタが呼ばれるタイミングを調べてみたよ。 間違ってたら教えてください。 Constructの呼ばれるタイミング ウィジェットがViewportに追加されたときに呼ばれます。 こんな感じのWBPがある。 呼ばれる例 AddToViewport…

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

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

C++ 関数の配列

やあ 関数の配列ってどうやるんだろーって調べながら書いてみた。 間違ってるところとか、もっといい書き方あれば教えてください。 メンバ関数の配列 FuncArray.h #pragma once #include <vector> class FuncArray { public: FuncArray(); using PtoIntNoParamFunc =</vector>…

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

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

UE4 C++ TSoftClassPtr(TObjectPtr)のメモ

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

UE4 GameplayEffectを適用するだけのGameplayAbilityを実行してクラッシュするだけのおばかな話

エラーの内容 Assertion failed: Spec.Ability [File:D:/Build/++UE4/Sync/Engine/Plugins/Runtime/GameplayAbilities/Source/GameplayAbilities/Private/AbilitySystemComponent_Abilities.cpp] [Line: 250] めちゃくちゃどうでもいいことをだらだらと書い…