投稿

ラベル(Unreal Engine)が付いた投稿を表示しています

Unreal engine: A fatal error occurred. The required library hostfxr.dll could not be found.

イメージ
Unreal engine 5でC++のプロジェクトを作ろうとして以下のエラーが表示されたら.Netのコンポーネントがインストールされていないのが原因である。  An error occurred while trying to generate project files. Running C:/Program Files/Epic Games/UE_5.0/Engine/Binaries/DotNET/UnrealBuildTool/UnrealBuildTool.exe  -projectfiles -project="C:/Users/[User name]/Documents/Unreal Projects/MyProject/MyProject.uproject" -game -rocket -progress A fatal error occurred. The required library hostfxr.dll could not be found. If this is a self-contained application, that library should exist in [C:\Program Files\Epic Games\UE_5.0\Engine\Binaries\DotNET\UnrealBuildTool\]. If this is a framework-dependent application, install the runtime in the global location [C:\Program Files\dotnet] or use the DOTNET_ROOT environment variable to specify the runtime location or register the runtime location in [HKLM\SOFTWARE\dotnet\Setup\InstalledVersions\x64\InstallLocation]. The .NET Core runtime can be found at:   - https://aka.ms/dotnet-core-applaunch?missing_runtime=tru...

CitySample Unreal Engine5

イメージ
DLの容量は100G弱。 動きましたBig_city。でもメモリを32GRAM(圧縮されている)使い切っているね。OSトータルで48GBぐらい? FPSは遅い。 一瞬Cyberpunkかと思ってしまう。Tutorialからあるように、露出は人間の目に合わせて自動的にかわる。 暗いところへ行くと明るい場所が眩しくなる。RTも良い感じ。

UE5, Naniteノート

イメージ
参考動画: https://www.youtube.com/watch?v=xUUSsXswyZM   UE5 Naniteは各メッシュのNaniteをチェック。 それだけ。 で、一人で作っていたら3年以上かかりそうな機能(出来るかどうかも不明)を使える。 ※以下は覚えるため私が翻訳しているので正しい保証はない。 Nanite Setup Overview スタティックメッシュのみ(DeformされないMesh) No skeletal meshes No World Position Offset NaniteとNon-NaniteのGeometryを両方持てる Massive poly countsが持てる、なぜなら... より高速でより効率化されてたレンダリングをする 可視出来る部分だけ細かくロードし見せる NaniteをサポートできるMeshを有効にする Nanite meshesはミリオンpolyは必要でないが、サポートされている。 Art Production Pipeline Nanite以前 With Nanite

UE5とWorld Partition

イメージ
https://www.youtube.com/watch?v=ZxJ5DG8Ytog&t=406s 上の動画内、World Partitionのメモである。 Grids内Cell Size等は変更して、自動に反映することが可能 以下が自動化するかの設定場所である。 これらはCmdletからも実行可能である。 説明は省略。 円の中心はPlayerで円は範囲を示す。 白いラインは観ている方向。グリーンがロード、赤がアンロードを示し、Playerが移動するとリアルタイムでそれが行われている。このHLOD機能があるだけでもUE5を使う価値があるというものだ。 HLOD用データはCmdletから可能で別PCでコンバート作業させることができ処理を分散可能である。

UE5のOne File Per Actorのファイル構造とチェックアウト

イメージ
https://www.youtube.com/watch?v=ZxJ5DG8Ytog&t=406s 上の動画内のOne File Per Actorのファイル構造とチェックアウトの説明部を文書化。 One File Per Actorのドキュメントを読むよりも現実的なので比較的頭に入ってくる。 数千バイトから300MBのサイズのファイルからなっている。 フォルダを観ると2021/8/12になっているので最近である。 Moorは8KBだが__ExternalActors__のサブフォルダMoorには以下のように大量なフォルダが存在する。 さらにその中にはいくつかのサブフォルダとデータがある。 これらにはこのワールドのAssetの参照が入っている。 あるActorを変更すると下のように上のフォルダの一部がCheck Outすることができる。 BigRock12, Game/__ExternalActors__/Moor/3D/Y9/AMQ******をチェックアウトするかと表示されている。これによって複数人が並行で作業できるということだ。 自動チェックアウトも設定で選ぶことが可能である。Edit>Editor Preferences>Loading & Saving>SOURCE CONTROL内 有効にするのにはUse External Acotersをチェックすれば良い。

