Memento Unreal Engine 4

Tps de lecture estimé:1 minute 26 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...)

Compilation

  • compiler un projet manuellement sous Linux:
    mono /mnt/B/UnrealEngine/4.23/Engine/Binaries/DotNET/UnrealBuildTool.exe Development Linux -Project="/mnt/D/Projets/UE4/Autres/TpBpBrushify423/TpBpBrushify423.uproject" -TargetType=Editor -Progress -NoHotReloadFromIDE

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);

Article suivant