UE4
概要 slnファイルを作成してVisualStudioで開き、対象プロジェクトをスタートアッププロジェクトに指定してからF5でデバッグ開始 詳細
ue4.26 prev4の紹介動画 www.youtube.com 大雑把なまとめ BPからリグを適用したり制御したり(Control Rig) Niagaraで鎖のようなリンク構造を作れるようになる 外部アプリ連携の強化 変更がすぐに反映 仮想テクスチャで従来の256倍までのサイズのテクスチャが…
ue4.25.3をインストールしたときプロジェクトファイル(*.uproject)のue4への関連づけや右クリックメニューへのue4項目追加がうまく行われなかったので、その解決方法。概要: ランチャーの UnrealVersionSelector.exe をエンジンのバイナリフォルダ(UE4Edito…
VisualStudioInstallerでWindowsのSDKをすべて入れると解決できた。Win10のSDKは最新版だけではだめだったようだ。検索ボックスでVisualStudioInstallerを起動し、VS2017の詳細>変更で、"C++によるゲーム開発"欄のWindows SDKを全部選択して変更ボタンで適…
概要 プロジェクト内プラグインのチュートリアルBPを実行すると他プロジェクトがパッケージ化できなくなる 原因 チュートリアルBPを実行するとUE4共用の設定ファイル(EditorSettings.ini)にチュートリアルBPのパスとともに進捗データが書き込まれるため、そ…
パッケージ後にゲームの状態を確認したいときは@キーでコンソールコマンドを実行できる。 @を2回押せばコマンドの出力も表示できる状態になる(添付画像) コンソールを無効にする場合はプロジェクト設定で Engine > Input > Console のキー定義を削除す…
Epic Games Launcherでデバッグ用シンボルファイルをDLすれば可能になる。UnrealEngine > ライブラリ > 4.22(対象バージョン) > 「起動」横の▼ > オプション で「デバッグに必要なエディタシンボル(Editor symbols for debugging)」をダウンロードする。 空…
LogLinker:Warning:ファイル***が見つかりませんのような警告がでてパッケージ化が失敗するが、***のファイル自体がプロジェクトにない場合。 プロジェクトを新規作成してパッケージ化しても同じエラーがでるなら、 Windowsのユーザフォルダ ( C:¥ユー…
std::stringなどの標準ライブラリや既存のwindows用コードを利用したい場合、単純に #include <windows.h> をするとUE4のTEXTマクロの再定義がおきてUE4側のコードがエラーになってしまう。 windows.hのかわりに、 #include "AllowWindowsPlatformTypes.h" //windowsコ</windows.h>…
大量にライトマップが作られていたり、大きすぎるマップになっていたりすることが原因である場合も。 事前計算するライトマップを減らすことで解決する場合がある。 シーンによっては、レベル上オブジェクトの可動性をステーショナルかムーバブルにするとビ…
ファイル > プロジェクトをパッケージ化 > プロジェクトをzip圧縮 でプロジェクトをzip圧縮できる。Savedなど実行時に作られるファイルは自動的に除外されるので便利。pluginsは含まれない。 DefaultGame.iniで自動追加するように設定したパッケージ(スター…
Config/DefaultGame.ini に以下の項目を追加すると指定したパッケージがプロジェクトの起動時に自動で追加される。 [StartupActions] bAddPacks=True InsertPack=(PackSource="StarterContent.upack",PackName="StarterContent")プロジェクトの送付時にStart…
Actor派生クラスのヘッダでShouldTickIfViewportsOnlyをoverrideしてtrueを返せばエディタでもTickが動くようになる。 virtual bool ShouldTickIfViewportsOnly() const override { return true; };このアクタをレベル上に配置すると、エディタ上でもTickが…
Name 内容変更不可で、内部で文字列をハッシュ値に変換して表現する特殊な文字列。検索や比較がとても高速で、主にアセット名や要素名に使用されている。 Text 内容変更不可の文字列。ローカライズに対応できる。主に表示用文字列に使用される。Stringより高…
Format Textノードでは"{year}/{month}/{day}"のようにすると、"2,019/6/26"のように桁がばらばらで1000以上の値では","がついてしまう。 桁を合わせたい場合や","をつけたくない場合は、ToTextノードを経由すれば文字列化の設定を指定できる。 Use Grouping…
デフォルトでは同じ入力イベントは1つのBPだけでしか処理できないようになっている。 左クリックイベントの処理などを複数のBPでそれぞれ処理したい場合は、すべてのBPで、入力イベントノードを選択して "詳細 > Input > Consume Input" をoffにすれば処理…
カスタムノードを使うとマテリアルノードでもHLSLコードを書くことができる。複雑な計算を書いたり、既存のコードを利用するときに便利。ノードで利用するため入出力形式の制限がある。 HLSLでreturnした値が出力ピンにでてくるのでそれを他のノードやマテリ…
プロジェクト設定 > Project > Crypto > Encryption で設定できる。UE4.19以降で可能になった。 Encryption Key を設定し、チェックボックスで暗号化する対象を選択すれば、パッケージ化のときに暗号化される。 設定 暗号化していないPakは
スポーン可能な場所を自動で探すなどに使える。 概要 ActorにBoxコリジョンコンポーネントを追加し、GetScaledBoxExtentでBoxのサイズを取得し、RandomPoint in BoundingBoxでBox内のランダムな位置を得て、LineTraceByChannelでなにかにヒットするまで繰り…
UE4ではビヘイビアツリーをつかって自動で動くキャラクタAIを実装することができる。 ビヘイビアツリーを作り、AIの記憶用にブラックボードを作り、AIコントローラにそれらをセットし、自動化したいキャラクタにそのコントローラを適用すると自動で動くキャ…
マテリアルでUE4に用意されている"SimpleGrassWind"ノードをワールドオフセットに接続すると風に揺れているように見せることができる。
エディタ設定 > 一般 > ロード&保存中 > Auto Reimport > Monitor Content Directories を有効にすると元の画像ファイルが監視対象フォルダにある場合は、変更されると自動で再インポートされる。 監視対象フォルダの指定はDirectories to Monitor項目で指…
オプションでHTML5対応などを削除した場合、アクセス不能なHTML5フォルダが残って実行できなくなることがある。 Windowsからサインアウトし、再びログインすればHTML5などのフォルダが消えてUE4プロジェクトの実行が出来るようになる。
日本語のノード名は「テキストをフォーマット」 format文字列に書式を指定する。{0}のように{}の部分が自動的に入力pinになる。 たくさんの値をまとめて表示するときなどに便利。 小数点以下の桁数指定のような機能はなさそう。書式例: "{0},{1}" pin0とpin…
共通処理を書く方法はマクロと関数の2種類ある。 どちらも新しいノードとして利用できる。 毎回ノードを組むより楽になるし、処理の中身を調整するのも1回で済む。1つのノードにまとめることができるのでグラフが読みやすくなる。 速度計測してみると、ど…
#includeでUE4のヘッダを読む場合は、ue4ソースの各Classesフォルダからの相対パスで指定できる。 runtime/Engine/Classes/Engine/Blueprint.h は #include "Engine/Blueprint.h" Sourceフォルダのコピーだけでは使えない uprojectにmodulesを追加する必要が…
マテリアルパラメータコレクション(Material Parameter Collection : MPC)を使う。 スカラ値とベクタ値が利用可能。BPから値の参照や変更もできる。 ワールド内の風速やプレイヤーの位置など全体に影響するようなパラメータに利用すると一括操作できて便利。
4Kテクスチャなど大きいデータを使うプロジェクトを何度も編集しているとDerivedDataCacheが数十GBになってしまうことがある。 場所はユーザーフォルダ(C:¥ユーザー¥????など)の AppData/Local/UnrealEngine/Common/DerivedDataCache
概要:アクタにProcedualMeshコンポーネントを追加し、BPで配列でメッシュデータを用意して、CreateMeshSection。作成されたメッシュはStaticMeshとして保存もできる。 以下詳細
Abs 絶対値 Add 加算 Max 最大値 Min 最小値