AutoLightmapUEr, a plugin that automatically adjusts lightmap sizes for every mesh in your map

Thanks!

The values are in Unreal units, yes.
However, I just realised I might’ve been slightly too vague in my wording.
The “extent” here is counted from the center of the volume, so it’s the half-length.
Thus, 129/2 = 64.5, which fits in the 64-128 range and the weighing gives 256.

Sorry about that, should have been clearer.

If people want, I can put a “use full size for calculation” toggle in the next version if this is too vague?

Thank you for your fast reply !
That make perfect sense
I think you should just explain the concept in the info bubble

Once again, congrats for your work

Thank you.
And yes, I’ve expanded the tooltip and changed the column header a bit for v1.1
(Already making the tag clearing button larger and clearer anyway)

Quick preview of what will be in 1.1 (no release date yet, gonna give it another week to garner user feedback first)
ALMpreview1.1.png

Haha, I’ve been using this for ages and didn’t even know that.

Thank you for the update, I think it’s perfect now

If I may suggest new options :

  • It could be nice to have an option for overriding lightmaps for static meshes inside blueprints
    In my case, for example, some of my assets are blueprints containing static meshes (ie : a desk lamp)
    I might be wrong but I’m not sure your pluging consider this kind of objects in it’s calculation
    So maybe a “propagate to static mesh inside blueprint” option could be cool

  • It could also be realy cool to be able to apply different presets to groups of objects
    I mean, sometimes you have an object close to the player’s area that requires high resolution lightmaps and a copy of the same object in the background who doesn’t need so much lightmap resolution
    (Most of time, the objects are in different folders in the world outliner)
    So, if the plug could have a either the ability to tag world outliner’s folders with different preset or the ability to allow the user to only apply preset for the current selection, I think it could also be a great improvement

Hope that those suggestions make sense
Thanks a lot !

Maybe an option to apply different settings to objects inside and outside the lightmass importance volume?

It should do that if you tick the “all” checkbox?

I can look into that. Not entirely sure if I can get to the folders, though, or if they’re an editor UI only conceit.
It’d require some more prep work from you, the user, though, which is why it’s not in by default.

Or this.

Okay, so how do people feel about AutoLightmapUEr checking world folder names, and if the folder name matches (or maybe contains the name of?) one of the presets, it uses that preset instead of the currently active one?



(The non-folder-that-matches-preset-name actors are using the default conservative preset)
(Also, it works with multiple depths too, so keeping with this example, you could have a “school\classroom\outside\stupidpreset” or w/e and it’d still pick up on the fact it needs to use another preset, so you won’t have to have one big folder with everything that needs a certain preset if you’re keeping your level clean and organised)

Hello,

Sorry for my late reply, I was quite busy during the last days

Concerning your answer to my question about blueprints

You are totaly right, it works
But I find out why I was not sure about that -> problem comes from the “scale” of the objects
The plugin seems to consider the size of a static object and it also considers the scale transform
I mean if you scale up your object, it will considers its “new” size (a 1m tree with a 10.10.10 modifier will be considered as a 10m tree … which is perfect as it is its real size in the world)
But the plugin doesn’t seems to consider the size of a static mesh inside a blueprint
I’ve tested on a scene with big changes in scale in order to show you :
961d6ceea0a8e533b69cac103b344b8b05de4b37.jpeg

So, this is why I asked this question.
As we sometimes use blueprints, I thought the plugin didn’t consider the static meshes inside plugin
It’s not big deal as soon as you don’t apply big scale changes inside you blueprints
But maybe it is something you can look at for the next versions :wink:

Concerning your last post :
Indeed, it can be convenient to have an option for considering a “tag” in the name of the folder.
If you add, for example, LM1 (Lightmap preset 1) before the name of the folder (LM1 Interior Objects) …
To me it can be enough for dealing with “multi-resolution” lightmaps
Does this option will consider subfolders ?

Once again, thank you very much for taking care of your user’s feedbacks
Best

Not a problem.

