Đông Hải Huỳnh's profileTeam Goya's profile

Eternity Legends: Technical side of Game Art - The Hero

"Eternity Legends" is the latest project we are working with Divmob
The initial idea is making the 3D version loosely based on Hero Infinity, a well-known 2D RPG title
In the game, all heroes are Gods or holy Warriors from many mythologies of different cultures around the world.

The challenge is crystal clear: Provide fantasy-futuristic-scifi vibe to heroes design
CHARACTER SHADERS
The making of characters appearance
Every hero has their own trait and personality. In the early stage of the project, we quite sure that nothing set on stone for what the heroes will be, there are too many distinctions of gameplay classes, diversity of culture, and even user range, just let's game designer and artists fully express their imagination.
So I built a modulized system that gives room to extend features on the fly as the project processing.

Below features are the most generic but the results can greatly distinct between heroes if well coordinate designed from the concept to final assets.
​​​​​​​Emission technique are must have to bring hitech - futuristic feeling on hero design.
My shader support custom emission pattern and artist can drive its movement. Any part of body can be emiss with a simple mask follow main texture UV.

Dissolve pattern improve fading in/out moments
Each hero can be equipped different dissolve pattern, color ramp of dissolve edge and tweak the brightness
​​​​​​​Matcap technique trying to mimic the feeling of Metallic surface, without actually do any heavy calculation such as light direction, reflection or surface roughness. The result is acceptable in the distance of gameplay camera, the reflections are assumed to be unchanged.​​​​​​​
Artist can literally "paint" the reflection sphere to define which kind of Metal they want. The shader keep this reflection point foward user and sliding on hero surface.
Glow via Fresnel. Fresnel technique preserve inner detail of 3D object, only affect on outline
A glowing texture pan over surface, using on Berserk mode
Overview of Character Shader Graph
I've built the shader by Shader Forge, a node-based shader compositor, it helps an Artist can visually design and create a full-feature shader from scratch.
Out of the Pre-production stage, I've ported the shader into new tool - Amplify Shader. It provides better compatibility and debugging functions. It's helped me faster iteration when troubleshooting shader misfunctions, quickly discovering new features.
To manage the need for specific FXs per Hero while prevent bloating too much define textures, I design the rule of masks.
Each masks define where the FX will be. And because mask only mean "how much to show", we can map this information into a grayscale channel.
A standard texture have 4 channel with R-G-B and Alpha, so I have maximum 4 mask for 4 different FXs.
In Eternity Legends, a hero use one texture for Color and one more for defined FXs.
Custom Editor UI
UX of the working environment are things we facing every day, let's make life easier.
I renew the look and feel of the old school Unity's shader properties inspector, into this custom editor UI. 
The user (currently me) can on/off features, tidy up the mess of many Properties come from a full-feature shader.
Down to the process, many new heroes require more complex detail animation base upon stylize-direction.
Waving-shape feature
As an extension builds upon Character Shader. This feature exclusive for Kraken boss.

Kraken is a giant sea monster, basically, an Iron-clad Octopus holding Poseidon's Trident. Too much tentacle and tiny swingy things from the boss concept make me try a solution to procedure animation in realtime, instead of manual keyframe all motion. The number of skeleton joints already reach its budget anyway.
The shader waves Red colored-vertices in a motion of sin, the amount of motion depend on how much red the vertex is and multiply with user defined properties.
This technique greatly reduces the requirement of workload to setup skeleton joint, animation keyframe to simulate soft body subtle motion. Artists only paint the zone and tweak some number.
It's also performance-wise to let GPU do vertices job compare to forcing CPU compute many joint, animation key data and skinned mesh per frame.
Diablo Wings
This technique that I learn from Blizzard's Diablo is quite basic, but greatly versatile to implement in many different cases. It's literally blend 2 moving textures together.
With the least effort, we can create complex effect without jumping back and forth between program
2 variations of Hades above use the same shader, just different specific fx textures and properties value. Assigning different input and see magic happen is quite entertaining.
Digitalize dots shader, exclusive for Orpheus' led lights
Overview of Eternity Legends project
Eternity Legends:
Technical side of Art
Eternity Legends: Technical side of Game Art - The Hero
Published:

Eternity Legends: Technical side of Game Art - The Hero

Game art is not only painting. To provide dynamic things that shape the game, we must go far beyond draw a still set of pixels. Planning, Manage Read More

Published: