Memento Unreal Engine 4

Tps de lecture estimé:1 minute 33 secondes

Memento Unreal Engine 4

A savoir

  • par défaut dans UE4
    • 1 Unité UE4 = 1 cm (modifiable dans les "editor settings")
    • Le player character mesure 192 cm
  • "Quixel bridge" est recommandé pour importer des assets mégascan "complet" dans UE4
  • "Datasmith" permet également de faciliter l'import d'assets 3D dans UE4
  • possibilité de faire des "Auto LOD" dans le "static mesh "editor"
  • les texture doivent toujours avoir des dimension qui sont des puissance de 2: 2,4,8... 8192
    • mais pas forcément carrées: 16x128,2048x1024...
  • le "light backing" nécessite des "Lightmaps UVs" pour chaque mesh devant être pré-calculées
    • elle peuvent être importées avec la mesh
    • possibilité de générer les "Lightmaps UVs" dans le "static mesh "editor"
  • pour paraître réalistes, les matériaux PBR et les lumières PBR (par défaut dans UE4) nécessitent:
    • des zone de réflexions ("sphere reflexion capture", "box reflexion capture","planar reflexion")
    • ou des réflexions par ray-tracing (nécessite du hardware spécifique)
  • depuis la version 4.24, il existe un objet PBR "sky atmosphere" qui gère l'atmopshère d'une planète de façon réaliste (lumière et brouillard volumétriques, lever et coucher de soleil...)

ligne de commande

  • Ouvrir un projet :
    /mnt/B/UnrealEngine/4.23/Engine/Binaries/Linux/UE4Editor "/mnt/J/Projets/UE4/Linux/TpCpp/TpCpp.uproject"
  • compiler un projet C++ manuellement sous Linux:
    mono /mnt/B/UnrealEngine/4.23/Engine/Binaries/DotNET/UnrealBuildTool.exe Development Linux -Project="/mnt/J/Projets/UE4/Linux/TpCpp/TpCpp.uproject" -TargetType=Editor -Progress -NoHotReloadFromIDE
  • générer un projet manuellement sous Linux:
    /mnt/B/UnrealEngine/4.23/Engine/Build/BatchFiles/Linux/GenerateProjectFiles.sh -Project="/mnt/J/Projets/UE4/Linux/TpCpp/TpCpp.uproject" -game -vscode

C++

  • les templates de code C++ (utilisés par exemple lors de la création d'une classe dans l'éditeur) sont installés dans : \Engine\Content\Editor\Templates

Debugging

  • exemple de debugging possible

```c++

int32 AnInt = 10;
float AFloat = 200.0f;
FString Astring = "TADA";
UE_LOG(LogTemp, Warning, TEXT("Debug int is : %d", AnInt));
UE_LOG(LogTemp, Warning, TEXT("Debug float is : %f", AFloat));
UE_LOG(LogTemp, Warning, TEXT("Debug string is : %s", *Astring));
GEngine->AddOnScreenDebugMessage(1, 100.0f, FColor::Red, FString(TEXT("Debug float is : %f", AFloat)));

include "DrawDebugHelpers.h" // DrawDebugHelpers contains lots of debug helpers

// exemple
DrawDebugSphere(AActor::GetWorld(), GetActorLocation() + FVector(0.0, AFloat, 0.0), 20.0f, 20, FColor::Orange, true, 100.0f, 10.0f, 2.0f);



 `mono /mnt/B/UnrealEngine/latest/Engine/Binaries/DotNET/UnrealBuildTool.exe Development Linux -Project="/mnt/J/Projets/UE4/Linux/TopDownCpp_425/TopDownCpp_425.uproject" -TargetType=Editor -Progress -NoHotReloadFromIDE`

Article suivant