fc2ブログ

凛(kagring)のUE5/UE4とゲーム制作と雑記ブログ

2016 年から UE4 / 2021年から UE5 を触り始めました。勉強したもののメモ用ブログです。ゲーム制作に関するメモや雑記とか色々あります。C++ での Qt、Unity もほんの少しあります。

2015年12月 | ARCHIVE-SELECT | 2016年02月

| PAGE-SELECT |

≫ EDIT

UE4 エディタのビューポートのカメラ操作をMAYAに合わせる(Invert Middle Mouse Pan)

まずUE4のエディタを起動したときに、MAYAとカメラ操作がちょっと違って混乱したので
カメラ操作を合わせる方法を探してみました。

Twitterで教えてもらった方法がこちら。

■[Unreal]UE4のビューポート操作でミドルボタンでの移動方向を逆にする
http://d.hatena.ne.jp/toburau/20140917/1410969043

エディタの「編集」メニューにある「エディタの環境設定」を選んで
UE420160111_00

「カメラのパンを逆にする(Maya風)」というのにチェックをいれるだけです。
UE20160111_01.jpg

これでカメラの操作がMAYAと一致しました!
教えてくださった方ありがとうございます!

■4.26追記

4.26では「中央マウスパンを反転(Invert Middle Mouse Pan)」という項目になっているようです。
【UE4】マウス操作をMAYAに合わせる426_00

| UE4 | 21:41 | comments:0 | trackbacks:0 | TOP↑

≫ EDIT

UE5/UE4 記事目次

とりあえず「アンリアルエンジン(Unreal Engine)」のメモをまとめてみました!
少しでも UE5/UE4 でゲームを作ろうと思ってる人に役に立てればと思います。
いろいろ間違っていることもあるかもしれないので、その時は教えていただけると嬉しいです!

✔UE5(Unreal Engine 5)情報(以下)↓

■UE5(Unreal Engine 5)をはじめる
・Unreal Engine 5 のドキュメント
・Unreal Engine 5.0 リリース ノート
・Unreal Engine 5 への移行ガイド(TObjectPtr)
・Epic Developer Community
・[UE5] Unreal Engine 5の導入手順(historiaさん記事)
・【資料公開】「この夏、Unreal Engine 5を覚えよう!」 ゼロからUE習得までの道のりを示した講演動画・スライド・着手順チェックリストを公開!
・[UE4] [UE5] Cドライブを圧迫する原因を解消! VaultCache(保管庫)の保存先を変更しよう(historiaさん記事)
・UE5 UE4と重い部分を比較して軽量化してみる

■UE5(Unreal Engine 5)をはじめる(Early Access)
・Unreal Engine 5 早期アクセス(Early Access)
・UE5.0.0 の注意点いろいろ(5.0.0 現在)

■UE5(Unreal Engine 5)リリース情報
・「Unreal Engine 5」正式リリース情報まとめメモ
・[UE5] Unreal Engine 5 が正式リリース! “The State of Unreal 2022″の内容まとめ
・【UE5】正式リリースのUE5の気になる機能とチュートリアルまとめ
・Unreal Engine 5 の重要な変更点

■公式のイベントなどの動画やスライド資料
・[動画]:Unreal Engine JP(エピックゲームズジャパンのYouTubeアカウント)
・[動画]:UE5でのゲーム開発の流れのチュートリアル(Your First Game in UE5 | Tech Talk | State of Unreal 2022)
・[動画]:UE5の機能ガイド(Unreal Engine 5 Guided Tour | Feature Highlight | State of Unreal 2022)
・[動画]:UE4からUE5へのアップグレード方法チュートリアル(Upgrading your UE4 Project to UE5 | Feature Highlight | State of Unreal 2022)
・[動画]:UE5のCommon UI について(Lyra Cross-platform UI Development | Tech Talk | State of Unreal 2022)
・[動画]:UNREAL ENGINEでメッシュをMETAHUMANに変換する方法 | Unreal Engine
・[動画]:EGJオンラインラーニング「UE5でのアニメーションの流用方法について」
・[スライド]:エピックゲームズジャパン(エピックゲームズジャパンのスライド共有サービスのアカウント)
・[スライド]:Unreal Engine5 Lumenの仕組みと肝心なところ
・[公式サイト]:Unreal Engine のブランディング ガイドラインおよび商標の使用について
・[公式サイト]:Technical Guide To Linear Content Creation
・[公式サイト]:Lyra アニメーションを UE5 ゲームに適応する方法について
・[公式サイト]:GitHub 経由で Unreal Engine C++ ソースコードにアクセスする方法
・[公式サイト]:UE5のLumenに関するTips
・[公式サイト]:[UE4] 1ファイル(と関連しているアセット)だけをクックする
・[公式サイト]:アニメーション分野ガイド: リアルタイム制作チームのためのリソース(英語版)
・[イベント]:UNREAL FEST EXTREME 2022 SUMMER

■ドキュメントや技術関係のサイト
・[スライド]:株式会社ヒストリア(ヒストリアのスライド共有サービスのアカウント)
・UE5 ブループリントでツールをつくる本
・SteamにUE4のゲームをリリースする為の設定

