How is this 3D effect achieved ?

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By Inces

Look at these models from “For the King” game.
It is the shading that makes these low poly so emphasized and beautiful. Light seems to behave intensive on those faces, exposing even smallest diferences in faces NORMALs.

Does anyone know how can this this effect be achieved in Godot ?
Is it about light source and its settings ?
Or is it about camera and its environment ?
Or Do I have to meddle with light() function of custom shader material??

I can’t even get close to this, light energy hides my polygons if anything

:bust_in_silhouette: Reply From: Ninfur

This is typically done in a modelling software and is commonly referred to as flat shading. What it means is that every vertex normal points in the same direction as the face. Smooth shading is when the normals are interpolated between the faces, causing a smooth transition.

In Blender, this is as simple as right clickling and selecting Shade Flat or Shade Smooth from the context menu.

Flat shading:
Flat shading

Smooth shading:
Smooth shading

Additionally the effect is enhanced by a basic three point lighting system commonly used in photography and can also be achieved in Blender using an add-on


Select the Object in question, Shift - A, Add 3 Point Lighting, Export to Godot and adjust as needed

Wakatta | 2022-11-12 14:44

Thanks !
I knew about flat shading, I needed something to enhance it further. I will have to read about this tri-lighting thing :slight_smile:

Inces | 2022-11-13 13:49

While the Lights will dictate the overall mood you’re going for, In Godot these settings produce great results

 - Key (DirectionalLight)
    - Energy = 0.75
    - rotation_degrees x = -48.084 y = 20.737
 - Back (DirectionalLight)
    - Energy = 0.375
    - rotation_degrees x = -48.084 y = -78.263
 - Fill (DirectionalLight)
    - Energy = 0.375
    - rotation_degrees x = -48.084 y = -91.737

 - SpatialMaterial
    - flags / disable_ambient_light = true

Wakatta | 2022-11-15 16:14