GithubHelp home page GithubHelp logo

hengle / unity-human-skin-shader-pc Goto Github PK

View Code? Open in Web Editor NEW

This project forked from lixinpei/unity-human-skin-shader

0.0 1.0 0.0 58.84 MB

A realistic & physically based human skin shader

C# 56.59% ShaderLab 13.75% HLSL 29.66%

unity-human-skin-shader-pc's Introduction

SSS

Unity Separable Subsurface Scattering

Features:

  • Realtime Post-processing SSS effects(Separable SSS)
  • Custom Shader supported(Replacement Command Buffer)
  • Realtime color gradient calculations

Guide:

  • Add "SSSCamera.cs" on the main camera
  • Add "SSSObject.cs" on the human model
  • Transform the options until you are satisify with the effects.
  • Please Do not use vertex displacement shader on human model!
  • We provide Jitter and noise to keep the sample's smoothness, so we suggest to have Temporal Anti-Alias on your rendering camera (For example Unity's Post-Processing Stack).

FAQ:

What shader should I use during making my own character?

  • You should use a shader with a Stencil{Ref 5...} in forward opaque pipeline to make sure that the post-processing component will use that mask.
  • Then, we suggest that you should use standard specular lighting shader for your skin, in our experiment, the shader with Unity GGX specular looks better than the others.

Why forward rendering path only?

  • Currently, we are seeking for a better solution to use both custom lighting model and deferred shading, which is difficult because the GBuffers' data is limited. Even if we use scriptable rendering pipeline, GBuffer textures is still inefficient especially for high resolution screen. Also, some effects such as transmission, can only be used during forward pipeline.

Can I make more improvement based on SSSSS?

  • Of course you can, we are currently using Disney diffuse and GGX specular for direct light calculation, obviously it is not the best solution for human's skin rendering. You can definitely try some more lighting formula and compare them, the post-processing component is compatible.

Comming Soon:

  • Skin Transmission.
  • Provide more High definition skin shaders with exciting features.

unity-human-skin-shader-pc's People

Contributors

maxwellgengyf avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.