Billie's sketchbook

Ey, still here! :wave:
Got into another “wannabe indie game-dev group”. Don’t know if it was better or worse than the first time, but it didn’t go well either way… There is a distinct possibility that, lacking soft skills, I’m not cut out for this :frowning: Oh well.
On the other hand, I can get back to these things:

Yet another hair test, part 5: picking up where I left

In a stroke of inspiration, I (probably) figured how to write vectors from Geometry Nodes as Vertex Color in Tangent Space. Sort of like a Normal Map. Or maybe exactly like a Normal Map? Anyway, the point was to make it so it could be exported to UE, for example. For “Custom-custom Normals”. It even seems to work! Yay!
…then I remembered that this feature is said to be coming in the next update anyway :sweat_smile:

The method consists of simply baking Tangent vector from Material to Vertex Color so that, along with Normal attribute, it could be used to convert some custom vector to Tangent Space in GN. Then stored as Color.
When used in Blender, it only needs to go through Normal Map node, to be converted to World Space. In UE it would go through Vector Transformation node: Tangent > World, but I haven’t tested yet.
The resulting normals seem to be identical to those created with Data Transfer results and similarly survive deformation with an armature.
It would require more extensive testing to see if it even works in more practical cases, of course.

Visual difference in material in this example comes from “fake anisotropy” effect that also uses normals. But in my case it still uses “true” normals and needs to be tweaked, where the actual custom normals affect material by default.

It also leaves the question of “casted self-shadow”, which I couldn’t find any way to get rid off. Using light linking for this is a bit too insane.
But maybe if we really crank up subsurface values, we can pretty much obliterate a lot of shadowing. Not exactly perfect, but I’m out of ideas here :person_shrugging:

UE4 with Burley noise thing (standard normals):

11 Likes