This is just some sort of FYI, in case...
I have another thread, similar, on Gildor's forum, but maybe it can be useful here. Please feel free to delete, if needed!
Anyways, to summarize, I made some simple extensions to Gildor's code, and a simple dump to ASCII/text for unreal engine 4 maps, with focus on interiors, or maps they do not actually use landscapes. Currently it includes transform for static meshes, point lights, spotlights and sphere reflection capture. It can also handle some wildcards, so for example in the subfolder Wilderness from Little Nightmares 2, there are 69 umap files that are all parsed in one dump
After that, for now only for unreal engine 4, in my tests, I made a simple parser that runs on a custom engine build immediately after the editor world is being created.
The parser basically re-creates the unreal engine map when the editor starts up from the data parsed from that plain text dump
Some example of how the plaintext dump looks like ( from Little Nightmares 2 wilderness map/s)
Code: Select all
ClassName: StaticMeshComponent ObjectName: StaticMeshComponent0
StaticMesh = StaticMesh4'/Game/Environment/Objects/Generic/Electronics/TVs/SM_ApartmentTV_Hanging.SM_ApartmentTV_Hanging'
RelativeLocation = { X=-4775.22, Y=-46351.4, Z=402.874 }
RelativeRotation = { Yaw=1122793764, Pitch=-1092099118, Roll=1082804549 }
RelativeScale3D = { X=0.867548, Y=0.867548, Z=0.867548 }
Code: Select all
ClassName: PointLightComponent ObjectName: LightComponent0
RelativeLocation = { X=-5025.63, Y=20675.1, Z=-256.328 }
RelativeRotation = { Yaw=0, Pitch=0, Roll=0 }
RelativeScale3D = { X=0, Y=0, Z=0 }
Mobility = 0
IntensityUnits = Unitless (0)
LightColor = { R=165, G=207, B=255, A=255 }
AttenuationRadius = 298.883
CastShadows = false
IndirectLightingIntensity = 0
VolumetricScatteringIntensity = 0
Code: Select all
ClassName: SpotLightComponent ObjectName: LightComponent0
RelativeLocation = { X=76.1125, Y=1.55773, Z=10.8023 }
RelativeRotation = { Yaw=-1210650066, Pitch=1117756020, Roll=-1210816671 }
RelativeScale3D = { X=0, Y=0, Z=0 }
Mobility = 0
Intensity = 80
LightColor = { R=255, G=245, B=214, A=255 }
AttenuationRadius = 546.888
OuterConeAngle = 40.9905
InnerConeAngle = 0
SourceRadius = 0
SourceLength = 0
Temperature = 0
bUseTemperature = false
bAffectsWorld = false
CastShadows = false
IntensityUnits = Candelas (1)
bUseInverseSquaredFalloff = false
LightFalloffExponent = 0
bCastVolumetricShadow = true
IndirectLightingIntensity = 0
VolumetricScatteringIntensity = 0.4
ShadowBias = 0
Code: Select all
ClassName: SphereReflectionCaptureComponent ObjectName: NewReflectionComponent
InfluenceRadius = 2376.15
Brightness = 2
RelativeLocation = { X=-4988.86, Y=38461.3, Z=-62.4054 }
Vampyr Scotland Castle interior (with Billie Lurk from Dishonored 2: Death of the Outsider)
https://www.youtube.com/watch?v=1Fukg8H_YH4
Little Nightmares 2 School (a Room)
https://www.youtube.com/watch?v=pOtWKyHrUR0
Paper Dolls 2 (with Empress Jessamine, from Dishonored 1)
https://www.youtube.com/watch?v=VoC2zkKOsxM
I'm really interested in cross engine part, so someone that knows Unity or some other 3-D engine maybe can talk to me about porting some maps from Unreal Engine 4 to those engines
Please note: what I've done is very simple parsing, so no landscape objects, no fancy materials (just the basic ones generated by Gildor's heuristics), basically just a glorified copying and pasting of transforms from source engine (UE4) to destination engine (UE4)