Hmm… At first glance, this seems to be a problem with the engine itself, and how the TObjectIterator works.
For a scene with 2 actors, “1M_Cube” (a resized static mesh) and “BP2” (a blueprint containing a resized cube, like in your example), it finds these results when testing for actors with static mesh components:

Apparently, it returns every separate component (going by the C in the name) as a full AActor, and it seems sometimes the BP’s static mesh component is discovered last and returns the non-scaled size, which would lead to the wrong lightmap size application? But only if the blueprint has been added in the current session, and not after the level has been saved and reopened. Then, the only ones it found were BP2_C_0 and BP2_161, which returned the right sizes. (Well, _C_0 didn’t, but the 0 is irrelevant and anyway this didn’t appear the next time the level was loaded after an editor restart, so…)

I’m adding some code to ignore anything with C in the name as a probable blueprint component for 1.1, but does the scaling problem still happen after reopening the level after restarting the editor?

Yes, it does.
The current implementation is that it basically checks the name of the final “leaf” of the directory tree for preset names.
So you can have \interior objects\couches&lt;presetname>, and those will be using <presetname> instead of the currently selected “main” preset.

Hi,
AutoLightmapUEr can works with Instanced Static Mesh Component and Hierarchical Instanced Static Mesh Component?
And also can it works with blueprints that contains meshes?

Technically, yes.
Factually… not really, at the moment.
The problem is that UE returns an instanced static mesh’s size as the volume taken up by all the instances combined, which I didn’t account for before.
I’ve added something that’ll change this for version 1.1, though.

Yes, if “All” is ticked, it will find static mesh components in blueprint actors and adjust the lightmaps for those.

Thank you for fast answer. Apparently, to use blueprints and meshes looks good for me.

Pushed 1.1 to the itch & gumroad storefronts and sent Epic the updated source for the marketplace.

  • “All” mode now also works correctly on (Hierarchical) Instanced Static Mesh Components.
    Before, UE returned the extents of the surrounding volume of all the instances together, apparently.
  • “All” mode now also works with freshly added blueprint actors.
    Blueprint actors that were freshly added to a map return multiple copies for an AActor Iterator (seemingly one per component?),
    which could lead to sometimes picking the wrong lightmap size if only some components were scaled.
  • “Clear tags” button moved and changed from just an “X” to a more clear label
  • Cleared up how the values are used, with expanded tooltips: the “extent” values are the half-length from the center by default.
    There is now also a new option that switches calculation to full-length, if you prefer, for your own presets.
    (Note that the values for the 2 default presets don’t get changed by default.)
  • You can now use folder names to override the currently selected preset.
    Actors inside a folder whose name matches that of a preset, will use that preset to calculate lightmap sizes.
  • New “Go deep” toggle that will propagate the lightmap change to the meshes themselves, and their various LOD levels.
    Was added because some people encountered strange unreproducible effects with lightmap overrides working backwards for lower LOD levels.
    You shouldn’t need this, normally, but if you run into any trouble, you might maybe give it a try?

Hey man, I purchased this on itch.io, is it possible to exchange for a marketplace version?
It’s cool if you would prefer not to, I only ask because I am a bit of a lazy sob who would like updates as they come without the hassle

This would have to go through Epic, and I’m not entirely sure how happy they’d be to lose out on their 30% marketplace cut.

Also, marketplace 1.1 update: it’s been over a week, with no reaction so far apart from a “we got your email” reply

haha yuhp, it’s cool, I knew what i was getting into buy early

A test build for 4.14 preview 1 is now up on the itch.io storefront.

The itch.io and gumroad storefronts now carry version 1.2, which was also sent to Epic for the marketplace today.

New in this build:

  • You can now also use the actual surface area of the actor’s static mesh for calculations, if you prefer.
    Note that none of the default presets were made with this in mind, so you’ll have to roll your own.
    (The plugin lists all surface areas it’s calculated in the output log to give you an idea of the values to use)

Hi,

Those new features looks promising !!
Unfortunately Epic’s team seems to be quite long in order to push the updates on the store as I’m still on 1.0 (Or maybe I didn’t find the right way to update)
Any chance for being able to download beta version or itch.io without buying the plugin twice ?

Best