Содержание
- Unwrapping UVs for Lightmaps
- Techniques and guidelines for properly setting up UVs for static meshes
- Creating a Lightmap
- Auto-Generating Lightmap UVs
- Custom Lightmap UVs
- Texture UV versus Lightmap UV
- Contiguous UVs and Padding
- Lightmap UV Examples
- Simple Object
- Complex Object
- Organic Object
- The Importance of Lightmap Resolution
- Inspecting Lightmaps and Settings
- Static Mesh Editor
- Enabling the UV Overlay
- Setting the Lightmap Coordinate Index
- Setting the Lightmap Resolution
- Level Viewport
- Using the Lightmap Density View Mode
- Lighting Only View Mode
- World Settings
- Compress Lightmaps
- Packed Light and Shadow Map Texture Size
- Troubleshooting and Optimization
- Error Coloring
- Overlapping Lightmap UVs
Unwrapping UVs for Lightmaps
Techniques and guidelines for properly setting up UVs for static meshes
Choose your operating system:
When creating assets for your game, you will often go through the process of setting up a UV that is laid out for your textures. If your project intends to use any form of baked lighting (static or stationary), you will also need to set up a UV channel that stores lighting information. This UV is called a Lightmap UV,В which is similar to a texture UV in that it consists of laid-out UV charts (or UV islands) that are unique to each static mesh except this particular UV is used to store baked lighting and shadow information. The process of lightmapping is one of the more challenging areas of environment art creation because, unlike texture UVs, each face of the model needs to have its own unique space on the lightmap with no overlapping faces, and UV charts need to ensure that there is enough padding (or spacing) between them to avoid artifacts.
Lightmaps are only required when a static mesh will be lit using any form of baked (or precomputed) lighting. If your game or project only uses dynamic lighting, there is no need to set up lightmaps for each static mesh.
Creating a Lightmap
There are two ways you can create a lightmap:
Using Unreal Engine 4’s Lightmap Auto-Generation tool
Creating a custom one with UV editing tools
Auto-Generating Lightmap UVs
Creating custom lightmap UVs can be a time-consuming process, especially if you have projects requiring thousands or ten of thousands of assets.В An auto-generated lightmap can be a quick way to pack a lightmap UV to save you a significant time investment of manually setting one up and padding it correctly. We’ve adopted this process into our own workflow here at Epic.
When importing your own assets, a lightmap UV will be generated for you automatically (unless disabled) in the FBX Import Options window.
A lightmap will be automatically generated based on the UV for the texture layout (UV channel 0). The generated lightmap UV repacks the islands so that they meet the requirements of a good lightmap with no errors: no overlapping or wrapping islands, and enough padding between islands to limit artifacts based on the targeted lightmap resolution.
Once a lightmap UV has been generated for a static mesh, it can be adjusted in the Static Mesh Editor, using the lightmap generation settings in the Details panel Build Settings, but there is no requirement to ever touch these settings once the lightmap UV has been generated.
These settings can be used at any time to generate a lightmap UV or repack existing ones. The tool uses a repacking algorithm to generate the lightmap based on aВ Source Lightmap Index (or UV channel) and then stores it in a new specified by theВ Destination Lightmap Index. The algorithm repacks the UV charts from theВ specified source lightmap index but does not cut or split them in the process. Keep this in mind when creating lightmap UVs and by doing a little bit of upfront work in your modeling software or UV editing software, you can get a good result by splitting the UV charts before import into UE4.
For additional information, see Generating Lightmap UVs .
Custom Lightmap UVs
For the majority of static meshes that you import into UE4, you’ll be able to use an auto-generated lightmap UV because a good result can be achieved withВ minimal effort. However, for those times when it’s not possible to adequately use an auto-generated UV, you’ll want to create a custom lightmap unwrap in your modeling software or UV editing tool.
Depending on the capabilities of your UV editing tools and the type of asset you’re creating, you may find that a custom lightmap is the ideal choice since it may require more attention to detail than other assets. A lot of UV editing tools, like the one pictured below from Autodesk 3ds Max have a range of features that enable you to easily flatten, reshape, connect, and break apart UV charts in ways that make sense. These are options that are not available withВ UE4’s lightmap generation.
Autodesk 3ds Max UV Editing Tools.
Later parts of this page will cover the basics unwrapping UVs to get specific results and this is a process that can be combined with auto-generate lightmaps. If you’d like to jump ahead, you can see the Contiguous UVs and Padding section of this page.
Texture UV versus Lightmap UV
Setting up a texture UV often requires a different approach to laying out the UV charts to get the best result than how you would for lightmap UV. Lightmaps must be laid out flat without any overlapping areas and they need enough padding between each UV chart to ensure that there isn’t any light leaking. Setting up a texture UV doesn’t have these stipulations because it only matters how you want the texture mapped to those UV charts. It’s acceptable for themВ to have islands that are overlapping or even wrapping, because you can haveВ tiling textures or ones assigned to different parts of the geometry.В В
For example, the building facade below has four sides that have the same texture mapped to its different faces. Instead of using UV space for each side, a single texture has been created and each side’s UV charts have been laid on top of one another. This enables space to be used efficiently for a single texture that is mapped to all faces without having to use a higher resolution due toВ less texel density.
When the lightmap is laid out (right), all faces are represented with their own UV space so that aВ proper light bake can be generated. Some parts have been separated and are given enough padding between the other charts to ensure fewer artifacts or light leaks.
Texture UV Layout
](LightmapUVLayout.png » Lightmap UV Layout»)
Lightmap UV Layout
Contiguous UVs and Padding
One approach to setting up lightmapping UVs is to have contiguous (or connected) groupings of the geometry. To generate a smooth lighting result, it’s ideal to connect faces in ways that make sense to represent the geometry.
For example, the UV charts below have connected all the front and side faces of the geometry into a single UV chart and the top has been separated into its own island.
UV Charts for the static mesh geometry.
Once unwrapped, it’s necessary to include a minimum amount of padding between UV charts to prevent light and shadow bleed artifacts. A minimum of four texels is usually required to avoid all bleeding artifacts since DXT texture compression operates on 4×4 texel blocks.
If you are setting up a custom lightmap for padding, use the following equation to determine the proper texel spacing for your grid:
Example of the formula above using a resolution ofВ 64:
UE4 uses a pixel for padding meaning that we need to subtract one from each side when trying to find out snapping grid to manually snap UV charts to the grid.В Using the auto-generated lightmap UVs will pack them with the appropriate padding.
Wasted UV Padding
Necessary UV Padding
The edges of the lightmap UV do not need additional padding because Lightmass already pads around the edges of the lightmap to prevent any sort of light and shadow bleeding when combining the lightmap texture atlas for the level. This leads to unnecessary padding and wasted UV space.
Using the UV space efficiently can require you to force some UVs together with brute force and scaling to fit them within the UV space.
(From left to right) Lighting only view in Unreal Engine; static mesh with texture; texture UV layout, lightmap UV layout.
It’s more important that we have a clean contiguous surface without interruption for the lighting result than to worry about 1:1 scaling. A lightmap that has a 1:7 scaled ratio whereby it has twice the coverage will produce a better result even if the islands areВ non-uniformly scaled.В Areas that are too thin but maintain a 1:1 ratio will not light correctly because it cannot capture a good result. Another key takeaway from this example is that the negative interior cuts have been separated (highlighted red) to prevent them from sharing light and shadow information for the contiguous UV charts where a smooth lighting result is important.
Lightmap UV Examples
The following examples explore custom lightmap UV layouts for simple, complex, and organically structured geometry. These can give you an idea of how to approach and maintain a smooth lighting result.
Simple Object
This building facade represents a simple modular piece that is a good example of a contiguous geometry that when unwrapped mirrors its low-poly geometry.
Texture UV Layout
Lightmap UV Layout
Using contiguous faces make it much easier to maximize coverage in the UV space for better light bakes at lower lightmap resolutions with a nearly perfect lightmap. Notice that there are no seams and no subtle dark lines caused by split UV charts.
Click image for full size.
Complex Object
For designs that do not adhere to any of the rules of thumb for contiguous UVs, like ones that have a lot of geometry or negative space with few elements, you will need to split the UV charts and add much more padding to prevent artifacts.В
Static mesh and lightmap UV layout
Light bake result
The railings lightmap shows some distortion on the vertical pieces that hold the rail together (middle image, right side). The two sides and middle section of those pieces were forced together. Even though it has distortion in the UV, it still has enough coverage to generate a good result.
The interiors of the circular pieces on the railing have been split for the front and the back sides into their own contiguous islands.В The side that will be visible to the player has the inner and outer faces grouped so that three-quarters of those areas have smooth lighting. The back side of the railing is its own island since it’s most likely not something that would be easily visible in the level. Instead, focusing on the majority that is visible to players is most important to have a good result for.
Sometimes, you may have complex geometry that works against what works best for a Lightmap UV. In addition to the medium-sized asset, this one has a lot of negative space, which only adds to its complexity.
Static mesh and lightmap UV layout
Light bake result
When there are so many separate elements, there is a potential for a lot of wasted UV space due to padding. In this instance, there is no choice but to use a higher lightmap resolution to ensure that quality is maintained. By using a little forethought, this example planned to use a higher lightmap resolution by combining UV charts that made sense and also knowing that it would still not look perfect. There will be some bleed but not so much that it would ruin the lighting result.
Depending on your memory budget, you could use a higher lightmap resolution to reduce some artifacts, but it’s always better to use as low a resolution as possible for performance and optimization. Also, keep in mind that a good material with an interesting diffuse and normal texture can hide some lightmap issues.
Organic Object
For geometry that has a lot of rounded shapes or that is more organic in design, it’s better to project the surface flat and relax the UVs as needed.
Static mesh lightmap UV layout
Baked Lighting Result
For organic shapes, look at how the geometry can be broken apart in a way that makes sense, like splitting UV charts at places that would naturally work. The biggest concern when doing this is that any edge split will break the smoothness of the lighting result. So, in the case of this fountain, breaking the top of the fountain into its top and bottom halves, the center being its own, and the bottom base as its own island make the most sense to reduce visible seams in the light bake. A good rule-of-thumb is to split your lightmap UVs at sections where there are deep recesses or crevices.
The UV chart for the center column doesn’t look like its mesh, instead, it’s been straightened out to use the UV space more efficiently. For a lightmap UV, this is perfectly acceptable to enable a nice, smooth lighting result.
The Importance of Lightmap Resolution
An effective lightmap will fill the majority of the UV space as efficiently as possible in orderВ to use the lowest resolution that obtains a good lighting result. Most lightmapping issues can be mitigated by using the UV space to maximize coverage while maintaining enough padding between the UV charts.
If your project is built for desktop platforms, they can typically afford to use higher resolutions since they have a larger memory budget to pull from. However, for consoles and mobile platforms, memory budgets need to be tightly controlled. It’s common to sacrifice some lightmap resolution quality to stay within budget.
Depending on the geometry and its complexity, it may be helpful to break the mesh into smaller pieces so that each can have a unique lightmap with good coverage and use a lower lightmap resolution while doing so.
Inspecting Lightmaps and Settings
Static Mesh Editor
The Static Mesh Editor enables you to inspect any UVs attached to your Static Mesh,В generate your own Lightmap UVs , set the resolution of the lightmap texture for this mesh, and more.
Enabling the UV Overlay
Use the UV dropdown in theВ toolbar to select a UV channel to display.В
Once selected, the UV channelВ displays an overlay in the Static Mesh Editor Viewport.
The currently displayed UV channel is indicated above the overlay.
Setting the Lightmap Coordinate Index
TheВ Lightmap Coordinate Index specifies which UV channel should be used for this static mesh when Lightmass generates a lightmap texture during a lighting build.В
In the Static Mesh EditorВ General SettingsВ section, locate theВ Lightmap Coordinate Index.
UE4 will attempt to assign the proper UV channel where possible when importing a static mesh that currently has a lightmap channel (UV Channel 1) or if a lightmap is generated during import. However, if you generate a lightmap UV after import for a static mesh that did not already have one, you’ll need to manually assign the correct UV Channel to the Lightmap Coordinate Index.
Setting the Lightmap Resolution
TheВ Lightmap Resolution enables you to set the default texture resolution for the baked light and shadow texture generated by Lightmass В during a lighting build. This resolution will be used for all instances of this Static Mesh placed in a level.
In the Static Mesh EditorВ General SettingsВ section, locate theВ Lightmap Resolution.
You can also override a static mesh’s lightmap resolution in any level by enablingВ Overridden Light Map Res and plugging in a resolution size. This setting overrides this particular instance of the Static Mesh.В
Setting Light Map Resolution or Overridden Light Map Res lower than the Min Lightmap Resolution used for a generated Lightmap UV will cause seams and potential light leaks once lighting is built. The Min Lightmap ResolutionВ should be the lowest resolution you ever intend to set for this Static Mesh to ensure that enough padding is maintained between UV Charts.
Level Viewport
TheВ Level viewport enables you to use differentВ view modes to inspect your lighting builds and lightmap resolution densities relative to other Static Meshes. These view modes help you inspect the final results as well as troubleshoot lightmap and lighting build issues.В
Using the Lightmap Density View Mode
The Lightmap Density view mode enables you to visualize the density of the assigned lightmaps resolution with a checkered grid relative to other Static Mesh Actors in the level based on an «ideal» (or max) density setting. It’s important to have an even density across your scene to get consistent lighting when using baked lighting.
A scene from Epic’s Infiltrator demonstrating the Lightmap Density view mode.
Enable this view by using the Level viewport to select View Modes > Optimization Viewmodes > Lightmap Density.
Once enabled, a color grid will overlay all Static Meshes in the scene based on their current Lightmap Resolution.В
The following density colors indicate how the ideal lightmap resolution for the level relates to the lightmap resolution set for the static meshes in the level.В
Less than ideal texel density
Ideal texel density
Max or greater than ideal texel density
Note that any Static Mesh with its mobility set toВ Movable will display Brown in the Lightmap Density view mode since it doesn’t require a lightmap UV or need to be optimized within this regard.
The default density is an average one to get you started. Depending on your game’s texture budget, you may need to adjust the color ranges to be more strict or loose to make this view mode useful to your project. Use the Lightmap Density Rendering Options found in the main toolbarВ under the Build > Lighting Info to set them.
Ideal Density
Sets the ideal density at which texel density should be for objects in the scene. The ideal texel density is green.
Maximum Density
Sets the maximum density at which texel density is considered too dense for the scene. The texel density is red.
Color Scale
ScalesВ the color for the scene when using Lightmap Density view mode.
Grayscale Scale
Scales the brightness level of theВ grayscale factor for the scene based on the IdealВ andВ Maximum density values.
Render Grayscale
Enables grayscale to be used for the lightmap density view mode.
Lighting Only View Mode
TheВ Lighting Only view mode is useful to inspect lighting in your scene without material textureВ information. This is extremely useful when looking at the light build result.В
Use this view mode with Error Coloring to visualize lightmap errors in your scene resulting from overlapping or wrapping UVs.
World Settings
The World Settings panel contains settings specific to the level currently loaded, it includes some additional settings specific to lightmaps, like choosing whether they should be compressed to save memory, setting the maximum size of the packed texture atlas that stores the lightmaps, and access to the packed lightmap textures generated for the level.
Compress Lightmaps
By default, UE4В already compresses generated lightmap textures for optimization. When the Compress Lightmaps checkbox is unchecked, the packed lightmap texture atlas will not use compression. It will increase memory usage significantly (by four times) when doing so, but it can reduce artifacts caused by compression algorithms.
For surfaces that do not use a normal map, compression artifacts can be visible for smaller lightmaps packed into the texture atlas.В By using good textures and normal maps, the baked lighting result is improved. For some problematic lightmap UVs where you’re increasing lightmap resolution, keep in mind that re-working the UV charts to have additional coverage within the UV space can improve these types of compression artifacts.
Directly Lit Areas
In directly lit areas with high contrast, compression artifacts may be easier to spot. With compression disabled, the lightmap result is smoother, without the blotchiness but at a much higher cost.
Indirectly Lit Areas
In indirectly lit areas, compression artifacts are less noticeable. While the result is smoother when compression is disabled, it’s less likely to be noticed when textures and normal maps are applied.
Directly Lit Areas with Increased Lightmap Resolution
The lightmap resolution of the trim mesh at the base of the wallВ (centered between the columns against the floor) has been increased to demonstrate that similar results can be achieved by simply increasing the lightmap resolution rather than disabling compression. By doubling the original lightmap resolution, the majority of artifacts have been eliminated and the texture memory usage is minimal to non-existent for this small of a change.
Packed Light and Shadow Map Texture Size
When lightmaps are generated for the level for individual Actors, they will be packed and stored into multiple texture atlas’. Loading individual lightmap textures per-Actor is not very efficient and would increase the GPU workload to load and unload them continuously.
The number of Static Mesh Actors used in a level and their lightmap resolution will determine the number of texture atlas’ that will be used. Larger lightmap resolutions increase the amount of space they use in the atlas. The size of the texture atlas can be adjusted by using a power of two (512, 1024, 2048, or 4096) value for the setting Packed Light and Shadow map Texture Size.
Troubleshooting and Optimization
Error Coloring
Error Coloring enables any warnings that appear in the Message Log under Map Check to be visualized after a lighting build by overlaying a color in the lightmap where the error is occurring.
When Use Error Coloring is enabled, the Lighting Quality must be set to Medium or Preview to visualize the results.
Using the Lighting Only view mode can make it easier to look for and find these types of issues.
Overlapping Lightmap UVs
An Overlapping Lightmap UV warning indicates that the UV charts are overlapping another part of the geometry within the UV space of the lightmap. All UVs must have their own space in the UV when being used for a Lightmap.В The error coloring overlays Orange for any of these UV charts. Note that Texture UVs do not have to adhere to this.
Источник
Сообщения: 9
Всем привет!
Разбираюсь с мешами. Возникла проблема при билде проекта, вылезают ошибки Warning Object has overlapping UVs и затем Info kitchen Lightmap UV are overlapping by 10.3%. Please adjust content — Enable Error Coloring to visualize.
Прав ли я, что это связанно с:
1. У меня UV превышает по размерам текстуру
2. UV lightmap не совпадает с UV?
Исправить это можно вписав UV в размер текстуры, НО у моего объекта нужно использовать тайлящуюся текстуру, как пример это стол и на нем текстура дерева.
И теперь вопрос, как можно сохранить тайлющуюся текстуру вместе с корректным lightmap UV?
Сообщения: 403
Текстура идет по первому каналу, а лайтмапа по второму.
При создании развертки под лайтмапу поставь в UVWMap канал 2
Сообщения: 4068
abdus писал(а):
1. У меня UV превышает по размерам текстуру
из этого следует что текстура у тебя вообще не корректно ляжет, или UV уменьшай, или текстуру увеличивай.
Сообщения: 2319
я наверное присоединюсь с вопросами…
планарные стыки с артефактами
это лечится? или тупо прятать надо?
вроде уже читал на форуме обсуждение такого, но у нас тут свалка, и быстро не найдешь…
_________________
we need to go deeper
Сообщения: 403
Цитата:
планарные стыки с артефактами
это лечится? или тупо прятать надо?
Да лечится парой способов
1. Нужно чтобы расстояние между островками было более пикселя в развертке. Чтобы пиксель расчета одного островка не попадал на островок другой.
2. Нужно увеличить разрешение развертки…
Посмотри вот эти видео. Там UDK, но принцивы в Анриале не изменились с тех времен ))
Сообщения: 2319
спасибки, я как раз первое видео уже смотрел. А тут уже подборка.
_________________
we need to go deeper
Сообщения: 2319
Я основную проблему понял.
есть два дополнительных вопроса.
за что отвечает 1? разрешения лайтмапы вроде там пониже в свитке.
2 — это насколько я понимаю индекс ЮВи для лайтмапы, правильно?
3 — не понимаю за что оно отвечает.
предположительно лайтмапа берет ЮВи с Source и строит его на новом канале которы указал в 3(пункте)
_________________
we need to go deeper
Сообщения: 403
1 — Это разрешение
2-3 — какой-то из них канал развертки на которую делается расчет лайтмапы
В мою бытность этого вроде не было, посмотри в доках для уточнения.
Сообщения: 2319
КреБотолий, еще момент. Нужен-ли отступ от края ЮВи (тоесть когда вершины лежат на 0 или 1)? Скорей всего не нужен но уточнить хочется
И подверди мои соображения:
При создании развертки я должен понимать разрешение lightmap назовем его lightmap.size, и соответсвено
отступ между кусками = 1/lightmap.size , или нужно все же двойной оступ: 2/lightmap.size ?
и привязка вершин к границам пиксела для прямоугольных елементов (самая неприятная муторная часть) — насколько принципиален этот момент?
_________________
we need to go deeper
Сообщения: 403
Цитата:
КреБотолий, еще момент. Нужен-ли отступ от края ЮВи (тоесть когда вершины лежат на 0 или 1)? Скорей всего не нужен но уточнить хочется
Лучше сделай потому что все эти лайтмапы собираются потом на большую и там они (островки развертки) могут оказаться на расстоянии меньше пикселя друг от друга. То есть отступы по тем же принципам что и расстояния между островками.
Цитата:
При создании развертки я должен понимать разрешение lightmap назовем его lightmap.size, и соответсвено
отступ между кусками = 1/lightmap.size , или нужно все же двойной оступ: 2/lightmap.size ?
Я не уверен. А когда не уверен то делаю тест на минимальном разрешении лайтмапы — самый простой способ проверить.Вообще всегда делай тесты на разрешениях 8-16 будет очевидно где у тебя что не так. Да и экономия опять же и времени рассчета и памяти на хранение лайтмап.
Цитата:
и привязка вершин к границам пиксела для прямоугольных елементов (самая неприятная муторная часть) — насколько принципиален этот момент?
Принципиален, потому что это именно расстояние в пикселях. Если ты выйдешь в другую область то этот пискель будет уже использоваться. Каждая клетка (как на видео) это пиксель )) Потому привязка важна.
I made some simple assets in Unreal using brushes. Just some differently shaped boxes with some simple materials that I want to use for prototypes. I converted those simple box brushes to static meshes and gave them collision. Then, I added a couple point lights.
Now when I try to build, I get all these errors:
-
Object has overlapping UVs.
-
Lightmap UV are overlapping by 83.3%. Please adjust content — Enable Error Coloring to visualize.
Most of the information I’ve found is about either assets imported from 3ds max or maya, or they’re from an older version of Unreal.
I know I can open the mesh in Unreal and see the UV map, but I can’t seem to manipulate it.
If I have to export it to 3ds max then change the UV stuff then export it and import it again, I’m not really sure why there’s an option to convert brushes to meshes anyway. It’s literally a cube using the M_Tech_Hex_Tile_Pulse default material, nothing special. If anything should work out of the box, it’s this… So frustrating.
Could anyone shed some light on this issue? Pun intended… heh. :/
Matik | Дата: Пятница, 18 Сентября 2015, 17:06 | Сообщение # 1 |
частый гость Сейчас нет на сайте |
Привет ребята, у меня возникла проблема и заключается она в следующем: создаю простенькую модель машины в Google SketchUp, после чего экспортирую её в формат *.dae , далее через Autodesk FBX Converter конвертирую в *.fbx. Делаю импорт модели в UE4, вытаскиваю на уровень, нажимаю Build и после просчета света в логе вылетают два сообщения след. содержания: «Car Object has overlapping UVs.» и «Car Lightmap UV are overlapping by 72.7%. Please adjust content — Enable Error Coloring to visualize.» После этого свет заново просчитывается и эта модель не корректно отбрасывает тень, либо вообще не отбрасывает, либо пропадают некоторые материалы на ней, и все Point Light и другие локальные источники света перестают отбрасывать тень от объектов, да и вообще со светом происходит фарш какой-то. И так со многими моделями. Как исправить данную неприятность? |
Flow | Дата: Пятница, 18 Сентября 2015, 17:51 | Сообщение # 2 |
-=[.FSProduction.]=- Сейчас нет на сайте |
Matik, судя по всему развёртка кривая или криво экспортировалась. Не рекомендую использовать формат dae. |
Matik | Дата: Суббота, 19 Сентября 2015, 14:15 | Сообщение # 3 |
частый гость Сейчас нет на сайте |
Flow, только через dae нормально экспортирует без потерь текстур, но я перепробовал множество форматов. Пробовал даже через Blender экспортировать. Оказывается UE4 в более поздних версиях сам создаёт второй канал развёртки, но все равно это не помогает. А других программ 3D моделирования таким легким способом я не знаю. Печально. |
Why can’t I get a seamless lightmap even with the most simple geometry?
Following his example, just with a simple cube wall mesh, these are my results:
Lightmap UVS with plenty of spacing between the islands. Also snapped to the grid lines, though I’m realizing this is mostly pointless.
Very obvious seam between the meshes.
But on the back side of those same two meshes there’s no seam.
Is it actually possible to get a completely seamless lightmap on a mesh without a texture?
What am I doing wrong?
Thanks!
Contents
-
1
About This Guide
-
2
General Lighting
-
2.1
Why Are My Shadows Black?
-
2.2
Invalid Lightmap Settings When Converting BSP to Static Mesh
-
2.3
What if I don’t want to have lightmaps at all or my game doesn’t need them?
-
2.4
Two-Sided Lighting for Single Sided Meshes, or Why does my light come through the roof?
-
2.5
Why does this look nothing like it did before, or Engine Scalability and you
-
2.6
Why is there a red “X” over my light?
-
2.7
Poor Lightmap UV Layout
-
2.8
The Power of Post Process Global Illumination Settings
-
2.9
Capsule Shadows
-
-
3
Dynamic (Movable) Lighting
-
3.1
Shadow bleed or Incorrect Shadow Quality
-
3.1.1
Directional Light ONLY: Cascaded Shadow Maps Settings:
-
3.1.2
Far Shadow
-
3.1.3
Adjusting Cascades for better Quality:
-
3.1.4
All Dynamic Lights (Light Tab Settings):
-
-
3.2
Why does my Movable light shine through my mesh at far distances?
-
-
4
Static Lighting
-
4.1
Lightmap Resolution / Shadow Quality
-
4.2
Shadow Seams/Shading Differences with Indirect Lighting
-
4.3
What is this “Overlapping UV error” non-sense when I build lighting?
-
4.4
How do I generate lightmap UVs in the editor?
-
4.5
How to control Global Illumination with Static Lighting?, or The Wonderful Thing About Bounce
-
4.6
Why is there shadow splotches on my static mesh?, or How to clean those dirty lightmaps?
-
4.7
What is the “Lighting needs to be rebuilt” in the Top left corner error?
-
4.7.1
Troubleshooting Tips
-
-
4.8
Lighting Quality comparison, or Production > Preview
-
4.9
Lightmap Error Coloring
-
4.10
Find the Objects referenced in «Lighting needs to be rebuilt (X Objects)»
-
4.11
Light Build Statistics
-
4.12
Landscape Grasstype Asset Tiled Pattern
-
4.13
Build Lighting Via Command Line
-
4.14
Foliage Tool Lightmap Resolutions
-
About This Guide
Often the difference between a good game and a great game can come down to light. Even the best model rendered with poor shadow resolution and not taking advantage of the right post process settings will look poor. In the Unreal Engine, it means digging in to our robust lighting, reflection and post process settings. This Troubleshooting guide attempts to cover some of the more common problems that people come across when they first dig into the lighting and rendering systems. This guide is by no means meant to be completely comprehensive but a living document as the engine changes so too can we add and alter advice presented here. The guide is meant to be a great first step for artist trying to get the most out of the engine’s rendering system.
Common Lighting Documentation pages for reference:
-
-
Lightmass Global Illumination
-
Lighting Basics
-
Lighting the Environment
-
Lighting Content Examples
-
Lighting for Mobile Platforms
-
Rendering & Graphics
-
General Lighting
_________________________________________________________________________________________________
Why Are My Shadows Black?
In lighting terms, deep black shadows usually mean you have no fill light. This can often happen when doing outdoor environments where a single directional light is meant to represent the sun. UE4 has a built in method to provide a world effecting fill light, we refer to it as a
Sky Light
.
Want to know more about Sky Lights?
-
No Skylight
-
With Skylight
_________________________________________________________________________________________________
Invalid Lightmap Settings When Converting BSP to Static Mesh
As of 4.6 and higher the default Lightmap Resolution will be set to 4 for any converted BSPs, but you will still need to follow the steps to set the correct Lightmap Coordinate Index.
When you convert your BSP geometry to a static mesh, you will likely see the following result:
Static Mesh Converted from a BSP Box
Don’t worry, this is normal! Since we’ve now converted our BSP to a Static mesh we need to make sure the right lightmap channel is assigned. To make things easier, when you convert the BSP it will automatically generate your lightmapping UVs for you. The only thing that is not setup is automatically is making sure the right channel and resolution are assigned.
Static Mesh Editor Details Panel
- To do this, open the newly created Static Mesh. Look to the details panel on the right and locate the tab Static Mesh Settings.
- Here you’ll need to set the Lightmap Resolution. This should be any power of two increment (ie. 32, 64, 128, etc). This will be the resolution of your lightmap texture. Higher lightmap resolutions will result in better shadow quality baked into the texture, but it will also increase memory foot print and light build times.
- Next we’ll set the Lightmap Coordinate Index to 1 (This is the lightmap UV channel in most cases). This is the location of our lightmap UV that will have no overlapping faces.
- If you want to see what the lightmap UV looks like you can click the button for the UV in the toolbar and choose UV Channel 1 from the drop down to the right of the button.
_________________________________________________________________________________________________
What if I don’t want to have lightmaps at all or my game doesn’t need them?
There may be times where a game doesn’t need lightmaps at all, because it’s been opted to use only Movable (Dynamic) lighting. There is an option to disable lightmaps all together by opening the world settings and checking the option for “Force No Precomputed Lighting.” When lighting is rebuilt it will remove all lightmaps that have been previously cooked.
There are two methods to disable Static Lighting:
Project Settings, Rendering Tab, Lighting Tab
Project Specific: Disable Static Lighting
- Menu > Edit > Project Settings
- Go to the Rendering Tab > Lighting Tab
-
Uncheck the option for
Allow Static Lighting
-
To enable this option fully you will need to
Restart the Editor
Level Specific: Disable Static Lighting
World Settings
1. Open World Settings
Lightmass Settings
2. Go to the Lightmass Tab
3. Uncheck
Force No Precomputed Lighting
Force No Precomputed Warning
4. You will get a warning. Click OK.
5. Build Lighting to wipe lighting data already stored.
_________________________________________________________________________________________________
Two-Sided Lighting for Single Sided Meshes, or Why does my light come through the roof?
Created Assets in 3DS Max
In this image, you’ll see I’ve made myself an awesome wall and a tube that when I turn on its side can be a creepy tunnel for me to walk through!
Created Assets in UE4
All seems well and good and I can see that I’ve got my awesome work and I can see both sides of my mesh in my modeling program of choice. However, when it’s imported into Unreal Engine 4 it’s messed up!
So, what gives, because this surely cannot be right?!
This is actually 100% normal (pun intended). Even though the plane looks good the back face is not being rendered just like the closest faces of our tube mesh.
Wireframe of Created Assets in UE4
When you create your geometry in your modeling program by default the software has set it so that you can see both sides of your geometry.
In UE4 the back face of a polygon is automatically culled to save on performance because every little bit helps! It’s not always necessary to have extra polygons or render sides that may not be needed, otherwise, there would be extra draw calls that could slow down your performance. with a few instances, this probably wouldn’t matter much, but when you’re developing for specific platforms or have a lot going on every draw call starts to matter.
To also understand why we can only see one side we can open our mesh in the static mesh editor and tick the toolbar option for “Normals.” You will see Green lines that point in the direction the face of the polygon is directed. In the image below for our tube asset, we can see that the faces where it’s invisible have the lines going towards the center of the mesh. This is the direction that the visible face can be seen.
Static Mesh Editor
Pro Tip:
While in UE4 if you have any meshes that have what appears to be invisible geometry or missing faces you can check the normals here before fixing the issue in your modeling software.
Now that we have all the boring stuff out of the way we can get right to fixing our invisible faces with some checkboxes and Materials.
1.
(STATIC ONLY)Light as if Two-Sided
-
-
- Enabled this option via the details panel for the selected asset in the Level Viewport.
- With this option selected when lights are built lightmass will calculate that geometry into its bake. It will cast a shadow, even though we cannot see it from this angle, to bake into the lightmap texture. This will not work with a movable/dynamic light though since Unreal Engine 4 uses a deferred rendering pipeline.
-
-
Asset’s Details Panel in Level Viewport
-
Final Results
2.
Creating a Two-Sided Material
-
-
- Open the material editor and in the details panel on the left select the option for “Two-sided”.
- Save and compile your material for this to take effect.
- This method can be used with Static/Stationary/Movable lighting. Since the material is now being rendered the faces of that were not visible before are no longer being culled and can block the light. Be aware though that this now renders both sides of the mesh adding to your draw calls. As mentioned earlier this won’t necessarily affect performance in smaller scenes or setups, but if you’re targeting hardware where every bit of performance counts this can affect that.
-
-
Material Attributes Details Panel
-
Final Results
_________________________________________________________________________________________________
Why does this look nothing like it did before, or Engine Scalability and you
Engine Scalability Settings
The Engine Scalability settings can be accessed via the Settings > Engine Scalability option in the Toolbar.
The purpose of this is to scale the engine rendering settings to fit machines that may have a more difficult time running smoothly. By default, the editor will lower settings here if the FPS drops too low.
There is an option for “Shadows” that will directly affect the shadowing distance of any movable (dynamic) shadows. This is true when the list is set to “Movable” or when lighting has not been built for the static lights yet, since those are using dynamic shadows as temporary indication until your lights are built and baked into lightmaps.
The images below will demonstrate the shadow distance of each Shadow setting in the Engine Scalability tab.
-
Epic
-
High
-
Medium
-
Low
If there are no shadows in your level this is the best place to check first. Even if your system is top of the line these settings can still be automatically set to a lower setting and stay there if the FPS drops too low. It’s a good place to always check before looking at other issues that may be a factor.
If there is a need to not have the auto-scaling on it can be disabled by unchecking the option at the bottom of the Engine Scalability settings window. Do realize that this can cause performance issues as the editor will no longer monitor when there is a need to adjust this to a lower settings to help keep performance up.
Want to know more about Engine Scalability?
_________________________________________________________________________________________________
Why is there a red “X” over my light?
Overlapping Stationary Lights
Stationary lights are limited to a maximum of 4 shadow casting lights being overlapped. When the 5th is added there will be a red ‘X’ indicating that the light in this area of overlapping with the smallest radius will revert to a dynamic light. This can cause performance issue because dynamic lighting that casts shadows is more expensive to use then baked lighting.
If lighting is built with any stationary lights that are overlapping offenders there will be a warning detailing which light is the offender and the ramifications.
To correct this make sure that there are no more than 4 shadow casting overlapping Stationary lights in a single area. This may require the removal of a light, disabling the Cast Shadows flag or adjusting the radius so that it’s no longer overlapping.
If there are only three placed stationary lights and there is a red X over the 4th light make sure that you have no other stationary lights in your level that would be overlapping. Often times this would be the Directional light set to Stationary that is causing this issue.
Want to know more about Stationary Lights?
_________________________________________________________________________________________________
Poor Lightmap UV Layout
The key to getting a good lightmap bake is by having a proper setup for your light map so that it effectively uses the 0-1 UV space. When you go outside of this space or have faces that overlap each other you will see the dreaded “Lightmap Overlapping by xx%” in your Map Check warnings!
The documentation that we have on properly setting up a lightmap is a good place to start reading. Read all about Lightmapping in UE4 here.
-
https://docs.unrealengine.com/latest/INT/Engine/Content/Types/StaticMeshes/LightmapUnwrapping/
Here are some key things to remember when setting up your lightmap:
- No Overlapping faces
- No faces outside of the 0,1 UV space
- Flat-Mapping is not the best approach and often will lead to many errors with your lightmap
- Use as much of the 0,1 UV space so that there is no wasted texture space.
- If you have a large and potentially complex mesh it is best to break it up into parts for a good lightmap resolution and for other performance reasons like Occlusion Culling.
- Use as low a lightmap resolution as you can to save runtime texture memory.
- Make sure that your UV islands have at least a 2 pixel spacing between them to prevent light bleed. Account for this based on the target resolution of your lightmap.
_________________________________________________________________________________________________
The Power of Post Process Global Illumination Settings
The Post Process Volume can be a very powerful tool in your scene when it comes to lighting, especially statically lit areas. You can easily control this by adjusting these settings in your Post Process Settings.
GI Post Process Settings
In this simple example below this is all controlled with an emissive material for the rod, a dim point light for the room, and two post process volumes that overlap! This is a very cheap way to fake some dynamic GI with your post process!
Setup:
- Very dim Point light for some soft ambient light in the room.
- Moving Rod has a simple emissive material applied with a multiplier to control how bright it is.
- There is one Post Process Volume surrounding the scene that is using default settings, which isn’t needed really unless you plan to have other settings changed for your basic scene.
- Second Post Process Volume that is attached to the Rod as it moves into and out of view. It is slightly larger than the Rod in length so that there is some overlap. There have been three settings tweaked in this to make it work smoothly.
- The Indirect Lighting Color has been set to a lighter but similar color to that of Rod emissive color.
- The Indirect Lighting Intensity has been adjusted to make the room feel like it’s having this emissive light cast onto it.
- The Post Process Volume’s Blend Radius was used to blend the two volumes for a smooth effect of the light bleeding into the room.
Example Scene (Click the image if the gif is not loading)
This was all controlled with a Post Process Volume and static lighting! Being able ot control the bake GI can offer much more control over your scene if you need to make some stylistic choices and can help save from having to rely solely on light builds to look 100% accurate.
_________________________________________________________________________________________________
Capsule Shadows
Capsule Shadows are a new feature for 4.11 and higher that allows skeletal meshes to blend in better in indirectly lit and directly lit areas with soft shadowing.
The tutorial on this page can help you get started if you’ve not used them.
http://timhobsonue4.snappages.com/lighting-capsule-shadows
_________________________________________________________________________________________________
Dynamic (Movable) Lighting
_________________________________________________________________________________________________
Shadow bleed or Incorrect Shadow Quality
In this guide, we’ll look at areas that will help improve the quality so that the shadows more accurately fit the meshes. This will also help in offering tips to improve dynamic lighting at a distance.
-
Example of Shadow Bleed, or Incorrect Shadow Quality
Directional Light ONLY: Cascaded Shadow Maps Settings:
-
Cascaded Shadow Maps Settings, in Directional Light Details
Dynamic Shadow Distance Movable
: This is the distance from the camera that shadows will cover. A value of 0 disables this.
Dynamic Shadow Distance Stationary
: This is the distance from the camera that shadows will cover. This is set to 0 by default for Directional Stationary Lights
Num Dynamic Shadow Cascades
: This is the number of cascades the view frustum will be split into. More cascades will result in better shadow resolution, but will add significant rendering cost. To read more on view frustums take a look at this article:
http://en.wikipedia.org/wiki/Viewing_frustum
- Num Dynamic Shadow Cascades (In these examples Shadow Bias, covered later, has been set to 0 to more visibly see the cascades.)
-
Cascade Number = 0
-
Cascade Number = 1
-
Cascade Number = 2
-
Cascade Number = 3 (Default)
-
Cascade Number = 4
Cascade Distribution Exponent
: This controls whether the cascades are distributed closer (higher value) or further away (lower value) from the camera. A value of 1 means the transition will happen proportional to their resolution.
- Cascade Distribution Exponent
-
Distribution = 1
-
Distribution = 2
-
Distribution = 3
-
Distribution = 4
Cascade Transition Exponent
: This controls the proportion of the fade region between cascades. Lower values will give a hard edge between the shadow cascades whereas higher values will blend between the two.
- Cascade Transition Exponent
-
Transition Effect
- Cascade Transition Exponent
-
Hard Edge (Lower Value)
-
Blended Edge (Higher Value)
Shadow Distance Fadeout Fraction
: This controls the how the shadows fade out at distances. Higher values will fade the shadow out whereas lower values will leave a darker shadow at distances.
- Shadow Distance Fadeout Fraction
-
Fadeout = 0
-
Fadeout = 1
Far Shadow
The option to set the Far Shadow for a static mesh or Landscape gives the added benefits of being able to have cascaded shadow maps work for very far distances, instead of the limited range closest to the camera.
Enable Far Shadow
This is controlled by enabling the Far Shadow Cascades in the Directional Light settings under Cascaded Shadow Maps.
Far Shadow Settings
You can set the number of Far Shadow Cascades to be used along with the distance that Actors with the Far Shadow flag enabled on should consider shadowing. For this default setting it’s using 300 meters as the start distance. This value should also be a higher distance than the Cascaded Shadow Map Distance closest to the camera.
Also, keep in mind that this is best used for large objects in the distance and is not recommended to be used on every mesh you have. This can have significant performance implications and is why you have to opt in on each static mesh you want to use Far Shadows
Far Shadow Demonstration(Click the image if the gif is not loading)
In this setup, the Dynamic Shadow Distance of the Directional Light has been set to 5000 units and the far shadow distance is set to 50000 units with 4 far shadow cascades.
The static mesh on the left is not using the Far shadow and the one on the right has far shadow enabled.
Adjusting Cascades for better Quality:
Shadow bleed and accuracy can be finely tuned by adjusting a combination of the settings demonstrated above. This next section will attempt to adjust the values that work best to get better accuracy with the shadows while in close proximity and as the camera moves away. Finding a balance that works with any particular game will require time, effort, and lots of testing with what works and what does not.
Basic Scene, Default Settings
Here is the basic scene with only default settings:
Highlighted Problem Areas
There are already a few problems that are prevalent in this scene with shadows accuracy around edges.
Highlighted Problem Areas, close-up
More clearly demonstrated here.
Default Scene, Final Results
By focusing on the most of the effort around the
Cascade Distribution Exponent
the shadow bleed can be minimized, within reason of course. The default distance for Dynamic shadows is set to 20,000 units. This isn’t always necessary to which this can be set to a lower value to better utilize the cascades.
If the game level is to use indoor and outdoor scenes finding a combination that fits all or most areas will be difficult and require lots of tweaking. There is no one setting that will make everything look perfect.
In this scene by adjusting the settings for the Distribution, the Shadows Distance, and Number of Cascades the bleed and accuracy are acceptable.
All Dynamic Lights (Light Tab Settings):
Lastly, there are two other settings under the light tab in our light source that can benefit lighting accuracy as well.
These settings can be found here:
-
Lighting Details, Shadow Bias and Filter Sharpness
Shadow Bias
will control how accurate shadows are in the scene, but will generate artifacts if set to a value that is too low. The default value is 0.5 which is a good tradeoff between how accurate and effective it is.
Shadow Filter Sharpness
can help mask some of the artifacts that occur with lower values and this directly contribute to how sharp the edges of the shadows are as well.
Taking into account that none of the previous settings have been adjusted for these images these are some examples to demonstrate
Shadow Bias
and
Shadow Filter Sharpen
.
- Shadow Bias
-
Shadow Bias = 0.5 (Default)
-
Shadow Bias = 0, adjusted too low will result in artifacts
The key here is to find a good balance without going too low and using the setting under the tab for Cascaded Shadows.
- Shadow Filter Sharpen, will sharpen the edge of the shadow with higher values
-
Filter Sharpen = 0
-
Filter Sharpen = 1
Most notably the higher the value for the sharpen filter the shaper your shadows. The soft edge created by the lower values will now be lost.
_________________________________________________________________________________________________
Why does my Movable light shine through my mesh at far distances?
Dynamic lights, especially point lights, cause this kind of issue to crop up. Unreal Engine 4 does a good job of trying to optimize things so that you don’t have to worry about it so much. The problem is sometimes it gets carried away and can cause things like this to happen that may not be obvious how to fix.
-
This is what we want, Close to Camera
-
At a Distance from Camera
So, what gives?!
To explain this we need to discuss that awesome optimizing the engine does for you. The engine uses scene depth to determine what should be visible and what shouldn’t be visible for rendering. Since we have a point light here that shoots light throughout it’s set radius when the mesh is beyond its bounds it will be occluded or no longer rendered. This causes the issue that we’re seeing with our light starting to cast in all directions.
You can see from this image that as the camera is further away the occlusion of parts of the mesh start to halo around the outer edge until the light is free to cast in all directions.
-
Mesh Light Occlusion
You may notice that if you select the mesh when far away that the light returns to normal. This is expected as you have just selected the mesh and it is now focused.
Object Bounds, Details Panel, Rendering Tab
To keep the mesh from being occluded you’ll need to select the mesh and go to the details panel. Here you can search or scroll for the “Bounds Scale” (Located under the Tab for Rendering.)
The default value is set to 1.0. When increasing this scale be sure to only use incremental small numbers. Using a value of 2.0 doubles what the distance was set to which can be overkill. Try increasing by smaller incremental values. (ie. 1.1, 1.2) There is no need in pushing to have more than you need as this can impact performance and shadow quality.
You can visualize your meshes bounds by going to the viewport > Show > Advanced > Bounds
You will see something like this:
Object Bounds Visualized
Additional notes:
If you’re having issues with your mesh occluding, but don’t want to increase the bounds scale due to performance concerns you can try using a Spotlight. Since this only casts light in a single direction you won’t notice the light of a point light casting in all directions when the mesh is occluded. This works well for situations similar to what has been demonstrated, but testing may need to be done on your part to get things just right.
Alternatively, you could forego a fully movable/dynamic light and use a stationary light that bakes a lightmap texture, which can also save on performance by having zero overhead during runtime for rendering shadow information.
_________________________________________________________________________________________________
Static Lighting
Lightmap Resolution / Shadow Quality
Every project has its own unique art direction and goals, so this section is meant to present common concepts and give you a foundation to begin achieving what you want from your static lighting. By no means will the settings we present here work all the time for every project.
-
A Sample Scene with 3 Static Meshes
There are 3 objects in this scene; two walls and a floor mesh. Each object has is own shadows that are baked into a texture known as a lightmap. This lightmap stores any shadow/light information that is being cast on to it in this texture. It is normally handled by an artist in the asset creation.
‘
Want to know more about lightmaps and how to create them effectively?
In other words, If I wanted to increase the resolution of the shadow cast by the wall with the doorway, I would not adjust the doorway, but instead would adjust the floor’s lightmap resolution. This is where the shadow is being cast and baked into a lightmap.
Now with that out of the way, we may need to increase lightmap resolution for some meshes and not others. Each mesh has it’s own lightmap Resolution that can be set via the details panel when the mesh is selected or via the mesh editor.
For this lightmap quality demonstration we’ll look at the floor meshes lightmap resolution only.
When adjusting LM resolution make sure it is using a power of two (32 [default in engine], 64, 128, etc) with exception of BSPs (Covered below)
A lot of the quality in this lightmap resolution will depend on two factors: Size of the mesh and the size of the UV shells in the lightmap UV.
- Lightmap Resolutions for Static Meshes
-
Resolution = 64
-
Resolution = 128
-
Resolution = 256
-
Resolution = 512
The key to difference to note about using lightmaps on BSPs versus Static Meshes is that it doesn’t increase, but instead decreases to get better resolution.
- Lightmap Resolutions for BSPs
-
Resolution = 32
-
Resolution = 24
-
Resolution = 16
-
Resolution = 8
While adjusting the lightmap resolution to get better results there are trade offs here. Using a smaller mesh will allow you to get better results for the floor with a lower lightmap resolution, while using this larger mesh you will need to increase the lightmap resolution and the texture will use more resources for your games.
- Lightmap Resolutions for Landscapes
-
Resolution = 1.0
-
Resolution = 2.0
Much like the difference between BSP and Static Meshes for setting the static lighting resolution Landscapes are a slight bit different as well. Landscape Lightmap Resolution uses a multiplier that can be used to give better resolution for the baked shadows. Larger Landscapes may require a higher resolution value, where as smaller landscapes will not.
In the Details panel you have the option to increase the
Static Lighting Resolution
, which is set by default to 1. When you adjust this you only need to incrementally increase by a whole number until you are at the desired resolution you would like.
_________________________________________________________________________________________________
Shadow Seams/Shading Differences with Indirect Lighting
Often when you build lighting for your project and in indirectly lit areas you may notice that there is sometimes a shading difference between modular planar surfaces, typically walls, floors, and ceilings. This is an unfortunate side-effect of how static indirect lighting is handled at the moment and doesn’t have an easy way to fix. This can hopefully be made better in the future.
Here’s the breakdown of the issue, if you’re not familiar.
- Light hits a surface and then that light is bounced on the surrounding surfaces. This type of bounce light is referred to as Indirect Lighting. Some surfaces will be directly lit as well while still receiving some bounce, like the Wall that is partly lit fully and has some indirect lighting with the shading issue in the shadowed corner.
Light Bounce Example
- If the surfaces receiving the indirect lighting are flat planar surfaces they generated this disparity in shading between them like this:
Indirect Lighting Artifact
What’s happening here is that each of these static meshes are sent to the CPU to be processed in the order they are received and on different CPU threads. This simply means that while each one has their lighting built by lightmass the others don’t know what the shading for the one before it would look like to reference the edges to make sure they match up. This leads to slight shading differences between each planar surface.
So, by now, you’re wondering “What can I do about this?!”, right?
In the World Settings under the section for Lightmass you can adjust some of the settings here to get better results.
- Indirect Lighting Quality can be set to 2 or higher.
- Indirect Lighting Smoothness can be set to usually a range of .65-.75. The lower the value here is though the more artifacts you can run into that make the lightmap look like it has blotchiness to it.
- (Recommended only for Advanced Users!!) Static Lighting Level Scale can be adjusted to a lower value to get better blending as well. But this changes the scale of how lighting is calculated for the entire level. This will increase build times significantly if the value is lowered but will give you better results. This is commonly used by those within the Architectural Visualization field and not by those developing games unless they have a specific reason and understand the choice.
When you adjust the quality of indirect lighting it’s always a good idea to lower the lighting smoothness to get better results. This helps blend better between these surfaces, but it doesn’t necessarily help remove the issue completely and can have other side-effects as well. You should really test it in project or a test map to fully understand what you’re adjusting here and why.
There is also some steps you can take to reduce how noticeable this artifact is and steps you can take with the design of your project.
- Try not to over-modularize your levels! This is important. You may think that making a moderately sized wall into nice smaller concise pieces that you can pack together like Lego’s is the best thing ever, but you run the risk of this shading difference happening, and you now have many more actors that add to draw calls and checks for the visibility states of these. It’s best to have have a single wall when it makes sense rather than many small pieces. You get reduced draw calls and less issues that can occur with lighting.
- You can simply use other geometry to better hide these pieces where there would be seams, like columns or adjoining walls, or wall molding.
_________________________________________________________________________________________________
What is this “Overlapping UV error” non-sense when I build lighting?
When using static or stationary lighting it is imperative to use two UVs for your meshes otherwise you will get the following warning when you build lighting:
-
Message Log, Lighting Results
This means that you’ll need to setup a second UV channel for your lightmap otherwise the editor will use the existing texture UV as the lightmap which can lead to these kinds of errors.
This can be fixed by adjusting the UV for the lightmap so that there are no overlapping faces.
This can be done
in the editor
via generating lightmaps or by using your modeling software of choice to create and edit your UVs.
- Original UVs and Results
-
Overlapping UVs
-
Results in Editor
- Corrected UVs and Results
-
Corrected UVs
-
Results in Editor
Take notice that the UV in the final result has no overlapping faces which allows shadow/light information to bake correctly for the texture that will be applied to our mesh after the light build.
With the overlapping faces these will give incorrect shading due to lighting information not being baked correctly.
_________________________________________________________________________________________________
How do I generate lightmap UVs in the editor?
With the release of 4.5 the editor will automatically generate UVs on import or by using the mesh editor.
We will assume you’re wanting to set them up from the mesh editor.
- Open the mesh you’d like to create a lightmap with.
- Locate the panel on the right that looks like this:
-
Static Mesh Editor Details Panel
This panel will allow you to create your lightmap channel, but do note that this does not directly control your lightmap resolution or it’s coordinate index assignment. These will be covered a little later.
The settings here in the “Build Settings” tab that we will focus on are:
Generate Lightmap UVs
= make sure this is checked.
Min Lightmap Resolution
= This is the smallest size you would want your lightmap resolution to be.
Source Lightmap Index
= This is the source which we will generate our lightmap UVs from.
Destination Lightmap Index
= This is the location we will store this UV when it is created.
For most assets this should be a good setup. The key here is making sure that we select the proper source lightmap index. This is the UV that is typically used for the textures. The UV shells/islands in this UV will be repacked so that there are no overlapping faces, which is integral to using lightmaps.
For the lightmap resolution setting a low value to begin with is not bad because we are not obligated to using that resolution. If you decide to use a higher resolution you do not need to come back to these settings unless you know it could improve the lightmap bake. In most cases it’s not necessary.
Once you’ve hit “Apply Changes” we can verify our lightmap has been created and see if there appears to be any errors.
You can do this by going to the mesh editor toolbar and clicking the UV icon to show the UV and using the drop down to the right to select UV channel 1 to view our newly created lightmap.
It should look something like this:
-
Static Mesh Editor, UV Channel Selection
That’s not quite it though. We still need to assign the correct UV channel to be used for our Lightmap.
In the mesh editor in the details panel on the right locate the tab labeled “Static Mesh Settings”
Static Mesh Editor Details, Lightmap Settings
- In this tab we’ll need to adjust the lightmap resolution for what we’d like here.
32 is the default lightmap resolution. For smaller objects this would work well. For larger objects we would possibly need to use higher resolutions.
Make sure to adjust it by a power of 2. (ie. 32, 64, 128, 256, etc)
- The next setting we’ll need to verify is that the Lightmap Coordinate Index is now pointing to the right channel. Make sure this is set to the channel that you set in the build settings above. Typically this should be set to 1.
After using these settings you will now have a proper lightmap resolution.
There are some caveats to this though that may require the use of a modeling program like Blender, 3Ds Max, or Maya to fully correct the issue.
The generated lightmaps will not split or cut seams in the existing UVs from UV channel 1 used for the texture. It will only repack the existing UV layout to better fit the needs of a lightmap UV.
As an example, think of a cylinder. If you wanted to lay these faces all out flat you would need to cut a line in the side of the cylinder to do so. In a modeling program this isn’t always necessary depending on how you’ve set up the texture UV to be used. If this side face was not cut to be laid out flat the generated UVs via the mesh editor will not work and will still result in overlapping UVs warning being generated after a light build.
_________________________________________________________________________________________________
How to control Global Illumination with Static Lighting?, or The Wonderful Thing About Bounce
When using static lighting you will need to build lighting to see the results. Lightmass is used to compile and generate textures that will store this light and shadow information for our scene by baking this information into a lightmap texture.
By default lightmass is set to use 3 light bounces to get GI with static lighting. If more is needed we will need to directly change the lightmass settings to get different results via our World Settings tab. We can affect our Global Illumination directly by changing the number of bounces that the light will cast.
To enable World Settings tab you’ll need to go to the Toolbar and select Settings > World Settings
-
World Settings
Default Lightmass World Settings
Click on the World Settings tab next to the Detail Panel tab on the right side.
Here you’ll see a lot of settings that can affect how our light is handled with lightmass that will directly affect our scene. For GI we’re only going to focus on the second option down “Num of Indirect Lighting Bounces.” The slider is clamped to be a value between 1 and 4. You can override this by manually typing in a value though.
The default settings are shown to the right.
- Global Illumination Sample Scene, Single Point Light at 250 (≈ 15W Light Bulb)
-
Scene Setup
-
0 Bounces
-
1 Bounce
-
2 Bounces
-
3 Bounces
-
4 Bounces
-
100 Bounces
_________________________________________________________________________________________________
Why is there shadow splotches on my static mesh?, or How to clean those dirty lightmaps?
Show stains, splotches, dirtiness, or whatever name you have for it is a common issue with UE4 when using any type of static lighting. Fear not though because we can get rid of those dirty lightmaps with a little scrubbing through our lightmass settings.
First though, the reason you see something like this is related to the indirect light from our GI bounces that happen with our lightmass build.
To replicate this in a mostly effective way this simple scene will have two rooms.
- Sample Scene
-
Exterior
-
Interior
This scene will be using PRODUCTION quality for our light builds. This scene is using assets from the Starter Content pack that can be added to any newly created project. All meshes in the scene will use a lightmap resolution of 256 unless otherwise noted. The post process effects are set to default with eye adaptation to make the darker room easier to see.
After building our lighting, here are the results:
- Initial Lighting Build, default settings
-
1st Interior Room, lit with direct and 1st bounce lighting
-
2nd Interior Room, lit entirely with indirect lighting
Brute force can be used to remove some of the indirect lighting artifacts by increasing the lightmap resolution which effectively increases the size of the textures used to store the lighting and shadowing information, but that’s not always the best idea when a high-quality result can be achieved using a lower resolution and adjusting the lightmass settings. When dealing with any rendering application in the engine and especially lighting just increasing a texture size, though it may appear to solve the issue is not always the most performance friendly way to handle an issue and may even result in more problems further along in your development process.
As any example this is the same 2nd Interior Room with lightmap resolution changed to be 1024:
- Initial Lighting Build, default settings
-
2nd Interior Room, Lightmap Resolution 256
-
2nd Interior Room, Lightmap Resolution 1024
In this example, a lot of the artifacts have been reduced by using the higher lightmap resolution, but this also increases the texture memory footprint by a factor of 4. There is a more performance friendly solution to these Indirect Lighting Artifacts with some simple adjustments to the World Settings.
World Settings
- You can locate World Settings here:
World Settings
- Here the settings for Lightmass can be adjusted:
Indirect Lighting Quality
: This will increase the Global Illumination solver counts to get a higher quality for levels that need it.
Indirect Lighting Smoothness
: This is the smoothness factor to apply to Indirect Lighting.
WARNING: Using a Value greater than 1 in the Indirect Lighting Quality will GREATLY increase build times.
-
Default Settings
-
Settings Example #1
As mentioned in How to control Global Illumination with Static Lighting?, or The Wonderful Thing About Bounce, you may also want to adjust the number of indirect light bounces which will yield the following results:
-
Num Indirect Lighting Bounces = 4
-
Num Indirect Lighting Bounces = 5
At this point, the lighting settings have been adjusted enough that there may be room to hide any artifacts with some textures, but if that’s not the option there is the option to bump the lightmap resolution for each mesh up to a higher value. The value used here is 256 for the lightmap resolution. By changing it to be 512 we get the following result:
-
Adjust Indirect Settings with 512 Lightmap Resolution
-
No Adjustment to Indirect Settings with 1024 Lightmap Resolution
In the beginning of this tutorial, there was a comparison shown using Lightmaps of 1024 that helped get rid of the artifacts. By adjusting a few lightmass settings the artifacts have been reduced and the assets are using a lower texture resolution with better results.
While this method is fully exploring the option of not having any light in this room and looking at ways to reduce the “dirtiness” artifacts that can be caused by Indirect Lighting it must be noted that using lighting can in these areas, even a very low-intensity non-shadow casting light, can get results as well. The methods listed above are a starting point and may require a little trial and error to get the results that are more appealing.
Want to know more about Lightmass Basics?
Want to know more about Lightmass Global Illumination?
_________________________________________________________________________________________________
What is the “Lighting needs to be rebuilt” in the Top left corner error?
Error Message
If this is appearing in your top left part of your viewport window when using PIE (Play in Editor), Simulate, or Standalone game this simply means that lighting needs to be rebuilt for your scene. This will only affect Static and Stationary lighting. Dynamically lit scenes do not need to have lighting built.
This warning is caused when lighting has been invalidated by moving or modifying a light Actor. This can cause problems because the rendered lighting in the level is not accurately representing the current state of lights in the level. This error can be solved by going to the Build menu and rebuilding lighting for a map.
Troubleshooting Tips
Unbuilt Actors List
Sometimes may find that you have built the lighting but continue to see this warning popping up with a number of unbuilt objects but no direct way to identify which ones.
You can open up the
Output Log
window from the from the Developer Tools menu. Enter in the command
DumpUnbuiltLightInteractions
to be given a list of any Actors that are not having their light built or either have had their lighting invalidated.
This list of Actors can be really helpful to determine what is going on. It could be as simple as having a Blueprint that is set to static but has a movable component or you have an Actor that is placed via the construction script but then moved after lighting has been built.
Statistics Window
Open the
Statistics
window by going to Window > Statistics. This can be a helpful tool for determining information about your lighting build and information about all your static meshes in your scene that have their lightmap resolutions set. It’s a good tool for troubleshooting exactly how long specific actors took to build during the lighting building process. This can easily help identify the offenders for a long light build time if something is being slow.
_________________________________________________________________________________________________
Lighting Quality comparison, or Production > Preview
When lighting needs to be built for a level the quality of the light build for lightmaps can be set in the toolbar by going to the options for Build > Lighting Quality > and selecting a quality level.
By default the Quality is set to
Preview
. This setting has the fastest computation time whereas
Production
will have the slowest computational time, but be much more accurate.
The Lighting Quality settings can be found here:
-
Lighting Quality Settings
For this demonstration there will be an enclosed room to show the quality of the shadows being built: (This will be the same scene setup used for
#Why is there shadow splotches on my static mesh?, or How to clean those dirty lightmaps?
- Light Quality Settings, Architectural
-
Preview
-
Medium
-
High
-
Production
In this example it’s easy to see the difference between the default Preview setting and Production setting. With Production almost all of the light leaking that was prevalent in the previous quality settings is gone. This is a good way to troubleshoot your lighting issues if there is light leaking. If Production doesn’t get rid of the light leaking then it’s time to have a look at how the lightmap UVs are set up or possibly the placement of the meshes in your level.
With the Statue static mesh in this scene it’s not as easily noticeable that the shadow quality has been adjusted. There is slight differences in quality, but not enough to tell with the particular object.
- Light Quality Settings, Organic Lines
-
Preview
-
Medium
-
High
-
Production
Statue Lighting Quality
In this animated Gif the quality differences are minuscule from this perspective. This behavior is expected for more organic shapes. The human eye notices non-organic straight lines (like Architectural right angles) before curved or more organic shapes given the same color and brightness. As a note, the jaggedness of the shadows on the ground plane are the result of having a lower lightmap resolution for a larger mesh. Increasing the lightmap resolution will improve the quality of the shadow definition.
_________________________________________________________________________________________________
Lightmap Error Coloring
This option can be enabled via the Build Menu drop-down when you select Use Error Coloring and are using Lighting Quality settings for Preview or Medium.
Error Coloring Option
When lightmass encounters an error it will color the type of error so that it’s easily identifiable. Below are the color types that will be reflected for the type of issue you have.
- Orange: This is caused by non-unique or overlapping UVs.
- Green: This is caused by having wrapping UVs or UVs that are outside of the 0,1 UV space.
- Yellow: These are unmapped texels that either have zero lightmap area or in the case of BSPs may be too low of a lightmap resolution.
You can see more information in the UE3 documentation that still applies:
https://udn.epicgames.com/Three/LightmassTools.html#Lightmap
error colors
_________________________________________________________________________________________________
Find the Objects referenced in «Lighting needs to be rebuilt (X Objects)»
Sometimes you may have an issue where lighting is continually being invalidated or you may have tweaked something in your level and not realized it leaving you with this dreaded “Lighting needs to be rebuilt ([number] objects)” but no easily identifiable way to see what the “[number] objects” are.
Luckily we have an easy way for you to get this information to help you better track, investigate, and resolve your issue(s) with lighting being invalidated.
- Start by opening the Output Log window by going to Window > Developer Tools > Output Log.
-
Bring up the Console by using the ` (tilde) key and enter in the command
DumpUnbuiltLightInteractions
So why is this really useful?
- You can quickly identify the Actors that are causing the warning to appear.
- You may have an Actor that is static that is being built and then moved by using code or Blueprints that causes the warning to appear.
- Instanced meshes with lots of instances and high lightmap resolutions may not build properly because the clustered instances lightmap doesn’t get generated. This can identify that need to lower the lightmap resolution.
- In some instances using a Construction Script to generate mesh placement via Blueprint will have become invalidated when moving the mesh if the lighting was previously built. This command can quickly identify this as well.
_________________________________________________________________________________________________
Light Build Statistics
The Statistics window available in the editor is a good way to check the statistics for your level once the light build has completed. This window can give good stats to help narrow down what actors were taking the longest for the scene and how much time was spent calculating the lighting for this actor and it’s lightmap resolution.
Statistics Window
This window was taken from a light build of Sun Temple that is available in the Epic Games Launcher via the Learn tab.
All of the information contained within the Lighting Build Info and Static Mesh Lighting Info can be helpful to help you optimize, investigate, and troubleshoot your lighting builds.
This information can also be found in the documentation here:
https://docs.unrealengine.com/latest/INT/Engine/Rendering/LightingAndShadows/Lightmass/#gettingthebestlightingbuildtimes
_________________________________________________________________________________________________
Landscape Grasstype Asset Tiled Pattern
There is a little known feature hidden within the Landscape Grasstype asset that you may or may not be aware of. This allows you to use the landscape’s lightmap to get a better blend for the procedural landscape grass material by referencing its indirect lighting cache samples.
You can enable it by setting the checkbox for Use Landscape Lightmap.
Landscape Grasstype Settings
This feature was originally developed with the intent for dynamically lit environments, but when using stationary or statically lit environments you’ll see the pattern of that is generated from the tiled components of the landscape’s indirect lighting, which can be rather distracting.
- Landscape Grasstype Use Landscape Lightmap
-
Disabled
-
Enabled
Once you enable or disable the option for Use Landscape Lightmap the material will be regenerated without the need to rebuild lighting, so long as it has already been built.
_________________________________________________________________________________________________
Build Lighting Via Command Line
If you have a need to build lighting via command line this has been added as of 4.10.2.
In order to build lighting by command line use the following structure to set it up as a basis:
- UE4-Editor.exe [Project Folder Path] -run=resavepackages -buildlighting -MapsOnly -ProjectOnly -AllowCommandletRendering -Map=[Name of map] -Messaging
The -Map=[Map Name] can be dropped if you want it to build all the maps/levels available in the project.
You can find some additional details in the commit here via GitHub:
https://github.com/EpicGames/UnrealEngine/commit/f89256dd0efb7d0b1427729a8f8a6007
If you see a 404 error page, you’ll need to make sure that you have an account with GitHub and that your Epic account is linked with GitHub’s.
_________________________________________________________________________________________________
Foliage Tool Lightmap Resolutions
When using the foliage tool you have a few different settings available to you in the tools panel for the selected actor. One important one is the option to override the Lightmap Resolution of the mesh.
Foliage Lightmap Settings
By default this option is disabled, which means that the static meshes own lightmap resolution will be used.
You may be thinking “why is this a bad thing? Don’t I want to have a good lightmap resolution for nice baked shadows?”, but the problem here is that when you use the Foliage tool these are not individually placed actors that get their own lightmap. These are all clustered instances where the clusters will be baked down into a single lightmap together.
If you have a lot of instances and proceed to build with the static meshes default lightmap resolution you are more likely to be met with a warning that “Instanced_Foliage_Actor_[X] lightmap is too large and should be reduced.” This is a clear indication that the lightmap resolution is too high. You should enable the option above and try a lower resolution like 8 or 4 before you try rebuilding.
As a general good practice though you should do the following:
- Limit the use of static lighting on foliage if you are going to have the trees/grass sway in the wind. It looks unnatural for the foliage to move, but the shadow does not.
- Reduce the lightmap resolution of foliage to a manageable size.
- Disable static lighting on grass. This is a general good practice to have since these instances will likely number in the thousands depending on your level and it will significantly increase the light build time in most cases.
_________________________________________________________________________________________________
UE4 QUICK TIP #10: FIX IMPORT MESH ERROR «DEGENERATE …
FREE PDF Download «UE4 Beginner’s Guide»: https://www.worldofleveldesign.com/store/free-guides/ue4-beginners-crash-course-guide.php——…
From youtube.com
Author WorldofLevelDesign
Views 31K
UE4 TUTORIALS | UMG: SMOOTH COLOR CHANGING HEALTHBAR
Hello beautiful people!In this video I’m going to show you how to create smooth color changing health bar with full control over the colors!——…
From youtube.com
Author StupidGameDev
Views 1.9K
CAN’T SEEM TO FIGURE OUT HOW TO ENABLE ERROR COLORING.
I’m having a whole bunch of LightMap issues making the jump from UDK to UNREAL 4. I keep getting errors with all the assets that I’ve created when importing the .FBX files in. It’s an issue with Overlapping UV’s, due to …
From forums.unrealengine.com
HOW TO CHANGE THE COLOUR OF A MATERIAL VIA BLUEPRINT IN …
This will give us a reference to its material. On the output, add a Set Vector Parameter Value node. Make sure to set the Parameter Name to the same as we’ve set our material parameter earlier (Colour with a U in my case). Then fiddle with the value field and give it a new colour. When we run the game now, our sphere should be a different colour.
From versluis.com
Estimated Reading Time 2 mins
UNREAL ENGINE 5.0 DOCUMENTATION — UNREAL ENGINE 4 …
Generating platform-specific content for assets used in the game.
From docs.unrealengine.com
INVERTING COLORS INSIDE A MATERIAL (UE4)? — STACK OVERFLOW
Yes, you’ll need some blending but it’s the same as using a PostProcess material as a filter inside a PostProcess volume. That way you create a way to manipulate buffers as a postprocess effect. Material-wise, inverting the colors (which I’m assuming it means using the opposite color in the spectrum) simply feed the color to a 1-X material node …
From stackoverflow.com
⚡ CHANGE THE SKIN TONE OF A CHARACTER — ANTICTO
In the example, the Parameter Name used is «Skin Tone» and the Default Value is changed to «0.0» to take the first color of the «skin color bar» as default. Click the «+» icon of the Description Image to enable the option of showing an image in the slider selector. Name this new connection by clicking on the small sub-tab of this new «0» layer …
From work.anticto.com
MVJWSK
Lapte praf Nutricia Aptamil Junior 1+ , 1200g, 12luni+ Aptamil 1 an +, lapte de creștere premium, pentru copiii de peste 1 an Pachet 6 x Lapte praf fortificat, Aptamil, 800 gr, 3 ani+ De Aptamil Junior 2+ Prezentare:cutie 800 g Aptamil te asteapta din toamna 2012 , cu o noua infatisare: vei recunoaste usor in magazine si farmacii pachetele care poarta Nutricia si …
From demolizioni.catania.it
UNREAL ENGINE4 — UE4 IS IT POSSIBLE TO IMPORT A MODEL … — STACK …
I apologize for the English, because I am writing through a translator. When importing a model using the sketchfab plugin, all content is imported as separate objects, and it will take a very long …
From stackoverflow.com
CAN’T SEEM TO FIGURE OUT HOW TO ENABLE ERROR COLORING
Jan 11, 2016 — I’m having a whole bunch of LightMap issues making the jump from UDK to UNREAL 4. I keep getting errors with all the assets that I’ve created when importing the .FBX files in. It’s an issue with Overlapping UV’s, due t… Pinterest. Today. Explore. When autocomplete results are available use up and down arrows to review and enter to select. …
From pinterest.com
POST-PROCESSING OF MULTI-COLOR CONTOUR LINES IN UE4
With some recent changes to Unreal Engine 4, rendering a variety of color contours is already possible! C ustom templates are similar to buffers of custom depths — but allow the mesh to render as integer values. It provides a range of 0 to 255, can define different colors on the grid outline, and can even mix multiple functions, such as the following image using different …
From codeandcache.com
UNABLE TO GET HDA VERTEX COLOR IN UE4 | FORUMS | SIDEFX
Unable to get HDA vertex color in ue4 2098 0 1 IbtesamSadiq Member 4 posts Joined: Jan. 2017 Offline Nov. 29, 2018 7:52 a.m. I am using hda in ue4 and I …
From sidefx.com
REDDIT — DIVE INTO ANYTHING
Open your mesh by double clicking so you get to the static mesh editor. Go to Window->Generate Unique UVs. A new tab will appear in the lower right corner of the editor by default. Here you can set options for spacing and stretching of the UVs, and choose which UV channel to apply them to.
From reddit.com
UNREAL ENGINE 4 — CHANGE FOLDER COLOURS IN VERSION CONTROL
The trick is that when you set a new folder colour, it is saved here: Open this file and look for the section called [PathColor]. These are your local folder colours. Add your new [PathColor] section and any folders you want to bring across. Check this file into your version control and voila! Colours for everyone!
From blog.jamie.holdings
REMEMBER THAT YOU CAN CHANGE COLOR FOR EACH FOLDER IF YOU HAVE
Not the same as setting a color but close enough. More posts from the unrealengine community. Continue browsing in r/unrealengine. r/unrealengine. The official subreddit for the Unreal Engine by Epic Games, inc. A community with content by developers, for developers! 163k. UE4Devs. 375. Pawns are spawned . Created Apr 23, 2013. Join. Top posts june 11th 2019 Top posts of …
From reddit.com
UE4 INCREASE TEXTURE RESOLUTION — DHGR.POMOCDROGOWANAKLO.PL
From the Texture Editor you can do a wide range of items like apply color adjustments, modify compression and adjust the Textures LOD settings from here. For more information about the Texture Editor UI, see Texture Editor UI .. My texture pool size keeps going over budget so I’m trying to reduce the size of all of the textures. So, in the texture itself (within UE4) I see LOD …
From dhgr.pomocdrogowanaklo.pl
WHY DO I GET A BLANK MATERIAL IN UNREAL ENGINE 4?
Do the following to be able to use them: Copy the whole folder and paste it on the directory where your VaultCache is located. ( Program Files x86 > Epic Games > Launcher > VaultCache ). After that, open your Epic Games Launcher and go to Unreal Engine > Library. If you look at the bottom there’s a Vault tab.
From gamedev.stackexchange.com
VERTEX COLOR MATERIALS | UNREAL ENGINE DOCUMENTATION
This material has been desaturated a bit, giving us more room to add color using the Mesh Paint tool. To get our vertex colors worked into the material, we simply need to intercept the Base Color connection and multiply it by a Vertex Color expression’s RGB value, like so: Click image for full size. Within the commented area, you can see where …
From docs.unrealengine.com
LIGHTMAP OVERLAPPING ERROR WHEN IMPORTING TO UE4 — BLENDER …
You can also view the UV layout in UE4 by pressing the UV icon in the toolbar of the static mesh editor. To fix this you need to unwrap your lightmap UVs completely uniquely. Also, your UVs are going to need more padding and fewer seams to make good lightmaps. You should aim for four pixels of padding between islands and two pixels of padding around the edges of the UV space.
From blender.stackexchange.com
HOW TO REDUCE COLOR SPACE IN A POST-PROCESSING MATERIAL IN UNREAL …
I’m trying to get an old-school Quake 1 look going in UE4. I am currently using this blueprint in order to get a retro style large pixel filter. In game (might need to zoom in to see the difference): The look I am going for now is a low color depth (8 bit etc) that old games such as Quake had. Here is a picture for reference.
From gamedev.stackexchange.com
UE4 REFRESH BLUEPRINT — GAPHGJ.KOPERTYWM.PL
Sep 04, 2020 · Currently in the UE4 editor there is no way to compile all blueprints in your project. You can compile blueprints individually but there is no in editor button to compile all blueprints.Unreal Engine does offer way to do this via command line however by way of Commandlets. Commandlets Commandlets are command line programs that run inside of the …
From gaphgj.kopertywm.pl
FIXING ‘TEXTURE STREAMING POOL OVER BUDGET’ IN UE4 — TECHARTHUB
There are two productive ways to fix the ‘Texture Streaming Pool Over # MiB’ warning message. The first is to increase the size of your texture pool either via the console or your project’s configuration files. The second is to optimize your levels/materials to keep the size of your textures down. Side note: Yes, there are also …
From techarthub.com
ENABLE ERROR COLORING TO VISUALIZE? — UNREAL ENGINE FORUMS
The error is the UV’s on the imported meshes are overlapping on whatever channel is specified for lightmaps, i.e. the faces cannot overlap in the UV editor.
From forums.unrealengine.com