Gildor's Forums

Author Topic: Fallout 4 To Unreal Engine 5 Drumlin Diner, automatically ported  (Read 748 times)
gadfly
Newbie
*
Posts: 4


View Profile
Fallout 4 To Unreal Engine 5 Drumlin Diner, automatically ported
« on: October 29, 2021, 12:52 »

https://discord.gg/mrnv9mZrQ4

Not related to umodel, and it's UE5 not UE4, move it or remove it as you see fit, but I can use some technical brainstorming, so here I am

For a while now I poked around to find some ways to automatically port Fallout 4 Commonwealth map into Unreal Engine 5, primarily to test World Partitions feature from UE5

And it got to a point where it is technically functional, including visually, here is an example

The parser technically ported, or is able to port, the entirety of Commonwealth map, I'm thinking Cambridge Police Department as the next example, assuming you have some ideas about Fallout 4, and you know it's the place where you meet Danse the first time :-)

Anyways the technical expertise I can brainstorm about (In the unreal editor using C++, not at runtime)

-how to improve materials. e.g. figure out which material belongs to which material slot, currently my C++ code creates the basic materials correctly, because the majority of textures end with _d/_n/_s, but I can see many materials being assigned to the wrong slot in the static mesh, And then I have to manually shuffle them around, and there are about 30,000 materials :-)

-how to deform landscape. e.g. Some static meshes are in the correct transforms, but they don't look as anchored in the landscape compared to the original Fallout, so I'm guessing Creation Engine by Bethesda does some local deforms to snap the static meshes and the landscape together, or something like that

anything else to improve this automated port, I'm drawing a blank at the moment, I may add more later...

Well, let me know. I asked similar stuff on some other forums but if you have some ideas, I'm all ears

Thanks!
« Last Edit: November 23, 2021, 16:02 by gadfly » Logged
gadfly
Newbie
*
Posts: 4


View Profile
Re: Fallout 4 To Unreal Engine 5 Drumlin Diner, automatically ported
« Reply #1 on: November 07, 2021, 11:41 »

Red Rocket and skeletal outfits example, automated

Logged
gadfly
Newbie
*
Posts: 4


View Profile
Re: Fallout 4 To Unreal Engine 5 Drumlin Diner, automatically ported
« Reply #2 on: November 23, 2021, 10:57 »

edit: made a discord server https://discord.gg/mrnv9mZrQ4

========
finished importing the Fallout 4 Commonwealth map in Unreal Engine 5, ~700,000 objects. The parser primarily focused on actors with a visual mesh (.nif), markers and most NPCs. Didn't add volumes, e.g. radiation volumes/areas. Nor triggers.

On a different topic, couldn't find a reliable and predictable Z so I basically wing it using primarily COC and X markers, and check their current Z against the most immediate landscape. And then use the resulting Delta Z against all other meshes in the same cell. With okayish results

and finally my computer is on fire. At one point exceeded using 100 GB of memory while automatically getting data from Fallout 4 and creating its equivalent in Unreal Engine 5. Plus I get 5 (five!) FPS in the editor with all 700,000 objects loaded. If performs better at runtime though because I made a very small grid cell size for World Partitions Cheesy my current computer is A-, but it still crumbles under 700,000 objects...

better still, it would be nice to have a tech artist snapping some fingers for some heightfield magic at some point...

Can't complain though, at the end of the day automation saves the day, says me not being a poet...
Now I have to update the materials. And then try and play Fallout 4 in Unreal Engine 5...



in UE5 Editor
« Last Edit: November 23, 2021, 16:03 by gadfly » Logged
gadfly
Newbie
*
Posts: 4


View Profile
Re: Fallout 4 To Unreal Engine 5 Drumlin Diner, automatically ported
« Reply #3 on: December 02, 2021, 17:56 »

All right, did some more stuff, primarily:

1. Basic materials! ~6700 of them, with diffuse, normal, specular
2. created some merged foliage actors from individual meshes in each cell, it improved the overall frame rate
Code:
MeshUtilities.MergeComponentsToStaticMesh(ComponentsToMerge, World, MeshMergingSettings, nullptr, nullptr, PackageName, AssetsToSync, ZeroVector, ScreenAreaSize, true);
The above line from the Unreal source code really saved the day when automatically creating merged foliage meshes

This is how it currently looks

the original Vault 111 Exit


the automatically recreated Vault 111 Exit


I need a tech artist to improve some stuff, so hit me up if interested. Also, we may need to brainstorm about porting Papyrus scripts to Unreal, so some philosophical discussions about an interpreter may be useful, unlikely we need a compiler :-)
Logged
Jump to:  

Powered by SMF | SMF © 2006-2009, Simple Machines LLC
Leviathan design by Bloc | XHTML | CSS