GoomiiV2 / UE4-Quake-Map-Importer

A UE4 plugin to import Quake style .map files (Quake 1, HL 1 and Q3) and convert them into UE4 brush geometry.
19 stars 2 forks source link

Quake 1 BSP into UE5.3 ? #2

Open motorsep opened 7 months ago

motorsep commented 7 months ago

I've worked with UE and idTech (Quake 1 - Doom 3) engines for quite some time and I think it's more useful to import BSP into UE and not map files. BSP file already has geo not visible to player culled off (verts/tris) and has texture mapping in more digestible format. SO you get usable optimized level out of the box when importing BSP. There is an abandoned Quake 1 BSP import plugin for UE4, so I am wondering if you have time/desire to add support for BSP import to your plugin or fork that old work and improve upon it.

GoomiiV2 commented 7 months ago

Hi,

The goal of this plugin was to import the map brushes as Unreal brushes, how ever that is not a less than ideal solution.

I had another plugin I was working on that was more in the lines of Qudot, meshes the brushes based on func_details (would nee manual nodraw texturing to remove faces),. Idea was to use TrenchBroom as a modeler for modular pieces or a basic shell.

Side note more and more I want to play with making my own modern compiler that would just output meshes, and maybe split by area portals. But this is a bigger task.

Back to what you asked tho, would you not aim for Quake 3 BSP so you can get curves and patches as well? I happen to be looking at processing Quake 3 bsps for an other project atm so I can see what a UE5 imp[importer would take, no guide line on time frame tho.

motorsep commented 7 months ago

@GoomiiV2 Well, I never used patches and curves with Quake 3 mapping (I used ASE misc_models instead) and it doesn't translate well at all into UE. UE has its own, better tools, to make cables and ropes and whatnot. I haven't done Quake 3 mapping since I wrapped up my old game, Steel Storm (it was using q3bsp). So at this point it's either Quake 1 or Doom 3 (and Doom 3 is probably a lot more cumbersome to import than q1bsp).

As for .map vs .bsp, like I said, with .map up have too much of unneeded geo that you will have to remove either manually or somehow else. So instead of that, just import .bsp, which comes as perfect mesh for UE. Ericw's map compiling tools do amazing job culling all that unneeded geo.

GoomiiV2 commented 7 months ago

UE has its own, better tools, to make cables and ropes and whatnot.

Fair, the annoying part tho is less of a complete picture in the map editor.

Steel Storm

Played that :> was quite fun

So at this point it's either Quake 1 or Doom 3

If not using or caring about curves or patches I don't see the advantage of doom 3 formats over Q1

As for .map vs .bsp, like I said, with .map up have too much of unneeded geo that you will have to remove either manually or somehow else. So instead of that, just import .bsp, which comes as perfect mesh for UE.

Yea I agree, tho with what I said with a custom compiler it would do the same pruning as quakes would so you'd still have the nice sealed shell and automatic face removal as long as it was sealed geo.

How do you deal with things like the BSP mesh ending up as one big mesh? I haven't looked at Unreals culling in a while but i believe it still favors smaller meshes to cull easier (not touching the Nanite pipeline) Or is it a case of the geometry complexity you have isn't enough that its an issue?

motorsep commented 7 months ago

Played that :> was quite fun

Aww!!! Thanks for playing :)

If not using or caring about curves or patches I don't see the advantage of doom 3 formats over Q1

My ongoing PC project is with idTech4 engine. So it wouldn't be bad at all if I could just load same assets into UE5 for a VR spin-off later on :)

How do you deal with things like the BSP mesh ending up as one big mesh? I haven't looked at Unreals culling in a while but i believe it still favors smaller meshes to cull easier (not touching the Nanite pipeline)

Since my UE5 project if for standalone VR (Meta Quest 2 and newer), I can only use distance culling and software occlusion culling. When I was still in UE4, I found an add-on for Blender that allowed me to import q1bsp into the scene, with textures and all. I simply chopped level mesh into several section, manually, and removed sky surfaces. Then exported pieces as FBX and brought it back to UE4 (also I made material instances with paths/names to match Blender mats, so that I don't have to deal with manual reassignment in UE4). It's a bit tedious process, so I figured with UE5's geo tools splitting mesh into sections shouldn't be a big deal. Therefore importing BSP into UE5 could be a lot more streamlined process.

motorsep commented 7 months ago

Btw, while we are on the subject, it would be cool to also import Hexen 2 BSP, Quake 2 BSP, Kingpin BSP (probably the same as Quake 2 BSP) 😊