UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
DatasmithDefinitions.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
4#include "CoreTypes.h"
7
8#ifndef WITH_COREUOBJECT
9 #define WITH_COREUOBJECT 0
10#endif
11
12#if WITH_COREUOBJECT
13 #include "DatasmithDefinitions.generated.h"
14#else
15 #define UENUM(...)
16#endif // WITH_COREUOBJECT
17
20{
21 None = 0ull,
22 StaticMesh = 1ull << 0,
23 Actor = 1ull << 1,
24 StaticMeshActor = 1ull << 2,
25 Light = 1ull << 3,
26 PointLight = 1ull << 4,
27 SpotLight = 1ull << 5,
28 DirectionalLight = 1ull << 6,
29 AreaLight = 1ull << 7,
30 LightmassPortal = 1ull << 8,
31 EnvironmentLight = 1ull << 9,
32 Camera = 1ull << 10,
33 Shader = 1ull << 11,
34 BaseMaterial = 1ull << 12,
35 MasterMaterial UE_DEPRECATED(5.1, "EDatasmithElementType::MasterMaterial will not be supported in 5.2. Please use EDatasmithElementType::MaterialInstance instead.") = 1ull << 13,
36 MaterialInstance = 1ull << 13,
37 KeyValueProperty = 1ull << 14,
38 Texture = 1ull << 15,
39 MaterialId = 1ull << 16,
40 PostProcess = 1ull << 17,
41 Scene = 1ull << 18,
42 MetaData = 1ull << 19,
43 CustomActor = 1ull << 20,
44 Material = 1ull << 21,
45 Landscape = 1ull << 22,
46 UEPbrMaterial = 1ull << 23,
47 PostProcessVolume = 1ull << 24,
48 LevelSequence = 1ull << 25,
49 Animation = 1ull << 26,
51 Variant = 1ull << 28,
52 Decal = 1ull << 29,
53 DecalMaterial = 1ull << 30,
54 MaterialExpression = 1ull << 31,
55 MaterialExpressionInput = 1ull << 32,
56 MaterialExpressionOutput = 1ull << 33,
57 Cloth UE_DEPRECATED(5.5, "The experimental Cloth importer is no longer supported.") = 1ull << 34,
58 ClothActor UE_DEPRECATED(5.5, "The experimental Cloth importer is no longer supported.") = 1ull << 35,
59};
60
61ENUM_CLASS_FLAGS( EDatasmithElementType ); // Define bitwise operators for EDatasmithElementType
62
65{
66 BaseAnimation = 0,
67 TransformAnimation = 1 << 0,
68 VisibilityAnimation = 1 << 1,
69 SubsequenceAnimation = 1 << 2,
70};
71
72ENUM_CLASS_FLAGS( EDatasmithElementAnimationSubType ); // Define bitwise operators for EDatasmithElementAnimationSubtype
73
76{
77 None = 0,
78 LevelVariantSets = 1 << 0,
79 VariantSet = 1 << 1,
80 Variant = 1 << 2,
81 ActorBinding = 1 << 3,
82 PropertyCapture = 1 << 4,
83 ObjectPropertyCapture = 1 << 5,
84};
85
86ENUM_CLASS_FLAGS( EDatasmithElementVariantSubType ); // Define bitwise operators for EDatasmithElementVariantSubType
87
103
104
110{
111 None = 0x000,
112
113 TranslationX = 0x001,
114 TranslationY = 0x002,
115 TranslationZ = 0x004,
117
118 RotationX = 0x008,
119 RotationY = 0x010,
120 RotationZ = 0x020,
122
123 ScaleX = 0x040,
124 ScaleY = 0x080,
125 ScaleZ = 0x100,
127
129};
130
131ENUM_CLASS_FLAGS( EDatasmithTransformChannels ); // Define bitwise operators for EDatasmithTransformChannels
132
134UENUM(BlueprintType)
136{
137 Rectangle,
138 Disc,
139 Sphere,
140 Cylinder,
141 None
142};
143
144static const TCHAR* DatasmithAreaLightShapeStrings[] = { TEXT("Rectangle"), TEXT("Disc"), TEXT("Sphere"), TEXT("Cylinder"), TEXT("None") };
145
147{
148 Point,
149 Spot,
151 Rect
152};
153
154static const TCHAR* DatasmithAreaLightTypeStrings[] = { TEXT("Point"), TEXT("Spot"), TEXT("IES"), TEXT("Rect") };
155
158{
159 Unitless,
160 Candelas,
161 Lumens,
162 EV,
163};
164
166UENUM()
168{
169 Diffuse,
170 Specular,
171 Normal,
174 Other,
175 Bump,
176 Ies
177};
178
180UENUM()
182{
183 Nearest,
184 Bilinear,
185 Trilinear,
187 Default
188};
189
191UENUM()
193{
194 Wrap,
195 Clamp,
196 Mirror
197};
198
200UENUM()
202{
203 PNG,
204 JPEG
205};
206
213UENUM()
215{
216 Default,
217 sRGB,
218 Linear,
219};
220
228{
229 Regular,
230 Glass,
231 Metal,
233};
234
236{
238 Auto,
239 Opaque,
241 ClearCoat,
243 Custom,
245 CutOut,
246 Emissive,
247 Decal,
249 Count
250};
251
253{
254 High,
255 Low,
257 Count
258};
259
272{
273 Regular,
274 Mix,
275 Fresnel,
276 Ior,
279 Multiply,
281};
282
285{
286 Alpha,
287 Average,
288 Add,
289 Sub,
290 Mult,
291 Burn,
292 Dodge,
293 Darken,
295 Exclusion,
296 HardLight,
297 Lighten,
298 Screen,
302 Overlay,
303 PinLight,
304 SoftLight,
305 Hue,
307 Color,
308 Value
309};
310
313{
314 Alpha,
315 ClearCoat,
316 Screen,
318};
319
321// see ECustomMaterialOutputType
323{
324 Float1 = 1,
325 Float2 = 2,
326 Float3 = 3,
327 Float4 = 4,
329};
330
332UENUM(BlueprintType)
334{
335 String,
336 Color,
337 Float,
338 Bool,
339 Texture,
340 Vector,
341 Integer
342};
343
349{
350 Surface,
352};
353
354static const TCHAR* DatasmithShadingModelStrings[] = { TEXT("DefaultLit"), TEXT("ThinTranslucent"), TEXT("Subsurface"), TEXT("ClearCoat"), TEXT("Unlit") };
355
357{
361 ClearCoat,
362 Unlit
363};
364
365UENUM()
367{
370
373
375 //KeepChildrenAndKeepWorldTransform,
376};
377
378UENUM()
387
390{
392 Rotation,
393 Scale,
394 Count
395};
396
401UENUM()
408
414UENUM()
416{
417 Undefined = 0,
418 Generic = 1,
421 RelativeScale3D = 8,
422 Visibility = 16,
423 Material = 32,
424 Color = 64,
425 Option = 128
426};
428
429static const TCHAR* KeyValuePropertyTypeStrings[] = { TEXT("String"), TEXT("Color"), TEXT("Float"), TEXT("Bool"), TEXT("Texture"), TEXT("Vector"), TEXT("Integer") };
430
431// HOST NAME
432#define DATASMITH_HOSTNAME TEXT("Host")
433
434// DATASMITH EXPORTER VERSION
435#define DATASMITH_EXPORTERVERSION TEXT("Version")
436#define DATASMITH_EXPORTERSDKVERSION TEXT("SDKVersion")
437
438// APPLICATION INFO
439#define DATASMITH_APPLICATION TEXT("Application")
440#define DATASMITH_VENDOR TEXT("Vendor")
441#define DATASMITH_PRODUCTNAME TEXT("ProductName")
442#define DATASMITH_PRODUCTVERSION TEXT("ProductVersion")
443
444// USER INFO
445#define DATASMITH_USER TEXT("User")
446#define DATASMITH_USERID TEXT("ID")
447#define DATASMITH_USEROS TEXT("OS")
448
449// EXPORT INFO
450#define DATASMITH_EXPORT TEXT("Export")
451#define DATASMITH_EXPORTDURATION TEXT("Duration")
452#define DATASMITH_RESOURCEPATH TEXT("ResourcePath")
453
454// SCENE GEOLOCATION
455#define DATASMITH_GEOLOCATION TEXT("Geolocation")
456#define DATASMITH_GEOLOCATION_LATITUDE TEXT("lat")
457#define DATASMITH_GEOLOCATION_LONGITUDE TEXT("lon")
458#define DATASMITH_GEOLOCATION_ELEVATION TEXT("ele")
459
460//ELEMENTS
461#define DATASMITH_HASH TEXT("Hash")
462#define DATASMITH_ENABLED TEXT("Enabled")
463
464//STATIC MESHES
465#define DATASMITH_STATICMESHNAME TEXT("StaticMesh")
466#define DATASMITH_LIGHTMAPCOORDINATEINDEX TEXT("LightmapCoordinateIndex")
467#define DATASMITH_LIGHTMAPUVSOURCE TEXT("LightmapUV")
468#define DATASMITH_MATERIAL TEXT("Material")
469
470#define DATASMITH_ACTORNAME TEXT("Actor")
471
472#define DATASMITH_CLOTH TEXT("Cloth") // UE_DEPRECATED(5.5, "The experimental Cloth importer is no longer supported.")
473#define DATASMITH_CLOTHACTORNAME TEXT("ClothActor") // UE_DEPRECATED(5.5, "The experimental Cloth importer is no longer supported.")
474
475//ACTOR MESHES
476#define DATASMITH_ACTORMESHNAME TEXT("ActorMesh")
477
478//ACTOR HIERARCHICAL INSTANCED STATIC MESH
479#define DATASMITH_ACTORHIERARCHICALINSTANCEDMESHNAME TEXT("ActorHierarchicalInstancedStaticMesh")
480
481//LEVEL SEQUENCES
482#define DATASMITH_LEVELSEQUENCENAME TEXT("LevelSequence")
483
484// VARIANTS
485#define DATASMITH_LEVELVARIANTSETSNAME TEXT("LevelVariantSets")
486#define DATASMITH_VARIANTSETNAME TEXT("VariantSet")
487#define DATASMITH_VARIANTNAME TEXT("Variant")
488#define DATASMITH_ACTORBINDINGNAME TEXT("ActorBinding")
489#define DATASMITH_PROPERTYCAPTURENAME TEXT("PropertyCapture")
490#define DATASMITH_OBJECTPROPERTYCAPTURENAME TEXT("ObjectPropertyCapture")
491
492//LIGHTS
493#define DATASMITH_LIGHTNAME TEXT("Light")
494#define DATASMITH_POINTLIGHTNAME TEXT("PointLight")
495#define DATASMITH_SPOTLIGHTNAME TEXT("SpotLight")
496#define DATASMITH_AREALIGHTNAME TEXT("AreaLight")
497#define DATASMITH_PORTALLIGHTNAME TEXT("SkyPortalLight")
498#define DATASMITH_DIRECTLIGHTNAME TEXT("DirectionalLight")
499#define DATASMITH_PHYSICALSKYNAME TEXT("PhysicalSky")
500
501#define DATASMITH_LIGHTCOLORNAME TEXT("Color")
502#define DATASMITH_LIGHTUSETEMPNAME TEXT("usetemp")
503#define DATASMITH_LIGHTTEMPNAME TEXT("temperature")
504#define DATASMITH_LIGHTIESNAME TEXT("IES")
505#define DATASMITH_LIGHTIESTEXTURENAME TEXT("IESTexture")
506#define DATASMITH_LIGHTIESBRIGHTNAME TEXT("IESbrightness")
507#define DATASMITH_LIGHTIESROTATION TEXT("IESrotation")
508#define DATASMITH_LIGHTINTENSITYNAME TEXT("Intensity")
509#define DATASMITH_LIGHTINTENSITYUNITSNAME TEXT("IntensityUnits")
510#define DATASMITH_LIGHTSOURCESIZENAME TEXT("SourceSize")
511#define DATASMITH_LIGHTSOURCELENGTHNAME TEXT("SourceLength")
512#define DATASMITH_LIGHTATTENUATIONRADIUSNAME TEXT("AttenuationRadius")
513#define DATASMITH_LIGHTINNERRADIUSNAME TEXT("InnerConeAngle")
514#define DATASMITH_LIGHTOUTERRADIUSNAME TEXT("OuterConeAngle")
515#define DATASMITH_LIGHTMATERIAL TEXT("Material")
516
517#define DATASMITH_AREALIGHTSHAPE TEXT("Shape")
518#define DATASMITH_AREALIGHTDISTRIBUTION TEXT("Distribution") // Deprecated
519#define DATASMITH_AREALIGHTTYPE TEXT("LightType")
520
521//POSTPRODUCTION
522#define DATASMITH_POSTPRODUCTIONNAME TEXT("Post")
523#define DATASMITH_POSTPRODUCTIONTEMP TEXT("Temperature")
524#define DATASMITH_POSTPRODUCTIONCOLOR TEXT("Color")
525#define DATASMITH_POSTPRODUCTIONDISTANCE TEXT("Distance")
526#define DATASMITH_POSTPRODUCTIONVIGNETTE TEXT("Vignette")
527#define DATASMITH_POSTPRODUCTIONSATURATION TEXT("Saturation")
528#define DATASMITH_POSTPRODUCTIONCAMERAISO TEXT("CameraISO")
529#define DATASMITH_POSTPRODUCTIONSHUTTERSPEED TEXT("ShutterSpeed")
530
531//CAMERAS
532#define DATASMITH_CAMERANAME TEXT("Camera")
533#define DATASMITH_SENSORWIDTH TEXT("SensorWidth")
534#define DATASMITH_SENSORASPECT TEXT("SensorAspectRatio")
535#define DATASMITH_DEPTHOFFIELD TEXT("DepthOfField")
536#define DATASMITH_FOCUSDISTANCE TEXT("FocusDistance")
537#define DATASMITH_FSTOP TEXT("FStop")
538#define DATASMITH_FOCALLENGTH TEXT("FocalLength")
539#define DATASMITH_LOOKAT TEXT("LookAt")
540#define DATASMITH_LOOKATROLL TEXT("LookAtRollAllowed")
541
542//CUSTOM ACTOR
543#define DATASMITH_CUSTOMACTORNAME TEXT("CustomActor")
544#define DATASMITH_CUSTOMACTORPATHNAME TEXT("PathName")
545
546//DECAL ACTOR
547#define DATASMITH_DECALACTORNAME TEXT("DecalActor")
548
549// LANDSCAPE
550#define DATASMITH_LANDSCAPENAME TEXT("Landscape")
551#define DATASMITH_HEIGHTMAPNAME TEXT("Heightmap")
552#define DATASMITH_PATHNAME TEXT("PathName")
553
554// POST PROCESS VOLUME
555#define DATASMITH_POSTPROCESSVOLUME TEXT("PostProcessVolume")
556#define DATASMITH_POSTPROCESSVOLUME_UNBOUND TEXT("Unbound")
557
558// METADATA
559#define DATASMITH_METADATANAME TEXT("MetaData")
560#define DATASMITH_REFERENCENAME TEXT("reference")
561
562//KEY-VALUE
563#define DATASMITH_KEYVALUEPROPERTYNAME TEXT("KeyValueProperty")
564
565//TEXTURES
566#define DATASMITH_TEXTUREMODE TEXT("TextureMode")
567#define DATASMITH_TEXTURERESIZE TEXT("AllowResize")
568
569//MATERIALS
570#define DATASMITH_SHADERNAME TEXT("Shader")
571#define DATASMITH_MATERIALNAME TEXT("Material")
572#define DATASMITH_PARENTMATERIALLABEL TEXT("ParentLabel")
573#define DATASMITH_UEPBRMATERIALNAME TEXT("UEPbrMaterial")
574
575#define DATASMITH_MATERIALINSTANCENAME TEXT("MaterialInstance")
576#define DATASMITH_MATERIALINSTANCETYPE TEXT("Type")
577#define DATASMITH_MATERIALINSTANCEQUALITY TEXT("Quality")
578#define DATASMITH_MATERIALINSTANCEPATHNAME TEXT("PathName")
579
580#define DATASMITH_TEXTURENAME TEXT("Texture")
581#define DATASMITH_TEXTURECOMPNAME TEXT("Texturecomp")
582#define DATASMITH_COLORNAME TEXT("Color")
583#define DATASMITH_MASKNAME TEXT("Mask")
584#define DATASMITH_MASKCOLOR TEXT("MaskColor")
585#define DATASMITH_MASKCOMPNAME TEXT("Maskcomp")
586#define DATASMITH_VALUE1NAME TEXT("Value1")
587#define DATASMITH_VALUE2NAME TEXT("Value2")
588#define DATASMITH_ENVIRONMENTNAME TEXT("Environment")
589
590#define DATASMITH_DIFFUSETEXNAME TEXT("Diffuse")
591#define DATASMITH_DIFFUSECOLNAME TEXT("Diffusecolor")
592#define DATASMITH_DIFFUSECOMPNAME TEXT("Diffusecomp")
593
594#define DATASMITH_REFLETEXNAME TEXT("Reflectance")
595#define DATASMITH_REFLECOLNAME TEXT("Reflectancecolor")
596#define DATASMITH_REFLECOMPNAME TEXT("Reflectancecomp")
597
598#define DATASMITH_ROUGHNESSTEXNAME TEXT("Roughness")
599#define DATASMITH_ROUGHNESSVALUENAME TEXT("Roughnessval")
600#define DATASMITH_ROUGHNESSCOMPNAME TEXT("Roughnesscomp")
601
602#define DATASMITH_CLIPTEXNAME TEXT("Clip")
603#define DATASMITH_CLIPCOMPNAME TEXT("Clipcomp")
604
605#define DATASMITH_TRANSPTEXNAME TEXT("RefractionTransparency")
606#define DATASMITH_TRANSPCOLNAME TEXT("RefractionTransparencycolor")
607#define DATASMITH_TRANSPCOMPNAME TEXT("RefractionTransparencycomp")
608
609#define DATASMITH_NORMALTEXNAME TEXT("Normal")
610#define DATASMITH_NORMALCOMPNAME TEXT("Normalcomp")
611#define DATASMITH_BUMPTEXNAME TEXT("Bump")
612#define DATASMITH_BUMPCOMPNAME TEXT("Bumpcomp")
613
614#define DATASMITH_USEMATERIALATTRIBUTESNAME TEXT("UseMaterialAttributes")
615#define DATASMITH_FUNCTIONLYVALUENAME TEXT("FunctionOnly")
616#define DATASMITH_TWOSIDEDVALUENAME TEXT("TwoSided")
617#define DATASMITH_BUMPVALUENAME TEXT("Bumpval")
618#define DATASMITH_IORVALUENAME TEXT("IOR")
619#define DATASMITH_IORKVALUENAME TEXT("IORk")
620#define DATASMITH_REFRAIORVALUENAME TEXT("IORRefraction")
621
622#define DATASMITH_METALTEXNAME TEXT("Metal")
623#define DATASMITH_METALVALUENAME TEXT("Metalval")
624#define DATASMITH_METALCOMPNAME TEXT("Metalcomp")
625
626#define DATASMITH_EMITTEXNAME TEXT("Emittance")
627#define DATASMITH_EMITCOLNAME TEXT("Emittancecolor")
628#define DATASMITH_EMITCOMPNAME TEXT("Emittancecomp")
629#define DATASMITH_EMITTEMPNAME TEXT("Emittancetemp")
630#define DATASMITH_EMITVALUENAME TEXT("Emittanceval")
631#define DATASMITH_EMITONLYVALUENAME TEXT("EmitOnly")
632#define DATASMITH_DYNAMICEMISSIVE TEXT("DynamicEmissive")
633#define DATASMITH_SHADERUSAGE TEXT("ShaderUsage")
634
635#define DATASMITH_WEIGHTTEXNAME TEXT("Weight")
636#define DATASMITH_WEIGHTCOLNAME TEXT("Weightcolor")
637#define DATASMITH_WEIGHTCOMPNAME TEXT("Weightcomp")
638#define DATASMITH_WEIGHTVALUENAME TEXT("Weightval")
639
640#define DATASMITH_STACKLAYER TEXT("Stacked")
641#define DATASMITH_BLENDMODE TEXT("Blendmode")
642#define DATASMITH_OPACITYMASKCLIPVALUE TEXT("OpacityMaskClipValue")
643#define DATASMITH_SHADINGMODEL TEXT("ShadingModel")
644#define DATASMITH_TRANSLUCENCYLIGHTINGMODE TEXT("TranslucencyLightingMode")
645
646#define DATASMITH_ENVILLUMINATIONMAP TEXT("Illuminate")
647
648#define DATASMITH_DECALMATERIALNAME TEXT("DecalMaterial")
649
650
652{
653 Static = 0,
655 Movable
656};
657
658static const TCHAR* DatasmithActorMobilityTypeStrings[] = { TEXT("Static"), TEXT("Stationary"), TEXT("Movable") };
#define TEXT(x)
Definition Platform.h:1272
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition Platform.h:1135
FPlatformTypes::uint64 uint64
A 64-bit unsigned integer.
Definition Platform.h:1117
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
EDatasmithAreaLightType
Definition DatasmithDefinitions.h:147
EDatasmithActorRemovalRule
Definition DatasmithDefinitions.h:367
EDatasmithShaderDataType
Definition DatasmithDefinitions.h:323
EDatasmithLightUnits
Definition DatasmithDefinitions.h:158
EDatasmithReferenceMaterialQuality
Definition DatasmithDefinitions.h:253
EDatasmithElementType
Definition DatasmithDefinitions.h:20
EDatasmithCompMode
Definition DatasmithDefinitions.h:272
EDatasmithTransformType
Definition DatasmithDefinitions.h:390
EDatasmithActorAttachmentRule
Definition DatasmithDefinitions.h:380
EDatasmithTextureMode
Definition DatasmithDefinitions.h:168
EDatasmithTransformChannels
Definition DatasmithDefinitions.h:110
EDatasmithLightShape
Definition DatasmithDefinitions.h:136
EDatasmithReferenceMaterialType
Definition DatasmithDefinitions.h:236
EDatasmithTextureFormat
Definition DatasmithDefinitions.h:202
EDatasmithKeyValuePropertyType
Definition DatasmithDefinitions.h:334
EDatasmithShaderUsage
Definition DatasmithDefinitions.h:349
EDatasmithActorMobilityType
Definition DatasmithDefinitions.h:652
EDatasmithCompletionMode
Definition DatasmithDefinitions.h:403
EDatasmithElementAnimationSubType
Definition DatasmithDefinitions.h:65
EDatasmithPropertyCategory
Definition DatasmithDefinitions.h:416
EDatasmithElementVariantSubType
Definition DatasmithDefinitions.h:76
EDatasmithColorSpace
Definition DatasmithDefinitions.h:215
EDatasmithBlendMode
Definition DatasmithDefinitions.h:313
EDatasmithMaterialMode
Definition DatasmithDefinitions.h:228
#define UENUM(...)
Definition DatasmithDefinitions.h:15
EDatasmithShadingModel
Definition DatasmithDefinitions.h:357
EDatasmithTextureAddress
Definition DatasmithDefinitions.h:193
EDatasmithMaterialExpressionType
Definition DatasmithDefinitions.h:90
EDatasmithCompositeCompMode
Definition DatasmithDefinitions.h:285
EDatasmithTextureFilter
Definition DatasmithDefinitions.h:182
#define ENUM_CLASS_FLAGS(Enum)
Definition EnumClassFlags.h:6
uint8_t uint8
Definition binka_ue_file_header.h:8
uint16_t uint16
Definition binka_ue_file_header.h:7
Definition Landscape.Build.cs:7
Definition LevelSequence.Build.cs:6
Definition LinuxPlatformSplash.cpp:43