This page is documenting some toonshader based on my knowledge.


基于unityToon的修改版

2.5D performance1(used planes to multiply): ​

the main scene:

  • full screnn render feature (renderer3D)
  • background(RT,transparent,queue = 3000-2)
  • character(toonshader + custom RT filter transparent,queue = 3000-1)
  • FX layer(plane transparent queue = 3000)
  • LightFX

all process is animated available to achieve the performance(with naninovel frame, and I try to learn that, too.) (but I think it seemed to be over...?)

at the same time I am exploring some new postprocess, too.(But time and efficiency push some stress on me:)

basically naninovel and urp, but I take the 3D asset(character from Vroid then blender to handle further)

and so there is still some performance trick about various useing methods of render texture...etc(please ignore my poor language skill...)

explore post process utils:

post process pencil

post process pencil / draft(learn from camerafilterpackage) ​

RTfilter(to stimulate the black and white edge with the painter algorithm) ​

toon shader(learn from unity toon) ​

  • lerp
  • color
  • normal outline(I hate this)
  • rimcolor with mask(I like this)
  • chroma split

face / liuhai

  • stencil NO:2
  • comparison: always
  • pass: replace
  • fail: keep

eyeline/brown:

  • stencil NO:2
  • comparison: always

still bugs...I try to figure out some better ways to achieve the perfect angle (this photo do NOT adjust the toon shader yet) (but i like it)

some 3D render ​

color ​

basecolor ​

light color ​

simple vrchat mobile : #if defined(_LIGHTCOLOR_ON) Light mainLight = GetMainLight(); half3 ambientTint = SampleSH(half4(0.0h, 0.0h, 0.0h, 1.0h)).rgb * 0.2h; half3 lightTint = mainLight.color * (mainLight.distanceAttenuation * mainLight.shadowAttenuation); half3 tint = max(ambientTint, lightTint); outColor.rgb *= tint; #endif

shading shadow ​

(smooth)step 2/3....(n)? sphere function... lambert

outline plan ​

normal ​

  • camera

sobel ​

z ​

highlight ​

blinnphong pow ​

GGX half vector ​

(aniso)

rimlight ​

inner outer mask

poseprocess ​

bloom ​

some other utils ​

bang-seethrough ​

chroma split ​