LifePlay-Revival/Source/LifePlayEditorTools/LPMakeCityGroundCommandlet.h

54 lines
3.9 KiB
C
Raw Normal View History

// Lot STM1 (STM1-SPEC-17 ; pack 1.4.0) : textures et materiaux du sol d'une ville (chaussee, paves, trottoirs), sans interface.
//
// Le BP StreetMap_Static impose StreetMapMasked (mode normal) ou StreetMapClassic (mode classique) sur la carte ; le jeu
// (LPCityWaterSubsystem, UpdateGround) remplace StreetMapMasked par l'instance <Root>/StreetMap/Ground/<Ville> en mode normal
// seulement. Ce commandlet cree, sous <Root> (/lpm_city_<v>) :
// - les textures (-Spec : fichier « Cle=chemin » ; cles AsphaltBC, AsphaltN, AsphaltORM, CobbleBC, CobbleN, CobbleORM,
// ConcreteBC, ConcreteN, ConcreteORM ; FlipGreen=<cles> pour les normales OpenGL) dans <Root>/Materials/Textures :
// couleur sRGB plafonnee a -ColorMax (2048), normales et ORM (R occlusion, G rugosite) lineaires a -DetailMax (1024) ;
// - M_LP_CityGround (Masked) : meme masque que StreetMapMasked (visible si R != V de la couleur de sommet ; R > 0,9 : route,
// sinon parc vert sombre) ; routes : asphalte (deux echantillons, 1,6 m et 5,3 m tourne de 37 degres, macro-variation du
// beton a 40 m) ou paves si U (UV0) > 1,5 (LPBuildCityStatic -PavedOsm), sur la position locale XY ; fondu vers la texture
// road du jeu (UV0, base et emission, comme StreetMapMasked) entre FadeNearCm et FadeFarCm de la camera ;
// - M_LP_CitySidewalk (Masked, tramage) : beton sur la position locale XY, qui s'efface en tramage avec la distance ;
// - l'instance <Root>/StreetMap/Ground/<Ville> de M_LP_CityGround (parametres reglables sans code).
// 1.4.1 (STM1-DIAG-03) : textures deja importees reprises ; C1 : au loin, couleur unie FarColor (moyenne de la texture road
// du jeu, lue dans sa source) au lieu de cette texture etiree par segment ; A1 : trottoirs en teinte chaude (Tint) et reflet
// du ciel reduit (Specular 0,1) ; E1 : M_LP_CitySquare (paves : places, parvis, rues pietonnes) et M_LP_CityGreen (vert
// des parcs : jardins, pelouses), pour LPBuildCitySidewalks.
// 1.4.2 (STM1-DIAG-04 R1, STM1-SPEC-19 § 4) : M_LP_CitySidewalk et M_LP_CitySquare opaques, sans tramage (scintillement en
// survol sous TAA) : au loin, rendu du plan de pave de MapMarkers (-PavementMaterial : couleur = moyenne de sa texture x
// Color, Metal, Roughness, Specular), normale vers le haut ; gazon (cles facultatives GrassBC, GrassN, GrassORM) : parcs de
// M_LP_CityGround et M_LP_CityGreen en gazon sur la position locale XY (deux echantillons, le second tourne), fondu vers sa
// couleur moyenne.
// 1.5.1 (STM1-SPEC-21) : -SquareOwnFar : M_LP_CitySquare fond au loin vers la moyenne de sa propre texture x Tint (places
// visibles de haut) ; cles facultatives StoneBC et StoneORM (StoneTileCm, 300 par defaut) : M_LP_LandmarkStone, pierre opaque en
// projection triplanaire sur la position monde, pour les monuments sans UV ; une cle de valeur @AutreCle reprend une texture deja lue ;
// cles facultatives PlaceBC, PlaceN, PlaceORM (paves propres a M_LP_CitySquare, PlaceTileCm 100) et SlabBC, SlabN, SlabORM
// (M_LP_CitySlab, dalles des parvis et des cours, SlabTileCm 200, pour LPBuildCitySidewalks -SlabMaterial).
// 1.5.2 (STM1-DIAG-06 § 3 ter) : PlaceTint (scalaire) eclaircit les paves des places ; SandTint=R,G,B cree M_LP_CitySand
// (stabilise : beton teinte sable) pour LPBuildCitySidewalks -BySurface.
// 1.6.1 (STM1-DIAG-07 c) : SlabTint (scalaire) eclaircit les dalles.
// Aucun asset existant n'est remplace.
//
// Usage : -run=LPMakeCityGround -Root=/lpm_city_<v> -City=<Ville> -Spec=<fichier> [-ColorMax=2048] [-DetailMax=1024]
// [-RoadTexture=/Game/Heavy/New2/Buildings/Mats/road.road]
// [-PavementMaterial=/Game/Heavy/New2/Buildings/Mats/PavementMat.PavementMat] [-SquareOwnFar] [-Report=<f.md>]
#pragma once
#include "CoreMinimal.h"
#include "Commandlets/Commandlet.h"
#include "LPMakeCityGroundCommandlet.generated.h"
UCLASS()
class ULPMakeCityGroundCommandlet : public UCommandlet
{
GENERATED_BODY()
public:
ULPMakeCityGroundCommandlet();
virtual int32 Main(const FString& Params) override;
};