XaiJu
TheGatewayOfRealities
TheGatewayOfRealities

patreon


The Node Hell of Progress

Greetings, beloved creatures!

I have been working hard on the Dragonkin model pipeline, its shaders and tools. While the the progress is slower than I'd prefer, I comfort myself that all the work I do will be reused across many VR-avatars and game-characters in the future.

Even if the model looked almost complete in the previous post, I have already remade the shader from scratch again, all to make it easier for people to customize their appearance without requiring Blender skills. I also added a system for small details like scales, feathers and fur.

Thankfully, only small fixes remain before I can finally move onto Unity side. In fact, it would be ready by the end of the month if I didn't have to travel to another city (I've got to do some necessary paperwork). This trip got especially difficult because I didn't get my payout from Patreon this month (money just got stuck and it hasn't been resolved for weeks).

But enough about my life difficulties, let's take a look at what I have prepared!

Palette Concept

The palette system, on the surface, is as simple as Minecraft skins - it's a small, 32x32 pixels texture where every pixel indicates some kind of color on the Dragonkin body (e.g. skin, belly, patterns, eyes, claws, maw, interface, etc.).

For the avatars, the idea is that every person can use a simple, user-friendly tool to create (or I can make one for them) a color definition for their sona and use it across different avatars. I also wanted to make it possible to toggle between dozens of colors in the public VRChat avatar, without the need of extra sets of huge 4k textures (which would rate the avatar "very poor", and that is inacceptable).

And as you might remember, my goal to keep the same models for the game characters as well, this system will allow more customization options re-usable across different species. Me and Hopfel have done other color customization systems in the past, but it required to bake textures, which required a lot of extra texture memory when all characters were in the same place (albeit it was a bit easier on GPU processing power than this system, but it should be fine).

The node hell, it goes deep...

Under the hood the shader is quite complex, as it has to apply this color palette to detailed character models of any species, anthro or feral, present and any model I might do in the future. This is why I had to do a lot of considerations, each and every one of 160 color zones is carefully considered, named and given a description: "what how will the beak colors work when I get to make Avians in the future?", or "how does snout and nose coloration compare between Therian and Saurian species?" - these questions (and so much more) have been constantly coming up during development of the system, and it's the reason why I had to re-make the list of color zones multiple times to fit everything neatly. But by now I'm quite confident of its completeness! It even has colors for all sorts of fleshy insides...

Tools for palette

Blender doesn't come equipped with tools to make projects like those characters possible. Even for me, it's hard to understand what each pixel on the palette means. This is why I had to create some tools to assist myself in following this modeling pipeline, and it took a while to get it right too.

I wrote a Blender addon that lets me define color zones on the characters, with just a click of a button and a neat organization system I can tell that the selected vertices (or faces) belong to a specific zone on the palette, and it is recorded into a second UV map. After that, the shader does the rest.

`substance showcase`

And I also made a Substance graph that lets me pick the colors. There are 1600 tweakable parameters (10 for each color) and it freezes Substance Designer for 3 minutes every time I open it. It works for now, but I will have to re-write it somewhere else - a standalone or a web application. After all, I want people to create their own color palettes, and it ought to have a better user experience and not require any paid software.

Detail Textures

Just having a fun color system alone isn't going to make the Dragonkin appropriately beautiful! I have baked and re-baked all my sculpted details to be consistent with updated formats, but it's still not enough. Too smooth!

This is why I worked more on my detail system I teased in the previous post, and now I finally figured out how to integrate it into the shader - the palette was a necessary prerequisite. Now, instead of painting details in conventional ways (like Substance Painter) and then baking it down to a texture with a limited, pixelated resolution, I found a way to always keep all the tiny details sharp and crispy, while keeping texture resolution small (2048x2048 pixels or even below)!

There is a way to designate up to four different detail textures. Additionally, the scales, fur and feathers grow directionally, oriented along the body, just as they are realistically supposed to. Making it do that was a big puzzle to solve - I have never seen anyone do anything similar before. It uses two more UV maps and vertex colors to store directional information which I manually author.

Adjustable Pattern Coverage and patches

When painting masks for belly and pattern coverage, I realized I wasn't utilizing all the possibilities - I could pack some more information into those masks, and thus I could add even more customization options!

This is why I'm making that every pattern and underside color coverage is adjustable, making it possible to select how soft the transition is, and how wide/spread the mask is. Here is a demonstration for the belly color mask, going from narrow central strip to a wider area, covering inside of the thighs.

Additionally there is a patch system, allowing user to toggle optional details on the avatars, such as the glowing Lumina and NSFW parts (which are coming soon). The Dragotheria insignia can also be toggled off. I have an idea to make a universal decal system for text and insignias soon, where people would just have a simple texture they can edit, and it will put various decals (cutie marks?) around predefined spots on any character - very much inspired by car customization games.

Blender takes a while to update this giant shader, I hope it will run OK in Unity though. It shouldn't be that heavy for performance, there is just a lot of nodes, which Blender must recalculate every time I change a variable.

Future for Avatars

Lastly, I've also been planning how to present and distribute the avatars.

Gumroad for now is unavailable for me to use, so I will have to keep to Itch.io. And in general, I could use a new way to present my 3D work for people - sometimes I just need to give out a link and say "check out what I make!". Sketchfab is not an option for the kind of content I wish to show. This is why I will need to start working on my website soon (and learn how to do that) - a massive undertaking.

I have already purchased a fun domain for it! A friend helped me pick it, I think it's suits what I make very well: "dragon.diy" (there is nothing there yet, so no point in checking). I'm amazed that such a short name was just available and and affordable. That will be a also good place to host additional materials and tutorials for customization.

Conclusion

Thank you for reading!

After I return from my trip, I will resume my work on this project, hopefully finishing it soon and beginning to make other Dragonkin - they will require much less work, all because the workflow is already established.

With lots of Dragon Love,
    — Salireths.

The Node Hell of Progress The Node Hell of Progress

More Creators