FEATURE REQUEST: Improved Paint Tool Implementing Unreal Engine's PBR Technology

Unreal Engine has the power of **PBR **in it’s material and rendering system, I would like to see the Paint Tool connected more directly with the Materials in a way that gives the ability to tap directly into the PBR built-in easier by default, and information in video form supporting how to achieve those results.

I do believe the features in some of the newest paint programs and just as with **PBR **is already within Unreal Engine, and with some minor adjustments Unreal Engine could have a very powerful set of internal upgraded tools. Even the particles could be used in the painting process with the physics to paint onto surfaces, you’re already using this stuff in even the tech demo’s, and with some material wiring and settings changes I think this functionality could be implemented in a short period of time.

If you want more feedback on how I think this could be implemented let me know.

PBR (a shading setup) has nothing to do with what you’d use texture painting tools for (masks).

Particle based painting would be nice, though probably quite far off. Substance Painter can however do this and is currently discounted in the Steam sale.

Here’s an example of your Unreal Engine 4 color chart:
http://seblagarde.wordpress.com/2014/04/14/dontnod-physically-based-rendering-chart-for-unreal-engine-4/

Not true at all, this is in fact the technique I’m using already and it’s what I would like updated in Unreal Engine so the process is quicker, I just need the individual steps of that process streamlined, to speed the process up not add missing functionality of the program, the functionality is already there, I just don’t think it’s being discussed or focused on.

You can for instance use the painted mask to directly change the value of the pixels and the settings using the mask which actually changes the **BRDF **settings of the material through the texture pixel data, where you have **white **and black, say for example to paint on a mirror surface with the Paint Tool.

This is a technique have already included in some video’s I made, and I use **Blender **and Unreal Engine to create the masks for **Mesh **exported from Unreal Engine to **Blender **to **Sketchup **and back to **Blender **then Unreal Engine, and I’ve tested this the otherday with Substance Painter and the process for creating the masks is listed both in Substance Painter video which shows the layered texture paint method with the **mask **from polygon and/or group selection, the terminology and values are identicle in usage, and the free PBR surface chart shows the same values, it is now a standard and easily identifiable. Unreal Engine also has the UV Map Viewer and Viewport Split/Two-Pane option so those concepts could be combined for a direct texture editor.

As a side note, I did the research, I purchased Substance Painter, it’s fun and addictive, but Unreal Engine already has the BRDF technology built into it already for the **PBR **and already uses it in the Material Editor and Rendering Engine, I’ve tested this stuff I know it works, this is what Substance Painter already does you’re right about that.

That’s why the **Material **has the BRDF format of Base Color/Albedo, Metallic, Roughness, Ambient Occlusion, inputs, those features are inside Substance Designer and are basically the same as how you make materials and surfaces in Unreal Engine, and the substance exported files and things can be used in Unreal Engine and they work together.

They already had particle effects features in the Elemental Demo and Reflections Subway, it shouldn’t take much to attach a particle emitter to a mouse cursor and apply physics to the particles as is already done and use the normal map as the surface the particles interact with. The direction the particles are controlled by obviously use the particle receiver to attract, it’s using effects already available in physics package, and then allow those physics values to be tweakable and pretend those particles are brushes painting onto the surface and walla, instant particle brush yeah?

Evidence to back this up?

Create a new **Material **in Unreal Engine and open it, look at the inputs, those are not the old standard inputs, that is using Base Color, Metallic, and Roughness, so we’re using the Physics Based approach right?

That’s the Disney BRDF format:
http://disney-animation.s3.amazonaws.com/library/s2012_pbs_disney_brdf_notes_v2.pdf

This in the Unreal Documentation shows some info on this:
https://docs.unrealengine.com/latest/INT/Engine/Rendering/Materials/PhysicallyBased/index.html

And why are we no longer using teapots but instead the webcam? lol

A Substance Painter video uses that same chart and explains how the entire system works, the concepts of adjusting the diff, height, rough, metal, with the options to expose other things like Specular, the entire wiring process can be done by hand in Unreal Engine’s Material Editor.

Substance Designer has that familiar material workflow, in a multi-layered way, but the stuff is the same, with the exception of the post processing on the images, but again that can be done in Unreal Engine and/or in almost any standard 2D photo editor today as far as the editing is concerned the layers texture portions, for instance, Levels, Gaussian Blur, and Greycale/Negative.

Another thing can check, open a **Material **and make sure that your **Palette **window is enabled, to do this, in Material Editor click Window/Palette to put a checkmark if it’s not currently already open. Ok, now scroll that list on right side and see anything familiar?

If you’re used to photo editing or have history in computer graphics you should see terminology like ColorDodge, ColorBurn, Overlay, Screen, Softlight, Hardlight, by now you should see many familiar things, those are also used in 2D Photo Editing dealing with layers and in terms of your Blending of Pixel Data.

Here’s an example of that in a 2D Photo Editor showing common layer blending operations: (Loaded image shows me using Blender while creating main surface masks using face selection.)
9a0d3b6dfc508715033c728224235913ea4716e1.jpeg

Material Editor showing common blending operations:

If you see Substance Designer and Substance Painter video’s, note the node based and material management with the settings and terminology, when you see reference to things like Levels, they use it to post process texture image basically converting it to greyscale, this step and terminology also used in 2D Photo Editing packages, so it’s not unique.

When you think about it, the **Library **in Substance Designer or **Shelf **in **Substance Painter **is a Folder/File Management system that is like Unreal Engine’s now, which looks like this in Content Browser:

The wiring concept in Substance Designer:
http://www.allegorithmic.com/tutorials/substance-designer-4-create-base-materials

I could go on with many more examples, but I’ll give a few more, hopefully by now it’s clear what I’m saying when I say the functionality for this stuff is already in Unreal Engine it just needs some minor tweaks to enable it’s full potential and do this stuff quicker, the editor also has ability to further enhance modeler functionality.

Ok, so we have ability to paint on a mesh in Unreal Engine creating and/or editing masks and bake lighting information:

9ef72c014fa37333762a788e4dcbe4b93380377e.jpeg

And just like in this where in Unreal Editor we have those inputs and can adjust those settings, and/or apply masks to those channels:

a3ee0200ffd611e49673181e918be2321f2afac0.jpeg

This I did in Blender (Texture Mask Creation of Individual Selected Surfaces, 3 Textures Combined into 1) and Unreal Engine (Rendering and Material Processing) using 3 layer masks is just basic material flow 101 but using optimized texture mask method with single texture and single material, the green and blue surfaces are metal, I needed to lower the roughness value so it’s not as shiney, lol:

0285a086563578dcb423b43bb4a9e04c9631533b.jpeg

**And this is final example using the Paint Tool to paint metal color using white color paint brush and Vertex Plugged into Metallic value on the material, this is a Proof of Concept:
**

5a100a1a1e47aba86b5dc7697cc0de00d18b9847.jpeg

My main point here is, I know this stuff works, the Paint Tool is a bit buggy and could use more work and improved so that it can work better with the built in **BRDF **for PBR, ability to paint in a top/down view in Unlit Mode would be be another improvement.

-Thank you!