Dev Diary: Character Rendering and Shading Development

This dev diary is to explain the process of character rendering and shading for our upcoming game, Cryptonauts. We want this blog post to be a more detailed explanation on how we go about building these assets because there are not many resources available online that actually describe in-depth what goes into creating NFTs with shaders and materials.

The “download mist game nft” is a Dev Diary for the development of character rendering and shading in the Mist NFT. The article provides an overview of how this technology works, and what it can do.


Our graphics team wants to offer some information on the character rendering and shading optimization process. These are the elements that provide the character’s final style and appearance after all of the lighting effects have been applied. This is the process that gives the final characters “soul,” as well as all other stuff in the game.

We want to keep the community up to speed on game progress, just like any other devlog. We’re not distributing these logs in any particular sequence, but rather at random. Also, just because we discuss something doesn’t indicate the whole team is working on it; rather, these are the topics that we find intriguing. We wanted to provide some information regarding the shader adjustments and presets we use in our game now. The skin shader, in particular.

We had to design a “Stylized PBR” shader for characters in-game since we wanted a vibe that was somewhere between stylized and PBR (Physically Based Rendering). The testing procedure began with the creation of an initial shader that accepts light input and renders it in a non-photorealistic manner, amplifying light and shadow reflections on the mesh geometry.



The video above shows the shifting lighting and several shader settings in the testing phase, including some that are mat and don’t collect smoothness data, while others reflect rim light, on the region where the light is at 90°, perpendicular to the faces of the sphere.

The normal map data on the dwarf is smoothed by the skin shader.


The outcome seems good after modifying the shader’s light data computation and adding some additional code, and we can now see the full spectrum of features that the normal map adds to the Stylized PBR approach.



Because the shader is attempting to offer a stylistic finish, the shader may now build normal map data without it being mixed up with the general light capturing. As a result, we want to keep that aesthetic while still keeping the normal map independent from the lighting computation.

We moved from a drab, flat appearance to:


After activating “shadows on the edges,” perform the following:



Finally, after accounting for the effects of ambient and specular illumination, we arrive at:



The next stage would be to adjust the intensity and colors dependent on the direction of the lightning.

The current problem is that when the dwarf is not facing the directing light, the illumination on that face is lost. As a result, we get something like this.


All information has been gone. To solve this problem, we disabled the shader’s lighting response. This manner, even if the scene has no suitable lighting, it will always be rendered illuminated, and we may alter the darkness contribution using code rather than with automated real-time lighting response.

This is why we chose a custom shader over unity’s pre-existing lighted PBR shader.

This is how the dwarf appears in Unity with the default light shader:


Normals are supported by the stylized PBR shader, which does not respond to light direction:



To simulate day, morning, and night-time illumination, a stylized PBR dwarf skin response was used in various positions around the light source.


The skin illumination and features are preserved. The character is complete and ready to be added to the Mist Metaverse.

Related Tag

  • mist marketplace

Leave a Comment

Your email address will not be published.

Most Recent



Share on facebook
Share on twitter
Share on pinterest
Share on linkedin
Scroll to Top