Upbge 0.3 normal maps support

What kind of normal maps Upbge 0.3 supports ?

There is visible triangles (even with smooth faces, remove hard edges and reclaculate normals outside , and no double vertex overlapping).

Do the seams / polygon faces show still if you’re viewing in Rendered view?

Same issue on Render view.

I think i’ll do better post with more complex model to demonstrate the issue better,
and propose some model upload link if there is same issues in Upbge 0.3.

have you tried to turn on auto smooth?

auto-smooth

Upbge 0.3 auto smooth on.
Triangles displayed on whole model ( model and textures are from 3D coat export )


Range engine, no physical based rendering , but normal map seems rendering correctly

Godot 4 beta 2 ( normal map seams issues with standard exports)
But no issue using Unity 5 HDRP normal map export from 3D Coat

Unreal

I’ve tried many normal map exports from 3D coat to test with UPBGE 0.3, but none works correctly
(neither Unity 5 HDRP normal map export)

There is a real issues with normal map rendering.

I’ll make a smaller model lightweight and upload it with textures.

From the image posted above, you are connecting image texture node to Principled node directly

You should be add an intermediate normal map node:

Additionally, you should be convert that Normal Map node to fast normal node using the Normal Map to custom addon

image

I already tried the “normal map” node, and dropped using it, because visible triangles remains and it shows new seams issues.


The texture is already a normal map, why the principle BSDF shader would need some “normal map” node ? it is not able to work with normal maps directly ?

I’ll submit a smaller lightweigth model with normal map, so people will be able to test and debug.

Sculpted terrain mesh in Blender with smooth faces, good UV map.
No normal map all is ok, with very standard normal map format added, apparent triangle rendering bugs

A normal map texture is just an image with color information, notice the purple color of the Normal socket, it means that it requires a Vector. The Normal Map node converts the color into a proper vector, usually using the UV tangent. Also, you need to switch the Color Space from the Image Texture node to Non Color.

Worked for terrain, but worse on character.


Those are industry standard normal map, just plug as it is on Unity, Godot or Range and it works out of the box without needing to mess with shader.

It’s sad Upbge 0.3 supposed modern engine does not supports out of the box normal map standards,
and need to do a work around ( while in some cases it will not work).

I also tested standard Disney renderman export, no issues on Godot, same triangle issues on Upbge 0.3.

Wait for a model example i’ll upload.

Matias said this way:

UPBGE 0.3 supports normal maps out the box. You can’t expect all programmes to be exactly the same.
If you upload an example we can give you better help to achieve what you want.

1 Like

Nice.

But Upbge should accept industry standard normal map color directly like Unity , Range,Godot , Substance and other software.

Upbge should make “no color” and “to normal map” automatic when loading a normal map or integrated on the shader normal map input directly.

Workflow wise, i don’ t think people working on a bigger game with many assets from packs or other sites, will want to loose time tweaking each hundred materials shader because Upbge does not support common normal map color format.
My opinion only.

As pointed before, UPBGE (and Blender) supports common normal map color format. It introduces a normal map node because in the normal input of Principled BSDF node you can link another nodes as bump node, for example.

If you import assets from packs (via fbx or other), UPBGE automatically adds the normal map node between the normalmap texture and the Principled node. This way you don’t have to add extra steps to your workflow.

You can test it importing this fbx, for example (https://dev-files.blender.org/file/download/j7gnpijqm2bwmzofpj44/PHID-FILE-g2pbdadszgaemklrujc2/2019_10_16_cube.fbx)

1 Like

thanks for the info

1 Like