PaperSloth’s diary

主にゲーム開発関連についての記事を書きます。

UE4

UE4 Blueprintでdelegateを引数で使用する方法

環境 UE4.23.0 Delagateとは Blueprintから使用するDelegateではSetTimer by EventやEvent DispatcherにBindする際に使用するEvent等があります。 今回はSet Timer by Eventで例を作成していますが Event DIspatcherを使用した場合でも同様にBindすることが…

UE4 EditConditionsについて

環境 UE4.23.0 Visual Studio Community2017 EditConditionsについて EditConditions metadataはbool値によって任意のPropertyの編集を有効化/無効化する機能です。例 : 水泳可能フラグが有効なキャラクターのみ水泳速度を設定する場合 UPROPERTY(EditAnywhe…

UE4 MaterialのHierarchyの紹介

環境 UE4.23.0 Hierarchyボタンについて UE4.23からMaterial Editor, Material Instnce EditorにHierarchyボタンが追加されました。 Hierarychyボタンが追加されたのはMaterialで、Material Instanceには以前のバージョンからありました。 具体的なバージョ…

UE4 1フレーム処理をスキップさせる方法

環境 UE4.23.0 処理を1フレームスキップさせる方法 結論からいきましょう。 DelayノードをDuration 0で配置するだけで実装ができます。 実験その1 Sequence Sequenceノードは上から順に実行されていくものでしたね。 ここではThen 0で1フレーム後に"Delay"と…

UE4 Delay nodeと実行順序について

環境 : UE4.23.0目次 Delayの挙動のよくある勘違いについて ケース1 (Delay) ケース2 (Delay + Seqeuence) 処理を遅らせたい場合 -> Macroとして処理する Delayの挙動のよくある勘違いについて Delayを挟んだはずなのに何故か処理が遅れて実行されないという…

UE4 Includeファイルが認識されない場合の対処法

環境 UE4.23.0 Visual Studio 2017 Community Includeファイルがエラーになるケース/対処法 例えばキャラクターの生成時にNiagaraEffectをSpawnしたいケース 下記のようなコードを書いてみます。 // SandboxCharacter.h #pragma once #include "CoreMinimal.…

UE4 Oculus Go, Questの開発について

環境 UE4.22.2 Windows 10 Home Edition 環境 概要 Oculus Go/Quest向けのセットアップ Project側の設定を変更する HMDと接続して動かしてみる HMDをUSB接続せずにadbを用いてリモートで開発する 参考資料 概要 UE4のOculusGoとOculus Quest向けのTemplateを…

UE4 Niagaraリンク集

概要 いくつかNiagaraの素晴らしい情報が増えてきたので、まとめました。 まとめただけです。 私の書いた古いNiagara記事へのアクセスが多く それではこれから学ぶ人にとってあまりにも不便だと思ったので書きました。 目次 公式ドキュメント Content Exampl…

UE4 Blueprintで2次元配列を作成する方法

環境 UE4.22.2 Blueprintでの2次元配列の作成方法 先に結論だけを書くと 配列を持った構造体を用意 その構造体を配列で定義 上記の2ステップでできます。 コードで示すと下記になります。 USTRUCT(BlueprintType) struct FIntArrayElement { GENERATED_USTRU…

UE4 Unreal C++でのEnumとStringの変換について

環境 UE4.20.3 Visual Studio 2017 CommunityUnreal C++でのenumについてはこちら papersloth.hatenablog.com Enumから文字列への変換 先ずは列挙型の宣言と定義から。 UENUM(BlueprintType) enum class EConnectionType : uint8 { Multicast, Unicast, NUM …

UE4 PluginのHotReloadについて

環境 UE4.22.1 Visual Studio 2017 Community 概要 通常のProject同様にEditorからCompileボタンを押してHotReload! というわけにはいかず悩んだ人もいるかもしれないと思ったのでメモ書きを残しておきます。 PluginのHotReloadについて まず、EditorにあるC…

UE4 JsonFileの読み込みについて

環境 UE4.20.3 Visual Studio 2017 Community Windows10 概要 とりあえずでこのリポジトリに突っ込んでるJsonLoad関数を文字に書き起こしただけの備忘録です。 github.comUE4のゲーム実行時のオプションやプロパティ等を外部ファイルで編集したいとか 用途は…

UE4 Editorでの動画像の撮影について

UE4

環境 UE4.20.3 Windows10 概要 SNSやHP等で制作中のスクリーンショットをアップすることはよくありますね。 その中でEditor上でスクリーンショットを撮影される方も多いでしょう。 ですが、せっかくの良いゲームなのに デバッグログが出ていたりEditorOnlyの…

UE4 C++でfpsを取得する方法について

環境 FPSの取得、あるいは計算方法 stat fpsで表示される値 C++側でのfpsの取得について この記事は「Unreal Engine 4 (UE4) Advent Calendar 2018」16日目の記事です。 Unreal Engine 4 (UE4) Advent Calendar 2018 - Qiita 環境 UE4.20.3 FPSの取得、ある…

UE4 Actor間の距離の取得について

環境 距離の計算方法 Get ** Distance To GetDistanceTo GetHorizontalDistanceTo GetVerticalDistanceTo GetSquaredDistanceTo 環境 UE4.20.3 距離の計算方法 数学的な計算方法は調べれば沢山出てくるので割愛してUE4での使い方の話をします。C++側であれば…

UE4 昔ながらのSkydomeを使う

UE4

環境 SkydomeまたはSkyboxについて Skydomeを使う方法 Meshについて Materialについて Materialについて(単色表現) Skydomeを回転させたい場合 CubeMapの変換 CubeMap→2DTexture 2DTexture→CubeMap その他 環境 UE4.20.3 SkydomeまたはSkyboxについて ステー…

UE4 不要なComponentを継承先で作成させない方法

環境 ・Unreal Engine4.20.3 不要なComponentを継承先で作成させない方法 例えばCharacterクラスを継承したいけど、Skeletal Meshを使用しないためMeshを継承させたくない場合愚直に実装をするとctor内でこう書くと思います。 AExampleCharacter::AExampleCh…

UE4 無駄なTickを省く方法

環境 Tickが動作しているActor一覧の確認 Tickを止める方法 ①Blueprintの場合 ②C++の場合 追記 参考資料 環境 ・Unreal Engine4.20.3 Tickが動作しているActor一覧の確認 Console Commandの「dumpticks」でTickが動作しているActorやComponentの一覧が取得で…

UE4 Characterの多段ジャンプについて

環境 多段ジャンプの実装方法 環境 ・Unreal Engine4.20.3 多段ジャンプの実装方法 Characterクラス内に「Jump Max Hold Time」と「Jump Max Count」というパラメーターがある。 GitHubのログを見た限りではUE4.2の頃からあるようだ。 CharacterMovementComp…

UE4 C++でTimerを使用した処理の書き方

環境 SetTimer by Eventについて Unreal C++での実装について FTimerManagerについて SetTimerについて タイマーの停止、再開について タイマーの終了処理について 引数付きの関数を渡す場合について 参考資料 環境 ・Visual Studio Community 2017 ・Unreal…

VisualStudio UE4のCode Snippets登録について

環境 Code Snippetsについて UE4のCode Snippetsについて Code Snippetsのインポート方法 Code Snippetsの使い方 参考資料 環境 ・Visual Studio Community 2017 ・Unreal Engine4 git release branch(4.20.2) Code Snippetsについて 簡単に言ってしまうとよ…

UE4 UFUNCTIONの種類について

環境 概要 C++関数とBlueprintの連携について BlueprintCallable BlueprintPure BlueprintImplementableEvent BlueprintNativeEvent その他 Categoryの階層構造について 参照について 空のUFUNCION()について コードスニペットについて 参考資料 環境 ・Visu…

UE4 Fade処理について

環境 FadeIn, Outについて UE4での表現方法について FunctionLibraryに登録してFade終了後のCallback関数も登録可能にする まとめ 環境 UE4.19.2 FadeIn, Outについて FadeIn:画面が徐々に明るくなる演出 FadeOut:画面が徐々に暗くなる演出Level切替時やカ…

UE4 Logの収集について

UE4

環境 Logファイルの収集について 環境 UE4.19.1 Logファイルの収集について UE4でよく使うUE_LOGマクロ、PrintStringノードがありますね。 UE_LOG(LogTemp, Error, TEXT("Log message")); これらで出力したLogはSavedファイルに保存されます。 (ProjectDirec…

UE4 カスタムビルドエンジンの起動方法

UE4

環境 Editorのexeについて 環境 Unreal Engine (Git:4.19) Visual Studio 2017 Community Windows 10 Editorのexeについて エンジンビルドの方法についてはヒストリアさんのブログが参考になります。 [UE4] エンジンのソースコード取得とビルド手順のまとめ …

UE4 IDEの変更方法

環境 IDEの変更方法について 環境 UE4.19.1 Visual Studio 2017 Community IDEの変更方法について Unreal C++のIDEはMacではXCode, WindowsではVisual Studioを使用することが多いと思います。IDEの変更方法はEditor PreferencesのSource Codeから変更します…

UE4 C++でGameModeの初期化を行う方法

環境 GameModeで登録する初期値の初期化について 環境 UE4.19.1 Visual Studio 2015 Community GameModeで登録する初期値の初期化について ここの部分の初期化についてです。 C++で作成したGameModeBaseだと編集できないのですが Blueprintだと楽に編集がで…

UE4 C++で複数実行ピンの作成

環境 概要 enumを使った関数のおさらい enumを使った複数実行ピンの作成方法 簡単な応用 環境 UE4.19.1 Visual Studio 2015 Community 概要 いくつかやり方があって、今回は一番簡単でお手軽なenumを使ったやり方を紹介します。 enumを使った関数のおさらい …

UE4 SpawnActorDeferredについて

環境 SpawnActorについて SpawnActorDeferredについて 環境 UE4.19.0 Visual Studio Community 2015 SpawnActorについて SpawnActorを呼び出すにはWorld, 生成位置、回転情報、名前や所有者の登録等のオプションが必要になります。 #include "Engine/World.h…

UE4 C++でのExposeOnSpawnについて

環境 Expose On Spawnとは 環境 UE4.19.0 Visual Studio Community 2015 Expose On Spawnとは Spawn Actor from ClassでActorをSpawnする際に初期化できる変数のことです。 Blueprintで設定する際は下図のように設定を行います。 Expose on Spawnにチェック…