Levelデザインする前に決めるサイズ

 Unreal engineだけに限ったことではないが、Level designする前に決めておくサイズ。この基準を作っておかないとあとで面倒なことになる。 以下のTutorialが考え方の参考になる。 Architectural Scale vs. Game Metrics Architecture -Building Story     4m -Floor depth 1m -Wall depth 0.25m Game Metrics -Character width 0.9m -Character height 1.96m -Character crouch height 1.1m -Character jump Z distance 1.4m -Character jump X distance 4m https://learn.unrealengine.com/course/3754334/module/7274126?moduletoken=UHxxnDLPW8QpVAW8lQxqoJlZD44CzJcqSD72WQNcpD9UNTyUKmWwYhRt7NC5j0tY&LPId=0

Unreal engine key board binding

イメージ
 Godotなどと同じだがProject Setting内でキーを指定し、codeでBindingする。 void ACollidingPawn :: SetupPlayerInputComponent ( class UInputComponent * InInputComponent ) {     Super :: SetupPlayerInputComponent ( InInputComponent );     InInputComponent -> BindAction ( "ParticleToggle" , IE_Pressed, this , & ACollidingPawn ::ParticleToggle);     InInputComponent -> BindAxis ( "MoveForward" , this , & ACollidingPawn ::MoveForward);     InInputComponent -> BindAxis ( "MoveRight" , this , & ACollidingPawn ::MoveRight);     InInputComponent -> BindAxis ( "Turn" , this , & ACollidingPawn ::Turn); }

熟成されたUnreal EngineのVector class

 UEではIsNearlyZero()のような便利な関数がある。これはfloat型が誤差のため完全に0にならないための誤差を考慮したMethodである。熟成されていないEngineなどはなかったりするのでいちいち作っていた。しかも状況によって範囲をかえたりする調整が必要で思った以上に時間がかかる。 こんなことからUEの熟成度を感じてしまう。 FVector DesiredMOvementThisFrame = ConsumeInputVector().GetClampedToMaxSize(1.0f) * DeltaTime * 150.0f; if (!DesiredMOvementThisFrame. IsNearlyZero ()) { }

Unreal-engineのスタイルガイド

UE スタイルガイド https://github.com/Allar/ue5-style-guide C++ スタイルガイド https://docs.unrealengine.com/4.27/en-US/ProductionPipelines/DevelopmentSetup/CodingStandard/ これらは初めに読んで出来るだけ慣れよう。 これじゃないと違和感が出てくるぐらいに。 ただ最優先はチームに合わせること。

Unreal engineのためPCの性能改善

イメージ
 ADATA XPG GAMMIX S70 BLADE 1TB (読取最大 7,400MB/秒)のSSD初めて購入したがなかなか良い。 PCIe4x4は高速。UEは高スペックPCを必要とするため交換。 尚、まだDefragしていない(Win7からのUpgradeを繰り返しているイメージ)がSSDあまり必要ではない。ADATAサイトからゲットしたClone softはCrashして使えなかった。Youtubeで紹介されていたMiniTool ShadowMaker Freeを使用。  Amazon JPのポイントアップキャンペーンだったのもあった。

Unreal engine, C++ compilerではコンパイルされないマクロ

イメージ
 以下のUObjectのマクロはC++ compilerではコンパイルされず, UE toolsによって使われる。( 実際にはToolによりコードが入る可能性有 ) #define UPROPERTY(...) #define UFUNCTION(...) #define USTRUCT(...) #define UMETA(...) #define UPARAM(...) #define UENUM(...) #define UDELEGATE(...) #define RIGVM_METHOD(...) なので、ココを編集するとUE Editor内(特にDetails)が変化する。 

Unreal engine/DirectXとBlender/OpenGLの座標系

イメージ
 Unreal Engine/Direct X/Unity 左手座標系, left-handed coordinate system Blender/Open GL/Godot/LibGdx 右手座標系,right-handed coordinate system

Unreal Engine開始

 本日からUnreal Engineを開始する。 基本はUE5だが、これは春にリリースされるのでそれまで 4.7を中心に行う。