489 lines
7.5 KiB
C++
489 lines
7.5 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "UObject/ObjectMacros.h"
|
|
|
|
#include "MetaHumanBodyType.h"
|
|
|
|
#include "MetaHumanMigrationInfo.generated.h"
|
|
|
|
USTRUCT()
|
|
struct FMetaHumanTextureSynthesisMigrationInfo
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
UPROPERTY()
|
|
bool bSkinUnlocked = true;
|
|
|
|
UPROPERTY()
|
|
float LowFrequency = 0.5f;
|
|
|
|
UPROPERTY()
|
|
float HighFrequency = 0.5f;
|
|
|
|
UPROPERTY()
|
|
float Contrast = 0.5f;
|
|
|
|
UPROPERTY()
|
|
FVector2f SkinToneUI = FVector2f{ ForceInit };
|
|
|
|
UPROPERTY()
|
|
FLinearColor SkinTone = FLinearColor{ ForceInit };
|
|
};
|
|
|
|
USTRUCT()
|
|
struct FMetaHumanFreckesMigrationInfo
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
UPROPERTY()
|
|
FName Option;
|
|
|
|
UPROPERTY()
|
|
float Density = 0.5f;
|
|
|
|
UPROPERTY()
|
|
float Saturation = 0.5f;
|
|
|
|
UPROPERTY()
|
|
float Strength = 0.5f;
|
|
|
|
UPROPERTY()
|
|
float ToneShift = 0.5f;
|
|
};
|
|
|
|
USTRUCT()
|
|
struct FMetaHumanAccentRegionMigrationInfo
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
UPROPERTY()
|
|
float Redness = 0.5f;
|
|
|
|
UPROPERTY()
|
|
float Saturation = 0.5f;
|
|
|
|
UPROPERTY()
|
|
float Lightness = 0.5f;
|
|
};
|
|
|
|
USTRUCT()
|
|
struct FMetaHumanAccentRegionsMigrationInfo
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
UPROPERTY()
|
|
FMetaHumanAccentRegionMigrationInfo Scalp;
|
|
|
|
UPROPERTY()
|
|
FMetaHumanAccentRegionMigrationInfo Forehead;
|
|
|
|
UPROPERTY()
|
|
FMetaHumanAccentRegionMigrationInfo Nose;
|
|
|
|
UPROPERTY()
|
|
FMetaHumanAccentRegionMigrationInfo UnderEye;
|
|
|
|
UPROPERTY()
|
|
FMetaHumanAccentRegionMigrationInfo Cheeks;
|
|
|
|
UPROPERTY()
|
|
FMetaHumanAccentRegionMigrationInfo Lips;
|
|
|
|
UPROPERTY()
|
|
FMetaHumanAccentRegionMigrationInfo Chin;
|
|
|
|
UPROPERTY()
|
|
FMetaHumanAccentRegionMigrationInfo Ears;
|
|
};
|
|
|
|
USTRUCT()
|
|
struct FMetaHumanIrisMigrationInfo
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
UPROPERTY()
|
|
FName Option;
|
|
|
|
// TODO: Need to map these to FLinearColor
|
|
UPROPERTY()
|
|
FVector2D Color1UI = FVector2D(0.8f, 0.3f);
|
|
|
|
UPROPERTY()
|
|
FLinearColor Color1 = FLinearColor{ ForceInit };
|
|
|
|
UPROPERTY()
|
|
FVector2D Color2UI = FVector2D(0.5f, 0.3f);
|
|
|
|
UPROPERTY()
|
|
FLinearColor Color2 = FLinearColor{ ForceInit };
|
|
|
|
UPROPERTY()
|
|
bool bUseRadialBlend = true;
|
|
|
|
UPROPERTY()
|
|
float ColorBalance = 0.5f;
|
|
|
|
UPROPERTY()
|
|
float ColorBalanceSmoothness = 0.5f;
|
|
|
|
UPROPERTY()
|
|
float Size = 0.5f;
|
|
|
|
UPROPERTY()
|
|
float Saturation = 0.5f;
|
|
|
|
UPROPERTY()
|
|
float LimbusDarkAmount = 0.5f;
|
|
};
|
|
|
|
USTRUCT()
|
|
struct FMetaHumanScleraMigrationInfo
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
UPROPERTY()
|
|
FVector2D TintUI = FVector2D{ 0.2f, 0.2f };
|
|
|
|
UPROPERTY()
|
|
FLinearColor Tint = FLinearColor{ ForceInit };
|
|
|
|
UPROPERTY()
|
|
float Brightness = 0.5f;
|
|
|
|
UPROPERTY()
|
|
float Rotation = 0.5f;
|
|
|
|
UPROPERTY()
|
|
float Vascularity = 0.5f;
|
|
|
|
UPROPERTY()
|
|
float VeinsRotation = 0.5f;
|
|
};
|
|
|
|
USTRUCT()
|
|
struct FMetaHumanEyeMigrationInfo
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
UPROPERTY()
|
|
FMetaHumanIrisMigrationInfo Iris;
|
|
|
|
UPROPERTY()
|
|
FMetaHumanScleraMigrationInfo Sclera;
|
|
};
|
|
|
|
USTRUCT()
|
|
struct FMetaHumanTeethMigrationInfo
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
UPROPERTY()
|
|
FVector2D TeethColorUI = FVector2D(0.35f);
|
|
|
|
UPROPERTY()
|
|
FLinearColor TeethColor = FLinearColor{ ForceInit };
|
|
|
|
UPROPERTY()
|
|
FVector2D GumColorUI = FVector2D(0.35f);
|
|
|
|
UPROPERTY()
|
|
FLinearColor GumColor = FLinearColor{ ForceInit };
|
|
|
|
UPROPERTY()
|
|
FVector2D PlaqueColorUI = FVector2D(0.35f);
|
|
|
|
UPROPERTY()
|
|
FLinearColor PlaqueColor = FLinearColor{ ForceInit };
|
|
|
|
UPROPERTY()
|
|
float PlaqueAmount = 0.12f;
|
|
};
|
|
|
|
USTRUCT()
|
|
struct FMetaHumanFoundationMakeupMigrationInfo
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
UPROPERTY()
|
|
bool bApplyFoundation = false;
|
|
|
|
UPROPERTY()
|
|
FLinearColor Color = FLinearColor{ ForceInit };
|
|
|
|
UPROPERTY()
|
|
float Intensity = 0.39f;
|
|
|
|
UPROPERTY()
|
|
float Roughness = 0.25f;
|
|
|
|
UPROPERTY()
|
|
float Concealer = 0.57f;
|
|
};
|
|
|
|
USTRUCT()
|
|
struct FMetaHumanEyesMakeupMigrationInfo
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
UPROPERTY()
|
|
FName Option;
|
|
|
|
UPROPERTY()
|
|
FLinearColor PrimaryColor = FLinearColor{ ForceInit };
|
|
|
|
UPROPERTY()
|
|
FLinearColor SecondaryColor = FLinearColor{ ForceInit };
|
|
|
|
UPROPERTY()
|
|
float Roughness = 0.5f;
|
|
|
|
UPROPERTY()
|
|
float Transparency = 0.6f;
|
|
|
|
UPROPERTY()
|
|
float Metalness = 0.0f;
|
|
};
|
|
|
|
USTRUCT()
|
|
struct FMetaHumanBlusherMakeupMigrationInfo
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
UPROPERTY()
|
|
FName Option;
|
|
|
|
UPROPERTY()
|
|
FLinearColor Color = FLinearColor{ ForceInit };
|
|
|
|
UPROPERTY()
|
|
float Intensity = 0.4f;
|
|
|
|
UPROPERTY()
|
|
float Roughness = 0.25f;
|
|
};
|
|
|
|
USTRUCT()
|
|
struct FMetaHumanLipsMakeupMigrationInfo
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
UPROPERTY()
|
|
FName Option;
|
|
|
|
UPROPERTY()
|
|
FLinearColor Color = FLinearColor{ ForceInit };
|
|
|
|
UPROPERTY()
|
|
float Roughness = 0.5f;
|
|
|
|
UPROPERTY()
|
|
float Transparency = 0.85f;
|
|
};
|
|
|
|
USTRUCT()
|
|
struct FMetaHumanMakeupMigrationInfo
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
public:
|
|
|
|
UPROPERTY()
|
|
FMetaHumanFoundationMakeupMigrationInfo Foundation;
|
|
|
|
UPROPERTY()
|
|
FMetaHumanEyesMakeupMigrationInfo Eyes;
|
|
|
|
UPROPERTY()
|
|
FMetaHumanBlusherMakeupMigrationInfo Blusher;
|
|
|
|
UPROPERTY()
|
|
FMetaHumanLipsMakeupMigrationInfo Lips;
|
|
};
|
|
|
|
USTRUCT()
|
|
struct FMetaHumanFaceMigrationInfo
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
UPROPERTY()
|
|
FMetaHumanFreckesMigrationInfo Freckles;
|
|
|
|
UPROPERTY()
|
|
FMetaHumanAccentRegionsMigrationInfo Accents;
|
|
|
|
UPROPERTY()
|
|
FMetaHumanEyeMigrationInfo LeftEye;
|
|
|
|
UPROPERTY()
|
|
FMetaHumanEyeMigrationInfo RightEye;
|
|
|
|
UPROPERTY()
|
|
FMetaHumanTeethMigrationInfo Teeth;
|
|
|
|
UPROPERTY()
|
|
FMetaHumanMakeupMigrationInfo Makeup;
|
|
};
|
|
|
|
USTRUCT()
|
|
struct FMetaHumanGroomMigrationInfo
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
UPROPERTY()
|
|
FName Option;
|
|
|
|
UPROPERTY()
|
|
float Length = 1.0f;
|
|
|
|
UPROPERTY()
|
|
bool bUseCustomProperties = false;
|
|
|
|
UPROPERTY()
|
|
FVector2D MelaninAndRedness = FVector2D::ZeroVector;
|
|
|
|
UPROPERTY()
|
|
float Roughness = 0.25f;
|
|
|
|
UPROPERTY()
|
|
float Whiteness = 0.0f;
|
|
|
|
UPROPERTY()
|
|
float Lightness = 0.5f;
|
|
|
|
UPROPERTY()
|
|
FName PresetOption;
|
|
|
|
UPROPERTY()
|
|
bool bUseDyeColor = false;
|
|
|
|
UPROPERTY()
|
|
FLinearColor DyeColor = FLinearColor(0.32156899571418762f, 0.0f, 0.69019597768783569f, 0.0f);
|
|
|
|
UPROPERTY()
|
|
bool bUseRegions = false;
|
|
|
|
UPROPERTY()
|
|
FVector2D RegionsUV = FVector2D(0.2819f, 0.25f);
|
|
|
|
UPROPERTY()
|
|
bool bUseRegionsColor = false;
|
|
|
|
UPROPERTY()
|
|
FLinearColor RegionsColor = FLinearColor::White;
|
|
|
|
UPROPERTY()
|
|
FName RegionsPresetOption;
|
|
|
|
UPROPERTY()
|
|
bool bUseOmbre = false;
|
|
|
|
UPROPERTY()
|
|
FVector2D OmbreUV = FVector2D(0.2819f, 0.25f);
|
|
|
|
UPROPERTY()
|
|
bool bUseOmbreColor = false;
|
|
|
|
UPROPERTY()
|
|
FLinearColor OmbreColor = FLinearColor::White;
|
|
|
|
UPROPERTY()
|
|
float OmbreShift = 0.5f;
|
|
|
|
UPROPERTY()
|
|
float OmbreContrast = 0.0f;
|
|
|
|
UPROPERTY()
|
|
float OmbreIntensity = 1.0f;
|
|
|
|
UPROPERTY()
|
|
FName OmbrePresetOption;
|
|
|
|
UPROPERTY()
|
|
bool bUseHighlights = false;
|
|
|
|
UPROPERTY()
|
|
FVector2D HighlightsUV = FVector2D(0.2819f, 0.25f);
|
|
|
|
UPROPERTY()
|
|
bool bUseHighlightsColor = false;
|
|
|
|
UPROPERTY()
|
|
FLinearColor HighlightsColor = FLinearColor::White;
|
|
|
|
UPROPERTY()
|
|
float HighlightsBlending = 0.5f;
|
|
|
|
UPROPERTY()
|
|
float HighlightsIntensity = 0.5f;
|
|
|
|
UPROPERTY()
|
|
int32 HighlightsVariation = 0;
|
|
|
|
UPROPERTY()
|
|
FName HighlightsPresetOption;
|
|
|
|
UPROPERTY()
|
|
float EyebrowsShading = 1.0f;
|
|
|
|
UPROPERTY()
|
|
float EyebrowsMicroblading = 1.0f;
|
|
|
|
UPROPERTY()
|
|
bool bUseMaskModulation = true;
|
|
|
|
UPROPERTY()
|
|
FName MaskModulationOption;
|
|
};
|
|
|
|
USTRUCT()
|
|
struct FMetaHumanGroomsMigrationInfo
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
UPROPERTY()
|
|
FMetaHumanGroomMigrationInfo Hair;
|
|
|
|
UPROPERTY()
|
|
FMetaHumanGroomMigrationInfo Eyebrows;
|
|
|
|
UPROPERTY()
|
|
FMetaHumanGroomMigrationInfo Eyelashes;
|
|
|
|
UPROPERTY()
|
|
FMetaHumanGroomMigrationInfo Beard;
|
|
|
|
UPROPERTY()
|
|
FMetaHumanGroomMigrationInfo Mustache;
|
|
|
|
UPROPERTY()
|
|
FMetaHumanGroomMigrationInfo Peachfuzz;
|
|
};
|
|
|
|
USTRUCT()
|
|
struct FMetaHumanBodyMigrationInfo
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
UPROPERTY()
|
|
EMetaHumanBodyType Type = EMetaHumanBodyType::f_med_nrw;
|
|
};
|
|
|
|
USTRUCT()
|
|
struct FMetaHumanMigrationInfo
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
UPROPERTY()
|
|
FMetaHumanBodyMigrationInfo Body;
|
|
|
|
UPROPERTY()
|
|
FMetaHumanFaceMigrationInfo Face;
|
|
|
|
UPROPERTY()
|
|
FMetaHumanTextureSynthesisMigrationInfo TextureSynthesis;
|
|
|
|
UPROPERTY()
|
|
FMetaHumanGroomsMigrationInfo Grooms;
|
|
}; |