■Unreal Engine以外の参考になりそうな情報
・[ネーミング]codic
・[アイコン作成]App Icon Resizer
・[論文]2Dの手描き風シェーダーをUnreal Engine上で構築する為の制作解説論文(Creating an automated material system for a highly illustrative art style in a game setting)
・Fog for Top-Down Games(rasie1's blog)
・Making WebGL Dance
・[リリース]Steamにアプリをだした時に躓いた所の備忘録
・Unity Unite Tokyo 2018
・今年もミクシィの22新卒技術研修の資料と動画を公開します!

■ドキュメントや技術関係の記事
・記事にする前のUE5/UE4技術メモ
・「UCharacterMovementComponent」の中身について
・UE5で削除された r.TonemapperFilm 0 の代替手法(ToneCurveAmount):Qiita
・「Unreal Engine 5.0」で mp4 ファイルが再生できない場合の対応(「FileMediaSource、Electra Media Player)
・複雑なマルチレイヤーのユーザー インターフェースを作成する「Common UI 」について(Common UI)
・[UE4] UE_LOGについてあれこれ(historiaさん記事)

■便利なプラグインやアセットや環境など
・[Lyra Starter Game]:シューターゲームのサンプルプロジェクト「Lyra Starter Game」
・[Stack’O’Bot]:Unreal Engine 5 早期アクセス向けのサンプル「Stack’O’Bot」
・[City サンプル]:「マトリックス(The Matrix Awakens: An Unreal Engine 5 Experience)」デモの街「City サンプル」
・[UE5] City Sampleのライティングをエディタ上で昼から夜に変える方法:Qiita
・[古代の谷]:UE5 の機能の実際の使い方のサンプル「古代の谷」
・[Meerkat デモ]:ファーとフェザーにおいてどの程度の詳細を実現できるか「Meerkat デモ」

■無料アセット情報
・[スタイライズドマテリアル]:「Stylized Materials Pack」
・[街並みの小道具]:「City Street Props」
・[高速道路用小道具]:「Freeway Props」
・[マンションテック小道具]:「Apartment Tech Props」
・2021/09 の無料マーケットプレイスコンテンツと永続コンテンツ(Procedural Building Generator | Master HiPoly)
・2021/10 の無料マーケットプレイスコンテンツと永続コンテンツ(無料の永続コンテンツはなし)
・2021/11 の無料マーケットプレイスコンテンツと永続コンテンツ(Polar Sci-Fi Facility | Julio Juarez)
・2021/12 の無料マーケットプレイスコンテンツと永続コンテンツ(Art, Fashion, Automotive Galleries and Showcases | Dekogon Studios、Kraken | PROTOFACTOR INC)
・2022/01 の無料マーケットプレイスコンテンツと永続コンテンツ(VisAI - Community | Visualistic Studios)
・2022/02 の無料マーケットプレイスコンテンツと永続コンテンツ(Assetsville Town | Assetsville)
・2022/03 の無料マーケットプレイスコンテンツと永続コンテンツ(Realistic Starter VFX Pack Vol 2 | FX Cat)
・2022/04 の無料マーケットプレイスコンテンツと永続コンテンツ(Realtime Archviz AssetPack - Bistro Restaurant Scene)
・2022/05 の無料マーケットプレイスコンテンツと永続コンテンツ(Commercial Long-Range Aircraft | attben)
・2022/06 の無料マーケットプレイスコンテンツと永続コンテンツ(Stylized Fantasy Provencal | StylArts)
・2022/07 の無料マーケットプレイスコンテンツと永続コンテンツ(Vehicle Variety Pack Volume 2 | Switchboard Studios)
・2022/08 の無料マーケットプレイスコンテンツと永続コンテンツ(Stylized Egypt | AleksandrIvanov)

■エディタ機能と環境設定
・いつでも呼び出せるコンテンツブラウザ「コンテンツドロワー(Content Drawer)」(Ctrl + Spaceキー)
・エディタをUE4のデフォルトのUIレイアウトに変更する(UE4クラシックレイアウト)
・エディタのカラーなどのテーマを変更する(Active Theme)
・デベロッパーズ(Developers)フォルダを表示する
・[UE4] Unityビルドシステム:historia さん

■BP(ブループリント)の使い方あれこれ
・ノード線のない場所にリルートノード(Reroute Node)を作成する(Add Reroute Node)

■BP(ブループリント)全般
・「Print String」や「Print Text」で同じ「Key」 を指定した文字列が多重に表示されないようにする(Print String、Print Text)
・BP(Blueprint)で構造体(USTRUCT)の特定のメンバ変数にだけ値をセットする(Set members in、Restore all strcture pins、Remove all other pins、Remove this struct Variable pin)
・同フレームでの実行順を遅らせたり次のフレームで処理を行う(Delay Until Next Tick、Delay)
・BPで連想配列型のMapノード(TMap)を使う(Add、Remove、Find、Keys、Values)
・「Float」型の値を一定数記録(サンプリング)してグラフで表示する(Debug Float History、Add Float History Sample、Draw Debug Float History Location、Draw Debug Float History Transform)

■ゲームへの実装
・独自のゲームインスタンス(GameInstance)を使えるようプロジェクトに設定する(Game Instance Class)
・独自のゲームモード(GameMode)を使えるようプロジェクトに設定する(Default GameMode)
・レベルインスタンス(Level Instance)を使ってサブレベル(Sub Level)の動的読み込みと同じような処理をする(Level Instance)
・カスタムコリジョンプリセットを追加して設定する(Collision、Preset)
・プレイヤーキャラクターを再配置(リスポーン)する(Restart Player、Restart Player at Player Start、Restart Player at Transform)
・アニメーションモンタージュ(Animation Montage)再生時のブレンド時間(Blend Time)を設定する(Blend In、Blend Out)
・BPでビューポート(Viewport)のサイズを取得する(GetViewportSize)
・BPでガベージコレクション(Garbage Collection)を強制的に実行する(Collect Garbage)

■AI(Artificial Intelligence)
・ビヘイビアツリー(Behavior Tree)の停止と再開(Stop Logic、Restart Logic)
・ビヘイビアツリー(Behavior Tree)を実行する(Run Behavior Tree)
・ビヘイビアツリー(Behavior Tree)のタスク(Task)の作成とビヘイビアツリー(Behavior Tree)へ設定をする(BTTask_BlueprintBase、Event Recieve Execute、FinishExecute)
・ビヘイビアツリー(Behavior Tree)のタスク(Task)の基本的なイベント処理と変数について(Event Recieve Execute、Event Recieve Tick、Event Recieve Abor、Finish Execute、Get AI Controller、Get Controlled Pawn)
・ビヘイビアツリー(Behavior Tree)のデコレーター(Decorator)を作成する(BTDecorator_BlueprintBase、Perform Condition Check)
・ナビゲーションメッシュ(Navi Mesh)を使った目的地への経路を取得する(Find Path to Actor Synchronously、Find Path to Location Synchronously)

■アニメーション(Animation Blueprints、State Machines、Transition Rule)
・アニメーションブループリント(Animation Blueprint)について
・アニメーションブループリント(Animation Blueprint)のサンプル
・アニメーションブループリント(Animation Blueprint)アセットを新しく作成する
・アクター(Actor)に対してアニメーションブループリント(Animation Blueprint)を設定して使えるようにする
・アニメーション(モーション)ファイルを他のスケルトンで使えるようにする(リターゲット)
・アニメーション ブループリント(Animation Blueprints)のステートマシン(State Machines)でアニメーション終了時に自動で次のステートに遷移する(Automatic Rule Based on Sequence Player in State)
・アニメーションブループリント(Animation Blueprints)とアニメーションシーケンス(Animation Sequences)でルートモーション(Root Motion)を有効化する(Enable Root Motion、Root Motion Mode、Root Motion from Everything)
・アニメーションBPで「Blend Poses By XXX」ノードを使う場合でアニメーション(Active Child Index)の切り替わり時にアニメーションがリセットされるようにする(Reset Chiuld on Activation、Blend Poses By int、Blend Poses By Enum、Active Child Index)

■UMG(Unreal Motion Graphics)
・UMGでラウンドボックス(Rounded Box)を使って描画する(Rounded Box、Half Height Fixed Radius、Radius、Draw As、Brush)
・BPでマウスカーソルの画像をUMGのウィジェット(Widget)に変更する(Set Mouse Cursor Widget)

■Gameplay Ability System
・[公式ドキュメント]:ゲームプレイ アビリティ システム(Gameplay Ability System)
・「Gameplay Ability System」を実装するためのメモ
・BPで「Gameplay Ability System」の「Gameplay Ability」を実行できるように登録する(GiveAbility、GameplayAbility)
・BPで「Gameplay Ability System」の「Gameplay Ability」を実行する(TryActivateAbility by Class、TryActivateAbility by Tag、GameplayAbility)
・C++で「Gameplay Ability System」をキャンセルする(UAbilitySystemComponent、CancelAllAbilities)

■Enhanced Input
・[公式ドキュメント]:Enhanced Input
・[公式ドキュメント]:Enhanced Input Binding With Gameplay Tags C++
・「Enhanced Input」で必要な「入力アクション(Input Action)」アセットを作成する(Input Action)
・「Enhanced Input」で必要な「入力マッピングコンテキスト(Input Mapping Context)」アセットを作成する(Input Mapping Context)
・C++で「Enhanced Input」をバインドするためにクラスとアセットを準備する(UInputAction、FGameplayTag、UDataAsset)

■Meta Sound
・「Meta Sound」で音声(Sound Wave)を再生する(Wave Player、Sound Wave)
・「Meta Sound」の「Meta Sound(Meta Sound ソース)」アセットのモノラル設定とステレオ設定を切り替えて再生する(Output Format)
・「Meta Sound」でループ位置などを指定して音声(Sound Wave)をイントロ的なループ再生する(Wave Player、Sound Wave)
・「Meta Sound」の「Meta Sound(Meta Sound ソース)」アセットをBPから再生する(Trigger、Execute Trigger Parameter)
・「Meta Sound」でラジオ風の音声を再生をする(One-Pole High Pass Filter、One-Pole Low Pass Filter、Bitcrusher、Noise、Mono Mixer (2))

■C++ 資料
・Unreal Engine 5 への移行ガイド(TObjectPtr)
・UE4 の C++ プログラミング入門
・C++ とブループリント
・コーディング規約
・文字列の取り扱い
・プロパティ(Properties)とプロパティ指定子(Property Specifiers)
・メタデータ指定子(Metadata Specifiers)
・Actor などの生成周りでのライフサイクルについて(Actor.h、Actor Lifecycle)

■C++(基礎)
・C++でクラス(Class)などを継承した新しいソースファイルを追加する
・C++でBPのノード処理と同じ処理を実装するために調べる(Goto Definition)
・C++でクラス(Class)を生成する(NewObject)
・C++でのクラス(UCLASS)や構造体(USTRUCT)でのメンバ変数の初期化タイミングについて
・C++でコンストラクタ(Constructor)内でクラス(Class)を生成する(FObjectInitializer::CreateDefaultSubobject)
・C++でのPROPERTY変数のポインタの扱いについて(TObjectPtr)
・C++におけるクラス(Class)、構造体(Struct)、列挙型(Enum)、変数、引数の命名規則(AActor、UObject、SWidget、FStruct、EEnum、bBool、IInterface)
・C++におけるキャスト(Cast)について(Cast< T >、CastChecked< T >)
・C++の配列(TArray)やマップ(TMap)の関数名について(Empty(Clear)、Num(Length)、Is Empty)
・C++でアクターが削除中かをどうかを取得する(IsPendingKill)
・C++でゲームインスタンス(UGameInstance)を取得する(UGameplayStatics::GetGameInstance)
・C++でプレイヤーコントローラ(APlayerController)を取得する(UGameplayStatics::GetPlayerController)
・C++でプレイヤーポーン(APawn)を取得する(UGameplayStatics::GetPlayerPawn)
・C++でプレイヤーキャラクター(ACharacter)を取得する(UGameplayStatics::GetPlayerCharacter)
・C++でアクター(Actor)が持っているコンポーネント(Component)をクラスを指定して複数取得する(Get Components)
・C++でアクター(Actor)が持つコンポーネント(Component)をクラス(Class)を指定して取得する(GetComponentByClass、GetComponentsByClass、UComponent::StaticClass)
・C++で配置されているすべてのアクター(Actor)から特定クラスのアクター(Actor)を取得する(UGameplayStatics::GetAllActorsOfClass、AActor::StaticClass)

■C++(応用)
・C++でアクター(Actor)の「Tick」を実行しないようにする(PrimaryActorTick.bCanEverTick、PrimaryActorTick.bStartWithTickEnabled、AActor::SetActorTickEnabled)
・C++で配列の領域をあらかじめ確保(事前割り当て)した状態で扱う(Reserve、Reset、Empty、Shrink、Compact)
・C++でメモリに優しい方法でアクター(Actor)が持っているコンポーネント(Component)をクラスを指定して複数取得する(Get Components、TInlineComponentArray)
・C++でデストラクタ(Destructor)的なタイミングをイベントで処理する(BeginDestroy)
・C++でビューポート(Viewport)のサイズを取得する(APlayerController::GetViewportSize)
・C++でマウスの座標を取得する(APlayerController::GetMousePosition)

■C++(関数、変数、クラス、列挙型、指定子)
・C++でメタデータ指定子(Metadata Specifiers)の宣言と複数のメタデータ指定子(Metadata Specifiers)を宣言する
・C++で変数のカテゴリ(Category)をプロパティ指定子(Property Specifiers)で指定する(UPROPERTY(Category))
・C++でブループリント(Blueprint)での変数のアクセス権限をプロパティ指定子(Property Specifiers)で指定する(UPROPERTY(BlueprintReadWrite)、UPROPERTY(BlueprintReadOnly))
・C++で詳細ウィンドウでの変数表示を詳細設定として隠す設定をプロパティ指定子(Property Specifiers)で指定する(UPROPERTY(AdvancedDisplay))
・C++で配列の要素数を固定して変更できないようにプロパティ指定子(Property Specifiers)で指定する(UPROPERTY(EditFixedSize))
・C++で変数のアクセス権系の属性をプロパティ指定子(Property Specifiers)で指定する(UPROPERTY(EditAnywhere)、UPROPERTY(EditDefaultsOnly)、UPROPERTY(EditInstanceOnly)、UPROPERTY(VisibleAnywhere)、UPROPERTY(VisibleDefaultsOnly)、UPROPERTY(VisibleInstanceOnly))
・C++で変数をエディタ上で「3Dウィジェットを表示する(Show 3D Widget)」ようにプロパティ指定子(Property Specifiers)で指定する(UPROPERTY(meta=(MakeEditWidget=true)))
・C++で変数をスポーン(Spawn)時に公開するようにプロパティ指定子(Property Specifiers)を使って指定する(UPROPERTY(meta=(ExposeOnSpawn=true)))
・C++で条件付き変数をプロパティ指定子(Property Specifiers)を使って指定する(UPROPERTY(meta = (EditCondition=変数名)))
・C++で条件元の変数を非表示にした状態での条件付き変数をプロパティ指定子(Property Specifiers)を使って指定する(UPROPERTY(meta = (EditCondition=変数名)))
・C++で変数にクラス(Class)のインスタンス(Instance)をプロパティ指定子(Property Specifiers)を使って指定する(UPROPERTY(Instanced)、UCLASS(EditInlineNew))
・C++で「const」を付けた関数が自動的に「Pure関数」になってしまうのを関数指定子(UFunction)を使って防ぐ(UFUNCTION(BlueprintPure = false))
・C++でBP(Blueprint)に公開する関数を関数指定子(UFunction)を使って「protected」扱いで制御する(UFUNCTION(meta=BlueprintProtected))
・C++で「Pure関数」を関数指定子(UFunction)を使って作成する(UFUNCTION(BlueprintCallable)、UFUNCTION(BlueprintPure))
・C++で開発のみ(DevelopmentOnly)の関数を関数指定子(UFunction)を使って作成する(UFUNCTION(meta = (DevelopmentOnly)))
・C++で列挙型(Enum)を使って複数の入力(実行)ピンを持つように関数指定子(UFunction)で指定する(UFUNCTION(meta = (ExpandEnumAsExecs)))
・C++で列挙型(Enum)を使って複数の出力(実行)ピンを持つように関数指定子(UFunction)で指定する(UFUNCTION(meta = (ExpandEnumAsExecs)))
・C++でブループリント(Bulepurint)での「WorldContextObject」を暗黙的に扱う(UFUNCTION(meta = (WorldContext = WorldContextObject)))
・C++でBPでオーバーライド(Override)できる関数を作成する(UFUNCTION(BlueprintNativeEvent)、UFUNCTION(BlueprintCallable)、_Implementation)
・C++とBPの両方でオーバーライド(Override)できる関数を作成する(UFUNCTION(BlueprintNativeEvent)、UFUNCTION(BlueprintCallable)、_Implementation)
・C++でBPのイベント(Event)やBPのみで処理を記述する関数を作成する(UFUNCTION(BlueprintImplementableEvent)、UFUNCTION(BlueprintCallable))
・C++でクラス指定子(Class Specifiers)を使って詳細から必要のない情報を非表示にする(UCLASS(HideCategories))
・C++でカスタムコンポーネント(Custom Component)をブループリント(Blueprint)でカテゴリ(ClassGropu)や名前(DisplayName)をクラス指定子(Class Specifiers)を使って追加して使えるようにする(meta=(BlueprintSpawnableComponent)、meta=(DisplayName)、ClassGroup)
・C++で列挙型(Enum)を作成する(UENUM、UMETA(DisplayName)、UMETA(Hidden))
・C++でBPに公開する関数の入力(引数)を参照として受け取る(UPARAM(ref))
・C++の関数で複数の戻り値(返り値)を持つ

■C++(文字列)
・文字列の扱い(FName、FText、FString)
・C++で「FString」型を「TCHAR」型に変換する(FString)
・C++で「FString」型を標準文字列に変換する(FString、TCHAR_TO_ANSI)
・C++で値(Float、Int、Bool)を「FString」型に変換する(FString::SanitizeFloat、FString::FromInt)
・C++で「FName」型を「FString」型に変換する(FName::ToString)
・C++で「FString」型を「FText」型に変換する(FText::FromString)
・C++で「FName」を空にする(NAME_None)
・C++で「FString」型の文字列同士を比較する(FString::Equals、ESearchCase::CaseSensitive、ESearchCase::IgnoreCase)
・C++で「FString」型の文字列を検索する(FString::Contains、FString::Find、ESearchCase::CaseSensitive、ESearchCase::IgnoreCase、ESearchDir::FromStart、ESearchDir::FromEnd)
・C++で「FString」型の文字列を値(bool、int32、float)に変換する(FString::ToBool、FCSTring::Atoi、FCSTring::Atof)
・C++で構造体(FVector、FVector2D、FRotator、FLinearColor)を「FString」型の文字列に変換する(FString::ToString)
・C++で「FString」型の文字列をフォーマット引数を使って作成する(FString::Printf)

■C++(エディタ関連)
・C++でコンソールにログを出力する(UE_LOG、Fatal、Error、Warning、Display、Log、Verbose、VeryVorbose)
・C++で「AnimNotify」と「AnimNotifyState」の色を変更する(UAnimNotify::NotifyColor、UAnimNotifyState::NotifyColor)
・C++で「AnimNotify」と「AnimNotifyState」で表示される文字列を変更する(UAnimNotify::GetNotifyName_Implementation、UAnimNotifyState::GetNotifyName_Implementation)
・C++でエディタ環境のみ実行されるコードを書くためのコンパイルスイッチ(WITH_EDITOR)
・C++で画面上のエラーや警告関係の文字列表示(デバッグログ)を無効にする(GAreScreenMessagesEnabled、DisableAllScreenMessages、EnableAllScreenMessages)
・C++でビルドコンフィギュレーション(Build Configurations Reference)ごとのコンパイルスイッチを使う(UE_BUILD_DEBUG、UE_BUILD_DEBUGGAME、UE_BUILD_DEVELOPMENT、UE_BUILD_SHIPPING、UE_BUILD_TEST)
・C++でアニメーション通知(Animation Notifications)の「AnimNotify」を作成する(UAnimNotify)
・C++でアニメーション通知(Animation Notifications)の「AnimNotifyState」を作成する(UAnimNotifyState)
・C++でクリップボードに文字列をコピー(Copy)したり、クリップボードから文字列をペースト(Paste)する(FPlatformApplicationMisc::ClipboardCopy、FPlatformApplicationMisc::ClipboardPaste)
・C++でコンストラクションスクリプト(Construction Script)を実行する(OnConstruction)
・C++でコンストラクションスクリプト(Construction Script)を使ってアクター(Actor)のラベル名を変更する(SetActorLabel)

■C++(ゲームへの実装)
・C++で関数ライブラリ(Blueprint Function Library)を作成する(UBlueprintFunctionLibrary)
・C++でゲームインスタンス(GameInstance)を継承した独自のクラスを作る(UGameInstance、UGameplayStatics::GetGameInstance)
・C++でゲームモード(GameMode)を継承した独自のクラスを作る(AGameModeBase、UGameplayStatics::GetGameMode)
・C++でレベル(Level)を継承した独自のクラスを作る(ALevelScriptActor)
・C++でUMGのウィジェット(UsetWidget)を継承した独自のクラスを作る(UUserWidget)
・C++でUMGのウィジェット(UsetWidget)で「Tick」処理を実行する(UUserWidget::NativeTick)
・C++で自作した構造体をデータテーブル(Data Table)に設定できるようにする(FTableRowBase)
・C++でデータテーブル(Data Table)のデータを取得する(UDataTable、Find Row)
・C++で列挙型(Enum)の定義名から「UEnum」型を取得する(FindObject)
・C++で列挙型(Enum)を文字列(FString、標準文字列)に変換する(GetNameStringByIndex)
・C++で「Enum(UENUM)」をビットフラグとして扱う(ENUM_CLASS_FLAGS、EnumHasAnyFlags、EnumHasAllFlags)
・C++で「Enum」を「foreach」を使ったループ文で連続した値を処理する(UENUM、TEnumRange、ENUM_RANGE_BY_COUNT)
・C++で「Enum」を「foreach」を使ったループ文で指定した値のみを処理する(UENUM、TEnumRange、ENUM_RANGE_BY_VALUES)
・C++で「Enum」を「foreach」を使ったループ文で指定した2つの値の間を連続で処理する(UENUM、TEnumRange、ENUM_RANGE_BY_FIRST_AND_LAST)
・C++で現在のカメラと位置や角度や画角などのカメラ情報(Location、Rotation、FOVAngle)を取得する(APlayerCameraManager、GetCameraLocation、GetCameraRotation、GetFOVAngle、GetFirstPlayerController)
・C++でポーズ中もカメラの描画が更新されるようにする(APlayerController::UpdateCameraManager、Tick Even when Paused)
・C++でワールド座標をスクリーン座標に変換する(Project World Location To Screen、Convert World Location To Screen Location)
・C++でデバッグ文字列(FString)をビューポート(Viewport)に表示する(UEngine::AddOnScreenDebugMessage)
・C++でアセットファイルを同期読み込み(ロード)する(LoadObject)
・C++で複数のアセットファイルを非同期読み込み(ロード)する(RequestAsyncLoad、FStreamableManager、FStreamableHandle、FSoftObjectPath)
・C++でアクター(Actor)をスポーン(Spawn)する(LoadSynchronous、FSoftObjectPath、SpawnActor)
・C++でガベージコレクション(Garbage Collection)を強制的に実行する(GEngine::ForceGarbageCollection)

✔UE4(Unreal Engine 4)/UE5もいけるかも情報(以下)↓

■UE4はじめ
・UE4はじめました(UE4まとめページとオススメ本)
・用語あれこれ
・最初の頃に見ておいたほうがよさそうな記事や資料
・UE4のテンプレートに自分で作ったキャラを入れて動かしたい
・Udemy Japan x Unreal Japan
・UE4の歩き方(情報の探し方)

■情報まとめ関係のサイトや記事
・Unreal Engine 4 日本語情報まとめページ
・UE4攻略wiki -Preview-
・historia さんのページ
・みんなで埋める 逆引きUnrealEngine4辞典
・【2016年6月入門】UnrealEngine初心者がUE4入門に選んだサイトや記事まとめ
・AnswerHub について
・参考になる記事やスライド
・みつまめ杏仁(UMGなどのUI関係ためになります)
・VR・AR関係情報まとめ

■ドキュメントや技術関係のサイトや記事
・Simple コリジョンと Complex コリジョン
・文字列の取り扱い
・Light SourceとSkySphereBlueptintとAtomospheric Fog
・テクスチャのサンプリング(MinMagFilter、MipFilter)
・予約されているフォルダ名
・フロー制御
・【UE4】UE4Tips120選~勉強会にて配ったTipsカードの内容を一挙公開!~
・ジラフとアンニカ UE4中身全部見せます
・週刊少年ジャンプの読切作品『キルアオハル』はUnreal Engineを漫画制作にどのように活かしたか

■バージョン情報まとめ
・4.26 の機能についての記事やサイトまとめ

■セミナーや勉強会、イベントなどの情報まとめ
・Manga Anime Illustration Dive Online(2022/02/19)
・UE4 Environment Art Dive
・Lightmass(ライトマス)DeepDive
・Multiplayer Online Deep Dive
・Localization Deep Dive
・Material Management Deep Dive
・Unreal Engine Meetup Nagoya #6 in 名古屋城
・第5回UE4勉強会 in 大阪
・GDC 2018 Unreal Engine 記事まとめ
・UNREAL FEST WEST 2018 記事まとめ
・第6回UE4勉強会 in 大阪
・アーティスト向け勉強会 in 大阪 メモ
・UNREAL FEST WEST 2019 記事まとめ
・UE4を用いた大規模開発事例紹介 ~スクウェア・エニックス様をお招きして~ 記事まとめ
・第10回UE4勉強会 in 大阪
・第3回UE4何でも勉強会 in 東京
・第4回UE4何でも勉強会 in 東京
・UNREAL FEST EXTREME 2021 SUMMER
・UE4プログラマー向け勉強会 in 大阪

■便利なプラグインやアセットや環境など
・2021年6月の無料マーケットプレイスコンテンツ(永続的無料コンテンツ:Easy Building System v8)
・ゲーム起動時のコンフィグウィンドウ(SetupUEr)
・スプライン生成プラグイン(Smart Spline Generator)
・アンリアルエンジン4用アドベンチャーゲームキット(Adventure Kit)
・モデルを昔風に描画するプラグイン「Oldskooler」
・UE4 Grayちゃん(FBXモデルとUE4テンプレート)
・UnrealVS 拡張(Visual Studio の機能拡張)
・学習キット・Unreal Learning Kit: Games(ゲームを作る人向け)
・インゲーム中に撮影出来る「フォトモード」を追加するアセット・PhotoModeFX
・2D ファンタジーアクション RPG 「The Vagrant」 で使われているアセット
・ファーストパーソンアクションアドベンチャー 「City of Brass」 で使われているアセット
・ハイエンドマルチプレイオンラインバトルアリーナゲーム 「Paragon」 で使われているアセット
・「What Remains of Edith Finch(フィンチ家の奇妙な屋敷でおきたこと)」で使われているアセット
・alwei さん作のポストプロセス セルシェーダー(PPCelShader)を使ってセルシェーディングを実装する
・グリッドを描画するグリッドシェーダーマテリアルアセット(UE4_CustomGridShader)
・3D都市モデル(Project PLATEAU)東京都23区(FBX 2020年度) - データセット
・オーストラリアの自然環境コレクションアセット
・高忠実度で完全にリギングされたデジタルヒューマンをわずかな時間で作成するための新しいツール「MetaHuman Creator」(早期アクセスプログラム)
・植物の「Megascans」コレクションアセット(Earth Day)
・Unity向けに作成されたボーンによる布風物理エンジンのUnreal Engine移植版プラグイン「SPCRJointDynamics for UE4」
・UE4向けポストプロセスアセット「Chameleon Post Process」

■エディタ機能と環境設定
・ショートカットキーなどの便利操作(ビューポート編)
・エディタでの実行(プレイ)のキーボードのショートカットキー(Alt+Pキー)
・エディタのビューポートをエディタのサイズいっぱいで表示する(Immersiveモード、F11キー)
・エディタのビューポートのカメラ操作をMAYAに合わせる(Invert Middle Mouse Pan)
・非アクティブのときにCPU使用量を低下させない
・ゲームとエディタのデフォルトレベルの設定(Default Maps)
・座標軸と単位の話
・詳細タブなどで直接変更した値がリアルタイムで反映されない場合の対処方法(Realtime)
・ウィジェットリフレクタ(WidgetReflector)を使ってエディタのUIのサイズを変更(スケーリング)する
・実行(プレイ)中にマウスカーソルを表示してエディタを操作する(Shift + F1)
・カメラをエディタ操作中と同じように操作できるモードで実行する(Play In Editor と Simulate In Editor)
・エディタ上のビューポートをゲームビューに切り替え、アクタアイコンなどを非表示にして実際のゲームに近い表示でみる(Gキー)
・オブジェクトを地面に設置させる(Endキー)
・オブジェクトがカメラ内におさまるようにフォーカスさせる(Fキー)
・アセットを検索して開くショートカット(CTRL+P)
・レベルを検索して開くショートカット(CTRL+O)
・リダイレクタ(Redirector)
・開いているプロジェクトで使っているアセットをほかのプロジェクトに持っていく
・エディタでオブジェクトの移動量や回転量を指定した単位ごとに変化させる
・コンテンツのアセットアイコンにビューポートをキャプチャしたサムネイル画像を設定する(Capture Thumbnail)
・Output Log にタイムスタンプを表示するようにエディタで設定する(Log Timestamp Mode)
・アセットがどこで参照されて使われているかを調べる(リファレンスビューワー(Reference Viewer (参照ビューア)))
・データキャッシュの保存場所を変更する(Derived Data)
・画面上のエラーや警告関係の文字列表示(デバッグログ)を無効にする(DisableAllScreenMessages、EnableAllScreenMessages)
・ビューポートの視点位置を登録してショートカットキーで切り替えるブックマーク機能(Bookmark)
・エディタ上で選択しているアセットをコンテンツブラウザで探すショートカットキー(CTRL + Bキー)
・ビューポートのカメラプレビュー(Camera preview)の表示切り替えとサイズの変更
・エディタのビューポートでアクタ(Actor)を範囲選択する(CTRL+ALT+ドラッグ)
・「ライティングを再ビルドする必要があります」の対象となるアセット(オブジェクト)を調べる(DumpUnbuiltLightInteractions)
・PIE(Play In Editor) 実行時などに表示されるマウス操作ラベル(Mouse Control)を消す(Show Mouse Control Label)
・PIE(Play In Editor) 実行時にマウスフォーカスをデフォルトで PIEの ビューポートにする(Game Gets Mouse Control)
・ビューポートのカメラを上面(Top View)や側面(Left View)や前面(Front View)に切り替える(Alt+J、Alt+K、Alt+H、Alt+G)
・ビューポートの現在の見た目でカメラアクター(Camera Actor)を作成して配置する(Create Camera Here)
・ビューポートの UI を非表示にする(Hide Viewport UI)
・後からスターターコンテンツやテンプレートコンテンツを追加する(Add Feature or Content Pack)
・プロジェクト名を途中で変更する
・コンソール変数の一覧を調べる(ConsoleVariables.ini)
・描画テクスチャ(Render Target 2D)で表示されている内容でテクスチャ(Texture)アセットを作成する(スタティックテクスチャの作成)
・コンテンツブラウザ(Content Browser)でアセットをお気に入りのように登録してすぐ開けるようにする(Collection)
・コンテンツブラウザ(Content Browser)でマイナス検索を活用してアセットを絞り込む
・コンテンツブラウザ(Content Browser)で「&」(and)や「|」(or)を使って条件検索をする
・コンテンツブラウザ(Content Browser)のフォルダの色を変更する(カラーを設定)
・コンテンツブラウザ(Content Browser)のウィンドウを複数開く
・アセットを開いた際のウィンドウの位置を変更する(アセットエディタの起動位置)
・指定したカメラをビューポート画面で操作して位置や角度を変更する(pilot)
・エディタでコマンドライン引数を指定してスタンドアローンゲーム(Standalone)で実行する(Additional Launch Parameters)
・ビューポート(Viewport)に分割線を表示する(フィルム オーバーレイ(Film Overlays))

■UE4基礎
・インターフェース(Interface)について
・Game Mode と Game Mode Base について(Game Mode、Game Mode Base、Get Game Mode)
・アクター(Actor)アセットを新しく作成する
・アクター(Actor)にモデル(スケルタルメッシュ)を指定する(Skeletal Mesh)
・Actor(アクターに)BP(ブループリント)を追加する
・テクスチャストリーミングの機能をオフにして低い解像度のテクスチャが一瞬表示されないようにする(Never Stream)
・スケルトンにソケットを作成して追加する
・引数として関数へ渡した変数の中身を書き換える(リファレンス渡し)(Set By-Ref Var)
・ジオメトリブラシ(Geometry Brush)を使って簡単な形状を作成する
・ジオメトリブラシ(Geometry Brush)をスタティックメッシュ(Static Mesh)に変換する
・スタティックメッシュ(Static Mesh)で簡単なコリジョン(単純コリジョン)を設定する

■モバイル・タブレット向けゲーム(アプリケーション)の作成
・モバイルやタブレットのゲーム(アプリケーション)のプロジェクトを新規作成する
・Android デバイス用に実行ファイル(.APK ファイル)をパッケージ化して作成する(UE4 環境作成)
・Android デバイス用に実行ファイル(.APK ファイル)をパッケージ化して作成する(Android デバイス環境作成)
・Android デバイスに実行ファイル(.APK ファイル)をインストールして起動する
・Android デバイスにインストールする実行ファイル(.APK ファイル)のアプリケーション表示名(app_name)を変更する
・Android デバイスにインストールする実行ファイル(.APK ファイル)のアイコンを変更する
・Android デバイスで実行時に起動画面(スプラッシュスクリーン)を表示する(Launch Screens)
・Android デバイスで実行したときの画面の向き(Orientation)を設定する

■デスクトップ・コンソール向けゲーム(アプリケーション)の作成
・工事中

■ゲーム設定
・スプラッシュスクリーンを変更する
・実行ファイル(EXE)のアイコンを設定する
・ウィンドウのタイトルバーの名前をデフォルトで設定する(Project Displayed Title)
・ゲームのアプリケーション名を設定する(Project Name)
・コマンドライン引数を取得する(Get Command Line)

■ゲームへの実装
・UMGで画面のフェードイン・アウトを実装する
・ゲームポーズを実装する(SetGamePaused、IsGamePaused)
・ポーズ中もイベントが実行されるようにする(Execute when Paused)
・ファイルにセーブデータを保存する(Create Save Game Object、Save Game to Slot、Load Game from Slot)
・グローバルな値を持つ(Game Instance、Get Game Instance)
・デバッグカメラを使う(ToggleDebugCamera)
・CSVファイルを使う(Data Table、Get Data Table Row 構造体、Break 構造体)
・値が補完されるCSVファイルを使う(Curve Table、Evaluate Data Table Row)
・カメラの方向を常に向くActor(アクター)(Find Look at Rotation)
・コマ送り機能を実装する(デバッグ機能)
・可変フレームに対応する(Get World Delta Seconds)
・ランダムな単位ベクトルを求める(Random Unit Vector、Random Unit Vector from Stream)
・Game User Settings を使った設定と保存(Get Game User Settings、Apply Settings)
・ウィンドウサイズを変えずに解像度を変更する(Set Screen Resolution、Set Resolution Scale Value、Set Resolution Scale Normalized)
・ワールド座標をスクリーン座標に変換する(Convert World Location To Screen Location)
・スクリーンショットを撮る(Shot、HighResShot)
・画像ファイルをURL指定でダウンロードする(Download Image)
・太陽の位置を動的に動かして昼夜などの時間変化や影を制御する(Update Sun Direction、Light Source、SkySphereBlueprint)
・ライト(光源)にマテリアルを適用して投影する(Light Function)
・ウィンドウのタイトルバーの文字列を変更する(Set Window Title)
・現在のレベルを開きなおす(Get Current Level Name、Open Level)
・現在のレベルを開きなおす(Restart Game)
・ワールドの時間速度(ゲームスピード)を早くしたり遅く(スローモーション)したりする(Set Global Time Dilation、Custom Time Dilation、Execute Console Command の slomo コマンド)
・データやパラメータなどの値をレベルを変更しても保持して扱う(Game Instance、Get Game Instance、Cast To Game Instance)
・カメラを配置する(Camera)
・カメラを切り替える(Set View Target with Blend)
・カメラの画角(視野角)を変更する(Set Field Of View、Get Camera Component)
・カメラを振動させる(Camera Shake、Matinee Camera Shake、Client Play Camera Shake、Client Start Camera Shake)
・2Dテクスチャ用の詳細設定・圧縮形式の変更(Texture Group、Compression Settings)
・エンジンの拡張設定と同じように品質を段階的に設定する(Set Overall Scalability Level、Get Overall Scalability Level)
・エンジンの拡張設定と同じように品質を個別に設定する(Set View Distance Quality、Set Anti Aliasing Quality、Set Post Processing Quality、Set Shadow Quality、Set Texture Quality、Set Visual Effect Quality、Set Foliage Quality)
・エンジンの拡張設定と同じように品質をベンチマークを走らせて自動で設定する(Run Hardware Benchmark、Apply Hardware Benchmark Results)
・キャラクターの顔を特定の位置に向ける・Transform の向きを Blueprint で制御する(Look At)
・特定のボーン(Transform)に対して「位置」「回転」「スケール」を変更する(Transform(Modify)Bone)
・顔の向きを変更するための Look At に対して角度制限をする(Look At、Look at Clamp)
・物理シミュレーションを使って全身をラグドール化する(Set All Bodies Simulate Physics、Set Collision Enable)
・物理シミュレーションを使って一部をラグドール化する(Set All Bodies Below Simulate Physics)
・コリジョンを物理シミュレーション化して動かす(Set Simulate Physics、Get Capsule Component)
・シンプルな画面のフェードイン・フェードアウト(Start Camera Fade)
・OSに設定されたブラウザでURLを開く(Launch URL)
・ツイッター(Twitter)の投稿画面を内容を指定してWEBブラウザで開く
・キー入力のリピート処理の実装(Timer、Set Timer by Function Name、Clear Timer by Function Name、Gate)
・Character Movement で移動時に移動可能な高さ、移動可能な坂の角度を指定する(Max Step Height Walkable Floor Angle)
・Character Movement での移動を停止する(Disable Movement)
・Character Movement での移動を設定する(Set Movement Mode)
・地面の傾きに合わせてキャラクターを傾ける
・エディタでモデルをアクターに静的にアタッチする(コンポーネントを追加して親ソケットを指定)
・エディタでモデルをアクターに静的にアタッチする(アウトライナ上で設定)
・BPでモデルをコンポーネントとしてメッシュコンポーネントの指定したソケットに動的にアタッチする(Attach Component To Component、旧 Attach To Component)
・BPでアクターをメッシュコンポーネントの指定したソケットに動的にアタッチする(Attach Actor To Component)
・BPでアクターをアクターの指定したソケットに動的にアタッチする(Attach Actor To Actor)
・モデルをアタッチする際に回転情報やスケール情報を無視してアタッチする(Set Absolute)
・パッケージ化時には処理されないデバッグ処理を実装する(Is Packaged for Distribution)
・ゲームを終了する(Quit Game)
・ドット絵を表示する(テクスチャのフィルタ設定、マテリアル設定)
・MP4形式の動画・ムービーを再生する(File Media Source、Media Player、Media Texture)
・別カメラで描画した映像をTexture化して使う(Scene Capture 2D、Render Target)
・プレイヤーのスポーン(Spawn)位置を設定する(Player Start)
・カメラを早く回したりするとオブジェクトが1フレーム遅延して描画されてしまうのを回避する方法(OCCLUSION_SLOP)
・パッドのスティック入力の感度を調整する(Dead Zone)
・半透明メッシュの描画順を強制的に指定する(Translucency Sort Priority)
・描画のみの更新を止める(show Rendering、UGameViewportClient > EngineShowFlags > SetRendering())
・角度の数値を 0.0 から 360.0 の間で取得する(Division(Whole and Remainder))
・カメラが切り替わった際の切り替え元の終了イベントと切り替え先の開始イベント(Event On End View Target、Event On Become View Target)
・操作キャラクターかどうかを判別する(Is Player Controlled)

■BP(ブループリント)参考サイト
・最初に知っておきたいBlueprintノード集
・ブループリント ユーザーガイド イベント
・ブループリント超入門編

■BP(ブループリント)の使い方あれこれ
・ショートカットキーなどの便利操作(BP編)
・ノード名とピン名をエディタの言語に関わらず英語表示にする
・ブループリントをコンパイルする
・ブレークポイントの設定
・ブループリントのコメント機能
・ノードを接続したまま無効化する
・開発時だけ実行されるノード(デベロップメントオンリー)
・ノードを繋ぐ線を綺麗に整える(Rerouteノード)
・ノードの色の意味
・ノードに対してコメントを記述する
・独自のEnum(列挙型)を追加する
・ブループリントで関数を作成する
・ブループリントでPure関数を作成する
・変数の作成と扱い方
・変数の外部への公開(インスタンス編集可能、Instance Editable)
・ブループリント(BP)で読み取り専用の変数を作成する(ブループリント読み取り専用、Blueprint Read Only)
・配列変数の作成
・パーシスタントレベルとサブレベル
・ブループリントでカスタムイベントを作成する
・関数やカスタムイベントの名前や引数を変えた時にノードを更新する
・カスタムイベントと関数の違いについて
・ノードの入力ピン、出力ピンの構造体を分割する(構造体ピンを分割)
・ブループリントでマクロを作成する
・関数とマクロの違いについて
・汎用マクロの作成(Blueprint Macro Library)
・汎用関数の作成(Blueprint Function Library)
・ノードを折りたたんでまとめて見やすくする(Collapse Nodes)
・存在せずエラーになっている変数を簡単に作成する(Create Variable)
・継承した子のBP(ブループリント)から親の関数を呼び出す(Add Call to Parent Function)
・ブループリント(BP)の未使用変数を一括で削除する(Unused Variables)
・ノードの整列とコネクションを真っ直ぐにする(Qキー、Straighten Connection(s))
・ブループリント(BP)の入力ノードの値を変数へ昇格(Promote to Variable)とローカル変数へ昇格(Promote to Local Variable)
・ノードの戻り値(出力)の値を変数を作成してセットする(Promote to Variable)
・ブループリント(BP)で親クラスの変数を表示する(Show Inherited Variables)
・コンテンツブラウザ(Content Browser)上から子クラスのアセットを作成する(Create Child Blueprint Class)
・ブループリント(BP)コンパイル時に保存されるようにする(Save on Compile)
・ブループリント(BP)のノード線の中間に矢印を表示して見やすくする(Draw midpoint arrows in Blueprint)
・ブループリント(BP)で変数の取得(Getter)と設定(Setter)をショートカットキーで配置する(Ctlr+ドロップ、Alt+ドロップ)
・ブループリント(BP)で関数や変数にカテゴリを設定する&カテゴリに階層を作成する
・ブループリント(BP)で構造体ノードのピンを要素ごとに表示・非表示を設定する
・ブループリント(BP)で構造体ノードのピンで接続されていない要素を非表示にする(Hide Unconnected Pins)
・ブループリント(BP)で「&」(and)や「|」(or)を使って条件検索をする
・コメントノードの中にあるノードを動かさずにコメントノードだけを動かす(Move Mode、Comment、Group Movement)
・「Add pin」など実行ピンを増やせるノードでピンの前後に実行ピンを挿入する(Insert Execution pin Before、Insert Execution pin After)
・配列変数を逆順に並び替える(Reverse)
・配列変数からランダムで変数を取り出す(Random Array Item、Random Array Item From Stream)
・子クラスの関数や変数を親クラスに移動する
・関数やマクロ、変数を他のブループリント(BP)にコピーする
・カスタムイベント(Custom Event)を関数に変換する
・関数をカスタムイベント(Custom Event)に変換する
・選択したノードから関数やマクロを作成する(Collapse Function、Collapse Macro)
・存在せずエラーで不明なっている関数を自動生成する(マッチング関数を作成)
・ブループリント(BP)で存在しない関数ノードを張り付けた時に表示されるダイアログ
・Tick 処理を行うか(Start with Tick Enabled)のデフォルト値を設定する(Can Blueprints Tick by Default)
・作成した関数などを別名で短くして検索しやすくする(Compact Node Title)
・関数の引数を取得して扱う(Get)
・BPのノード線を強調表示(太く)したまま固定する(Shift+左クリック)

■BP(ブループリント)環境設定や便利機能
・フレームレート(FPS)固定の設定
・画面解像度を設定する
・画面やログへのデバッグ文字列の表示(Print String)
・画面やログへのデバッグ文字列の表示(Print Text)
・レベルが実行中かロードされているかの確認(stat levels)
・FPS(フレームレート)の表示(stat fps)
・スレッドごとの実行時間の計測(stat unit)
・マウスカーソルを表示する(Show Mouse Cursor)
・コンソールコマンドの実行(Execute Console Command)
・BPで3D空間上に文字列をデバッグ表示する(Draw Debug String)
・BPで3D空間上にカメラアクター(Camera Actor)をデバッグ表示する(Draw Debug Camera)
・BPで3D空間上に点(Point)と平面(Plane)をデバッグ表示する(Draw Debug Point、Draw Debug Plane)
・BPで3D空間上に図形をデバッグ表示する(Draw Debug Arrow、Draw Debug Box、Draw Debug Capsule、Draw Debug Circle、Draw Debug Cone、Draw Debug Cylinder、Draw Debug Line、Draw Debug Sphere)
・アセットのディスク上のフルパスを取得する(Get System Path)

■BP(ブループリント)フロー制御
・最初に実行されるイベント(Event Begin Play)
・終了時に実行されるイベント(Event End Play)
・毎フレーム実行されるイベント(Event Tick)
・複数の処理を連続して実行する(Sequence)
・一定時間待つ(Delay)
・条件分岐(Branch)
・一度だけ実行する(DoOnce)
・交互に実行する(FlipFlop)
・指定した回数だけ実行するフロー制御ノード(Do N)
・実行の有無を外部から門の開閉のように扱うフロー制御ノード(Gate)
・繰り返し処理を行う(For Loop、While Loop)
・繰り返し処理を行っている途中で終了する(For Loop With Break、For Each Loop With Break)
・配列の要素すべてに対して処理を行う(ForEachLoop)
・配列の要素すべてに対して処理を行う(ノードを直接繋ぐ)
・配列の要素すべてに対して逆から処理を行う(ReverseForEachLoop)
・複数の処理を毎回どれか一度だけ実行する(MultiGate)
・完全にランダムな処理を実行する(MultiGate)
・入力の値に応じて別の処理を実行する(Switch on Int, String, Name, Enum)
・入力されたオブジェクトが有効かどうかチェックするノードとフローノード(Is Valid、?Is Valid)
・フローノードを関数の中で呼び出したときの罠(Multi Gate、Flip Flop、Do Once)
・整数と浮動小数の数値の比較結果で分岐するマクロのフローノード(Compare Int、Compare Float)
・サーバー(Authority)かクライアント(Remote)マシンなのかを判別して処理をする(Switch Has Authority)

■BP(ブループリント)文字列操作
・文字列(FString)操作まとめ(外部サイト)
・文字列操作(String)
・文字列配列を結合して一つの文字列にする(Join String Array)
・%.2fのように有効桁数を指定してFloat型の数値から文字列を取り出す(To Text (float))
・Float型の数値を%表示文字列に変換する(As Percent)
・ワイルドーカードを使った書式設定で文字列を作成する(Format String、Format Text)
・日時を文字列に変換する(Date Time、As Date Time、As Date、As Time)
・日時(Date Time)を文字列に変換する(As Date Time、As Date、As Time)

■BP(ブループリント)数学関連
・乱数を扱う(Random Int、Random Int in Range、Random Float、Random Float in Range)
・毎回同じ値を返す乱数(Make Random Stream、Random 型 from Stream、Random 型 in Range from Stream)
・指定した範囲の中のランダム位置を取得(Random Point in Bounding Box)
・レイとチャンネルのコリジョンとのヒット判定(Line Trace By Channel、Multi Line Trace By Channel)
・レイとオブジェクトのコリジョンとのヒット判定(Line Trace For Objects、Multi Line Trace For Objects)
・一定の確率でbool値を返して処理をする(Random Bool、Random Bool with Weight)
・値が範囲内かチェックする(In Range(integer)、In Range(float))
・指定した値が範囲内のどれぐらいの割合なのかを取得する(Normalize to Range、Inverse Lerp)
・浮動少数値の端数部を切り捨てて整数に変換する(Truncate)
・浮動少数値の端数部分を切り上げて整数に変換する(Ceil)
・浮動少数値の端数部分を四捨五入して整数に変換する(Round)
・浮動少数値の端数部分のみを取得する(Fraction)
・平面(Plane)の構造体を位置と法線から作成する(Make Plane from Point and Normal)
・数値を特定の数値で割った回数と端数を取得する(Division(Whole and Remainder)、Division(Whole and Remainder)to Integer64)

■BP(ブループリント)全般
・レベルの移動(Open Level)
・レベルの移動(非同期)(Load Stream Level)
・レベルの破棄(Unload Stream Level)
・実行中のパーシスタントレベルに動的にサブレベルを追加する(Load Level Instance)
・現在のレベル名を取得する(Get Current Level Name)
・ウィジェットやアクター作成(スポーン)時に変数の初期値を設定する(スポーン時に公開、Expose on Spawn)
・別レベルにおかれたアクターやウィジェットを検索する(Get All Actors Of Class, Get All Widgets Of Class)
・ブループリント(BP)のノードで配列を作成する(Make Array)
・配列の要素をインデックス指定で取り出す(Get)
・配列の中身を入れ替える(Set Array Elem)
・配列の2つの要素をインデックスを指定して入れ替える(Swap Array Elements)
・二つの配列を結合して一つの配列にする(Append Array)
・異なるレベルのカスタムイベントを名前で呼び出す(Remote Event)
・カメラ情報の取得(Get Player Camera Manager、Get Camera Location、Get Camera Rotation、Get FOVAngle)
・入力の値に応じて別の値を返す(Select)
・固定値を作成する(Make Literal ~, Make ~)
・マウスの位置のワールド座標とワールドベクトルの取得(Convert Mouse Location To World Space)
・現在の日時を取得する(Now、Today、Break Date Time)
・うるう年の判定などDate Time を使った日時の判定いろいろ(Date Time、Make Date Time、Is Morning、Is Afternoon、Is Leap Year)
・DateTimeからの取得いろいろ(Date Time、Time Span、Get Day Of Year、Get Hour12、Get Time Of Day)
・Game Mode を取得する(Get Game Mode、Cast To Game Mode)
・アニメーションブループリントを取得する(Get Anim Instance、Cast To AnimBP)
・カスタムイベント名を指定して一定時間ごとのタイマー処理を行う(Set Timer by Function Name、Clear Timer by Function Name)
・関数名を指定して一定時間ごとのタイマー処理を行う(Set Timer by Function Name、Clear Timer by Function Name)
・一定時間ごとのタイマー処理を行う(Set Timer by Event、Clear and Invalidate Timer by Handle)
・トランスフォーム(Tansform、Socket)の位置や回転を取得する(Get Socket Location、Get Socket Rotation、Does Socket Exist)
・Bind Event to ノードでカスタムイベントをデリゲートで接続することができない時の対応(Bind Event to、Custom Event)
・配列に入っているすべてのアクター(Actor)を破棄して配列の要素も削除する
・データテーブル(Data Table)の値を定義名(行の名前)を指定してBPで取得する(Get Data Table Row)
・ データテーブル(Data Table)の定義名(行の名前)一覧を取得する(Get Data Table Row Names)

■BP(ブループリント)Actor(アクター)関連
・3D空間上にテキスト文字列を配置して表示する(Text Render Actor)
・TextRenderActor の文字列を書き換える(Set Text)
・アクターの位置を取得したりセットしたり(Get Actor Location、Set Actor Location、Set Actor Location And Rotation)
・アクターの回転を取得したりセットしたり(Get Actor Rotation、Set Actor Rotation、Set Actor Location And Rotation)
・Actor(アクター)の相対移動と相対回転(Add Actor Local Offset、Add Actor Local Rotation)
・アクター(Actor)をブループリントから生成する(Spawn Actor from Class)
・アクター(Actor)のサイズの取得(Get Actor Bounds)
・アクター(Actor)を破棄する(Destroy Actor)
・アクター(Actor)を時間指定で遅延破棄する(Set Life Span)
・アクター(Actor)の「Event Tick」を実行しない(停止する)ようにする(Set Actor Tick Enabled)
・アクター(Actor)の「Event Tick」が呼ばれる間隔を変更する(Set Actor Tick Interval)
・アクター(Actor)にスタティックメッシュコンポーネント(Mesh Component)を追加してメッシュをセットする(Add Static Mesh Component、Set Static Mesh)
・アクター(Actor)の中のコンポーネントを取得する(Get Components by Class)
・アクター(Actor)の向きベクトルを取得する(Get Actor Up Vector、Get Actor Right Vector、Get Actor Forward Vector)
・アクター(Actor)とコンポーネント(Component)の「Event Tick」を実行しない(停止する)ようにする(Set Actor and Component Tick Enabled)
・アクター(Actor)の一番親(ルート)のコンポーネントを取得する(Get Root Component)
・複数のアクター(Actor)を持つアクター(ブループリント)を作成する(Child Actor)
・「Spawn Actor of Class」でスポーンさせるサブレベルを指定する(Spawn Actor of Class)
・Arrow Component の矢印の長さを設定する(Arrow Length)

■BP(ブループリント)Component(コンポーネント)関連
・コンポーネント(Component)の「Event Tick」を実行しない(停止する)ようにする(Set Component Tick Enabled、Is Component Tick Enabled)
・コンポーネント(Component)の「Event Tick」が呼ばれる間隔を変更する(Set Component Tick Interval、Get Component Tick Interval)
・コンポーネント(Component)にタグ(Tag)を追加する、タグ(Tag)の一覧を取得する(Get Component Tags)
・コンポーネント(Component)にタグ(Tag)があるかどうかチェックする(Component Has Tag)
・子どものコンポーネント(Component)一覧を配列で取得する(Get Children Components)
・コンポーネント(Component)を削除する(Destroy Component)

■BP(ブループリント)Material(マテリアル)関連
・メッシュが持つマテリアルの数を取得する(Get Num Materials)
・メッシュが持つマテリアルの名前を取得する(Get Material Slot Names)
・メッシュが持つマテリアル一覧を配列で取得する(Get Materials)
・メッシュが持つマテリアルをインデックスや名前を指定して取得する(Get Material、Get Material Index)
・外部から値を変更できるようにマテリアルパラメータを作成する(Scalar Parameter、Vector Parameter)
・メッシュ(Mesh)が持つ全てのマテリアルのマテリアルパラメータ値を外部からセットする(Set Scalar Parameter Value on Materials、Set Vector Parameter Value on Materials)

■マテリアル
・マテリアル(Material)やマテリアルインスタンス(Material Instance)のプレビューのメッシュを任意のものに設定する(Preview Mesh)
・マテリアル(Material)でテクスチャのアルファを反映する(Opacity Mask、Masked)
・マテリアル(Material)でテクスチャのUVを変化させる(Tex Coord[0])
・マテリアル(Material)の Time ノードで一定の周期を繰り返す(Time、Period)

■マテリアル式(Material Expression Reference)、マテリアル関数(Material Functions)
・マテリアルノードのドキュメントなど参考いろいろ
・入力されたカラーを指定した RGBA チャンネルでマスクして出力する(Component Mask)
・距離に応じて値を変化させる(Sphere Mask)
・2つの値をブレンドする(Linear Interpolate)
・カメラ位置を入力として取得する(Camera Position)
・ピクセルのワールド座標を入力として取得する(World Position)
・固定値を使う(Constant)
・ベクトルの要素の分解と作成(Break Out Float4 Components、Break Out Float2 Components、Break Out Float2 Components、Make Float4、Make Float3、Make Float2)
・マテリアル(Material)でUVのスクロールをする(Panner)
・マテリアル(Material)で円周率(Pi(π))の値を扱う(Pi)

■ポストプロセスエフェクト(Post Process Effects)
・ポストプロセスエフェクト(Post Process Effects)を実装する(Post Process Volume)
・ポストプロセスエフェクト(Post Process Effects)の既存機能(カラーグレーディング(Color Grading))
・ポストプロセスエフェクト(Post Process Effects)の既存機能(ブルーム(Bloom))
・ポストプロセスエフェクト(Post Process Effects)の既存機能(被写界深度(Depth of Field))
・ポストプロセスエフェクト(Post Process Effects)の既存機能(ビネット効果(Vignette))
・ポストプロセスエフェクト(Post Process Effects)の既存機能(グレイン効果(Grain))
・ポストプロセスエフェクト(Post Process Effects)にマテリアルを作成して適用する(ポストプロセスマテリアル(Post Process Material))
・ポストプロセスマテリアル(Post Process Material)でとりあえず色を変えてみる(Scene Texture、Component Mask)
・ポストプロセスマテリアル(Post Process Material)でカメラ位置から周囲の色を変化させる(Sphere Mask、Linear Interpolate、Constant)
・ポストプロセスエフェクト(Post Process Effects)の既存機能(レンズフレア(Lens Flare))
・ポストプロセスマテリアル(Post Process Material)で画面をグレースケール(Gray Scale)化する
・ポストプロセスマテリアル(Post Process Material)で画面を白黒の二値化する
・ポストプロセスマテリアル(Post Process Material)で画面を白黒の二値化した部分に色を付ける
・ポストプロセスボリュームの実行順を制御する(Priority)
・ポストプロセスマテリアル(Post Process Material)でアウトラインを描画する

■AI(Artificial Intelligence)
・ナビゲーションメッシュ(Nav Mesh)を作成する(Nav Mesh Bounds Volume)
・ナビゲーションメッシュ(Nav Mesh)があるかどうかを確認する(Pキー)
・ナビゲーションメッシュ(Nav Mesh)を生成する高さを調整する(Recast Nav Mesh、Cell Height)
・AI を制御するための AI Controller を取得する(Get AIController)
・ナビゲーションメッシュ(Nav Mesh)を使った簡単な移動を実装する(Simple Move To Actor、Simple Move To Location)
・ナビゲーションメッシュ(Nav Mesh)を使わない簡単な直線移動を実装する(Move To Location or Actor、Move To Location、Move To Actor)
・AIでの移動系ノードまとめ(Simple Move To Actor、Simple Move To Location、Move To Location or Actor、Move To Location、Move To Actor、AI MoveTo)
・AIでの移動停止系ノードまとめ(Stop Movement Immediately、Stop Active Movement、Stop Movement Keep Pathing、Stop Movement)

■サウンド
・サウンドキューを作成する
・サウンドキューにループ再生の設定をする
・サウンドキューを配置して再生する(Audio Component)
・サウンドキュー(Audio Component)を再生する(Play)
・サウンドキュー(Audio Component)を停止する(Stop)
・サウンドキュー(Audio Component)のポーズ(一時停止)の切り替え(Set Paused)
・サウンドキュー(Audio Component)の音量をフェードインさせながら再生する(Fade In)
・サウンドキュー(Audio Component)の音量をフェードアウトさせる(Fade Out)
・サウンドキュー(Audio Component)の音量を変更する(Adjust Volume)
・サウンドキュー(Audio Component)が再生中かどうかチェックする(Is Playing)
・SE(効果音)を再生する(Play Sound 2D)
・3D座標を指定してSE(効果音)を再生する(Play Sound at Location)
・3D座標を指定してSE(効果音)を再生して距離減衰させる(Play Sound at Location、Sound Attenuation)

■UMG(Unreal Motion Graphics)
・UMGの基本を覚えたら
・UMG(Unreal Motion Graphics)を使って2Dにテクスチャを表示する(Create Widget、Add to Viewport、Image Widget)
・UMGのウィジェットを削除する(Remove from Parent)
・UMGで日本語テキストを表示する(Text Widget)
・UMGでクリックされた時などのイベント処理(On Clicked)
・UMGでカラーを動的に変更する(変数のバインド)
・UMGでウィジェットをビューポートから取り外して非表示にする(Remove from Parent, Remove All Widgets)
・UMGのウィジェットを動的に動かす(Set Position in Viewport)
・UMGのウィジェットのパーツを動的に動かす(Set Position)
・UMGでウィジェットの中でウィジェットを使う
・UMGの子になっているウィジェットの位置をオフセット指定で動的に動かす(SetRenderTranslation)
・UMGでウィジェットやパーツのサイズを取得する(Get Desired Size)
・UMGで作ったアニメーションを再生する(Play Animation)
・UMGでImageなどのテクスチャを変更する(Set Brush from Texture)
・UMGで使えるマテリアルを作って反映する(User Interface)
・UMGで加算描画をする(Addtive)
・UMGでムービー(動画)を再生する
・UMGでImageウィジェットの画像をTextureで差し替える(Set Brush from Texture)
・UMGでウィジェット(Widget)同士の描画優先順を設定する(Add to Viewport、Z Order)
・UMGでテクスチャをタイリング表示する(Image Widget、Tiling)
・UMGのアニメーションの現在の再生時間を設定する(Set Animation Current Time)
・UMGでアニメーション再生の終了をBPで検知して処理を行う(Play Animation with Finished Event)
・UMGのウィジェットをBPで回転する(Set Render Transform Angle)
・UMGのウィジェットにBPで透明度を設定する(Set Render Opacity)
・UMGのウィジェットにBPでスケール(Scale)を設定する(Set Render Scale)
・UMGのウィジェットにBPで傾き(Shear)を設定する(Set Render Shear)
・UMGのウィジェットをBPで絶対座標で移動する(Set Render Translation)
・UMGのウィジェットを回転させたときにでるジャギーを軽減する(Retainer Box)
・UMGで改行ありのテキストを表示する(Shift+Enter)
・UMGでデータテーブル(Data Table)から取得したテキストを改行ありで表示する(Shift+Enter)
・UMGのBPでキーボードなどのアクションマッピング(ActionMappings)された入力を受け取る(Listen for Input Action)
・UMGのウィジェットの表示状態を切り替える(Set Visbility)

■入力関係
・マウス座標の取得(Get Mouse Position)
・キーボードの指定したキーの入力を受け取る(Keyboard Events)
・マウスの指定したボタンの入力を受け取る(Mouse Events)
・マウスやキーボードを押している間の判定をとる
・マウスの移動量の取得(Event Input Axis Turn、Event Input Axis LookUp)
・マウスのホイール回転量の取得(Event Mouse Wheel Axis)
・ゲームパッドの指定したボタンの入力を受け取る(Gamepad Events)
・受け取るキーを定義して入力を受け取る(ActionMappings)
・コントローラー(スマホ)の振動と停止(Client Play Force Feedback、Client Stop Force Feedback)
・アクター(Actor)でキー入力を受け取れるようにする(Auto Receive Input)
・アクター(Actor)でキー入力受け付けの有効無効を動的に切り替える(Enable Input、Disable Input)
・イベント以外でキーを押しているかどうかを受け取る(Is Input Key Down)

■プラグイン
・プラグインの種類

■エディタ拡張(ブループリントユーティリティ(Editor Utility Blueprint、Blutility))
・ブループリントユーティリティ(Editor Utility Blueprint、Blutility)のエディタ拡張・エディタウィンドウを作ってみる

■エディタ拡張(C++)
・スレートUI(SlateUI)参考
・プラグイン作成とウィンドウ表示
・メッセージダイアログの表示(FMessageDialog)
・簡単なウィジェットの配置方法(SVerticalBox、SHorizontalBox、AutoHeight、.AutoWidth)
・ウィジェットリフレクタ(WidgetReflector)
・テキストブロック(ラベル)ウィジェット(STextBlock)
・ボタンウィジェット(SButton)
・エディタブルテキストボックス(テキストボックス)ウィジェット(SEditableTextBox)
・ウィジェット共通アトリビュート(IsEnable、ToolTipText、Visibility)
・ウィジェットを変数として扱う・格納する(SAssignNew)

| UE5/UE4 記事目次 | 23:50 | comments:0 | trackbacks:0 | TOP↑

≫ EDIT

UE4 UE4はじめました。

というわけでUE4をはじめたのですが、
右も左もわからない状態ですので、またいろいろメモっていこうと思います。

TwitterでUE4のまとめページがあるよと教えてもらったのでメモ。

・Unreal Engine 4 日本語情報まとめページ
https://unreal-engine-4-japanese.zeef.com/michiko.usui

・UE4攻略wiki -Preview-
http://www64.atwiki.jp/ue4wiki/pages/1.html

・historia さんのページ
http://historia.co.jp/

・みんなで埋める 逆引きUnrealEngine4辞典
https://docs.google.com/spreadsheets/d/131H9SfSGKNQpTBR5YvyIJiKlb2DDxx_54nRcnaheSUc/edit?pref=2&pli=1#gid=940193983

猛禽さんがUE4がでた初期のころにまとめてくれていたページです。
処理は変わるかもしれませんが、今でも割りと必要な情報があるんじゃないでしょうか。

それと「Unreal Engine 4で極めるゲーム開発」という本もオススメされたのでぺたり。
僕のプログラマ人生を賭けてITエンジニア本大賞2016に推薦したい本はこれ

これからちょこちょこと進めていきたいと思います。

| UE4 | 23:04 | comments:0 | trackbacks:0 | TOP↑

| PAGE-SELECT |