Tore Lervik - MeshBlend

Hey,

The plugin supports static lighting IF you can use another GBuffer than the AO one that static lighting also uses. Unfortunately that is the only GBuffer channel that I can support out of the box.

Stencils aren’t usable with many objects since they don’t get culled the same way as normal meshes. So if you assign a stencil value to each mesh you basically draw everything in every frame. Performance would tank fairly quickly. :smiling_face_with_tear:

Hello, I’m very interested in this (but I’m curious, does this cause the scene to consume more VRAM? Or does the performance remain the same? I won’t be using it for video games (only for creating scenes and rendering).

It shouldn’t increase the VRAM in any meaningful way. The performance remains pretty much the same as the pass takes around 0.2-0.4 ms per frame usually.

dont have any ´possibiliy to update to statick lithing in the uter?

If it’s possible to support static lighting in the future?

With the default setup it uses the same GBuffer as static lighting, so that is not possible.
You can use a different gbuffer or add your own, but that is a very advanced task, and not something supported out of the box.

This is awesome tech. I’ve been fighting with RVT as we’re using a Voxel World. Since RVT is top-down, I had to add triplanar support to RVT, then use Data Layers to trigger RVT Volumes on and off depending on player location. Even then, one RVT Volume only covered a quarter of our world — so more patchwork logic on top of that. :sweat_smile:

But no more! This is a way better solution than RVT and much more performant.

Since we’re full PBR, losing the AO channel wasn’t an option. Good news: as of 5.5 (can’t speak for earlier versions), GBufferF is available. However, Params.bHasTangent (in GBufferInfo.cpp) and GBUFFER_HAS_TANGENT (in ShaderGenerationUtil.cpp) are hard-coded to false, so GBufferF will never be “accidentally” enabled.

This commit enables GBufferF, which uses World-Space Tangents (RGB) and Anisotropy (A):

https://github.com/teella/UnrealEngine/commit/861d63b4af0ad67926d81b1c0e221ffecfcac354

Then I switched to PPI_Anisotropy in Shaders/MeshBlendTextures.usf with minor edits to MeshBlendSceneTextureLookup and GetMeshBlendStencil.

Fantastic call-out on the 5.6 improvements — that texture copy removal matters.

Price-wise, this is easily a 4–6 week project for a seasoned engineer to develop. For context, in our game A.L.A.R.M., we’ve even built a custom GI emissive hack that dynamically balances light response and PBR integrity, so I can say from experience — MeshBlend is a clean, elegant solution to a notoriously messy problem.

2 Likes

Hello, I’d like to buy it but I want to know if it works with Pathtracer as well? Thanks!

Hey,

Unfortunately it does not work with the path tracers as it lacks the necessary gbuffer channels.

Overview of general support: General Support | MeshBlend

I wonder if it supports PCG? Thanks!

Works well with PCG :blush:

1 Like

I use this plugin in every project involving natural or outdoor environments. I honestly don’t know how I worked without it before! :sweat_smile:

Asset placement is now significantly more enjoyable. It covers nearly every situation where I previously used RVT. For simple blending, it’s even superior, as it allows seamless mixing not just with the landscape, and not just on a 2D, but between any objects in 3D. This is simply outstanding

Customizing the blend parameters and noise in the Widget is key; it allows you to achieve unique and diverse stylized blending results, and provides really cool customization overall

Many people are concerned about performance, but even on my modest setup (GTX 1070 8VRAM, 16 RAM), I have zero complaints.

A quick note: I primarily use Unreal Engine for cinematic/video content, so I haven’t tested the real-world performance impact within shipped game builds.

Huge thanks to Tore for this excellent tool! When this plugin was featured in the Subnautica 2 devlog, it inspired numerous similar interpretations online, yet Tore’s solution is currently the best available. If you’re on the fence about purchasing this plugin—don’t hesitate :grin::rofl:, it is absolutely worth the investment!

1 Like