Skip to content
This repository has been archived by the owner on Jan 7, 2024. It is now read-only.

Documentation

ACIIL edited this page Jul 21, 2021 · 14 revisions

ACLS shader is based from UTS2 Shader, MMD (miku miku dance) Shading, Unity Standard Shader, Mihoyo Studio shading standards, Gray Raven shading standards, and More. If you are familiar with these you will adopt quick to ACLS.

Quick (very quick) setup video guides for ACLS v2.0+

https://www.youtube.com/playlist?list=PL0QH8aqZovZMuNuKVYFd2pPu0uuhrJ2rK

warning for new users

This shader will not "automatically" look good without some artistic knowledge of lighting and how world lighting works in unity (also worded as "lighting context" of the scene). The default settings are a demo suggestion for most basics settings to extend from. I cannot soften this blow learning. The shader was built for customizing a fine tuned effect that integrates with world lighting contexts, there is no perfect balance found between all the possible setups and usages or visual styles you may want.

This shader looks best for 2 to 5 tone toon styles or shifting to softer styles that look PBR and realistic but not quiet real. You can do hard or soft tones and pick different levels of realism with the specular settings and rim lights. As well as use matcaps to borrow "baked" setups without effort.

What you need to begin

Understand how toon lighting emulates the art, understand how Unity Standard Specular Setup works. You should have knowledge balancing between None Physically Based Rendering (NPR) and Physically Based Rendering (PBR) light concepts. You should also grasp how to setup Unity Maps scene lights to rapid test your avatars: Understand how to use direct, point, & spot lights, understand how to setup ambient baking(GI) and light probes, and how to setup a skybox or reflection probes, all in purpose for debugging your shader settings and calibrate. I recommended nearly white settings in your scene. Test lights with and without dynamic shadows.

Coming from UTS2 Shader

ACLS is forked from a very old 2017-2018 version and improved over UTS2. If you come from a model thats been setup with UTS2 you can swap that material's shader with mine! Most settings port over, you may need to set some color and sliders manually however. See my Discord for conversion examples.

Converting from MMD Shaders

MMD models uses toon ramps and matcaps. ACLS has the spots your need to assign Matcaps and Build toon ramps to emulate MMD effects and More.
To build the toon ramp you use the DIffuse Forward/Core/Backward colors, as typical toon ramp referance textures are 3 tone you will rebuild the color accidents from it.
Matcaps typically come as "Multiply (x)", "Diffuse type (+x)" or "Specular type (+)" Assign your matcaps that came from your MMD here.

Setup from nothing

The default settings are a demo suggestion for most basics settings and you should play with them. To begin study the differences between diffuse toon ramps, specular shine, environmental reflections, rim lighting, matcaps, and emission. Try and shut them all off, and then enable and try to make them exaggerated.

Using Transparency

Examples of setup in my Discord. Its important to use the right shader variants for alpha effects:

  • Use ACLS_Toon_AlphaTransparent for emotive alpha surfaces (like face blushes) or panels over solids ONLY. Do not apply on hull or materials that lay on itself or simlar it will not sort! This is using alpha test queue and limited in sorting. Repeat do not let the material mesh lay on itself.
  • Use ACLS_Toon_AlphaTransparent_Dither for alpha that needs to self sort! This effect, well visibly limited with a screen space dither pattern is a powerful compromise. Your editor needs MSAA enabled for the dither effect to be seen correctly as it looks different ingame which does use msaa. Understand how use use MSAA settings in your project or game.
  • Set Custom Render queue to Transparency for true Transparency sorting When required. However this removes Dynamic shadows which you might need for your diffuse lighting on the material to look correct.
  • Play with the zwrite setting depending on context, usually keep it on unless you need to worry about background layering.
  • Play with "Split shadows cutout" when using mesh effects like "blushes" or other emotes, this will remove the dynamic shadows being affected but that mesh. This generally is wise whenever alpha mesh layers on top of solid mesh.