HammUEr, a Hammer/Worldcraft map importer for Unreal Engine

The lightmaps are built by UE automatically, so…
You can try opening the meshes it gives errors on in the mesh editor, going to the LOD0 panel on the right and unpacking the build settings, where you can adjust the min lightmap resolution and apply, see if that fixes it - although unless you see something really wrong, you can safely ignore most of these errors it seems.
By default, HammUEr uses a rather low lightmap resolution setting to speed up the building, which is probably why you find it pixelated and inaccurate. You can boost it to what you want (note that it needs to be a power of 2) on the ConfigUEr page and reimport everything.

This might be an odd question but what editor is the best? Jackhammer, trenchbroom, Hammer? Never used any of them and I would like some opinions on what is the best for usability and results.

Imo, of those three, Hammer is the best for usability but I can see a case for Trenchbroom, which has an entirely different approach. Jackhammer is very similar to Hammer and probably more stable but certain things, like the face edit window, are kinda janky. All 3 are capable of giving you the exact same results though.

So I was messing with UE4 and Quake maps recently (for now I was importing Quake BSP into Blender and exporting it as FBX). I noticed that it came out as single mesh, with multiple materials on it. UE4 was complaining saying it will be bad for performance (I assume entire level-mesh would be redrawn for each material). The solution was to either split mesh per material (so each piece of level would have only one unique material) or clone mesh in Blender and bake all materials/textures into one big texture (so I did that and ended up with 1 mesh 1 material and one 4k texture, which performed well, but didn’t look as good as multiple meshes with unique materials and tiling textures). Another problem was collisions. I either had to use per-polygon collisions or I had to create UCX_ models.

How does this plugin handle Quake (and I am sure same goes for HL2 maps) maps ? Does it break up mesh into pieces per material (so if you have 100 materials on the .map, you end up with 100 static meshes and 100 unique materials) or does it have 1 mesh with multiple materials on it?

Does it generate collisions or does it set per-poly collisions for imported map ?

Do I need to import textures for the imported map manually, and then manually place them into materials in UE4 ?

Thanks!

P.S. Any news on Doom 3 maps support progressing ?

Every brush (or for HL2, group of brushes) becomes a mesh, with the relevant materials assigned to it.
If you have a directory with textures in them, you just tell TextUEr to import them and it’ll autmatically generate instanced materials for them based on a master material of your choice, with the same directory structure as your original directory had.
When doing your map import, it’ll then automatically find the right material for each original one.

Collisions are set to per poly, since generating auto convex collisions would increase generation time by a hell of a lot.
Most brushes and thus meshes are small-ish, so the impact of per-poly should be negligeable.

(Not much doom3 progress, sorry, have been having cascading hardware failures to deal with since the weekend)
(Note that the current 1.1 build available online has a bug in the quake import, but 1.0 works fine)

Aye, no problem. Was really looking toward Doom 3 support since now that I tested Quake map on Gear VR, I see that performance is great. Next step is Doom 3 and baked lighting with directional maps. The only way I can test it is by using your plugin :slight_smile:

Quake doesn’t have image textures in a folder (maybe texture replacement mods do, but not original textures). Original textures/images are either in .BSP files or in .WAD files. Does plugin load them from BSP/WAD ? Or should I just have them loose in the folder beforehand ?

Btw, there is some good info on Quake textures: Textures - Quake Wiki

HammUEr loads textures directly from WAD files (or WAL files, in Quake 2’s case)

New 1.1 build up, with a fix for the Quake texturing bug and with the current stage of the alpha support for decals and overlays for HL2 maps.
The plugin is now also available on itch.io, which should allow you to always pay with paypal, unlike gumroad.

Test build (4.10 only) of the hopefully final-ish version of the decal and overlay code is now up on gumroad for testing by current buyers.

91128ebd73c068de637e4b23c9dd9dcfcb18193c.jpeg
Interim update on the Doom3 stuff.

Ahh, sweet!!!

Why is “caulk” (pink texture) sticking out? Are texture coordinates off ?

No, the official doom3 maps are super-barebones, with lots of caulk covered up by models and patches.
No models and patches, lots of caulk left currently :wink:

Video version of the Doom3 intro map in the current state, with actual material imports (and lights boosted).

Ah, now I see - rock walls, door frames, etc. cover “caulk” in the game. Will your plugin import models too?

Do materials have normal and spec maps on this video? It looks kinda flat as if it’s just plain diffuse only.

Good stuff though! !!

Btw, you could use .proc file and load only visible geometry into UE4

Eventually

They do. Notice the reflections on the floors, etc.
I cranked the lighting up too high tho, which causes it to wash out the normals in small enclosed spaces.

Btw, is it possible to re-export imported level into FBX from UE4 ?

Quick question for users: has anyone else (have had one user mention this) run into a problem with the database not being written and materials not being auto-assigned on map load?
(Apparently, the user ran into the classic UE “you can write a content directory name with a space in it, but you can never read it again”)

Each brush-mesh can be exported to FBX/replaced, yes.
No real option to do the entire map (except maybe by grouping everything in Hammer), but that’s not really adviseable anyway.
UE doesn’t like megameshes.

So after I import .map into UE4, I can only export one brush at a time? :confused: Ouch…

For PC it doesn’t really matter. However, I began thinking about mobile VR and since number of drawcalls/tris is quite limited on mobile VR, the best way is to keep each area on the level as one static mesh, with one material and one diffuse texture. If you manage to make use of .proc file for doom 3, then only visible faces could be imported into UE4. And if I could export whole map as FBX, then I could simply bring it to Blender, duplicate it, join all copied meshes into one, slice it up and the bake textures from originally imported geometry to the slices. Re-export as FBX with only so many pieces and bring it back to UE4. This way I can satisfy mobile VR limits. I know it sounds messy, but that’s just reality for mobile VR at this time.

You’ll get a crapton of lightmap errors like that.