├── .gitignore ├── Assets ├── SeparableSubsurfaceScatter.meta ├── SeparableSubsurfaceScatter │ ├── Script.meta │ ├── Script │ │ ├── GraphicsUtility.cs │ │ ├── GraphicsUtility.cs.meta │ │ ├── SSSCamera.cs │ │ ├── SSSCamera.cs.meta │ │ ├── SSSFunction.cs │ │ ├── SSSFunction.cs.meta │ │ ├── SSSObject.cs │ │ ├── SSSObject.cs.meta │ │ ├── SeparableSSS.cs │ │ ├── SeparableSSS.cs.meta │ │ ├── SkinData.cs │ │ └── SkinData.cs.meta │ ├── ScriptableObjects.meta │ ├── ScriptableObjects │ │ ├── DefaultSkinData.asset │ │ └── DefaultSkinData.asset.meta │ ├── Shader.meta │ └── Shader │ │ ├── Resources.meta │ │ └── Resources │ │ ├── SeparableSubsurfaceScatter.shader │ │ ├── SeparableSubsurfaceScatter.shader.meta │ │ ├── SeparableSubsurfaceScatterCommon.cginc │ │ └── SeparableSubsurfaceScatterCommon.cginc.meta ├── SeparableSubsurfaceScatter_Samples.meta └── SeparableSubsurfaceScatter_Samples │ ├── Materials.meta │ ├── Materials │ ├── Surface.meta │ └── Surface │ │ ├── Head02.mat │ │ └── Head02.mat.meta │ ├── Mesh.meta │ ├── Mesh │ ├── Head2.fbx │ ├── Head2.fbx.meta │ ├── Materials.meta │ └── Materials │ │ ├── lambert1.mat │ │ └── lambert1.mat.meta │ ├── Scene.meta │ ├── Scene │ ├── SeparableSubsurfaceScatterExample.meta │ ├── SeparableSubsurfaceScatterExample.unity │ ├── SeparableSubsurfaceScatterExample.unity.meta │ └── SeparableSubsurfaceScatterExample │ │ ├── LightingData.asset │ │ ├── LightingData.asset.meta │ │ ├── ReflectionProbe-0.exr │ │ ├── ReflectionProbe-0.exr.meta │ │ ├── ReflectionProbe-1.exr │ │ ├── ReflectionProbe-1.exr.meta │ │ ├── SeparableSubsurfaceScatter PostProcessing.asset │ │ └── SeparableSubsurfaceScatter PostProcessing.asset.meta │ ├── Script.meta │ ├── Script │ ├── FreeCamera.cs │ └── FreeCamera.cs.meta │ ├── Texture.meta │ └── Texture │ ├── Head2.meta │ └── Head2 │ ├── Head_02_AO.png │ ├── Head_02_AO.png.meta │ ├── Head_02_Albedo.png │ ├── Head_02_Albedo.png.meta │ ├── Head_02_Normal.png │ └── Head_02_Normal.png.meta ├── Documentation └── SSS-Example.png ├── Packages ├── manifest.json └── packages-lock.json ├── ProjectSettings ├── AudioManager.asset ├── ClusterInputManager.asset ├── DynamicsManager.asset ├── EditorBuildSettings.asset ├── EditorSettings.asset ├── GraphicsSettings.asset ├── InputManager.asset ├── MemorySettings.asset ├── NavMeshAreas.asset ├── NetworkManager.asset ├── PackageManagerSettings.asset ├── Physics2DSettings.asset ├── PresetManager.asset ├── ProjectSettings.asset ├── ProjectVersion.txt ├── QualitySettings.asset ├── SceneTemplateSettings.json ├── TagManager.asset ├── TimeManager.asset ├── UnityConnectSettings.asset ├── VFXManager.asset ├── VersionControlSettings.asset ├── XRSettings.asset └── boot.config └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | # Unity .gitignore - Deml v2021.2.0 2 | # Source https://github.com/JohannesDeml/UnityTemplate/ 3 | 4 | ## Unity generated 5 | /.gradle/** 6 | /Temp/** 7 | /Library/** 8 | /obj/** 9 | /Packages/*/** 10 | /Packages/*.meta 11 | /Logs/** 12 | /UserSettings/** 13 | 14 | # Visual Studio / Rider / MonoDevelop generated 15 | /ExportedObj/** 16 | /obj 17 | /.vs/** 18 | *.svd 19 | *.userprefs 20 | *.csproj 21 | *.csproj.meta 22 | *.pidb 23 | *.suo 24 | *.sln 25 | *.user 26 | *.unityproj 27 | *.booproj 28 | 29 | *.csproj 30 | *.cache 31 | *Resharper* 32 | *ReSharper* 33 | *.orig 34 | *.orig.* 35 | *sln* 36 | .idea/** 37 | /Assets/Plugins/Editor/Jetbrains/* 38 | /Assets/Plugins/Editor/Jetbrains.meta 39 | 40 | *.blend1 41 | 42 | # OS generated 43 | .DS_Store 44 | .DS_Store? 45 | ._* 46 | .Spotlight-V100 47 | .Trashes 48 | ehthumbs.db 49 | Thumbs.db 50 | report.xml 51 | 52 | # WebGL Publisher 53 | /WebGL Builds/** 54 | connectwebgl.zip 55 | # Optional, but I don't like having my build folder added to this public repo 56 | ProjectSettings/Packages/com.unity.connect.share/Settings.json 57 | 58 | # Custom 59 | /Builds/** 60 | /Data/** 61 | /Recordings/** 62 | /Assets/_Project/Preferences/Editor/Credentials/** 63 | /Assets/_Project/Preferences/Editor/Credentials.meta 64 | /Assets/Temp/** 65 | /Assets/Temp.meta 66 | /.sonarqube 67 | -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8cda9cd67d158534589370f40106dda6 3 | folderAsset: yes 4 | timeCreated: 1527164850 5 | licenseType: Free 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter/Script.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2a891a3893977c94caf58a86a4c4039e 3 | folderAsset: yes 4 | timeCreated: 1509972427 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter/Script/GraphicsUtility.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEngine.Rendering; 5 | 6 | public static partial class ShaderIDs { 7 | public static int _MainTex = Shader.PropertyToID("_MainTex"); 8 | public static int _TempTex = Shader.PropertyToID("_TempTex"); 9 | public static int _DepthTex = Shader.PropertyToID("_DepthTexture"); 10 | public static int _MirrorNormal = Shader.PropertyToID("_MirrorNormal"); 11 | public static int _MirrorPos = Shader.PropertyToID("_MirrorPos"); 12 | public static int _BlurOffset = Shader.PropertyToID("_BlurOffset"); 13 | } 14 | 15 | public static class GraphicsUtility { 16 | private static Mesh mesh { 17 | get{ 18 | if (m_mesh != null) 19 | return m_mesh; 20 | m_mesh = new Mesh(); 21 | m_mesh.vertices = new Vector3[] { 22 | new Vector3(-1,-1,0), 23 | new Vector3(-1,1,0), 24 | new Vector3(1,1,0), 25 | new Vector3(1,-1,0) 26 | }; 27 | m_mesh.uv = new Vector2[] { 28 | new Vector2(0,1), 29 | new Vector2(0,0), 30 | new Vector2(1,0), 31 | new Vector2(1,1) 32 | }; 33 | m_mesh.SetIndices(new int[] { 0, 1, 2, 3 }, MeshTopology.Quads, 0); 34 | return m_mesh; 35 | } 36 | } 37 | 38 | private static Mesh m_mesh; 39 | public static void BlitMRT(this CommandBuffer buffer, RenderTargetIdentifier[] colorIdentifier, RenderTargetIdentifier depthIdentifier, Material mat, int pass) { 40 | buffer.SetRenderTarget(colorIdentifier, depthIdentifier); 41 | buffer.DrawMesh(mesh, Matrix4x4.identity, mat, 0, pass); 42 | } 43 | 44 | public static void BlitSRT(this CommandBuffer buffer, RenderTargetIdentifier destination, Material mat, int pass) { 45 | buffer.SetRenderTarget(destination); 46 | buffer.DrawMesh(mesh, Matrix4x4.identity, mat, 0, pass); 47 | } 48 | 49 | public static void BlitMRT(this CommandBuffer buffer, Texture source, RenderTargetIdentifier[] colorIdentifier, RenderTargetIdentifier depthIdentifier, Material mat, int pass) { 50 | buffer.SetRenderTarget(colorIdentifier, depthIdentifier); 51 | buffer.DrawMesh(mesh, Matrix4x4.identity, mat, 0, pass); 52 | } 53 | 54 | public static void BlitSRT(this CommandBuffer buffer, Texture source, RenderTargetIdentifier destination, Material mat, int pass) { 55 | buffer.SetGlobalTexture(ShaderIDs._MainTex, source); 56 | buffer.SetRenderTarget(destination); 57 | buffer.DrawMesh(mesh, Matrix4x4.identity, mat, 0, pass); 58 | } 59 | 60 | public static void BlitSRT(this CommandBuffer buffer, RenderTargetIdentifier source, RenderTargetIdentifier destination, Material mat, int pass) { 61 | buffer.SetGlobalTexture(ShaderIDs._MainTex, source); 62 | buffer.SetRenderTarget(destination); 63 | buffer.DrawMesh(mesh, Matrix4x4.identity, mat, 0, pass); 64 | } 65 | 66 | public static void BlitStencil(this CommandBuffer buffer, RenderTargetIdentifier colorSrc, RenderTargetIdentifier colorBuffer, RenderTargetIdentifier depthStencilBuffer, Material mat, int pass) { 67 | buffer.SetGlobalTexture(ShaderIDs._MainTex, colorSrc); 68 | buffer.SetRenderTarget(colorBuffer, depthStencilBuffer); 69 | buffer.DrawMesh(mesh, Matrix4x4.identity, mat, 0, pass); 70 | } 71 | 72 | public static void BlitStencil(this CommandBuffer buffer, RenderTargetIdentifier colorBuffer, RenderTargetIdentifier depthStencilBuffer, Material mat, int pass) { 73 | buffer.SetRenderTarget(colorBuffer, depthStencilBuffer); 74 | buffer.DrawMesh(mesh, Matrix4x4.identity, mat, 0, pass); 75 | } 76 | } 77 | -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter/Script/GraphicsUtility.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e6a0d7eacf164bc42918dcba7d356033 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter/Script/SSSCamera.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | [RequireComponent(typeof(Camera))] 5 | public class SSSCamera : MonoBehaviour 6 | { 7 | public static SkinRender currentSkr; 8 | public SkinRender skinRender; 9 | private void Awake() 10 | { 11 | SSSFunction.InitSkinRender(ref skinRender, GetComponent()); 12 | } 13 | 14 | private void OnEnable() 15 | { 16 | skinRender.RenderCamera.AddCommandBuffer(UnityEngine.Rendering.CameraEvent.BeforeImageEffectsOpaque, skinRender.SubsurfaceBuffer); 17 | } 18 | 19 | private void OnDisable() 20 | { 21 | skinRender.RenderCamera.RemoveCommandBuffer(UnityEngine.Rendering.CameraEvent.BeforeImageEffectsOpaque, skinRender.SubsurfaceBuffer); 22 | } 23 | 24 | private void OnPreCull() 25 | { 26 | currentSkr = skinRender; 27 | SSSFunction.ClearBuffer(ref currentSkr); 28 | } 29 | 30 | private void OnDestroy() 31 | { 32 | SSSFunction.DisposeSkinRender(ref skinRender); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter/Script/SSSCamera.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 308fd8a8e12cd374e868b05b8e7d3c83 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter/Script/SSSFunction.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEngine.Rendering; 5 | 6 | public static class SSSFunction 7 | { 8 | public static void InitSkinRender(ref SkinRender skr, Camera cam) 9 | { 10 | skr.RenderCamera = cam; 11 | skr.SubsurfaceBuffer = new CommandBuffer(); 12 | skr.SubsurfaceBuffer.name = "Separable Subsurface Scatter"; 13 | skr.SubsurfaceEffects = new Material(Shader.Find("Hidden/SeparableSubsurfaceScatter")); 14 | cam.clearStencilAfterLightingPass = true; 15 | } 16 | 17 | public static void DisposeSkinRender(ref SkinRender skr) 18 | { 19 | skr.RenderCamera.RemoveCommandBuffer(CameraEvent.AfterForwardOpaque, skr.SubsurfaceBuffer); 20 | skr.SubsurfaceBuffer.Dispose(); 21 | } 22 | 23 | public static void ClearBuffer(ref SkinRender skr) 24 | { 25 | if (skr.SubsurfaceBuffer == null) 26 | { 27 | return; 28 | } 29 | 30 | skr.SubsurfaceBuffer.Clear(); 31 | skr.SubsurfaceBuffer.GetTemporaryRT(ShaderIDs._SceneColor, skr.RenderCamera.pixelWidth, skr.RenderCamera.pixelHeight, 0, FilterMode.Point, RenderTextureFormat.DefaultHDR); 32 | } 33 | 34 | public static void SetKernel(ref SkinData data, List kernel) 35 | { 36 | Vector3 SSSC = new Vector3(data.SubsurfaceColor.r, data.SubsurfaceColor.g, data.SubsurfaceColor.b); 37 | Vector3 SSSFC = new Vector3(data.SubsurfaceFalloff.r, data.SubsurfaceFalloff.g, data.SubsurfaceFalloff.b); 38 | SeparableSSS.CalculateKernel(kernel, 11, SSSC, SSSFC); 39 | } 40 | 41 | public static void UpdateSubsurface(ref SkinRender skr, ref SkinData data, ref Renderer renderer, List kernelArray) 42 | { 43 | ///SSS Buffer 44 | skr.SubsurfaceBuffer.SetGlobalFloat(ShaderIDs._SSSScale, data.SubsurfaceScaler); 45 | skr.SubsurfaceBuffer.SetGlobalVectorArray(ShaderIDs._Kernel, kernelArray); 46 | skr.SubsurfaceBuffer.SetGlobalFloat(ShaderIDs._RandomNumber, Random.Range(0f, 1000f)); 47 | skr.SubsurfaceBuffer.SetGlobalTexture(ShaderIDs._MainTex, BuiltinRenderTextureType.CameraTarget); 48 | skr.SubsurfaceBuffer.SetRenderTarget(ShaderIDs._SceneColor, BuiltinRenderTextureType.CameraTarget); 49 | skr.SubsurfaceBuffer.DrawRenderer(renderer, skr.SubsurfaceEffects, 0, 0); 50 | skr.SubsurfaceBuffer.SetGlobalFloat(ShaderIDs._RandomNumber, Random.Range(0f, 1000f)); 51 | skr.SubsurfaceBuffer.SetGlobalTexture(ShaderIDs._MainTex, ShaderIDs._SceneColor); 52 | skr.SubsurfaceBuffer.SetRenderTarget(BuiltinRenderTextureType.CameraTarget); 53 | skr.SubsurfaceBuffer.DrawRenderer(renderer, skr.SubsurfaceEffects, 0, 1); 54 | } 55 | } 56 | 57 | 58 | public struct SkinRender 59 | { 60 | public Material SubsurfaceEffects; 61 | public Camera RenderCamera; 62 | public CommandBuffer SubsurfaceBuffer; 63 | } 64 | 65 | public static partial class ShaderIDs 66 | { 67 | public static int _SceneColor = Shader.PropertyToID("_SceneColor"); 68 | public static int _Kernel = Shader.PropertyToID("_Kernel"); 69 | public static int _SSSScale = Shader.PropertyToID("_SSSScale"); 70 | public static int _Jitter = Shader.PropertyToID("_Jitter"); 71 | public static int _screenSize = Shader.PropertyToID("_screenSize"); 72 | public static int _RandomNumber = Shader.PropertyToID("_RandomNumber"); 73 | } -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter/Script/SSSFunction.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 248b2ede62da8e343ad4abe7df8eaf8e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter/Script/SSSObject.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using UnityEngine; 3 | [RequireComponent(typeof(Renderer))] 4 | public class SSSObject : MonoBehaviour { 5 | private List kernel = new List(11); 6 | public SkinData data; 7 | private Renderer renderer; 8 | 9 | private void Awake () { 10 | renderer = GetComponent(); 11 | SSSFunction.SetKernel(ref data, kernel); 12 | } 13 | 14 | private void OnWillRenderObject() 15 | { 16 | var skinRenderer = SSSCamera.currentSkr; 17 | if (skinRenderer.RenderCamera == null) 18 | { 19 | return; 20 | } 21 | SSSFunction.UpdateSubsurface(ref skinRenderer, ref data, ref renderer, kernel); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter/Script/SSSObject.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a4be038b3fa1b3b4a934c98641cb803e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: 7 | - data: {fileID: 11400000, guid: 7cd1968812f9ca24ab7fba36a2aebafe, type: 2} 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter/Script/SeparableSSS.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System; 3 | using System.Collections; 4 | using System.Collections.Generic; 5 | 6 | public static class SeparableSSS { 7 | public static void CalculateKernel(List kernel, int nSamples, Vector3 strength, Vector3 falloff){ 8 | float RANGE = nSamples > 20 ? 3.0f : 2.0f; 9 | float EXPONENT = 2.0f; 10 | kernel.Clear(); 11 | 12 | // Calculate the SSS_Offset_UV: 13 | float step = 2.0f * RANGE / (nSamples - 1); 14 | for (int i = 0; i < nSamples; i++){ 15 | float o = -RANGE + i * step; 16 | float sign = o < 0.0f ? -1.0f : 1.0f; 17 | float w = RANGE * sign *Mathf.Abs(Mathf.Pow(o, EXPONENT)) / Mathf.Pow(RANGE, EXPONENT); 18 | kernel.Add(new Vector4(0, 0, 0, w)); 19 | } 20 | // Calculate the SSS_Scale: 21 | for (int i = 0; i < nSamples; i++){ 22 | float w0 = i > 0 ? Mathf.Abs(kernel[i].w - kernel[i - 1].w) : 0.0f; 23 | float w1 = i < nSamples - 1 ? Mathf.Abs(kernel[i].w - kernel[i + 1].w) : 0.0f; 24 | float area = (w0 + w1) / 2.0f; 25 | Vector3 temp = profile(kernel[i].w, falloff); 26 | Vector4 tt = new Vector4(area * temp.x, area * temp.y, area * temp.z, kernel[i].w); 27 | kernel[i] = tt; 28 | } 29 | Vector4 t = kernel[nSamples / 2]; 30 | for (int i = nSamples / 2; i > 0; i--) 31 | kernel[i] = kernel[i - 1]; 32 | kernel[0] = t; 33 | Vector4 sum = Vector4.zero; 34 | 35 | for (int i = 0; i < nSamples; i++){ 36 | sum.x += kernel[i].x; 37 | sum.y += kernel[i].y; 38 | sum.z += kernel[i].z; 39 | } 40 | 41 | for (int i = 0; i < nSamples; i++){ 42 | Vector4 vecx = kernel[i]; 43 | vecx.x /= sum.x; 44 | vecx.y /= sum.y; 45 | vecx.z /= sum.z; 46 | kernel[i] = vecx; 47 | } 48 | 49 | Vector4 vec = kernel[0]; 50 | vec.x = (1.0f - strength.x) * 1.0f + strength.x * vec.x; 51 | vec.y = (1.0f - strength.y) * 1.0f + strength.y * vec.y; 52 | vec.z = (1.0f - strength.z) * 1.0f + strength.z * vec.z; 53 | kernel[0] = vec; 54 | 55 | for (int i = 1; i < nSamples; i++){ 56 | var vect = kernel[i]; 57 | vect.x *= strength.x; 58 | vect.y *= strength.y; 59 | vect.z *= strength.z; 60 | kernel[i] = vect; 61 | } 62 | } 63 | 64 | 65 | private static Vector3 gaussian(float variance, float r, Vector3 falloff){ 66 | Vector3 g; 67 | 68 | float rr1 = r / (0.001f + falloff.x); 69 | g.x = Mathf.Exp((-(rr1 * rr1)) / (2.0f * variance)) / (2.0f * 3.14f * variance); 70 | 71 | float rr2 = r / (0.001f + falloff.y); 72 | g.y = Mathf.Exp((-(rr2 * rr2)) / (2.0f * variance)) / (2.0f * 3.14f * variance); 73 | 74 | float rr3 = r / (0.001f + falloff.z); 75 | g.z = Mathf.Exp((-(rr3 * rr3)) / (2.0f * variance)) / (2.0f * 3.14f * variance); 76 | 77 | return g; 78 | } 79 | private static Vector3 profile(float r, Vector3 falloff){ 80 | return 0.100f * gaussian(0.0484f, r, falloff) + 81 | 0.118f * gaussian(0.187f, r, falloff) + 82 | 0.113f * gaussian(0.567f, r, falloff) + 83 | 0.358f * gaussian(1.99f, r, falloff) + 84 | 0.078f * gaussian(7.41f, r, falloff); 85 | } 86 | } -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter/Script/SeparableSSS.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 633ce1a69cf91bb4985efbe115d91aa8 3 | timeCreated: 1509974992 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter/Script/SkinData.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | [CreateAssetMenu(menuName = "Create SkinData", fileName = "SkinData", order = 0)] 4 | public class SkinData : ScriptableObject 5 | { 6 | [Range(0, 10)] 7 | public float SubsurfaceScaler = 1f; 8 | public Color SubsurfaceColor = new Color(1f, 0.446f, 0.174f, 0f); 9 | public Color SubsurfaceFalloff = new Color(1f, 0.5497051f, 0.1462264f, 0f); 10 | } -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter/Script/SkinData.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ba61d5fbb89342c98fe084d21c8bb5bd 3 | timeCreated: 1590401304 -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter/ScriptableObjects.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8975f02dcf4b90340a90c19a2f28cf8e 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter/ScriptableObjects/DefaultSkinData.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: ba61d5fbb89342c98fe084d21c8bb5bd, type: 3} 13 | m_Name: DefaultSkinData 14 | m_EditorClassIdentifier: 15 | SubsurfaceScaler: 1 16 | SubsurfaceColor: {r: 1, g: 0.446, b: 0.174, a: 0} 17 | SubsurfaceFalloff: {r: 1, g: 0.5497051, b: 0.1462264, a: 0} 18 | -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter/ScriptableObjects/DefaultSkinData.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7cd1968812f9ca24ab7fba36a2aebafe 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter/Shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1f35915b8e323a94590d16e56c246ef4 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter/Shader/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 64f7b51058309d540a1d7b8d37637f48 3 | folderAsset: yes 4 | timeCreated: 1528025577 5 | licenseType: Free 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter/Shader/Resources/SeparableSubsurfaceScatter.shader: -------------------------------------------------------------------------------- 1 | Shader "Hidden/SeparableSubsurfaceScatter" { 2 | Properties { 3 | } 4 | 5 | CGINCLUDE 6 | #include "SeparableSubsurfaceScatterCommon.cginc" 7 | #pragma target 3.0 8 | ENDCG 9 | 10 | SubShader { 11 | ZWrite Off 12 | ZTest Equal 13 | Cull Back 14 | Pass { 15 | Name "XBlur" 16 | CGPROGRAM 17 | #pragma vertex vert 18 | #pragma fragment frag 19 | 20 | float4 frag(VertexOutput i) : SV_TARGET { 21 | float2 uv = i.uv.xy / i.uv.w; 22 | float4 SceneColor = tex2D(_MainTex, uv); 23 | float SSSIntencity = (_SSSScale * _CameraDepthTexture_TexelSize.x); 24 | float3 XBlurPlus = SSS(SceneColor, uv, float2(SSSIntencity, 0)).rgb; 25 | //float3 XBlurNagteiv = SSS(SceneColor, i.uv, float2(-SSSIntencity, 0)).rgb; 26 | //float3 XBlur = (XBlurPlus + XBlurNagteiv) / 2; 27 | return float4(XBlurPlus, SceneColor.a); 28 | } 29 | ENDCG 30 | } Pass { 31 | Name "YBlur" 32 | CGPROGRAM 33 | #pragma vertex vert 34 | #pragma fragment frag 35 | 36 | float4 frag(VertexOutput i) : SV_TARGET { 37 | float2 uv = i.uv.xy / i.uv.w; 38 | float4 SceneColor = tex2D(_MainTex, uv); 39 | float SSSIntencity = (_SSSScale * _CameraDepthTexture_TexelSize.y); 40 | float3 YBlurPlus = SSS(SceneColor, uv, float2(0, SSSIntencity)).rgb; 41 | //float3 YBlurNagteiv = SSS(SceneColor, i.uv, float2(0, -SSSIntencity)).rgb; 42 | //float3 YBlur = (YBlurPlus + YBlurNagteiv) / 2; 43 | return float4(YBlurPlus, SceneColor.a); 44 | } 45 | ENDCG 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter/Shader/Resources/SeparableSubsurfaceScatter.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 81489e72f0f0d1f438e0101f0cb9be8d 3 | timeCreated: 1509978750 4 | licenseType: Free 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter/Shader/Resources/SeparableSubsurfaceScatterCommon.cginc: -------------------------------------------------------------------------------- 1 | #include "UnityCG.cginc" 2 | #define DistanceToProjectionWindow 5.671281819617709 //1.0 / tan(0.5 * radians(20)); 3 | #define DPTimes300 1701.384545885313 //DistanceToProjectionWindow * 300 4 | #define SamplerSteps 11 5 | 6 | uniform float _SSSScale, _RandomNumber; 7 | uniform float4 _Kernel[SamplerSteps], _CameraDepthTexture_TexelSize; 8 | uniform sampler2D _MainTex, _CameraDepthTexture; 9 | 10 | struct VertexInput { 11 | float4 vertex : POSITION; 12 | }; 13 | struct VertexOutput { 14 | float4 pos : SV_POSITION; 15 | float4 uv : TEXCOORD0; 16 | }; 17 | VertexOutput vert (VertexInput v) { 18 | VertexOutput o; 19 | o.pos = UnityObjectToClipPos(v.vertex); 20 | o.uv = ComputeScreenPos(o.pos); 21 | return o; 22 | } 23 | #define RANDOM(seed) (sin(cos(seed * 1354.135748 + 13.546184) * 1354.135716 + 32.6842317)) 24 | float4 SSS(float4 SceneColor, float2 UV, float2 SSSIntencity) { 25 | float SceneDepth = LinearEyeDepth(SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, UV)); 26 | float BlurLength = DistanceToProjectionWindow / SceneDepth; 27 | float2 UVOffset = SSSIntencity * BlurLength; 28 | float4 BlurSceneColor = SceneColor; 29 | BlurSceneColor.rgb *= _Kernel[0].rgb; 30 | for (int i = 1; i < SamplerSteps; i++) { 31 | float2 currentUV = RANDOM((_ScreenParams.y * UV.y + UV.x) * _ScreenParams.x + _RandomNumber) * UVOffset; 32 | float4 kernelValue = _Kernel[i]; 33 | float2 SSSUV = UV + kernelValue.a * currentUV; 34 | float4 SSSSceneColor = tex2D(_MainTex, SSSUV); 35 | float SSSDepth = LinearEyeDepth(SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, SSSUV)).r; 36 | float SSSScale = saturate(DPTimes300 * SSSIntencity * abs(SceneDepth - SSSDepth)); 37 | SSSSceneColor.rgb = lerp(SSSSceneColor.rgb, SceneColor.rgb, SSSScale); 38 | BlurSceneColor.rgb += kernelValue.rgb * SSSSceneColor.rgb; 39 | } 40 | return BlurSceneColor; 41 | //return float4(UVOffset, 0, 1); 42 | } -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter/Shader/Resources/SeparableSubsurfaceScatterCommon.cginc.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0f9cdd8bffbbb014c900a4b2f1997e2d 3 | timeCreated: 1526811155 4 | licenseType: Free 5 | ShaderImporter: 6 | externalObjects: {} 7 | defaultTextures: [] 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter_Samples.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bb60977eb31399d4990c5f79a90a16e0 3 | folderAsset: yes 4 | timeCreated: 1527164850 5 | licenseType: Free 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter_Samples/Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c72db5401ff10584685b408d308b4e4b 3 | folderAsset: yes 4 | timeCreated: 1509800765 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter_Samples/Materials/Surface.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5faa4942c76a3d44abb4c9e51b71e9bd 3 | folderAsset: yes 4 | timeCreated: 1514049269 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter_Samples/Materials/Surface/Head02.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 6 6 | m_ObjectHideFlags: 0 7 | m_CorrespondingSourceObject: {fileID: 0} 8 | m_PrefabInstance: {fileID: 0} 9 | m_PrefabAsset: {fileID: 0} 10 | m_Name: Head02 11 | m_Shader: {fileID: 45, guid: 0000000000000000f000000000000000, type: 0} 12 | m_ShaderKeywords: USE_ALBEDO USE_NORMAL USE_PHONG USE_SPECULAR _NORMALMAP _USEALBEDOTEXTURE_ON 13 | m_LightmapFlags: 4 14 | m_EnableInstancingVariants: 0 15 | m_DoubleSidedGI: 0 16 | m_CustomRenderQueue: -1 17 | stringTagMap: {} 18 | disabledShaderPasses: [] 19 | m_SavedProperties: 20 | serializedVersion: 3 21 | m_TexEnvs: 22 | - _Albedo: 23 | m_Texture: {fileID: 2800000, guid: 163db8200b9921647b309f6005fd9135, type: 3} 24 | m_Scale: {x: 1, y: 1} 25 | m_Offset: {x: 0, y: 0} 26 | - _AlbedoTexture: 27 | m_Texture: {fileID: 2800000, guid: 163db8200b9921647b309f6005fd9135, type: 3} 28 | m_Scale: {x: 1, y: 1} 29 | m_Offset: {x: 0, y: 0} 30 | - _AmbientOcclusion: 31 | m_Texture: {fileID: 2800000, guid: 1c702b23c4b924648b3585f7f77af4eb, type: 3} 32 | m_Scale: {x: 1, y: 1} 33 | m_Offset: {x: 0, y: 0} 34 | - _BumpMap: 35 | m_Texture: {fileID: 2800000, guid: a6aeef83de2b12540a15c8efd6040a5f, type: 3} 36 | m_Scale: {x: 1, y: 1} 37 | m_Offset: {x: 0, y: 0} 38 | - _DetailAlbedo: 39 | m_Texture: {fileID: 0} 40 | m_Scale: {x: 1, y: 1} 41 | m_Offset: {x: 0, y: 0} 42 | - _DetailAlbedoMap: 43 | m_Texture: {fileID: 0} 44 | m_Scale: {x: 1, y: 1} 45 | m_Offset: {x: 0, y: 0} 46 | - _DetailBump: 47 | m_Texture: {fileID: 0} 48 | m_Scale: {x: 1, y: 1} 49 | m_Offset: {x: 0, y: 0} 50 | - _DetailMask: 51 | m_Texture: {fileID: 0} 52 | m_Scale: {x: 1, y: 1} 53 | m_Offset: {x: 0, y: 0} 54 | - _DetailNormalMap: 55 | m_Texture: {fileID: 0} 56 | m_Scale: {x: 1, y: 1} 57 | m_Offset: {x: 0, y: 0} 58 | - _EmissionMap: 59 | m_Texture: {fileID: 0} 60 | m_Scale: {x: 1, y: 1} 61 | m_Offset: {x: 0, y: 0} 62 | - _HeightMap: 63 | m_Texture: {fileID: 0} 64 | m_Scale: {x: 1, y: 1} 65 | m_Offset: {x: 0, y: 0} 66 | - _MainTex: 67 | m_Texture: {fileID: 2800000, guid: 163db8200b9921647b309f6005fd9135, type: 3} 68 | m_Scale: {x: 1, y: 1} 69 | m_Offset: {x: 0, y: 0} 70 | - _MetallicGlossMap: 71 | m_Texture: {fileID: 0} 72 | m_Scale: {x: 1, y: 1} 73 | m_Offset: {x: 0, y: 0} 74 | - _MetallicTexture: 75 | m_Texture: {fileID: 0} 76 | m_Scale: {x: 1, y: 1} 77 | m_Offset: {x: 0, y: 0} 78 | - _Normal: 79 | m_Texture: {fileID: 2800000, guid: a6aeef83de2b12540a15c8efd6040a5f, type: 3} 80 | m_Scale: {x: 1, y: 1} 81 | m_Offset: {x: 0, y: 0} 82 | - _NormalTexture: 83 | m_Texture: {fileID: 2800000, guid: a6aeef83de2b12540a15c8efd6040a5f, type: 3} 84 | m_Scale: {x: 1, y: 1} 85 | m_Offset: {x: 0, y: 0} 86 | - _OcclusionMap: 87 | m_Texture: {fileID: 2800000, guid: 1c702b23c4b924648b3585f7f77af4eb, type: 3} 88 | m_Scale: {x: 1, y: 1} 89 | m_Offset: {x: 0, y: 0} 90 | - _ParallaxMap: 91 | m_Texture: {fileID: 0} 92 | m_Scale: {x: 1, y: 1} 93 | m_Offset: {x: 0, y: 0} 94 | - _RoughnessMap1: 95 | m_Texture: {fileID: 2800000, guid: 678687e6283200047ae673c1222a5a19, type: 3} 96 | m_Scale: {x: 1, y: 1} 97 | m_Offset: {x: 0, y: 0} 98 | - _RoughnessTexture: 99 | m_Texture: {fileID: 2800000, guid: 678687e6283200047ae673c1222a5a19, type: 3} 100 | m_Scale: {x: 1, y: 1} 101 | m_Offset: {x: 0, y: 0} 102 | - _SpecGlossMap: 103 | m_Texture: {fileID: 0} 104 | m_Scale: {x: 1, y: 1} 105 | m_Offset: {x: 0, y: 0} 106 | - _SpecularMap: 107 | m_Texture: {fileID: 2800000, guid: 678687e6283200047ae673c1222a5a19, type: 3} 108 | m_Scale: {x: 1, y: 1} 109 | m_Offset: {x: 0, y: 0} 110 | - _texcoord: 111 | m_Texture: {fileID: 0} 112 | m_Scale: {x: 1, y: 1} 113 | m_Offset: {x: 0, y: 0} 114 | m_Floats: 115 | - _AO_Max: 1 116 | - _AO_Min: 0.25 117 | - _AlbedoBlend: 0.3 118 | - _BumpBlend: 0.3 119 | - _BumpScale: 1 120 | - _Cutoff: 0.5 121 | - _DetailNormalMapScale: 1 122 | - _DstBlend: 0 123 | - _GlossMapScale: 1 124 | - _Glossiness: 0.531 125 | - _GlossyReflections: 1 126 | - _MaxDist: 25 127 | - _Metallic: 0 128 | - _MinDist: 10 129 | - _Mode: 0 130 | - _NormalIntencity: 1 131 | - _NormalScale: 1 132 | - _Occlusion: 1 133 | - _OcclusionStrength: 1 134 | - _Parallax: 0.02 135 | - _Phong: 0.5 136 | - _Roughness: 0.48 137 | - _RoughnessMap: 0 138 | - _RoughnessPower: 0.2 139 | - _SSSBlurIntensity: 0.1 140 | - _SmallRoughness: 0.25 141 | - _SmoothnessTextureChannel: 0 142 | - _SpecularColor: 0.094 143 | - _SpecularHighlights: 1 144 | - _SrcBlend: 1 145 | - _TessMax: 25 146 | - _TessMin: 10 147 | - _TessPhongStrength: 0.5 148 | - _TessValue: 15 149 | - _Tessellation: 6 150 | - _Tessellation_Distance_Max: 0.7 151 | - _Tessellation_Distance_Min: 0.5 152 | - _TransIntensity: 0 153 | - _UVSec: 0 154 | - _UseAlbedoTexture: 1 155 | - _UseMetallicTexture: 0 156 | - _UseRoughnessTexture: 0 157 | - _VertexOffset: 0 158 | - _VertexScale: 0.1 159 | - _ZWrite: 1 160 | - __dirty: 0 161 | m_Colors: 162 | - _AlbedoColor: {r: 1, g: 1, b: 1, a: 0} 163 | - _Color: {r: 1, g: 0.95947254, b: 0.9198113, a: 1} 164 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 165 | - _SpecColor: {r: 0.13207549, g: 0.13207549, b: 0.13207549, a: 1} 166 | - _SpecularColor: {r: 0.3301887, g: 0.3301887, b: 0.3301887, a: 1} 167 | -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter_Samples/Materials/Surface/Head02.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0d84d2dc5ec65b842809cbe5723e7b4d 3 | timeCreated: 1527089125 4 | licenseType: Free 5 | NativeFormatImporter: 6 | externalObjects: {} 7 | mainObjectFileID: 2100000 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter_Samples/Mesh.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 44efe2dcfe076554da92051543e78688 3 | folderAsset: yes 4 | timeCreated: 1509804625 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter_Samples/Mesh/Head2.fbx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohannesDeml/Unity-Human-Skin-Shader-PC/8a9ad85ca4877121d669a220e6f1e116ed2639eb/Assets/SeparableSubsurfaceScatter_Samples/Mesh/Head2.fbx -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter_Samples/Mesh/Head2.fbx.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b00c76e8fe1d9a54d9bcc6fb0c06a9ad 3 | timeCreated: 1510662929 4 | licenseType: Free 5 | ModelImporter: 6 | serializedVersion: 21 7 | fileIDToRecycleName: 8 | 100000: //RootNode 9 | 400000: //RootNode 10 | 2300000: //RootNode 11 | 3300000: //RootNode 12 | 4300000: head:Mesh 13 | materials: 14 | importMaterials: 1 15 | materialName: 0 16 | materialSearch: 1 17 | animations: 18 | legacyGenerateAnimations: 4 19 | bakeSimulation: 0 20 | resampleCurves: 1 21 | optimizeGameObjects: 0 22 | motionNodeName: 23 | rigImportErrors: 24 | rigImportWarnings: 25 | animationImportErrors: 26 | animationImportWarnings: 27 | animationRetargetingWarnings: 28 | animationDoRetargetingWarnings: 0 29 | animationCompression: 1 30 | animationRotationError: 0.5 31 | animationPositionError: 0.5 32 | animationScaleError: 0.5 33 | animationWrapMode: 0 34 | extraExposedTransformPaths: [] 35 | extraUserProperties: [] 36 | clipAnimations: [] 37 | isReadable: 1 38 | meshes: 39 | lODScreenPercentages: [] 40 | globalScale: 1 41 | meshCompression: 0 42 | addColliders: 0 43 | importVisibility: 1 44 | importBlendShapes: 1 45 | importCameras: 1 46 | importLights: 1 47 | swapUVChannels: 0 48 | generateSecondaryUV: 0 49 | useFileUnits: 1 50 | optimizeMeshForGPU: 1 51 | keepQuads: 0 52 | weldVertices: 1 53 | secondaryUVAngleDistortion: 8 54 | secondaryUVAreaDistortion: 15.000001 55 | secondaryUVHardAngle: 88 56 | secondaryUVPackMargin: 4 57 | useFileScale: 1 58 | tangentSpace: 59 | normalSmoothAngle: 60 60 | normalImportMode: 0 61 | tangentImportMode: 3 62 | normalCalculationMode: 4 63 | importAnimation: 1 64 | copyAvatar: 0 65 | humanDescription: 66 | serializedVersion: 2 67 | human: [] 68 | skeleton: [] 69 | armTwist: 0.5 70 | foreArmTwist: 0.5 71 | upperLegTwist: 0.5 72 | legTwist: 0.5 73 | armStretch: 0.05 74 | legStretch: 0.05 75 | feetSpacing: 0 76 | rootMotionBoneName: 77 | rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1} 78 | hasTranslationDoF: 0 79 | hasExtraRoot: 0 80 | skeletonHasParents: 1 81 | lastHumanDescriptionAvatarSource: {instanceID: 0} 82 | animationType: 0 83 | humanoidOversampling: 1 84 | additionalBone: 0 85 | userData: 86 | assetBundleName: 87 | assetBundleVariant: 88 | -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter_Samples/Mesh/Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: de64f6b1c04e2264385a4169deeec24a 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter_Samples/Mesh/Materials/lambert1.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 6 6 | m_ObjectHideFlags: 0 7 | m_CorrespondingSourceObject: {fileID: 0} 8 | m_PrefabInstance: {fileID: 0} 9 | m_PrefabAsset: {fileID: 0} 10 | m_Name: lambert1 11 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} 12 | m_ShaderKeywords: 13 | m_LightmapFlags: 4 14 | m_EnableInstancingVariants: 0 15 | m_DoubleSidedGI: 0 16 | m_CustomRenderQueue: -1 17 | stringTagMap: {} 18 | disabledShaderPasses: [] 19 | m_SavedProperties: 20 | serializedVersion: 3 21 | m_TexEnvs: 22 | - _BumpMap: 23 | m_Texture: {fileID: 0} 24 | m_Scale: {x: 1, y: 1} 25 | m_Offset: {x: 0, y: 0} 26 | - _DetailAlbedoMap: 27 | m_Texture: {fileID: 0} 28 | m_Scale: {x: 1, y: 1} 29 | m_Offset: {x: 0, y: 0} 30 | - _DetailMask: 31 | m_Texture: {fileID: 0} 32 | m_Scale: {x: 1, y: 1} 33 | m_Offset: {x: 0, y: 0} 34 | - _DetailNormalMap: 35 | m_Texture: {fileID: 0} 36 | m_Scale: {x: 1, y: 1} 37 | m_Offset: {x: 0, y: 0} 38 | - _EmissionMap: 39 | m_Texture: {fileID: 0} 40 | m_Scale: {x: 1, y: 1} 41 | m_Offset: {x: 0, y: 0} 42 | - _MainTex: 43 | m_Texture: {fileID: 0} 44 | m_Scale: {x: 1, y: 1} 45 | m_Offset: {x: 0, y: 0} 46 | - _MetallicGlossMap: 47 | m_Texture: {fileID: 0} 48 | m_Scale: {x: 1, y: 1} 49 | m_Offset: {x: 0, y: 0} 50 | - _OcclusionMap: 51 | m_Texture: {fileID: 0} 52 | m_Scale: {x: 1, y: 1} 53 | m_Offset: {x: 0, y: 0} 54 | - _ParallaxMap: 55 | m_Texture: {fileID: 0} 56 | m_Scale: {x: 1, y: 1} 57 | m_Offset: {x: 0, y: 0} 58 | m_Floats: 59 | - _BumpScale: 1 60 | - _Cutoff: 0.5 61 | - _DetailNormalMapScale: 1 62 | - _DstBlend: 0 63 | - _GlossMapScale: 1 64 | - _Glossiness: 0 65 | - _GlossyReflections: 1 66 | - _Metallic: 0 67 | - _Mode: 0 68 | - _OcclusionStrength: 1 69 | - _Parallax: 0.02 70 | - _SmoothnessTextureChannel: 0 71 | - _SpecularHighlights: 1 72 | - _SrcBlend: 1 73 | - _UVSec: 0 74 | - _ZWrite: 1 75 | m_Colors: 76 | - _Color: {r: 0.5, g: 0.5, b: 0.5, a: 1} 77 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 0} 78 | -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter_Samples/Mesh/Materials/lambert1.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c70f0a7070a2a77468ad0f05ee2914f8 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter_Samples/Scene.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a2ccf58f37131914fa5dc5e1575604ef 3 | folderAsset: yes 4 | timeCreated: 1509804670 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter_Samples/Scene/SeparableSubsurfaceScatterExample.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 90423e2b1c124a34cbb8d4353918990c 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter_Samples/Scene/SeparableSubsurfaceScatterExample.unity: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!29 &1 4 | OcclusionCullingSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_OcclusionBakeSettings: 8 | smallestOccluder: 5 9 | smallestHole: 0.25 10 | backfaceThreshold: 100 11 | m_SceneGUID: 00000000000000000000000000000000 12 | m_OcclusionCullingData: {fileID: 0} 13 | --- !u!104 &2 14 | RenderSettings: 15 | m_ObjectHideFlags: 0 16 | serializedVersion: 9 17 | m_Fog: 0 18 | m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} 19 | m_FogMode: 3 20 | m_FogDensity: 0.01 21 | m_LinearFogStart: 0 22 | m_LinearFogEnd: 300 23 | m_AmbientSkyColor: {r: 0, g: 0, b: 0, a: 1} 24 | m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} 25 | m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} 26 | m_AmbientIntensity: 1 27 | m_AmbientMode: 0 28 | m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} 29 | m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} 30 | m_HaloStrength: 0.5 31 | m_FlareStrength: 1 32 | m_FlareFadeSpeed: 3 33 | m_HaloTexture: {fileID: 0} 34 | m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} 35 | m_DefaultReflectionMode: 0 36 | m_DefaultReflectionResolution: 512 37 | m_ReflectionBounces: 2 38 | m_ReflectionIntensity: 1 39 | m_CustomReflection: {fileID: 0} 40 | m_Sun: {fileID: 0} 41 | m_IndirectSpecularColor: {r: 0.18028444, g: 0.22571567, b: 0.30692327, a: 1} 42 | m_UseRadianceAmbientProbe: 0 43 | --- !u!157 &3 44 | LightmapSettings: 45 | m_ObjectHideFlags: 0 46 | serializedVersion: 12 47 | m_GIWorkflowMode: 1 48 | m_GISettings: 49 | serializedVersion: 2 50 | m_BounceScale: 1 51 | m_IndirectOutputScale: 1 52 | m_AlbedoBoost: 1 53 | m_EnvironmentLightingMode: 0 54 | m_EnableBakedLightmaps: 0 55 | m_EnableRealtimeLightmaps: 0 56 | m_LightmapEditorSettings: 57 | serializedVersion: 12 58 | m_Resolution: 3 59 | m_BakeResolution: 28 60 | m_AtlasSize: 1024 61 | m_AO: 0 62 | m_AOMaxDistance: 1 63 | m_CompAOExponent: 1 64 | m_CompAOExponentDirect: 0 65 | m_ExtractAmbientOcclusion: 0 66 | m_Padding: 2 67 | m_LightmapParameters: {fileID: 15200, guid: 0000000000000000f000000000000000, 68 | type: 0} 69 | m_LightmapsBakeMode: 1 70 | m_TextureCompression: 0 71 | m_FinalGather: 1 72 | m_FinalGatherFiltering: 1 73 | m_FinalGatherRayCount: 512 74 | m_ReflectionCompression: 2 75 | m_MixedBakeMode: 2 76 | m_BakeBackend: 0 77 | m_PVRSampling: 1 78 | m_PVRDirectSampleCount: 32 79 | m_PVRSampleCount: 500 80 | m_PVRBounces: 4 81 | m_PVREnvironmentSampleCount: 500 82 | m_PVREnvironmentReferencePointCount: 2048 83 | m_PVRFilteringMode: 2 84 | m_PVRDenoiserTypeDirect: 0 85 | m_PVRDenoiserTypeIndirect: 0 86 | m_PVRDenoiserTypeAO: 0 87 | m_PVRFilterTypeDirect: 0 88 | m_PVRFilterTypeIndirect: 0 89 | m_PVRFilterTypeAO: 0 90 | m_PVREnvironmentMIS: 0 91 | m_PVRCulling: 1 92 | m_PVRFilteringGaussRadiusDirect: 1 93 | m_PVRFilteringGaussRadiusIndirect: 5 94 | m_PVRFilteringGaussRadiusAO: 2 95 | m_PVRFilteringAtrousPositionSigmaDirect: 0.5 96 | m_PVRFilteringAtrousPositionSigmaIndirect: 2 97 | m_PVRFilteringAtrousPositionSigmaAO: 1 98 | m_ExportTrainingData: 0 99 | m_TrainingDataDestination: TrainingData 100 | m_LightProbeSampleCountMultiplier: 4 101 | m_LightingDataAsset: {fileID: 112000002, guid: d0c3f6662e9a83849915c1ec53400d16, 102 | type: 2} 103 | m_LightingSettings: {fileID: 1742157857} 104 | --- !u!196 &4 105 | NavMeshSettings: 106 | serializedVersion: 2 107 | m_ObjectHideFlags: 0 108 | m_BuildSettings: 109 | serializedVersion: 2 110 | agentTypeID: 0 111 | agentRadius: 0.5 112 | agentHeight: 2 113 | agentSlope: 45 114 | agentClimb: 0.4 115 | ledgeDropHeight: 0 116 | maxJumpAcrossDistance: 0 117 | minRegionArea: 2 118 | manualCellSize: 0 119 | cellSize: 0.16666667 120 | manualTileSize: 0 121 | tileSize: 256 122 | accuratePlacement: 0 123 | maxJobWorkers: 0 124 | preserveTilesOutsideBounds: 0 125 | debug: 126 | m_Flags: 0 127 | m_NavMeshData: {fileID: 0} 128 | --- !u!1 &251158705 129 | GameObject: 130 | m_ObjectHideFlags: 0 131 | m_CorrespondingSourceObject: {fileID: 0} 132 | m_PrefabInstance: {fileID: 0} 133 | m_PrefabAsset: {fileID: 0} 134 | serializedVersion: 6 135 | m_Component: 136 | - component: {fileID: 251158707} 137 | - component: {fileID: 251158706} 138 | m_Layer: 0 139 | m_Name: Reflection Probe 140 | m_TagString: Untagged 141 | m_Icon: {fileID: 0} 142 | m_NavMeshLayer: 0 143 | m_StaticEditorFlags: 0 144 | m_IsActive: 1 145 | --- !u!215 &251158706 146 | ReflectionProbe: 147 | m_ObjectHideFlags: 0 148 | m_CorrespondingSourceObject: {fileID: 0} 149 | m_PrefabInstance: {fileID: 0} 150 | m_PrefabAsset: {fileID: 0} 151 | m_GameObject: {fileID: 251158705} 152 | m_Enabled: 1 153 | serializedVersion: 2 154 | m_Type: 0 155 | m_Mode: 0 156 | m_RefreshMode: 1 157 | m_TimeSlicingMode: 1 158 | m_Resolution: 256 159 | m_UpdateFrequency: 0 160 | m_BoxSize: {x: 20, y: 20, z: 20} 161 | m_BoxOffset: {x: 0, y: 0, z: 0} 162 | m_NearClip: 0.3 163 | m_FarClip: 1000 164 | m_ShadowDistance: 100 165 | m_ClearFlags: 1 166 | m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} 167 | m_CullingMask: 168 | serializedVersion: 2 169 | m_Bits: 4294967295 170 | m_IntensityMultiplier: 1 171 | m_BlendDistance: 1 172 | m_HDR: 1 173 | m_BoxProjection: 0 174 | m_RenderDynamicObjects: 0 175 | m_UseOcclusionCulling: 1 176 | m_Importance: 1 177 | m_CustomBakedTexture: {fileID: 0} 178 | --- !u!4 &251158707 179 | Transform: 180 | m_ObjectHideFlags: 0 181 | m_CorrespondingSourceObject: {fileID: 0} 182 | m_PrefabInstance: {fileID: 0} 183 | m_PrefabAsset: {fileID: 0} 184 | m_GameObject: {fileID: 251158705} 185 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 186 | m_LocalPosition: {x: 5.54, y: 3.03, z: 0.97} 187 | m_LocalScale: {x: 1, y: 1, z: 1} 188 | m_ConstrainProportionsScale: 0 189 | m_Children: [] 190 | m_Father: {fileID: 0} 191 | m_RootOrder: 2 192 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 193 | --- !u!1 &632955089 194 | GameObject: 195 | m_ObjectHideFlags: 0 196 | m_CorrespondingSourceObject: {fileID: 0} 197 | m_PrefabInstance: {fileID: 0} 198 | m_PrefabAsset: {fileID: 0} 199 | serializedVersion: 6 200 | m_Component: 201 | - component: {fileID: 632955092} 202 | - component: {fileID: 632955091} 203 | - component: {fileID: 632955090} 204 | - component: {fileID: 632955093} 205 | m_Layer: 0 206 | m_Name: head:Mesh 207 | m_TagString: Untagged 208 | m_Icon: {fileID: 0} 209 | m_NavMeshLayer: 0 210 | m_StaticEditorFlags: 0 211 | m_IsActive: 1 212 | --- !u!23 &632955090 213 | MeshRenderer: 214 | m_ObjectHideFlags: 0 215 | m_CorrespondingSourceObject: {fileID: 0} 216 | m_PrefabInstance: {fileID: 0} 217 | m_PrefabAsset: {fileID: 0} 218 | m_GameObject: {fileID: 632955089} 219 | m_Enabled: 1 220 | m_CastShadows: 1 221 | m_ReceiveShadows: 1 222 | m_DynamicOccludee: 1 223 | m_StaticShadowCaster: 0 224 | m_MotionVectors: 1 225 | m_LightProbeUsage: 1 226 | m_ReflectionProbeUsage: 1 227 | m_RayTracingMode: 2 228 | m_RayTraceProcedural: 0 229 | m_RenderingLayerMask: 1 230 | m_RendererPriority: 0 231 | m_Materials: 232 | - {fileID: 2100000, guid: 0d84d2dc5ec65b842809cbe5723e7b4d, type: 2} 233 | m_StaticBatchInfo: 234 | firstSubMesh: 0 235 | subMeshCount: 0 236 | m_StaticBatchRoot: {fileID: 0} 237 | m_ProbeAnchor: {fileID: 0} 238 | m_LightProbeVolumeOverride: {fileID: 0} 239 | m_ScaleInLightmap: 1 240 | m_ReceiveGI: 1 241 | m_PreserveUVs: 0 242 | m_IgnoreNormalsForChartDetection: 0 243 | m_ImportantGI: 0 244 | m_StitchLightmapSeams: 0 245 | m_SelectedEditorRenderState: 3 246 | m_MinimumChartSize: 4 247 | m_AutoUVMaxDistance: 0.5 248 | m_AutoUVMaxAngle: 89 249 | m_LightmapParameters: {fileID: 0} 250 | m_SortingLayerID: 0 251 | m_SortingLayer: 0 252 | m_SortingOrder: 0 253 | m_AdditionalVertexStreams: {fileID: 0} 254 | --- !u!33 &632955091 255 | MeshFilter: 256 | m_ObjectHideFlags: 0 257 | m_CorrespondingSourceObject: {fileID: 0} 258 | m_PrefabInstance: {fileID: 0} 259 | m_PrefabAsset: {fileID: 0} 260 | m_GameObject: {fileID: 632955089} 261 | m_Mesh: {fileID: 4300000, guid: b00c76e8fe1d9a54d9bcc6fb0c06a9ad, type: 3} 262 | --- !u!4 &632955092 263 | Transform: 264 | m_ObjectHideFlags: 0 265 | m_CorrespondingSourceObject: {fileID: 0} 266 | m_PrefabInstance: {fileID: 0} 267 | m_PrefabAsset: {fileID: 0} 268 | m_GameObject: {fileID: 632955089} 269 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 270 | m_LocalPosition: {x: 0, y: 0, z: 0} 271 | m_LocalScale: {x: 1, y: 1, z: 1} 272 | m_ConstrainProportionsScale: 0 273 | m_Children: [] 274 | m_Father: {fileID: 0} 275 | m_RootOrder: 1 276 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 277 | --- !u!114 &632955093 278 | MonoBehaviour: 279 | m_ObjectHideFlags: 0 280 | m_CorrespondingSourceObject: {fileID: 0} 281 | m_PrefabInstance: {fileID: 0} 282 | m_PrefabAsset: {fileID: 0} 283 | m_GameObject: {fileID: 632955089} 284 | m_Enabled: 1 285 | m_EditorHideFlags: 0 286 | m_Script: {fileID: 11500000, guid: a4be038b3fa1b3b4a934c98641cb803e, type: 3} 287 | m_Name: 288 | m_EditorClassIdentifier: 289 | data: {fileID: 11400000, guid: 7cd1968812f9ca24ab7fba36a2aebafe, type: 2} 290 | --- !u!850595691 &1742157857 291 | LightingSettings: 292 | m_ObjectHideFlags: 0 293 | m_CorrespondingSourceObject: {fileID: 0} 294 | m_PrefabInstance: {fileID: 0} 295 | m_PrefabAsset: {fileID: 0} 296 | m_Name: Settings.lighting 297 | serializedVersion: 4 298 | m_GIWorkflowMode: 1 299 | m_EnableBakedLightmaps: 0 300 | m_EnableRealtimeLightmaps: 0 301 | m_RealtimeEnvironmentLighting: 1 302 | m_BounceScale: 1 303 | m_AlbedoBoost: 1 304 | m_IndirectOutputScale: 1 305 | m_UsingShadowmask: 1 306 | m_BakeBackend: 0 307 | m_LightmapMaxSize: 1024 308 | m_BakeResolution: 28 309 | m_Padding: 2 310 | m_LightmapCompression: 0 311 | m_AO: 0 312 | m_AOMaxDistance: 1 313 | m_CompAOExponent: 1 314 | m_CompAOExponentDirect: 0 315 | m_ExtractAO: 0 316 | m_MixedBakeMode: 2 317 | m_LightmapsBakeMode: 1 318 | m_FilterMode: 1 319 | m_LightmapParameters: {fileID: 15200, guid: 0000000000000000f000000000000000, type: 0} 320 | m_ExportTrainingData: 0 321 | m_TrainingDataDestination: TrainingData 322 | m_RealtimeResolution: 3 323 | m_ForceWhiteAlbedo: 0 324 | m_ForceUpdates: 0 325 | m_FinalGather: 1 326 | m_FinalGatherRayCount: 512 327 | m_FinalGatherFiltering: 1 328 | m_PVRCulling: 1 329 | m_PVRSampling: 1 330 | m_PVRDirectSampleCount: 32 331 | m_PVRSampleCount: 500 332 | m_PVREnvironmentSampleCount: 500 333 | m_PVREnvironmentReferencePointCount: 2048 334 | m_LightProbeSampleCountMultiplier: 4 335 | m_PVRBounces: 4 336 | m_PVRMinBounces: 4 337 | m_PVREnvironmentMIS: 0 338 | m_PVRFilteringMode: 2 339 | m_PVRDenoiserTypeDirect: 0 340 | m_PVRDenoiserTypeIndirect: 0 341 | m_PVRDenoiserTypeAO: 0 342 | m_PVRFilterTypeDirect: 0 343 | m_PVRFilterTypeIndirect: 0 344 | m_PVRFilterTypeAO: 0 345 | m_PVRFilteringGaussRadiusDirect: 1 346 | m_PVRFilteringGaussRadiusIndirect: 5 347 | m_PVRFilteringGaussRadiusAO: 2 348 | m_PVRFilteringAtrousPositionSigmaDirect: 0.5 349 | m_PVRFilteringAtrousPositionSigmaIndirect: 2 350 | m_PVRFilteringAtrousPositionSigmaAO: 1 351 | m_PVRTiledBaking: 0 352 | --- !u!1 &1846230714 353 | GameObject: 354 | m_ObjectHideFlags: 0 355 | m_CorrespondingSourceObject: {fileID: 0} 356 | m_PrefabInstance: {fileID: 0} 357 | m_PrefabAsset: {fileID: 0} 358 | serializedVersion: 6 359 | m_Component: 360 | - component: {fileID: 1846230717} 361 | - component: {fileID: 1846230716} 362 | m_Layer: 0 363 | m_Name: Directional Light 364 | m_TagString: Untagged 365 | m_Icon: {fileID: 0} 366 | m_NavMeshLayer: 0 367 | m_StaticEditorFlags: 0 368 | m_IsActive: 1 369 | --- !u!108 &1846230716 370 | Light: 371 | m_ObjectHideFlags: 0 372 | m_CorrespondingSourceObject: {fileID: 0} 373 | m_PrefabInstance: {fileID: 0} 374 | m_PrefabAsset: {fileID: 0} 375 | m_GameObject: {fileID: 1846230714} 376 | m_Enabled: 1 377 | serializedVersion: 10 378 | m_Type: 1 379 | m_Shape: 0 380 | m_Color: {r: 1, g: 1, b: 1, a: 1} 381 | m_Intensity: 1 382 | m_Range: 10 383 | m_SpotAngle: 30 384 | m_InnerSpotAngle: 21.80208 385 | m_CookieSize: 10 386 | m_Shadows: 387 | m_Type: 2 388 | m_Resolution: -1 389 | m_CustomResolution: -1 390 | m_Strength: 1 391 | m_Bias: 0 392 | m_NormalBias: 0.4 393 | m_NearPlane: 0.2 394 | m_CullingMatrixOverride: 395 | e00: 1 396 | e01: 0 397 | e02: 0 398 | e03: 0 399 | e10: 0 400 | e11: 1 401 | e12: 0 402 | e13: 0 403 | e20: 0 404 | e21: 0 405 | e22: 1 406 | e23: 0 407 | e30: 0 408 | e31: 0 409 | e32: 0 410 | e33: 1 411 | m_UseCullingMatrixOverride: 0 412 | m_Cookie: {fileID: 0} 413 | m_DrawHalo: 0 414 | m_Flare: {fileID: 0} 415 | m_RenderMode: 0 416 | m_CullingMask: 417 | serializedVersion: 2 418 | m_Bits: 4294967295 419 | m_RenderingLayerMask: 1 420 | m_Lightmapping: 4 421 | m_LightShadowCasterMode: 0 422 | m_AreaSize: {x: 1, y: 1} 423 | m_BounceIntensity: 1 424 | m_ColorTemperature: 6570 425 | m_UseColorTemperature: 0 426 | m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} 427 | m_UseBoundingSphereOverride: 0 428 | m_UseViewFrustumForShadowCasterCull: 1 429 | m_ShadowRadius: 0 430 | m_ShadowAngle: 0 431 | --- !u!4 &1846230717 432 | Transform: 433 | m_ObjectHideFlags: 0 434 | m_CorrespondingSourceObject: {fileID: 0} 435 | m_PrefabInstance: {fileID: 0} 436 | m_PrefabAsset: {fileID: 0} 437 | m_GameObject: {fileID: 1846230714} 438 | m_LocalRotation: {x: -0.054410294, y: 0.72119945, z: -0.6882296, w: -0.057017207} 439 | m_LocalPosition: {x: -0.043121263, y: 1.3123817, z: -0.2482479} 440 | m_LocalScale: {x: 1, y: 1, z: 1} 441 | m_ConstrainProportionsScale: 0 442 | m_Children: [] 443 | m_Father: {fileID: 0} 444 | m_RootOrder: 3 445 | m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} 446 | --- !u!1 &1957278615 447 | GameObject: 448 | m_ObjectHideFlags: 0 449 | m_CorrespondingSourceObject: {fileID: 0} 450 | m_PrefabInstance: {fileID: 0} 451 | m_PrefabAsset: {fileID: 0} 452 | serializedVersion: 6 453 | m_Component: 454 | - component: {fileID: 1957278627} 455 | - component: {fileID: 1957278626} 456 | - component: {fileID: 1957278623} 457 | - component: {fileID: 1957278617} 458 | - component: {fileID: 1957278616} 459 | - component: {fileID: 1957278619} 460 | - component: {fileID: 1957278618} 461 | m_Layer: 8 462 | m_Name: Camera 463 | m_TagString: MainCamera 464 | m_Icon: {fileID: 0} 465 | m_NavMeshLayer: 0 466 | m_StaticEditorFlags: 0 467 | m_IsActive: 1 468 | --- !u!114 &1957278616 469 | MonoBehaviour: 470 | m_ObjectHideFlags: 0 471 | m_CorrespondingSourceObject: {fileID: 0} 472 | m_PrefabInstance: {fileID: 0} 473 | m_PrefabAsset: {fileID: 0} 474 | m_GameObject: {fileID: 1957278615} 475 | m_Enabled: 1 476 | m_EditorHideFlags: 0 477 | m_Script: {fileID: 11500000, guid: 308fd8a8e12cd374e868b05b8e7d3c83, type: 3} 478 | m_Name: 479 | m_EditorClassIdentifier: 480 | --- !u!114 &1957278617 481 | MonoBehaviour: 482 | m_ObjectHideFlags: 0 483 | m_CorrespondingSourceObject: {fileID: 0} 484 | m_PrefabInstance: {fileID: 0} 485 | m_PrefabAsset: {fileID: 0} 486 | m_GameObject: {fileID: 1957278615} 487 | m_Enabled: 1 488 | m_EditorHideFlags: 0 489 | m_Script: {fileID: 11500000, guid: ed0835fcb2ec19c47b2ee2057a9ac734, type: 3} 490 | m_Name: 491 | m_EditorClassIdentifier: 492 | enableInputCapture: 1 493 | holdRightMouseCapture: 0 494 | lookSpeed: 1.25 495 | moveSpeed: 2.5 496 | sprintSpeed: 5 497 | --- !u!114 &1957278618 498 | MonoBehaviour: 499 | m_ObjectHideFlags: 0 500 | m_CorrespondingSourceObject: {fileID: 0} 501 | m_PrefabInstance: {fileID: 0} 502 | m_PrefabAsset: {fileID: 0} 503 | m_GameObject: {fileID: 1957278615} 504 | m_Enabled: 1 505 | m_EditorHideFlags: 0 506 | m_Script: {fileID: 11500000, guid: 8b9a305e18de0c04dbd257a21cd47087, type: 3} 507 | m_Name: 508 | m_EditorClassIdentifier: 509 | sharedProfile: {fileID: 11400000, guid: 74f79f1ca0b19404d88fd916c6819950, type: 2} 510 | isGlobal: 1 511 | blendDistance: 0 512 | weight: 1 513 | priority: 0 514 | --- !u!114 &1957278619 515 | MonoBehaviour: 516 | m_ObjectHideFlags: 0 517 | m_CorrespondingSourceObject: {fileID: 0} 518 | m_PrefabInstance: {fileID: 0} 519 | m_PrefabAsset: {fileID: 0} 520 | m_GameObject: {fileID: 1957278615} 521 | m_Enabled: 1 522 | m_EditorHideFlags: 0 523 | m_Script: {fileID: 11500000, guid: 948f4100a11a5c24981795d21301da5c, type: 3} 524 | m_Name: 525 | m_EditorClassIdentifier: 526 | volumeTrigger: {fileID: 1957278627} 527 | volumeLayer: 528 | serializedVersion: 2 529 | m_Bits: 256 530 | stopNaNPropagation: 1 531 | finalBlitToCameraTarget: 0 532 | antialiasingMode: 3 533 | temporalAntialiasing: 534 | jitterSpread: 0.75 535 | sharpness: 0.25 536 | stationaryBlending: 0.95 537 | motionBlending: 0.85 538 | subpixelMorphologicalAntialiasing: 539 | quality: 2 540 | fastApproximateAntialiasing: 541 | fastMode: 0 542 | keepAlpha: 0 543 | fog: 544 | enabled: 1 545 | excludeSkybox: 1 546 | debugLayer: 547 | lightMeter: 548 | width: 512 549 | height: 256 550 | showCurves: 1 551 | histogram: 552 | width: 512 553 | height: 256 554 | channel: 3 555 | waveform: 556 | exposure: 0.12 557 | height: 256 558 | vectorscope: 559 | size: 256 560 | exposure: 0.12 561 | overlaySettings: 562 | linearDepth: 0 563 | motionColorIntensity: 4 564 | motionGridSize: 64 565 | colorBlindnessType: 0 566 | colorBlindnessStrength: 1 567 | m_Resources: {fileID: 11400000, guid: d82512f9c8e5d4a4d938b575d47f88d4, type: 2} 568 | m_ShowToolkit: 0 569 | m_ShowCustomSorter: 0 570 | breakBeforeColorGrading: 0 571 | m_BeforeTransparentBundles: [] 572 | m_BeforeStackBundles: [] 573 | m_AfterStackBundles: [] 574 | --- !u!81 &1957278623 575 | AudioListener: 576 | m_ObjectHideFlags: 0 577 | m_CorrespondingSourceObject: {fileID: 0} 578 | m_PrefabInstance: {fileID: 0} 579 | m_PrefabAsset: {fileID: 0} 580 | m_GameObject: {fileID: 1957278615} 581 | m_Enabled: 0 582 | --- !u!20 &1957278626 583 | Camera: 584 | m_ObjectHideFlags: 0 585 | m_CorrespondingSourceObject: {fileID: 0} 586 | m_PrefabInstance: {fileID: 0} 587 | m_PrefabAsset: {fileID: 0} 588 | m_GameObject: {fileID: 1957278615} 589 | m_Enabled: 1 590 | serializedVersion: 2 591 | m_ClearFlags: 2 592 | m_BackGroundColor: {r: 0.8773585, g: 0.8773585, b: 0.8773585, a: 0} 593 | m_projectionMatrixMode: 1 594 | m_GateFitMode: 2 595 | m_FOVAxisMode: 0 596 | m_SensorSize: {x: 36, y: 24} 597 | m_LensShift: {x: 0, y: 0} 598 | m_FocalLength: 50 599 | m_NormalizedViewPortRect: 600 | serializedVersion: 2 601 | x: 0 602 | y: 0 603 | width: 1 604 | height: 1 605 | near clip plane: 0.015 606 | far clip plane: 32 607 | field of view: 60 608 | orthographic: 0 609 | orthographic size: 5 610 | m_Depth: -1 611 | m_CullingMask: 612 | serializedVersion: 2 613 | m_Bits: 4294967295 614 | m_RenderingPath: 1 615 | m_TargetTexture: {fileID: 0} 616 | m_TargetDisplay: 0 617 | m_TargetEye: 3 618 | m_HDR: 1 619 | m_AllowMSAA: 0 620 | m_AllowDynamicResolution: 0 621 | m_ForceIntoRT: 1 622 | m_OcclusionCulling: 1 623 | m_StereoConvergence: 10 624 | m_StereoSeparation: 0.022 625 | --- !u!4 &1957278627 626 | Transform: 627 | m_ObjectHideFlags: 0 628 | m_CorrespondingSourceObject: {fileID: 0} 629 | m_PrefabInstance: {fileID: 0} 630 | m_PrefabAsset: {fileID: 0} 631 | m_GameObject: {fileID: 1957278615} 632 | m_LocalRotation: {x: 0.0074582472, y: 0.9859832, z: -0.045891188, w: 0.16023585} 633 | m_LocalPosition: {x: -0.179, y: 0.082, z: 0.586} 634 | m_LocalScale: {x: 1, y: 1, z: 1} 635 | m_ConstrainProportionsScale: 0 636 | m_Children: [] 637 | m_Father: {fileID: 0} 638 | m_RootOrder: 0 639 | m_LocalEulerAnglesHint: {x: 0, y: -160, z: 0} 640 | -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter_Samples/Scene/SeparableSubsurfaceScatterExample.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 733938a03d0455b47838d95fd84b51e4 3 | timeCreated: 1509804683 4 | licenseType: Free 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter_Samples/Scene/SeparableSubsurfaceScatterExample/LightingData.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohannesDeml/Unity-Human-Skin-Shader-PC/8a9ad85ca4877121d669a220e6f1e116ed2639eb/Assets/SeparableSubsurfaceScatter_Samples/Scene/SeparableSubsurfaceScatterExample/LightingData.asset -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter_Samples/Scene/SeparableSubsurfaceScatterExample/LightingData.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d0c3f6662e9a83849915c1ec53400d16 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 25800000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter_Samples/Scene/SeparableSubsurfaceScatterExample/ReflectionProbe-0.exr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohannesDeml/Unity-Human-Skin-Shader-PC/8a9ad85ca4877121d669a220e6f1e116ed2639eb/Assets/SeparableSubsurfaceScatter_Samples/Scene/SeparableSubsurfaceScatterExample/ReflectionProbe-0.exr -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter_Samples/Scene/SeparableSubsurfaceScatterExample/ReflectionProbe-0.exr.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 28c2b5f781a07c342b9716b8d2890f92 3 | TextureImporter: 4 | fileIDToRecycleName: 5 | 8900000: generatedCubemap 6 | externalObjects: {} 7 | serializedVersion: 7 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 1 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapsPreserveCoverage: 0 16 | alphaTestReferenceValue: 0.5 17 | mipMapFadeDistanceStart: 1 18 | mipMapFadeDistanceEnd: 3 19 | bumpmap: 20 | convertToNormalMap: 0 21 | externalNormalMap: 0 22 | heightScale: 0.25 23 | normalMapFilter: 0 24 | isReadable: 0 25 | streamingMipmaps: 0 26 | streamingMipmapsPriority: 0 27 | grayScaleToAlpha: 0 28 | generateCubemap: 6 29 | cubemapConvolution: 1 30 | seamlessCubemap: 1 31 | textureFormat: 1 32 | maxTextureSize: 2048 33 | textureSettings: 34 | serializedVersion: 2 35 | filterMode: 2 36 | aniso: 0 37 | mipBias: 0 38 | wrapU: 1 39 | wrapV: 1 40 | wrapW: 1 41 | nPOTScale: 1 42 | lightmap: 0 43 | compressionQuality: 50 44 | spriteMode: 0 45 | spriteExtrude: 1 46 | spriteMeshType: 1 47 | alignment: 0 48 | spritePivot: {x: 0.5, y: 0.5} 49 | spritePixelsToUnits: 100 50 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 51 | spriteGenerateFallbackPhysicsShape: 1 52 | alphaUsage: 1 53 | alphaIsTransparency: 0 54 | spriteTessellationDetail: -1 55 | textureType: 0 56 | textureShape: 2 57 | singleChannelComponent: 0 58 | maxTextureSizeSet: 0 59 | compressionQualitySet: 0 60 | textureFormatSet: 0 61 | platformSettings: 62 | - serializedVersion: 2 63 | buildTarget: DefaultTexturePlatform 64 | maxTextureSize: 2048 65 | resizeAlgorithm: 0 66 | textureFormat: -1 67 | textureCompression: 1 68 | compressionQuality: 100 69 | crunchedCompression: 0 70 | allowsAlphaSplitting: 0 71 | overridden: 0 72 | androidETC2FallbackOverride: 0 73 | spriteSheet: 74 | serializedVersion: 2 75 | sprites: [] 76 | outline: [] 77 | physicsShape: [] 78 | bones: [] 79 | spriteID: 80 | vertices: [] 81 | indices: 82 | edges: [] 83 | weights: [] 84 | spritePackingTag: 85 | pSDRemoveMatte: 0 86 | pSDShowRemoveMatteOption: 0 87 | userData: 88 | assetBundleName: 89 | assetBundleVariant: 90 | -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter_Samples/Scene/SeparableSubsurfaceScatterExample/ReflectionProbe-1.exr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohannesDeml/Unity-Human-Skin-Shader-PC/8a9ad85ca4877121d669a220e6f1e116ed2639eb/Assets/SeparableSubsurfaceScatter_Samples/Scene/SeparableSubsurfaceScatterExample/ReflectionProbe-1.exr -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter_Samples/Scene/SeparableSubsurfaceScatterExample/ReflectionProbe-1.exr.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c48eafae007852f4fa8a2de3c7d413b6 3 | TextureImporter: 4 | fileIDToRecycleName: 5 | 8900000: generatedCubemap 6 | externalObjects: {} 7 | serializedVersion: 7 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 1 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapsPreserveCoverage: 0 16 | alphaTestReferenceValue: 0.5 17 | mipMapFadeDistanceStart: 1 18 | mipMapFadeDistanceEnd: 3 19 | bumpmap: 20 | convertToNormalMap: 0 21 | externalNormalMap: 0 22 | heightScale: 0.25 23 | normalMapFilter: 0 24 | isReadable: 0 25 | streamingMipmaps: 0 26 | streamingMipmapsPriority: 0 27 | grayScaleToAlpha: 0 28 | generateCubemap: 6 29 | cubemapConvolution: 1 30 | seamlessCubemap: 1 31 | textureFormat: 1 32 | maxTextureSize: 2048 33 | textureSettings: 34 | serializedVersion: 2 35 | filterMode: 2 36 | aniso: 0 37 | mipBias: 0 38 | wrapU: 1 39 | wrapV: 1 40 | wrapW: 1 41 | nPOTScale: 1 42 | lightmap: 0 43 | compressionQuality: 50 44 | spriteMode: 0 45 | spriteExtrude: 1 46 | spriteMeshType: 1 47 | alignment: 0 48 | spritePivot: {x: 0.5, y: 0.5} 49 | spritePixelsToUnits: 100 50 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 51 | spriteGenerateFallbackPhysicsShape: 1 52 | alphaUsage: 1 53 | alphaIsTransparency: 0 54 | spriteTessellationDetail: -1 55 | textureType: 0 56 | textureShape: 2 57 | singleChannelComponent: 0 58 | maxTextureSizeSet: 0 59 | compressionQualitySet: 0 60 | textureFormatSet: 0 61 | platformSettings: 62 | - serializedVersion: 2 63 | buildTarget: DefaultTexturePlatform 64 | maxTextureSize: 2048 65 | resizeAlgorithm: 0 66 | textureFormat: -1 67 | textureCompression: 1 68 | compressionQuality: 100 69 | crunchedCompression: 0 70 | allowsAlphaSplitting: 0 71 | overridden: 0 72 | androidETC2FallbackOverride: 0 73 | spriteSheet: 74 | serializedVersion: 2 75 | sprites: [] 76 | outline: [] 77 | physicsShape: [] 78 | bones: [] 79 | spriteID: 80 | vertices: [] 81 | indices: 82 | edges: [] 83 | weights: [] 84 | spritePackingTag: 85 | pSDRemoveMatte: 0 86 | pSDShowRemoveMatteOption: 0 87 | userData: 88 | assetBundleName: 89 | assetBundleVariant: 90 | -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter_Samples/Scene/SeparableSubsurfaceScatterExample/SeparableSubsurfaceScatter PostProcessing.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 8e6292b2c06870d4495f009f912b9600, type: 3} 13 | m_Name: SeparableSubsurfaceScatter PostProcessing 14 | m_EditorClassIdentifier: 15 | settings: 16 | - {fileID: 114947075148545008} 17 | - {fileID: 114183041896613722} 18 | - {fileID: 114414637247231034} 19 | - {fileID: 114699833230979822} 20 | - {fileID: 114808198369633252} 21 | - {fileID: 114207305362724912} 22 | - {fileID: 114403808908305568} 23 | - {fileID: 114094834887808272} 24 | --- !u!114 &114094834887808272 25 | MonoBehaviour: 26 | m_ObjectHideFlags: 3 27 | m_CorrespondingSourceObject: {fileID: 0} 28 | m_PrefabInstance: {fileID: 0} 29 | m_PrefabAsset: {fileID: 0} 30 | m_GameObject: {fileID: 0} 31 | m_Enabled: 1 32 | m_EditorHideFlags: 0 33 | m_Script: {fileID: 11500000, guid: 7a34fa72bd4185749832024e9c8010bf, type: 3} 34 | m_Name: ScreenSpaceReflections 35 | m_EditorClassIdentifier: 36 | active: 0 37 | enabled: 38 | overrideState: 1 39 | value: 1 40 | preset: 41 | overrideState: 1 42 | value: 7 43 | maximumIterationCount: 44 | overrideState: 1 45 | value: 141 46 | resolution: 47 | overrideState: 1 48 | value: 2 49 | thickness: 50 | overrideState: 1 51 | value: 1 52 | maximumMarchDistance: 53 | overrideState: 1 54 | value: 100 55 | distanceFade: 56 | overrideState: 1 57 | value: 0 58 | vignette: 59 | overrideState: 1 60 | value: 0.5 61 | --- !u!114 &114183041896613722 62 | MonoBehaviour: 63 | m_ObjectHideFlags: 3 64 | m_CorrespondingSourceObject: {fileID: 0} 65 | m_PrefabInstance: {fileID: 0} 66 | m_PrefabAsset: {fileID: 0} 67 | m_GameObject: {fileID: 0} 68 | m_Enabled: 1 69 | m_EditorHideFlags: 0 70 | m_Script: {fileID: 11500000, guid: b3f6f3f7c722b4544b97e3c75840aa33, type: 3} 71 | m_Name: AutoExposure 72 | m_EditorClassIdentifier: 73 | active: 0 74 | enabled: 75 | overrideState: 1 76 | value: 1 77 | filtering: 78 | overrideState: 0 79 | value: {x: 50, y: 95} 80 | minLuminance: 81 | overrideState: 1 82 | value: -6.7 83 | maxLuminance: 84 | overrideState: 1 85 | value: 9 86 | keyValue: 87 | overrideState: 1 88 | value: 0.5 89 | eyeAdaptation: 90 | overrideState: 0 91 | value: 0 92 | speedUp: 93 | overrideState: 0 94 | value: 2 95 | speedDown: 96 | overrideState: 0 97 | value: 1 98 | --- !u!114 &114207305362724912 99 | MonoBehaviour: 100 | m_ObjectHideFlags: 3 101 | m_CorrespondingSourceObject: {fileID: 0} 102 | m_PrefabInstance: {fileID: 0} 103 | m_PrefabAsset: {fileID: 0} 104 | m_GameObject: {fileID: 0} 105 | m_Enabled: 1 106 | m_EditorHideFlags: 0 107 | m_Script: {fileID: 11500000, guid: 40b924e2dad56384a8df2a1e111bb675, type: 3} 108 | m_Name: Vignette 109 | m_EditorClassIdentifier: 110 | active: 0 111 | enabled: 112 | overrideState: 1 113 | value: 1 114 | mode: 115 | overrideState: 0 116 | value: 0 117 | color: 118 | overrideState: 0 119 | value: {r: 0, g: 0, b: 0, a: 1} 120 | center: 121 | overrideState: 0 122 | value: {x: 0.5, y: 0.5} 123 | intensity: 124 | overrideState: 1 125 | value: 0.1 126 | smoothness: 127 | overrideState: 0 128 | value: 0.2 129 | roundness: 130 | overrideState: 0 131 | value: 1 132 | rounded: 133 | overrideState: 0 134 | value: 0 135 | mask: 136 | overrideState: 0 137 | value: {fileID: 0} 138 | defaultState: 1 139 | opacity: 140 | overrideState: 0 141 | value: 1 142 | --- !u!114 &114403808908305568 143 | MonoBehaviour: 144 | m_ObjectHideFlags: 3 145 | m_CorrespondingSourceObject: {fileID: 0} 146 | m_PrefabInstance: {fileID: 0} 147 | m_PrefabAsset: {fileID: 0} 148 | m_GameObject: {fileID: 0} 149 | m_Enabled: 1 150 | m_EditorHideFlags: 0 151 | m_Script: {fileID: 11500000, guid: c1cb7e9e120078f43bce4f0b1be547a7, type: 3} 152 | m_Name: AmbientOcclusion 153 | m_EditorClassIdentifier: 154 | active: 1 155 | enabled: 156 | overrideState: 1 157 | value: 1 158 | mode: 159 | overrideState: 0 160 | value: 1 161 | intensity: 162 | overrideState: 1 163 | value: 0.5 164 | color: 165 | overrideState: 0 166 | value: {r: 0, g: 0, b: 0, a: 1} 167 | ambientOnly: 168 | overrideState: 0 169 | value: 1 170 | noiseFilterTolerance: 171 | overrideState: 0 172 | value: 0 173 | blurTolerance: 174 | overrideState: 0 175 | value: -4.6 176 | upsampleTolerance: 177 | overrideState: 0 178 | value: -12 179 | thicknessModifier: 180 | overrideState: 1 181 | value: 1 182 | directLightingStrength: 183 | overrideState: 0 184 | value: 0 185 | radius: 186 | overrideState: 0 187 | value: 0.25 188 | quality: 189 | overrideState: 0 190 | value: 2 191 | --- !u!114 &114414637247231034 192 | MonoBehaviour: 193 | m_ObjectHideFlags: 3 194 | m_CorrespondingSourceObject: {fileID: 0} 195 | m_PrefabInstance: {fileID: 0} 196 | m_PrefabAsset: {fileID: 0} 197 | m_GameObject: {fileID: 0} 198 | m_Enabled: 1 199 | m_EditorHideFlags: 0 200 | m_Script: {fileID: 11500000, guid: 6050e2d5de785ce4d931e4dbdbf2d755, type: 3} 201 | m_Name: ChromaticAberration 202 | m_EditorClassIdentifier: 203 | active: 0 204 | enabled: 205 | overrideState: 1 206 | value: 1 207 | spectralLut: 208 | overrideState: 0 209 | value: {fileID: 0} 210 | defaultState: 1 211 | intensity: 212 | overrideState: 1 213 | value: 0.1 214 | fastMode: 215 | overrideState: 0 216 | value: 0 217 | --- !u!114 &114699833230979822 218 | MonoBehaviour: 219 | m_ObjectHideFlags: 3 220 | m_CorrespondingSourceObject: {fileID: 0} 221 | m_PrefabInstance: {fileID: 0} 222 | m_PrefabAsset: {fileID: 0} 223 | m_GameObject: {fileID: 0} 224 | m_Enabled: 1 225 | m_EditorHideFlags: 0 226 | m_Script: {fileID: 11500000, guid: 9b77c5407dc277943b591ade9e6b18c5, type: 3} 227 | m_Name: LensDistortion 228 | m_EditorClassIdentifier: 229 | active: 0 230 | enabled: 231 | overrideState: 1 232 | value: 1 233 | intensity: 234 | overrideState: 1 235 | value: 5 236 | intensityX: 237 | overrideState: 0 238 | value: 1 239 | intensityY: 240 | overrideState: 0 241 | value: 1 242 | centerX: 243 | overrideState: 0 244 | value: 0 245 | centerY: 246 | overrideState: 0 247 | value: 0 248 | scale: 249 | overrideState: 0 250 | value: 1 251 | --- !u!114 &114808198369633252 252 | MonoBehaviour: 253 | m_ObjectHideFlags: 3 254 | m_CorrespondingSourceObject: {fileID: 0} 255 | m_PrefabInstance: {fileID: 0} 256 | m_PrefabAsset: {fileID: 0} 257 | m_GameObject: {fileID: 0} 258 | m_Enabled: 1 259 | m_EditorHideFlags: 0 260 | m_Script: {fileID: 11500000, guid: 48a79b01ea5641d4aa6daa2e23605641, type: 3} 261 | m_Name: Bloom 262 | m_EditorClassIdentifier: 263 | active: 1 264 | enabled: 265 | overrideState: 1 266 | value: 1 267 | intensity: 268 | overrideState: 1 269 | value: 0.5 270 | threshold: 271 | overrideState: 1 272 | value: 0.5 273 | softKnee: 274 | overrideState: 0 275 | value: 0.5 276 | clamp: 277 | overrideState: 1 278 | value: 5 279 | diffusion: 280 | overrideState: 0 281 | value: 7 282 | anamorphicRatio: 283 | overrideState: 0 284 | value: 0 285 | color: 286 | overrideState: 1 287 | value: {r: 1, g: 0.9383067, b: 0.8820755, a: 1} 288 | fastMode: 289 | overrideState: 0 290 | value: 0 291 | dirtTexture: 292 | overrideState: 0 293 | value: {fileID: 0} 294 | defaultState: 1 295 | dirtIntensity: 296 | overrideState: 0 297 | value: 0 298 | --- !u!114 &114947075148545008 299 | MonoBehaviour: 300 | m_ObjectHideFlags: 3 301 | m_CorrespondingSourceObject: {fileID: 0} 302 | m_PrefabInstance: {fileID: 0} 303 | m_PrefabAsset: {fileID: 0} 304 | m_GameObject: {fileID: 0} 305 | m_Enabled: 1 306 | m_EditorHideFlags: 0 307 | m_Script: {fileID: 11500000, guid: adb84e30e02715445aeb9959894e3b4d, type: 3} 308 | m_Name: ColorGrading 309 | m_EditorClassIdentifier: 310 | active: 1 311 | enabled: 312 | overrideState: 1 313 | value: 1 314 | gradingMode: 315 | overrideState: 0 316 | value: 1 317 | externalLut: 318 | overrideState: 0 319 | value: {fileID: 0} 320 | defaultState: 1 321 | tonemapper: 322 | overrideState: 1 323 | value: 2 324 | toneCurveToeStrength: 325 | overrideState: 0 326 | value: 0 327 | toneCurveToeLength: 328 | overrideState: 0 329 | value: 0.5 330 | toneCurveShoulderStrength: 331 | overrideState: 0 332 | value: 0 333 | toneCurveShoulderLength: 334 | overrideState: 0 335 | value: 0.5 336 | toneCurveShoulderAngle: 337 | overrideState: 0 338 | value: 0 339 | toneCurveGamma: 340 | overrideState: 0 341 | value: 1 342 | ldrLut: 343 | overrideState: 0 344 | value: {fileID: 0} 345 | defaultState: 4 346 | ldrLutContribution: 347 | overrideState: 0 348 | value: 1 349 | temperature: 350 | overrideState: 0 351 | value: 0 352 | tint: 353 | overrideState: 0 354 | value: 0 355 | colorFilter: 356 | overrideState: 0 357 | value: {r: 1, g: 1, b: 1, a: 1} 358 | hueShift: 359 | overrideState: 0 360 | value: 0 361 | saturation: 362 | overrideState: 0 363 | value: 0 364 | brightness: 365 | overrideState: 0 366 | value: 0 367 | postExposure: 368 | overrideState: 1 369 | value: 0.5 370 | contrast: 371 | overrideState: 0 372 | value: 0 373 | mixerRedOutRedIn: 374 | overrideState: 0 375 | value: 100 376 | mixerRedOutGreenIn: 377 | overrideState: 0 378 | value: 0 379 | mixerRedOutBlueIn: 380 | overrideState: 0 381 | value: 0 382 | mixerGreenOutRedIn: 383 | overrideState: 0 384 | value: 0 385 | mixerGreenOutGreenIn: 386 | overrideState: 0 387 | value: 100 388 | mixerGreenOutBlueIn: 389 | overrideState: 0 390 | value: 0 391 | mixerBlueOutRedIn: 392 | overrideState: 0 393 | value: 0 394 | mixerBlueOutGreenIn: 395 | overrideState: 0 396 | value: 0 397 | mixerBlueOutBlueIn: 398 | overrideState: 0 399 | value: 100 400 | lift: 401 | overrideState: 0 402 | value: {x: 1, y: 1, z: 1, w: 0} 403 | gamma: 404 | overrideState: 0 405 | value: {x: 1, y: 1, z: 1, w: 0} 406 | gain: 407 | overrideState: 0 408 | value: {x: 1, y: 1, z: 1, w: 0} 409 | masterCurve: 410 | overrideState: 0 411 | value: 412 | curve: 413 | serializedVersion: 2 414 | m_Curve: 415 | - serializedVersion: 3 416 | time: 0 417 | value: 0 418 | inSlope: 1 419 | outSlope: 1 420 | tangentMode: 0 421 | weightedMode: 0 422 | inWeight: 0 423 | outWeight: 0 424 | - serializedVersion: 3 425 | time: 1 426 | value: 1 427 | inSlope: 1 428 | outSlope: 1 429 | tangentMode: 0 430 | weightedMode: 0 431 | inWeight: 0 432 | outWeight: 0 433 | m_PreInfinity: 2 434 | m_PostInfinity: 2 435 | m_RotationOrder: 4 436 | m_Loop: 0 437 | m_ZeroValue: 0 438 | m_Range: 1 439 | cachedData: 440 | - 0 441 | - 0.0078125 442 | - 0.015625 443 | - 0.0234375 444 | - 0.03125 445 | - 0.0390625 446 | - 0.046875 447 | - 0.0546875 448 | - 0.0625 449 | - 0.0703125 450 | - 0.078125 451 | - 0.0859375 452 | - 0.09375 453 | - 0.1015625 454 | - 0.109375 455 | - 0.1171875 456 | - 0.125 457 | - 0.1328125 458 | - 0.140625 459 | - 0.1484375 460 | - 0.15625 461 | - 0.1640625 462 | - 0.171875 463 | - 0.1796875 464 | - 0.1875 465 | - 0.1953125 466 | - 0.203125 467 | - 0.2109375 468 | - 0.21875 469 | - 0.2265625 470 | - 0.234375 471 | - 0.2421875 472 | - 0.25 473 | - 0.2578125 474 | - 0.265625 475 | - 0.2734375 476 | - 0.28125 477 | - 0.2890625 478 | - 0.296875 479 | - 0.3046875 480 | - 0.3125 481 | - 0.3203125 482 | - 0.328125 483 | - 0.3359375 484 | - 0.34375 485 | - 0.3515625 486 | - 0.359375 487 | - 0.3671875 488 | - 0.375 489 | - 0.3828125 490 | - 0.390625 491 | - 0.3984375 492 | - 0.40625 493 | - 0.4140625 494 | - 0.421875 495 | - 0.4296875 496 | - 0.4375 497 | - 0.4453125 498 | - 0.453125 499 | - 0.4609375 500 | - 0.46875 501 | - 0.4765625 502 | - 0.484375 503 | - 0.4921875 504 | - 0.5 505 | - 0.5078125 506 | - 0.515625 507 | - 0.5234375 508 | - 0.53125 509 | - 0.5390625 510 | - 0.546875 511 | - 0.5546875 512 | - 0.5625 513 | - 0.5703125 514 | - 0.578125 515 | - 0.5859375 516 | - 0.59375 517 | - 0.6015625 518 | - 0.609375 519 | - 0.6171875 520 | - 0.625 521 | - 0.6328125 522 | - 0.640625 523 | - 0.6484375 524 | - 0.65625 525 | - 0.6640625 526 | - 0.671875 527 | - 0.6796875 528 | - 0.6875 529 | - 0.6953125 530 | - 0.703125 531 | - 0.7109375 532 | - 0.71875 533 | - 0.7265625 534 | - 0.734375 535 | - 0.7421875 536 | - 0.75 537 | - 0.7578125 538 | - 0.765625 539 | - 0.7734375 540 | - 0.78125 541 | - 0.7890625 542 | - 0.796875 543 | - 0.8046875 544 | - 0.8125 545 | - 0.8203125 546 | - 0.828125 547 | - 0.8359375 548 | - 0.84375 549 | - 0.8515625 550 | - 0.859375 551 | - 0.8671875 552 | - 0.875 553 | - 0.8828125 554 | - 0.890625 555 | - 0.8984375 556 | - 0.90625 557 | - 0.9140625 558 | - 0.921875 559 | - 0.9296875 560 | - 0.9375 561 | - 0.9453125 562 | - 0.953125 563 | - 0.9609375 564 | - 0.96875 565 | - 0.9765625 566 | - 0.984375 567 | - 0.9921875 568 | redCurve: 569 | overrideState: 0 570 | value: 571 | curve: 572 | serializedVersion: 2 573 | m_Curve: 574 | - serializedVersion: 3 575 | time: 0 576 | value: 0 577 | inSlope: 1 578 | outSlope: 1 579 | tangentMode: 0 580 | weightedMode: 0 581 | inWeight: 0 582 | outWeight: 0 583 | - serializedVersion: 3 584 | time: 1 585 | value: 1 586 | inSlope: 1 587 | outSlope: 1 588 | tangentMode: 0 589 | weightedMode: 0 590 | inWeight: 0 591 | outWeight: 0 592 | m_PreInfinity: 2 593 | m_PostInfinity: 2 594 | m_RotationOrder: 4 595 | m_Loop: 0 596 | m_ZeroValue: 0 597 | m_Range: 1 598 | cachedData: 599 | - 0 600 | - 0.0078125 601 | - 0.015625 602 | - 0.0234375 603 | - 0.03125 604 | - 0.0390625 605 | - 0.046875 606 | - 0.0546875 607 | - 0.0625 608 | - 0.0703125 609 | - 0.078125 610 | - 0.0859375 611 | - 0.09375 612 | - 0.1015625 613 | - 0.109375 614 | - 0.1171875 615 | - 0.125 616 | - 0.1328125 617 | - 0.140625 618 | - 0.1484375 619 | - 0.15625 620 | - 0.1640625 621 | - 0.171875 622 | - 0.1796875 623 | - 0.1875 624 | - 0.1953125 625 | - 0.203125 626 | - 0.2109375 627 | - 0.21875 628 | - 0.2265625 629 | - 0.234375 630 | - 0.2421875 631 | - 0.25 632 | - 0.2578125 633 | - 0.265625 634 | - 0.2734375 635 | - 0.28125 636 | - 0.2890625 637 | - 0.296875 638 | - 0.3046875 639 | - 0.3125 640 | - 0.3203125 641 | - 0.328125 642 | - 0.3359375 643 | - 0.34375 644 | - 0.3515625 645 | - 0.359375 646 | - 0.3671875 647 | - 0.375 648 | - 0.3828125 649 | - 0.390625 650 | - 0.3984375 651 | - 0.40625 652 | - 0.4140625 653 | - 0.421875 654 | - 0.4296875 655 | - 0.4375 656 | - 0.4453125 657 | - 0.453125 658 | - 0.4609375 659 | - 0.46875 660 | - 0.4765625 661 | - 0.484375 662 | - 0.4921875 663 | - 0.5 664 | - 0.5078125 665 | - 0.515625 666 | - 0.5234375 667 | - 0.53125 668 | - 0.5390625 669 | - 0.546875 670 | - 0.5546875 671 | - 0.5625 672 | - 0.5703125 673 | - 0.578125 674 | - 0.5859375 675 | - 0.59375 676 | - 0.6015625 677 | - 0.609375 678 | - 0.6171875 679 | - 0.625 680 | - 0.6328125 681 | - 0.640625 682 | - 0.6484375 683 | - 0.65625 684 | - 0.6640625 685 | - 0.671875 686 | - 0.6796875 687 | - 0.6875 688 | - 0.6953125 689 | - 0.703125 690 | - 0.7109375 691 | - 0.71875 692 | - 0.7265625 693 | - 0.734375 694 | - 0.7421875 695 | - 0.75 696 | - 0.7578125 697 | - 0.765625 698 | - 0.7734375 699 | - 0.78125 700 | - 0.7890625 701 | - 0.796875 702 | - 0.8046875 703 | - 0.8125 704 | - 0.8203125 705 | - 0.828125 706 | - 0.8359375 707 | - 0.84375 708 | - 0.8515625 709 | - 0.859375 710 | - 0.8671875 711 | - 0.875 712 | - 0.8828125 713 | - 0.890625 714 | - 0.8984375 715 | - 0.90625 716 | - 0.9140625 717 | - 0.921875 718 | - 0.9296875 719 | - 0.9375 720 | - 0.9453125 721 | - 0.953125 722 | - 0.9609375 723 | - 0.96875 724 | - 0.9765625 725 | - 0.984375 726 | - 0.9921875 727 | greenCurve: 728 | overrideState: 0 729 | value: 730 | curve: 731 | serializedVersion: 2 732 | m_Curve: 733 | - serializedVersion: 3 734 | time: 0 735 | value: 0 736 | inSlope: 1 737 | outSlope: 1 738 | tangentMode: 0 739 | weightedMode: 0 740 | inWeight: 0 741 | outWeight: 0 742 | - serializedVersion: 3 743 | time: 1 744 | value: 1 745 | inSlope: 1 746 | outSlope: 1 747 | tangentMode: 0 748 | weightedMode: 0 749 | inWeight: 0 750 | outWeight: 0 751 | m_PreInfinity: 2 752 | m_PostInfinity: 2 753 | m_RotationOrder: 4 754 | m_Loop: 0 755 | m_ZeroValue: 0 756 | m_Range: 1 757 | cachedData: 758 | - 0 759 | - 0.0078125 760 | - 0.015625 761 | - 0.0234375 762 | - 0.03125 763 | - 0.0390625 764 | - 0.046875 765 | - 0.0546875 766 | - 0.0625 767 | - 0.0703125 768 | - 0.078125 769 | - 0.0859375 770 | - 0.09375 771 | - 0.1015625 772 | - 0.109375 773 | - 0.1171875 774 | - 0.125 775 | - 0.1328125 776 | - 0.140625 777 | - 0.1484375 778 | - 0.15625 779 | - 0.1640625 780 | - 0.171875 781 | - 0.1796875 782 | - 0.1875 783 | - 0.1953125 784 | - 0.203125 785 | - 0.2109375 786 | - 0.21875 787 | - 0.2265625 788 | - 0.234375 789 | - 0.2421875 790 | - 0.25 791 | - 0.2578125 792 | - 0.265625 793 | - 0.2734375 794 | - 0.28125 795 | - 0.2890625 796 | - 0.296875 797 | - 0.3046875 798 | - 0.3125 799 | - 0.3203125 800 | - 0.328125 801 | - 0.3359375 802 | - 0.34375 803 | - 0.3515625 804 | - 0.359375 805 | - 0.3671875 806 | - 0.375 807 | - 0.3828125 808 | - 0.390625 809 | - 0.3984375 810 | - 0.40625 811 | - 0.4140625 812 | - 0.421875 813 | - 0.4296875 814 | - 0.4375 815 | - 0.4453125 816 | - 0.453125 817 | - 0.4609375 818 | - 0.46875 819 | - 0.4765625 820 | - 0.484375 821 | - 0.4921875 822 | - 0.5 823 | - 0.5078125 824 | - 0.515625 825 | - 0.5234375 826 | - 0.53125 827 | - 0.5390625 828 | - 0.546875 829 | - 0.5546875 830 | - 0.5625 831 | - 0.5703125 832 | - 0.578125 833 | - 0.5859375 834 | - 0.59375 835 | - 0.6015625 836 | - 0.609375 837 | - 0.6171875 838 | - 0.625 839 | - 0.6328125 840 | - 0.640625 841 | - 0.6484375 842 | - 0.65625 843 | - 0.6640625 844 | - 0.671875 845 | - 0.6796875 846 | - 0.6875 847 | - 0.6953125 848 | - 0.703125 849 | - 0.7109375 850 | - 0.71875 851 | - 0.7265625 852 | - 0.734375 853 | - 0.7421875 854 | - 0.75 855 | - 0.7578125 856 | - 0.765625 857 | - 0.7734375 858 | - 0.78125 859 | - 0.7890625 860 | - 0.796875 861 | - 0.8046875 862 | - 0.8125 863 | - 0.8203125 864 | - 0.828125 865 | - 0.8359375 866 | - 0.84375 867 | - 0.8515625 868 | - 0.859375 869 | - 0.8671875 870 | - 0.875 871 | - 0.8828125 872 | - 0.890625 873 | - 0.8984375 874 | - 0.90625 875 | - 0.9140625 876 | - 0.921875 877 | - 0.9296875 878 | - 0.9375 879 | - 0.9453125 880 | - 0.953125 881 | - 0.9609375 882 | - 0.96875 883 | - 0.9765625 884 | - 0.984375 885 | - 0.9921875 886 | blueCurve: 887 | overrideState: 0 888 | value: 889 | curve: 890 | serializedVersion: 2 891 | m_Curve: 892 | - serializedVersion: 3 893 | time: 0 894 | value: 0 895 | inSlope: 1 896 | outSlope: 1 897 | tangentMode: 0 898 | weightedMode: 0 899 | inWeight: 0 900 | outWeight: 0 901 | - serializedVersion: 3 902 | time: 1 903 | value: 1 904 | inSlope: 1 905 | outSlope: 1 906 | tangentMode: 0 907 | weightedMode: 0 908 | inWeight: 0 909 | outWeight: 0 910 | m_PreInfinity: 2 911 | m_PostInfinity: 2 912 | m_RotationOrder: 4 913 | m_Loop: 0 914 | m_ZeroValue: 0 915 | m_Range: 1 916 | cachedData: 917 | - 0 918 | - 0.0078125 919 | - 0.015625 920 | - 0.0234375 921 | - 0.03125 922 | - 0.0390625 923 | - 0.046875 924 | - 0.0546875 925 | - 0.0625 926 | - 0.0703125 927 | - 0.078125 928 | - 0.0859375 929 | - 0.09375 930 | - 0.1015625 931 | - 0.109375 932 | - 0.1171875 933 | - 0.125 934 | - 0.1328125 935 | - 0.140625 936 | - 0.1484375 937 | - 0.15625 938 | - 0.1640625 939 | - 0.171875 940 | - 0.1796875 941 | - 0.1875 942 | - 0.1953125 943 | - 0.203125 944 | - 0.2109375 945 | - 0.21875 946 | - 0.2265625 947 | - 0.234375 948 | - 0.2421875 949 | - 0.25 950 | - 0.2578125 951 | - 0.265625 952 | - 0.2734375 953 | - 0.28125 954 | - 0.2890625 955 | - 0.296875 956 | - 0.3046875 957 | - 0.3125 958 | - 0.3203125 959 | - 0.328125 960 | - 0.3359375 961 | - 0.34375 962 | - 0.3515625 963 | - 0.359375 964 | - 0.3671875 965 | - 0.375 966 | - 0.3828125 967 | - 0.390625 968 | - 0.3984375 969 | - 0.40625 970 | - 0.4140625 971 | - 0.421875 972 | - 0.4296875 973 | - 0.4375 974 | - 0.4453125 975 | - 0.453125 976 | - 0.4609375 977 | - 0.46875 978 | - 0.4765625 979 | - 0.484375 980 | - 0.4921875 981 | - 0.5 982 | - 0.5078125 983 | - 0.515625 984 | - 0.5234375 985 | - 0.53125 986 | - 0.5390625 987 | - 0.546875 988 | - 0.5546875 989 | - 0.5625 990 | - 0.5703125 991 | - 0.578125 992 | - 0.5859375 993 | - 0.59375 994 | - 0.6015625 995 | - 0.609375 996 | - 0.6171875 997 | - 0.625 998 | - 0.6328125 999 | - 0.640625 1000 | - 0.6484375 1001 | - 0.65625 1002 | - 0.6640625 1003 | - 0.671875 1004 | - 0.6796875 1005 | - 0.6875 1006 | - 0.6953125 1007 | - 0.703125 1008 | - 0.7109375 1009 | - 0.71875 1010 | - 0.7265625 1011 | - 0.734375 1012 | - 0.7421875 1013 | - 0.75 1014 | - 0.7578125 1015 | - 0.765625 1016 | - 0.7734375 1017 | - 0.78125 1018 | - 0.7890625 1019 | - 0.796875 1020 | - 0.8046875 1021 | - 0.8125 1022 | - 0.8203125 1023 | - 0.828125 1024 | - 0.8359375 1025 | - 0.84375 1026 | - 0.8515625 1027 | - 0.859375 1028 | - 0.8671875 1029 | - 0.875 1030 | - 0.8828125 1031 | - 0.890625 1032 | - 0.8984375 1033 | - 0.90625 1034 | - 0.9140625 1035 | - 0.921875 1036 | - 0.9296875 1037 | - 0.9375 1038 | - 0.9453125 1039 | - 0.953125 1040 | - 0.9609375 1041 | - 0.96875 1042 | - 0.9765625 1043 | - 0.984375 1044 | - 0.9921875 1045 | hueVsHueCurve: 1046 | overrideState: 0 1047 | value: 1048 | curve: 1049 | serializedVersion: 2 1050 | m_Curve: [] 1051 | m_PreInfinity: 2 1052 | m_PostInfinity: 2 1053 | m_RotationOrder: 4 1054 | m_Loop: 1 1055 | m_ZeroValue: 0.5 1056 | m_Range: 1 1057 | cachedData: 1058 | - 0.5 1059 | - 0.5 1060 | - 0.5 1061 | - 0.5 1062 | - 0.5 1063 | - 0.5 1064 | - 0.5 1065 | - 0.5 1066 | - 0.5 1067 | - 0.5 1068 | - 0.5 1069 | - 0.5 1070 | - 0.5 1071 | - 0.5 1072 | - 0.5 1073 | - 0.5 1074 | - 0.5 1075 | - 0.5 1076 | - 0.5 1077 | - 0.5 1078 | - 0.5 1079 | - 0.5 1080 | - 0.5 1081 | - 0.5 1082 | - 0.5 1083 | - 0.5 1084 | - 0.5 1085 | - 0.5 1086 | - 0.5 1087 | - 0.5 1088 | - 0.5 1089 | - 0.5 1090 | - 0.5 1091 | - 0.5 1092 | - 0.5 1093 | - 0.5 1094 | - 0.5 1095 | - 0.5 1096 | - 0.5 1097 | - 0.5 1098 | - 0.5 1099 | - 0.5 1100 | - 0.5 1101 | - 0.5 1102 | - 0.5 1103 | - 0.5 1104 | - 0.5 1105 | - 0.5 1106 | - 0.5 1107 | - 0.5 1108 | - 0.5 1109 | - 0.5 1110 | - 0.5 1111 | - 0.5 1112 | - 0.5 1113 | - 0.5 1114 | - 0.5 1115 | - 0.5 1116 | - 0.5 1117 | - 0.5 1118 | - 0.5 1119 | - 0.5 1120 | - 0.5 1121 | - 0.5 1122 | - 0.5 1123 | - 0.5 1124 | - 0.5 1125 | - 0.5 1126 | - 0.5 1127 | - 0.5 1128 | - 0.5 1129 | - 0.5 1130 | - 0.5 1131 | - 0.5 1132 | - 0.5 1133 | - 0.5 1134 | - 0.5 1135 | - 0.5 1136 | - 0.5 1137 | - 0.5 1138 | - 0.5 1139 | - 0.5 1140 | - 0.5 1141 | - 0.5 1142 | - 0.5 1143 | - 0.5 1144 | - 0.5 1145 | - 0.5 1146 | - 0.5 1147 | - 0.5 1148 | - 0.5 1149 | - 0.5 1150 | - 0.5 1151 | - 0.5 1152 | - 0.5 1153 | - 0.5 1154 | - 0.5 1155 | - 0.5 1156 | - 0.5 1157 | - 0.5 1158 | - 0.5 1159 | - 0.5 1160 | - 0.5 1161 | - 0.5 1162 | - 0.5 1163 | - 0.5 1164 | - 0.5 1165 | - 0.5 1166 | - 0.5 1167 | - 0.5 1168 | - 0.5 1169 | - 0.5 1170 | - 0.5 1171 | - 0.5 1172 | - 0.5 1173 | - 0.5 1174 | - 0.5 1175 | - 0.5 1176 | - 0.5 1177 | - 0.5 1178 | - 0.5 1179 | - 0.5 1180 | - 0.5 1181 | - 0.5 1182 | - 0.5 1183 | - 0.5 1184 | - 0.5 1185 | - 0.5 1186 | hueVsSatCurve: 1187 | overrideState: 0 1188 | value: 1189 | curve: 1190 | serializedVersion: 2 1191 | m_Curve: [] 1192 | m_PreInfinity: 2 1193 | m_PostInfinity: 2 1194 | m_RotationOrder: 4 1195 | m_Loop: 1 1196 | m_ZeroValue: 0.5 1197 | m_Range: 1 1198 | cachedData: 1199 | - 0.5 1200 | - 0.5 1201 | - 0.5 1202 | - 0.5 1203 | - 0.5 1204 | - 0.5 1205 | - 0.5 1206 | - 0.5 1207 | - 0.5 1208 | - 0.5 1209 | - 0.5 1210 | - 0.5 1211 | - 0.5 1212 | - 0.5 1213 | - 0.5 1214 | - 0.5 1215 | - 0.5 1216 | - 0.5 1217 | - 0.5 1218 | - 0.5 1219 | - 0.5 1220 | - 0.5 1221 | - 0.5 1222 | - 0.5 1223 | - 0.5 1224 | - 0.5 1225 | - 0.5 1226 | - 0.5 1227 | - 0.5 1228 | - 0.5 1229 | - 0.5 1230 | - 0.5 1231 | - 0.5 1232 | - 0.5 1233 | - 0.5 1234 | - 0.5 1235 | - 0.5 1236 | - 0.5 1237 | - 0.5 1238 | - 0.5 1239 | - 0.5 1240 | - 0.5 1241 | - 0.5 1242 | - 0.5 1243 | - 0.5 1244 | - 0.5 1245 | - 0.5 1246 | - 0.5 1247 | - 0.5 1248 | - 0.5 1249 | - 0.5 1250 | - 0.5 1251 | - 0.5 1252 | - 0.5 1253 | - 0.5 1254 | - 0.5 1255 | - 0.5 1256 | - 0.5 1257 | - 0.5 1258 | - 0.5 1259 | - 0.5 1260 | - 0.5 1261 | - 0.5 1262 | - 0.5 1263 | - 0.5 1264 | - 0.5 1265 | - 0.5 1266 | - 0.5 1267 | - 0.5 1268 | - 0.5 1269 | - 0.5 1270 | - 0.5 1271 | - 0.5 1272 | - 0.5 1273 | - 0.5 1274 | - 0.5 1275 | - 0.5 1276 | - 0.5 1277 | - 0.5 1278 | - 0.5 1279 | - 0.5 1280 | - 0.5 1281 | - 0.5 1282 | - 0.5 1283 | - 0.5 1284 | - 0.5 1285 | - 0.5 1286 | - 0.5 1287 | - 0.5 1288 | - 0.5 1289 | - 0.5 1290 | - 0.5 1291 | - 0.5 1292 | - 0.5 1293 | - 0.5 1294 | - 0.5 1295 | - 0.5 1296 | - 0.5 1297 | - 0.5 1298 | - 0.5 1299 | - 0.5 1300 | - 0.5 1301 | - 0.5 1302 | - 0.5 1303 | - 0.5 1304 | - 0.5 1305 | - 0.5 1306 | - 0.5 1307 | - 0.5 1308 | - 0.5 1309 | - 0.5 1310 | - 0.5 1311 | - 0.5 1312 | - 0.5 1313 | - 0.5 1314 | - 0.5 1315 | - 0.5 1316 | - 0.5 1317 | - 0.5 1318 | - 0.5 1319 | - 0.5 1320 | - 0.5 1321 | - 0.5 1322 | - 0.5 1323 | - 0.5 1324 | - 0.5 1325 | - 0.5 1326 | - 0.5 1327 | satVsSatCurve: 1328 | overrideState: 0 1329 | value: 1330 | curve: 1331 | serializedVersion: 2 1332 | m_Curve: [] 1333 | m_PreInfinity: 2 1334 | m_PostInfinity: 2 1335 | m_RotationOrder: 4 1336 | m_Loop: 0 1337 | m_ZeroValue: 0.5 1338 | m_Range: 1 1339 | cachedData: 1340 | - 0.5 1341 | - 0.5 1342 | - 0.5 1343 | - 0.5 1344 | - 0.5 1345 | - 0.5 1346 | - 0.5 1347 | - 0.5 1348 | - 0.5 1349 | - 0.5 1350 | - 0.5 1351 | - 0.5 1352 | - 0.5 1353 | - 0.5 1354 | - 0.5 1355 | - 0.5 1356 | - 0.5 1357 | - 0.5 1358 | - 0.5 1359 | - 0.5 1360 | - 0.5 1361 | - 0.5 1362 | - 0.5 1363 | - 0.5 1364 | - 0.5 1365 | - 0.5 1366 | - 0.5 1367 | - 0.5 1368 | - 0.5 1369 | - 0.5 1370 | - 0.5 1371 | - 0.5 1372 | - 0.5 1373 | - 0.5 1374 | - 0.5 1375 | - 0.5 1376 | - 0.5 1377 | - 0.5 1378 | - 0.5 1379 | - 0.5 1380 | - 0.5 1381 | - 0.5 1382 | - 0.5 1383 | - 0.5 1384 | - 0.5 1385 | - 0.5 1386 | - 0.5 1387 | - 0.5 1388 | - 0.5 1389 | - 0.5 1390 | - 0.5 1391 | - 0.5 1392 | - 0.5 1393 | - 0.5 1394 | - 0.5 1395 | - 0.5 1396 | - 0.5 1397 | - 0.5 1398 | - 0.5 1399 | - 0.5 1400 | - 0.5 1401 | - 0.5 1402 | - 0.5 1403 | - 0.5 1404 | - 0.5 1405 | - 0.5 1406 | - 0.5 1407 | - 0.5 1408 | - 0.5 1409 | - 0.5 1410 | - 0.5 1411 | - 0.5 1412 | - 0.5 1413 | - 0.5 1414 | - 0.5 1415 | - 0.5 1416 | - 0.5 1417 | - 0.5 1418 | - 0.5 1419 | - 0.5 1420 | - 0.5 1421 | - 0.5 1422 | - 0.5 1423 | - 0.5 1424 | - 0.5 1425 | - 0.5 1426 | - 0.5 1427 | - 0.5 1428 | - 0.5 1429 | - 0.5 1430 | - 0.5 1431 | - 0.5 1432 | - 0.5 1433 | - 0.5 1434 | - 0.5 1435 | - 0.5 1436 | - 0.5 1437 | - 0.5 1438 | - 0.5 1439 | - 0.5 1440 | - 0.5 1441 | - 0.5 1442 | - 0.5 1443 | - 0.5 1444 | - 0.5 1445 | - 0.5 1446 | - 0.5 1447 | - 0.5 1448 | - 0.5 1449 | - 0.5 1450 | - 0.5 1451 | - 0.5 1452 | - 0.5 1453 | - 0.5 1454 | - 0.5 1455 | - 0.5 1456 | - 0.5 1457 | - 0.5 1458 | - 0.5 1459 | - 0.5 1460 | - 0.5 1461 | - 0.5 1462 | - 0.5 1463 | - 0.5 1464 | - 0.5 1465 | - 0.5 1466 | - 0.5 1467 | - 0.5 1468 | lumVsSatCurve: 1469 | overrideState: 0 1470 | value: 1471 | curve: 1472 | serializedVersion: 2 1473 | m_Curve: [] 1474 | m_PreInfinity: 2 1475 | m_PostInfinity: 2 1476 | m_RotationOrder: 4 1477 | m_Loop: 0 1478 | m_ZeroValue: 0.5 1479 | m_Range: 1 1480 | cachedData: 1481 | - 0.5 1482 | - 0.5 1483 | - 0.5 1484 | - 0.5 1485 | - 0.5 1486 | - 0.5 1487 | - 0.5 1488 | - 0.5 1489 | - 0.5 1490 | - 0.5 1491 | - 0.5 1492 | - 0.5 1493 | - 0.5 1494 | - 0.5 1495 | - 0.5 1496 | - 0.5 1497 | - 0.5 1498 | - 0.5 1499 | - 0.5 1500 | - 0.5 1501 | - 0.5 1502 | - 0.5 1503 | - 0.5 1504 | - 0.5 1505 | - 0.5 1506 | - 0.5 1507 | - 0.5 1508 | - 0.5 1509 | - 0.5 1510 | - 0.5 1511 | - 0.5 1512 | - 0.5 1513 | - 0.5 1514 | - 0.5 1515 | - 0.5 1516 | - 0.5 1517 | - 0.5 1518 | - 0.5 1519 | - 0.5 1520 | - 0.5 1521 | - 0.5 1522 | - 0.5 1523 | - 0.5 1524 | - 0.5 1525 | - 0.5 1526 | - 0.5 1527 | - 0.5 1528 | - 0.5 1529 | - 0.5 1530 | - 0.5 1531 | - 0.5 1532 | - 0.5 1533 | - 0.5 1534 | - 0.5 1535 | - 0.5 1536 | - 0.5 1537 | - 0.5 1538 | - 0.5 1539 | - 0.5 1540 | - 0.5 1541 | - 0.5 1542 | - 0.5 1543 | - 0.5 1544 | - 0.5 1545 | - 0.5 1546 | - 0.5 1547 | - 0.5 1548 | - 0.5 1549 | - 0.5 1550 | - 0.5 1551 | - 0.5 1552 | - 0.5 1553 | - 0.5 1554 | - 0.5 1555 | - 0.5 1556 | - 0.5 1557 | - 0.5 1558 | - 0.5 1559 | - 0.5 1560 | - 0.5 1561 | - 0.5 1562 | - 0.5 1563 | - 0.5 1564 | - 0.5 1565 | - 0.5 1566 | - 0.5 1567 | - 0.5 1568 | - 0.5 1569 | - 0.5 1570 | - 0.5 1571 | - 0.5 1572 | - 0.5 1573 | - 0.5 1574 | - 0.5 1575 | - 0.5 1576 | - 0.5 1577 | - 0.5 1578 | - 0.5 1579 | - 0.5 1580 | - 0.5 1581 | - 0.5 1582 | - 0.5 1583 | - 0.5 1584 | - 0.5 1585 | - 0.5 1586 | - 0.5 1587 | - 0.5 1588 | - 0.5 1589 | - 0.5 1590 | - 0.5 1591 | - 0.5 1592 | - 0.5 1593 | - 0.5 1594 | - 0.5 1595 | - 0.5 1596 | - 0.5 1597 | - 0.5 1598 | - 0.5 1599 | - 0.5 1600 | - 0.5 1601 | - 0.5 1602 | - 0.5 1603 | - 0.5 1604 | - 0.5 1605 | - 0.5 1606 | - 0.5 1607 | - 0.5 1608 | - 0.5 1609 | -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter_Samples/Scene/SeparableSubsurfaceScatterExample/SeparableSubsurfaceScatter PostProcessing.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 74f79f1ca0b19404d88fd916c6819950 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter_Samples/Script.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 146a6543812e2974c8b2a72d0dee45b3 3 | folderAsset: yes 4 | timeCreated: 1527088741 5 | licenseType: Free 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter_Samples/Script/FreeCamera.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | public class FreeCamera : MonoBehaviour { 4 | #if UNITY_EDITOR 5 | static Texture2D ms_invisibleCursor = null; 6 | #endif 7 | 8 | public bool enableInputCapture = true; 9 | public bool holdRightMouseCapture = false; 10 | 11 | public float lookSpeed = 5f; 12 | public float moveSpeed = 5f; 13 | public float sprintSpeed = 50f; 14 | 15 | bool m_inputCaptured; 16 | float m_yaw; 17 | float m_pitch; 18 | 19 | void Awake() { 20 | enabled = enableInputCapture; 21 | } 22 | 23 | void OnValidate() { 24 | if(Application.isPlaying) 25 | enabled = enableInputCapture; 26 | } 27 | 28 | void CaptureInput() { 29 | //按下后隐藏鼠标 30 | Cursor.lockState = CursorLockMode.Locked; 31 | //Cursor.lockState = CursorLockMode.None; 32 | 33 | #if UNITY_EDITOR 34 | Cursor.SetCursor(ms_invisibleCursor, Vector2.zero, CursorMode.ForceSoftware); 35 | #else 36 | Cursor.visible = false; 37 | #endif 38 | m_inputCaptured = true; 39 | 40 | m_yaw = transform.eulerAngles.y; 41 | //m_yaw = Input.mousePosition.y; 42 | m_pitch = transform.eulerAngles.x; 43 | //m_pitch = Input.mousePosition.x; 44 | } 45 | 46 | void ReleaseInput() { 47 | Cursor.lockState = CursorLockMode.None; 48 | #if UNITY_EDITOR 49 | Cursor.SetCursor(null, Vector2.zero, CursorMode.Auto); 50 | #else 51 | Cursor.visible = true; 52 | #endif 53 | m_inputCaptured = false; 54 | } 55 | 56 | void OnApplicationFocus(bool focus) { 57 | if(m_inputCaptured && !focus) 58 | ReleaseInput(); 59 | } 60 | 61 | void Update() { 62 | if(!m_inputCaptured) { 63 | if(!holdRightMouseCapture && Input.GetMouseButtonDown(0)) 64 | CaptureInput(); 65 | else if(holdRightMouseCapture && Input.GetMouseButtonDown(1)) 66 | CaptureInput(); 67 | } 68 | 69 | if(!m_inputCaptured) 70 | return; 71 | 72 | if(m_inputCaptured) { 73 | if(!holdRightMouseCapture && Input.GetKeyDown(KeyCode.Escape)) 74 | ReleaseInput(); 75 | else if(holdRightMouseCapture && Input.GetMouseButtonUp(1)) 76 | ReleaseInput(); 77 | } 78 | 79 | var rotStrafe = Input.GetAxis("Mouse X"); 80 | var rotFwd = Input.GetAxis("Mouse Y"); 81 | 82 | m_yaw = (m_yaw + lookSpeed * rotStrafe) % 360f; 83 | m_pitch = (m_pitch - lookSpeed * rotFwd) % 360f; 84 | transform.rotation = Quaternion.AngleAxis(m_yaw, Vector3.up) * Quaternion.AngleAxis(m_pitch, Vector3.right); 85 | 86 | var speed = Time.deltaTime * (Input.GetKey(KeyCode.LeftShift) ? sprintSpeed : moveSpeed); 87 | var forward = speed * Input.GetAxis("Vertical"); 88 | var right = speed * Input.GetAxis("Horizontal"); 89 | var up = speed * ((Input.GetKey(KeyCode.E) ? 1f : 0f) - (Input.GetKey(KeyCode.Q) ? 1f : 0f)); 90 | transform.position += transform.forward * forward + transform.right * right + Vector3.up * up; 91 | } 92 | } 93 | -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter_Samples/Script/FreeCamera.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ed0835fcb2ec19c47b2ee2057a9ac734 3 | timeCreated: 1527089476 4 | licenseType: Free 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter_Samples/Texture.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 59e3a664efc25a54a80f59eca910a235 3 | folderAsset: yes 4 | timeCreated: 1509804643 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter_Samples/Texture/Head2.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7729df754b089a44ca6b50f1588ad558 3 | folderAsset: yes 4 | timeCreated: 1510663076 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter_Samples/Texture/Head2/Head_02_AO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohannesDeml/Unity-Human-Skin-Shader-PC/8a9ad85ca4877121d669a220e6f1e116ed2639eb/Assets/SeparableSubsurfaceScatter_Samples/Texture/Head2/Head_02_AO.png -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter_Samples/Texture/Head2/Head_02_AO.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1c702b23c4b924648b3585f7f77af4eb 3 | timeCreated: 1528042334 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | externalObjects: {} 8 | serializedVersion: 4 9 | mipmaps: 10 | mipMapMode: 0 11 | enableMipMap: 1 12 | sRGBTexture: 1 13 | linearTexture: 0 14 | fadeOut: 0 15 | borderMipMap: 0 16 | mipMapsPreserveCoverage: 0 17 | alphaTestReferenceValue: 0.5 18 | mipMapFadeDistanceStart: 1 19 | mipMapFadeDistanceEnd: 3 20 | bumpmap: 21 | convertToNormalMap: 0 22 | externalNormalMap: 0 23 | heightScale: 0.25 24 | normalMapFilter: 0 25 | isReadable: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -1 37 | wrapU: -1 38 | wrapV: -1 39 | wrapW: -1 40 | nPOTScale: 1 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 0 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 0 53 | spriteTessellationDetail: -1 54 | textureType: 0 55 | textureShape: 1 56 | maxTextureSizeSet: 0 57 | compressionQualitySet: 0 58 | textureFormatSet: 0 59 | platformSettings: 60 | - buildTarget: DefaultTexturePlatform 61 | maxTextureSize: 2048 62 | resizeAlgorithm: 0 63 | textureFormat: -1 64 | textureCompression: 1 65 | compressionQuality: 50 66 | crunchedCompression: 0 67 | allowsAlphaSplitting: 0 68 | overridden: 0 69 | androidETC2FallbackOverride: 0 70 | spriteSheet: 71 | serializedVersion: 2 72 | sprites: [] 73 | outline: [] 74 | physicsShape: [] 75 | spritePackingTag: 76 | userData: 77 | assetBundleName: 78 | assetBundleVariant: 79 | -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter_Samples/Texture/Head2/Head_02_Albedo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohannesDeml/Unity-Human-Skin-Shader-PC/8a9ad85ca4877121d669a220e6f1e116ed2639eb/Assets/SeparableSubsurfaceScatter_Samples/Texture/Head2/Head_02_Albedo.png -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter_Samples/Texture/Head2/Head_02_Albedo.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 163db8200b9921647b309f6005fd9135 3 | timeCreated: 1527091288 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | externalObjects: {} 8 | serializedVersion: 4 9 | mipmaps: 10 | mipMapMode: 0 11 | enableMipMap: 1 12 | sRGBTexture: 1 13 | linearTexture: 0 14 | fadeOut: 0 15 | borderMipMap: 0 16 | mipMapsPreserveCoverage: 0 17 | alphaTestReferenceValue: 0.5 18 | mipMapFadeDistanceStart: 1 19 | mipMapFadeDistanceEnd: 3 20 | bumpmap: 21 | convertToNormalMap: 0 22 | externalNormalMap: 0 23 | heightScale: 0.25 24 | normalMapFilter: 0 25 | isReadable: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -1 37 | wrapU: -1 38 | wrapV: -1 39 | wrapW: -1 40 | nPOTScale: 1 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 0 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 0 53 | spriteTessellationDetail: -1 54 | textureType: 0 55 | textureShape: 1 56 | maxTextureSizeSet: 0 57 | compressionQualitySet: 0 58 | textureFormatSet: 0 59 | platformSettings: 60 | - buildTarget: DefaultTexturePlatform 61 | maxTextureSize: 4096 62 | resizeAlgorithm: 0 63 | textureFormat: -1 64 | textureCompression: 1 65 | compressionQuality: 50 66 | crunchedCompression: 0 67 | allowsAlphaSplitting: 0 68 | overridden: 0 69 | androidETC2FallbackOverride: 0 70 | - buildTarget: Standalone 71 | maxTextureSize: 4096 72 | resizeAlgorithm: 0 73 | textureFormat: -1 74 | textureCompression: 1 75 | compressionQuality: 50 76 | crunchedCompression: 0 77 | allowsAlphaSplitting: 0 78 | overridden: 0 79 | androidETC2FallbackOverride: 0 80 | spriteSheet: 81 | serializedVersion: 2 82 | sprites: [] 83 | outline: [] 84 | physicsShape: [] 85 | spritePackingTag: 86 | userData: 87 | assetBundleName: 88 | assetBundleVariant: 89 | -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter_Samples/Texture/Head2/Head_02_Normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohannesDeml/Unity-Human-Skin-Shader-PC/8a9ad85ca4877121d669a220e6f1e116ed2639eb/Assets/SeparableSubsurfaceScatter_Samples/Texture/Head2/Head_02_Normal.png -------------------------------------------------------------------------------- /Assets/SeparableSubsurfaceScatter_Samples/Texture/Head2/Head_02_Normal.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a6aeef83de2b12540a15c8efd6040a5f 3 | timeCreated: 1527091298 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | externalObjects: {} 8 | serializedVersion: 4 9 | mipmaps: 10 | mipMapMode: 0 11 | enableMipMap: 1 12 | sRGBTexture: 0 13 | linearTexture: 0 14 | fadeOut: 0 15 | borderMipMap: 0 16 | mipMapsPreserveCoverage: 0 17 | alphaTestReferenceValue: 0.5 18 | mipMapFadeDistanceStart: 1 19 | mipMapFadeDistanceEnd: 3 20 | bumpmap: 21 | convertToNormalMap: 0 22 | externalNormalMap: 0 23 | heightScale: 0.25 24 | normalMapFilter: 0 25 | isReadable: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -1 37 | wrapU: -1 38 | wrapV: -1 39 | wrapW: -1 40 | nPOTScale: 1 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 0 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 0 53 | spriteTessellationDetail: -1 54 | textureType: 1 55 | textureShape: 1 56 | maxTextureSizeSet: 0 57 | compressionQualitySet: 0 58 | textureFormatSet: 0 59 | platformSettings: 60 | - buildTarget: DefaultTexturePlatform 61 | maxTextureSize: 2048 62 | resizeAlgorithm: 0 63 | textureFormat: -1 64 | textureCompression: 1 65 | compressionQuality: 50 66 | crunchedCompression: 0 67 | allowsAlphaSplitting: 0 68 | overridden: 0 69 | androidETC2FallbackOverride: 0 70 | - buildTarget: Standalone 71 | maxTextureSize: 2048 72 | resizeAlgorithm: 0 73 | textureFormat: -1 74 | textureCompression: 1 75 | compressionQuality: 50 76 | crunchedCompression: 0 77 | allowsAlphaSplitting: 0 78 | overridden: 0 79 | androidETC2FallbackOverride: 0 80 | spriteSheet: 81 | serializedVersion: 2 82 | sprites: [] 83 | outline: [] 84 | physicsShape: [] 85 | spritePackingTag: 86 | userData: 87 | assetBundleName: 88 | assetBundleVariant: 89 | -------------------------------------------------------------------------------- /Documentation/SSS-Example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohannesDeml/Unity-Human-Skin-Shader-PC/8a9ad85ca4877121d669a220e6f1e116ed2639eb/Documentation/SSS-Example.png -------------------------------------------------------------------------------- /Packages/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "com.unity.ide.rider": "3.0.16", 4 | "com.unity.ide.visualstudio": "2.0.16", 5 | "com.unity.ide.vscode": "1.2.5", 6 | "com.unity.postprocessing": "3.2.2", 7 | "com.unity.ugui": "1.0.0", 8 | "com.unity.modules.ai": "1.0.0", 9 | "com.unity.modules.androidjni": "1.0.0", 10 | "com.unity.modules.animation": "1.0.0", 11 | "com.unity.modules.assetbundle": "1.0.0", 12 | "com.unity.modules.audio": "1.0.0", 13 | "com.unity.modules.cloth": "1.0.0", 14 | "com.unity.modules.director": "1.0.0", 15 | "com.unity.modules.imageconversion": "1.0.0", 16 | "com.unity.modules.imgui": "1.0.0", 17 | "com.unity.modules.jsonserialize": "1.0.0", 18 | "com.unity.modules.particlesystem": "1.0.0", 19 | "com.unity.modules.physics": "1.0.0", 20 | "com.unity.modules.physics2d": "1.0.0", 21 | "com.unity.modules.screencapture": "1.0.0", 22 | "com.unity.modules.terrain": "1.0.0", 23 | "com.unity.modules.terrainphysics": "1.0.0", 24 | "com.unity.modules.tilemap": "1.0.0", 25 | "com.unity.modules.ui": "1.0.0", 26 | "com.unity.modules.uielements": "1.0.0", 27 | "com.unity.modules.umbra": "1.0.0", 28 | "com.unity.modules.unityanalytics": "1.0.0", 29 | "com.unity.modules.unitywebrequest": "1.0.0", 30 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0", 31 | "com.unity.modules.unitywebrequestaudio": "1.0.0", 32 | "com.unity.modules.unitywebrequesttexture": "1.0.0", 33 | "com.unity.modules.unitywebrequestwww": "1.0.0", 34 | "com.unity.modules.vehicles": "1.0.0", 35 | "com.unity.modules.video": "1.0.0", 36 | "com.unity.modules.vr": "1.0.0", 37 | "com.unity.modules.wind": "1.0.0", 38 | "com.unity.modules.xr": "1.0.0" 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /Packages/packages-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "com.unity.ext.nunit": { 4 | "version": "1.0.6", 5 | "depth": 1, 6 | "source": "registry", 7 | "dependencies": {}, 8 | "url": "https://packages.unity.com" 9 | }, 10 | "com.unity.ide.rider": { 11 | "version": "3.0.16", 12 | "depth": 0, 13 | "source": "registry", 14 | "dependencies": { 15 | "com.unity.ext.nunit": "1.0.6" 16 | }, 17 | "url": "https://packages.unity.com" 18 | }, 19 | "com.unity.ide.visualstudio": { 20 | "version": "2.0.16", 21 | "depth": 0, 22 | "source": "registry", 23 | "dependencies": { 24 | "com.unity.test-framework": "1.1.9" 25 | }, 26 | "url": "https://packages.unity.com" 27 | }, 28 | "com.unity.ide.vscode": { 29 | "version": "1.2.5", 30 | "depth": 0, 31 | "source": "registry", 32 | "dependencies": {}, 33 | "url": "https://packages.unity.com" 34 | }, 35 | "com.unity.postprocessing": { 36 | "version": "3.2.2", 37 | "depth": 0, 38 | "source": "registry", 39 | "dependencies": { 40 | "com.unity.modules.physics": "1.0.0" 41 | }, 42 | "url": "https://packages.unity.com" 43 | }, 44 | "com.unity.test-framework": { 45 | "version": "1.1.31", 46 | "depth": 1, 47 | "source": "registry", 48 | "dependencies": { 49 | "com.unity.ext.nunit": "1.0.6", 50 | "com.unity.modules.imgui": "1.0.0", 51 | "com.unity.modules.jsonserialize": "1.0.0" 52 | }, 53 | "url": "https://packages.unity.com" 54 | }, 55 | "com.unity.ugui": { 56 | "version": "1.0.0", 57 | "depth": 0, 58 | "source": "builtin", 59 | "dependencies": { 60 | "com.unity.modules.ui": "1.0.0", 61 | "com.unity.modules.imgui": "1.0.0" 62 | } 63 | }, 64 | "com.unity.modules.ai": { 65 | "version": "1.0.0", 66 | "depth": 0, 67 | "source": "builtin", 68 | "dependencies": {} 69 | }, 70 | "com.unity.modules.androidjni": { 71 | "version": "1.0.0", 72 | "depth": 0, 73 | "source": "builtin", 74 | "dependencies": {} 75 | }, 76 | "com.unity.modules.animation": { 77 | "version": "1.0.0", 78 | "depth": 0, 79 | "source": "builtin", 80 | "dependencies": {} 81 | }, 82 | "com.unity.modules.assetbundle": { 83 | "version": "1.0.0", 84 | "depth": 0, 85 | "source": "builtin", 86 | "dependencies": {} 87 | }, 88 | "com.unity.modules.audio": { 89 | "version": "1.0.0", 90 | "depth": 0, 91 | "source": "builtin", 92 | "dependencies": {} 93 | }, 94 | "com.unity.modules.cloth": { 95 | "version": "1.0.0", 96 | "depth": 0, 97 | "source": "builtin", 98 | "dependencies": { 99 | "com.unity.modules.physics": "1.0.0" 100 | } 101 | }, 102 | "com.unity.modules.director": { 103 | "version": "1.0.0", 104 | "depth": 0, 105 | "source": "builtin", 106 | "dependencies": { 107 | "com.unity.modules.audio": "1.0.0", 108 | "com.unity.modules.animation": "1.0.0" 109 | } 110 | }, 111 | "com.unity.modules.imageconversion": { 112 | "version": "1.0.0", 113 | "depth": 0, 114 | "source": "builtin", 115 | "dependencies": {} 116 | }, 117 | "com.unity.modules.imgui": { 118 | "version": "1.0.0", 119 | "depth": 0, 120 | "source": "builtin", 121 | "dependencies": {} 122 | }, 123 | "com.unity.modules.jsonserialize": { 124 | "version": "1.0.0", 125 | "depth": 0, 126 | "source": "builtin", 127 | "dependencies": {} 128 | }, 129 | "com.unity.modules.particlesystem": { 130 | "version": "1.0.0", 131 | "depth": 0, 132 | "source": "builtin", 133 | "dependencies": {} 134 | }, 135 | "com.unity.modules.physics": { 136 | "version": "1.0.0", 137 | "depth": 0, 138 | "source": "builtin", 139 | "dependencies": {} 140 | }, 141 | "com.unity.modules.physics2d": { 142 | "version": "1.0.0", 143 | "depth": 0, 144 | "source": "builtin", 145 | "dependencies": {} 146 | }, 147 | "com.unity.modules.screencapture": { 148 | "version": "1.0.0", 149 | "depth": 0, 150 | "source": "builtin", 151 | "dependencies": { 152 | "com.unity.modules.imageconversion": "1.0.0" 153 | } 154 | }, 155 | "com.unity.modules.subsystems": { 156 | "version": "1.0.0", 157 | "depth": 1, 158 | "source": "builtin", 159 | "dependencies": { 160 | "com.unity.modules.jsonserialize": "1.0.0" 161 | } 162 | }, 163 | "com.unity.modules.terrain": { 164 | "version": "1.0.0", 165 | "depth": 0, 166 | "source": "builtin", 167 | "dependencies": {} 168 | }, 169 | "com.unity.modules.terrainphysics": { 170 | "version": "1.0.0", 171 | "depth": 0, 172 | "source": "builtin", 173 | "dependencies": { 174 | "com.unity.modules.physics": "1.0.0", 175 | "com.unity.modules.terrain": "1.0.0" 176 | } 177 | }, 178 | "com.unity.modules.tilemap": { 179 | "version": "1.0.0", 180 | "depth": 0, 181 | "source": "builtin", 182 | "dependencies": { 183 | "com.unity.modules.physics2d": "1.0.0" 184 | } 185 | }, 186 | "com.unity.modules.ui": { 187 | "version": "1.0.0", 188 | "depth": 0, 189 | "source": "builtin", 190 | "dependencies": {} 191 | }, 192 | "com.unity.modules.uielements": { 193 | "version": "1.0.0", 194 | "depth": 0, 195 | "source": "builtin", 196 | "dependencies": { 197 | "com.unity.modules.ui": "1.0.0", 198 | "com.unity.modules.imgui": "1.0.0", 199 | "com.unity.modules.jsonserialize": "1.0.0", 200 | "com.unity.modules.uielementsnative": "1.0.0" 201 | } 202 | }, 203 | "com.unity.modules.uielementsnative": { 204 | "version": "1.0.0", 205 | "depth": 1, 206 | "source": "builtin", 207 | "dependencies": { 208 | "com.unity.modules.ui": "1.0.0", 209 | "com.unity.modules.imgui": "1.0.0", 210 | "com.unity.modules.jsonserialize": "1.0.0" 211 | } 212 | }, 213 | "com.unity.modules.umbra": { 214 | "version": "1.0.0", 215 | "depth": 0, 216 | "source": "builtin", 217 | "dependencies": {} 218 | }, 219 | "com.unity.modules.unityanalytics": { 220 | "version": "1.0.0", 221 | "depth": 0, 222 | "source": "builtin", 223 | "dependencies": { 224 | "com.unity.modules.unitywebrequest": "1.0.0", 225 | "com.unity.modules.jsonserialize": "1.0.0" 226 | } 227 | }, 228 | "com.unity.modules.unitywebrequest": { 229 | "version": "1.0.0", 230 | "depth": 0, 231 | "source": "builtin", 232 | "dependencies": {} 233 | }, 234 | "com.unity.modules.unitywebrequestassetbundle": { 235 | "version": "1.0.0", 236 | "depth": 0, 237 | "source": "builtin", 238 | "dependencies": { 239 | "com.unity.modules.assetbundle": "1.0.0", 240 | "com.unity.modules.unitywebrequest": "1.0.0" 241 | } 242 | }, 243 | "com.unity.modules.unitywebrequestaudio": { 244 | "version": "1.0.0", 245 | "depth": 0, 246 | "source": "builtin", 247 | "dependencies": { 248 | "com.unity.modules.unitywebrequest": "1.0.0", 249 | "com.unity.modules.audio": "1.0.0" 250 | } 251 | }, 252 | "com.unity.modules.unitywebrequesttexture": { 253 | "version": "1.0.0", 254 | "depth": 0, 255 | "source": "builtin", 256 | "dependencies": { 257 | "com.unity.modules.unitywebrequest": "1.0.0", 258 | "com.unity.modules.imageconversion": "1.0.0" 259 | } 260 | }, 261 | "com.unity.modules.unitywebrequestwww": { 262 | "version": "1.0.0", 263 | "depth": 0, 264 | "source": "builtin", 265 | "dependencies": { 266 | "com.unity.modules.unitywebrequest": "1.0.0", 267 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0", 268 | "com.unity.modules.unitywebrequestaudio": "1.0.0", 269 | "com.unity.modules.audio": "1.0.0", 270 | "com.unity.modules.assetbundle": "1.0.0", 271 | "com.unity.modules.imageconversion": "1.0.0" 272 | } 273 | }, 274 | "com.unity.modules.vehicles": { 275 | "version": "1.0.0", 276 | "depth": 0, 277 | "source": "builtin", 278 | "dependencies": { 279 | "com.unity.modules.physics": "1.0.0" 280 | } 281 | }, 282 | "com.unity.modules.video": { 283 | "version": "1.0.0", 284 | "depth": 0, 285 | "source": "builtin", 286 | "dependencies": { 287 | "com.unity.modules.audio": "1.0.0", 288 | "com.unity.modules.ui": "1.0.0", 289 | "com.unity.modules.unitywebrequest": "1.0.0" 290 | } 291 | }, 292 | "com.unity.modules.vr": { 293 | "version": "1.0.0", 294 | "depth": 0, 295 | "source": "builtin", 296 | "dependencies": { 297 | "com.unity.modules.jsonserialize": "1.0.0", 298 | "com.unity.modules.physics": "1.0.0", 299 | "com.unity.modules.xr": "1.0.0" 300 | } 301 | }, 302 | "com.unity.modules.wind": { 303 | "version": "1.0.0", 304 | "depth": 0, 305 | "source": "builtin", 306 | "dependencies": {} 307 | }, 308 | "com.unity.modules.xr": { 309 | "version": "1.0.0", 310 | "depth": 0, 311 | "source": "builtin", 312 | "dependencies": { 313 | "com.unity.modules.physics": "1.0.0", 314 | "com.unity.modules.jsonserialize": "1.0.0", 315 | "com.unity.modules.subsystems": "1.0.0" 316 | } 317 | } 318 | } 319 | } 320 | -------------------------------------------------------------------------------- /ProjectSettings/AudioManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!11 &1 4 | AudioManager: 5 | m_ObjectHideFlags: 0 6 | m_Volume: 1 7 | Rolloff Scale: 1 8 | Doppler Factor: 1 9 | Default Speaker Mode: 2 10 | m_SampleRate: 0 11 | m_DSPBufferSize: 1024 12 | m_VirtualVoiceCount: 512 13 | m_RealVoiceCount: 32 14 | m_SpatializerPlugin: 15 | m_AmbisonicDecoderPlugin: 16 | m_DisableAudio: 0 17 | m_VirtualizeEffects: 1 18 | -------------------------------------------------------------------------------- /ProjectSettings/ClusterInputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!236 &1 4 | ClusterInputManager: 5 | m_ObjectHideFlags: 0 6 | m_Inputs: [] 7 | -------------------------------------------------------------------------------- /ProjectSettings/DynamicsManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!55 &1 4 | PhysicsManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 7 7 | m_Gravity: {x: 0, y: -9.81, z: 0} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_BounceThreshold: 2 10 | m_SleepThreshold: 0.005 11 | m_DefaultContactOffset: 0.01 12 | m_DefaultSolverIterations: 6 13 | m_DefaultSolverVelocityIterations: 1 14 | m_QueriesHitBackfaces: 0 15 | m_QueriesHitTriggers: 1 16 | m_EnableAdaptiveForce: 0 17 | m_ClothInterCollisionDistance: 0 18 | m_ClothInterCollisionStiffness: 0 19 | m_ContactsGeneration: 1 20 | m_LayerCollisionMatrix: fffffffffffffffffbffffffffffffffffffffffdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 21 | m_AutoSimulation: 1 22 | m_AutoSyncTransforms: 1 23 | m_ClothInterCollisionSettingsToggle: 0 24 | m_ContactPairsMode: 0 25 | m_BroadphaseType: 0 26 | m_WorldBounds: 27 | m_Center: {x: 0, y: 0, z: 0} 28 | m_Extent: {x: 50, y: 50, z: 50} 29 | m_WorldSubdivisions: 16 30 | -------------------------------------------------------------------------------- /ProjectSettings/EditorBuildSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1045 &1 4 | EditorBuildSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Scenes: 8 | - enabled: 1 9 | path: Assets/Scenes/SampleScene.unity 10 | guid: 99c9720ab356a0642a771bea13969a05 11 | m_configObjects: {} 12 | -------------------------------------------------------------------------------- /ProjectSettings/EditorSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!159 &1 4 | EditorSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 9 7 | m_ExternalVersionControlSupport: Visible Meta Files 8 | m_SerializationMode: 2 9 | m_LineEndingsForNewScripts: 2 10 | m_DefaultBehaviorMode: 0 11 | m_PrefabRegularEnvironment: {fileID: 0} 12 | m_PrefabUIEnvironment: {fileID: 0} 13 | m_SpritePackerMode: 0 14 | m_SpritePackerPaddingPower: 1 15 | m_EtcTextureCompressorBehavior: 1 16 | m_EtcTextureFastCompressor: 1 17 | m_EtcTextureNormalCompressor: 2 18 | m_EtcTextureBestCompressor: 4 19 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmref 20 | m_ProjectGenerationRootNamespace: 21 | m_CollabEditorSettings: 22 | inProgressEnabled: 1 23 | m_EnableTextureStreamingInEditMode: 1 24 | m_EnableTextureStreamingInPlayMode: 1 25 | m_AsyncShaderCompilation: 1 26 | m_EnterPlayModeOptionsEnabled: 1 27 | m_EnterPlayModeOptions: 1 28 | m_ShowLightmapResolutionOverlay: 1 29 | m_UseLegacyProbeSampleCount: 1 30 | m_AssetPipelineMode: 1 31 | m_CacheServerMode: 0 32 | m_CacheServerEndpoint: 33 | m_CacheServerNamespacePrefix: default 34 | m_CacheServerEnableDownload: 1 35 | m_CacheServerEnableUpload: 1 36 | -------------------------------------------------------------------------------- /ProjectSettings/GraphicsSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!30 &1 4 | GraphicsSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 13 7 | m_Deferred: 8 | m_Mode: 1 9 | m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} 10 | m_DeferredReflections: 11 | m_Mode: 1 12 | m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0} 13 | m_ScreenSpaceShadows: 14 | m_Mode: 1 15 | m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0} 16 | m_LegacyDeferred: 17 | m_Mode: 1 18 | m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0} 19 | m_DepthNormals: 20 | m_Mode: 1 21 | m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0} 22 | m_MotionVectors: 23 | m_Mode: 1 24 | m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0} 25 | m_LightHalo: 26 | m_Mode: 1 27 | m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0} 28 | m_LensFlare: 29 | m_Mode: 1 30 | m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0} 31 | m_AlwaysIncludedShaders: 32 | - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} 33 | - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0} 34 | - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0} 35 | - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} 36 | - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0} 37 | - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} 38 | m_PreloadedShaders: [] 39 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, 40 | type: 0} 41 | m_CustomRenderPipeline: {fileID: 0} 42 | m_TransparencySortMode: 0 43 | m_TransparencySortAxis: {x: 0, y: 0, z: 1} 44 | m_DefaultRenderingPath: 1 45 | m_DefaultMobileRenderingPath: 1 46 | m_TierSettings: [] 47 | m_LightmapStripping: 0 48 | m_FogStripping: 0 49 | m_InstancingStripping: 0 50 | m_LightmapKeepPlain: 1 51 | m_LightmapKeepDirCombined: 1 52 | m_LightmapKeepDynamicPlain: 1 53 | m_LightmapKeepDynamicDirCombined: 1 54 | m_LightmapKeepShadowMask: 1 55 | m_LightmapKeepSubtractive: 1 56 | m_FogKeepLinear: 1 57 | m_FogKeepExp: 1 58 | m_FogKeepExp2: 1 59 | m_AlbedoSwatchInfos: [] 60 | m_LightsUseLinearIntensity: 0 61 | m_LightsUseColorTemperature: 0 62 | m_LogWhenShaderIsCompiled: 0 63 | m_AllowEnlightenSupportForUpgradedProject: 1 64 | -------------------------------------------------------------------------------- /ProjectSettings/InputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!13 &1 4 | InputManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Axes: 8 | - serializedVersion: 3 9 | m_Name: Horizontal 10 | descriptiveName: 11 | descriptiveNegativeName: 12 | negativeButton: left 13 | positiveButton: right 14 | altNegativeButton: a 15 | altPositiveButton: d 16 | gravity: 3 17 | dead: 0.001 18 | sensitivity: 3 19 | snap: 1 20 | invert: 0 21 | type: 0 22 | axis: 0 23 | joyNum: 0 24 | - serializedVersion: 3 25 | m_Name: Vertical 26 | descriptiveName: 27 | descriptiveNegativeName: 28 | negativeButton: down 29 | positiveButton: up 30 | altNegativeButton: s 31 | altPositiveButton: w 32 | gravity: 3 33 | dead: 0.001 34 | sensitivity: 3 35 | snap: 1 36 | invert: 0 37 | type: 0 38 | axis: 0 39 | joyNum: 0 40 | - serializedVersion: 3 41 | m_Name: Fire1 42 | descriptiveName: 43 | descriptiveNegativeName: 44 | negativeButton: 45 | positiveButton: left ctrl 46 | altNegativeButton: 47 | altPositiveButton: mouse 0 48 | gravity: 1000 49 | dead: 0.001 50 | sensitivity: 1000 51 | snap: 0 52 | invert: 0 53 | type: 0 54 | axis: 0 55 | joyNum: 0 56 | - serializedVersion: 3 57 | m_Name: Fire2 58 | descriptiveName: 59 | descriptiveNegativeName: 60 | negativeButton: 61 | positiveButton: left alt 62 | altNegativeButton: 63 | altPositiveButton: mouse 1 64 | gravity: 1000 65 | dead: 0.001 66 | sensitivity: 1000 67 | snap: 0 68 | invert: 0 69 | type: 0 70 | axis: 0 71 | joyNum: 0 72 | - serializedVersion: 3 73 | m_Name: Fire3 74 | descriptiveName: 75 | descriptiveNegativeName: 76 | negativeButton: 77 | positiveButton: left shift 78 | altNegativeButton: 79 | altPositiveButton: mouse 2 80 | gravity: 1000 81 | dead: 0.001 82 | sensitivity: 1000 83 | snap: 0 84 | invert: 0 85 | type: 0 86 | axis: 0 87 | joyNum: 0 88 | - serializedVersion: 3 89 | m_Name: Jump 90 | descriptiveName: 91 | descriptiveNegativeName: 92 | negativeButton: 93 | positiveButton: space 94 | altNegativeButton: 95 | altPositiveButton: 96 | gravity: 1000 97 | dead: 0.001 98 | sensitivity: 1000 99 | snap: 0 100 | invert: 0 101 | type: 0 102 | axis: 0 103 | joyNum: 0 104 | - serializedVersion: 3 105 | m_Name: Mouse X 106 | descriptiveName: 107 | descriptiveNegativeName: 108 | negativeButton: 109 | positiveButton: 110 | altNegativeButton: 111 | altPositiveButton: 112 | gravity: 0 113 | dead: 0 114 | sensitivity: 0.1 115 | snap: 0 116 | invert: 0 117 | type: 1 118 | axis: 0 119 | joyNum: 0 120 | - serializedVersion: 3 121 | m_Name: Mouse Y 122 | descriptiveName: 123 | descriptiveNegativeName: 124 | negativeButton: 125 | positiveButton: 126 | altNegativeButton: 127 | altPositiveButton: 128 | gravity: 0 129 | dead: 0 130 | sensitivity: 0.1 131 | snap: 0 132 | invert: 0 133 | type: 1 134 | axis: 1 135 | joyNum: 0 136 | - serializedVersion: 3 137 | m_Name: Mouse ScrollWheel 138 | descriptiveName: 139 | descriptiveNegativeName: 140 | negativeButton: 141 | positiveButton: 142 | altNegativeButton: 143 | altPositiveButton: 144 | gravity: 0 145 | dead: 0 146 | sensitivity: 0.1 147 | snap: 0 148 | invert: 0 149 | type: 1 150 | axis: 2 151 | joyNum: 0 152 | - serializedVersion: 3 153 | m_Name: Horizontal 154 | descriptiveName: 155 | descriptiveNegativeName: 156 | negativeButton: 157 | positiveButton: 158 | altNegativeButton: 159 | altPositiveButton: 160 | gravity: 0 161 | dead: 0.19 162 | sensitivity: 1 163 | snap: 0 164 | invert: 0 165 | type: 2 166 | axis: 0 167 | joyNum: 0 168 | - serializedVersion: 3 169 | m_Name: Vertical 170 | descriptiveName: 171 | descriptiveNegativeName: 172 | negativeButton: 173 | positiveButton: 174 | altNegativeButton: 175 | altPositiveButton: 176 | gravity: 0 177 | dead: 0.19 178 | sensitivity: 1 179 | snap: 0 180 | invert: 1 181 | type: 2 182 | axis: 1 183 | joyNum: 0 184 | - serializedVersion: 3 185 | m_Name: Fire1 186 | descriptiveName: 187 | descriptiveNegativeName: 188 | negativeButton: 189 | positiveButton: joystick button 0 190 | altNegativeButton: 191 | altPositiveButton: 192 | gravity: 1000 193 | dead: 0.001 194 | sensitivity: 1000 195 | snap: 0 196 | invert: 0 197 | type: 0 198 | axis: 0 199 | joyNum: 0 200 | - serializedVersion: 3 201 | m_Name: Fire2 202 | descriptiveName: 203 | descriptiveNegativeName: 204 | negativeButton: 205 | positiveButton: joystick button 1 206 | altNegativeButton: 207 | altPositiveButton: 208 | gravity: 1000 209 | dead: 0.001 210 | sensitivity: 1000 211 | snap: 0 212 | invert: 0 213 | type: 0 214 | axis: 0 215 | joyNum: 0 216 | - serializedVersion: 3 217 | m_Name: Fire3 218 | descriptiveName: 219 | descriptiveNegativeName: 220 | negativeButton: 221 | positiveButton: joystick button 2 222 | altNegativeButton: 223 | altPositiveButton: 224 | gravity: 1000 225 | dead: 0.001 226 | sensitivity: 1000 227 | snap: 0 228 | invert: 0 229 | type: 0 230 | axis: 0 231 | joyNum: 0 232 | - serializedVersion: 3 233 | m_Name: Jump 234 | descriptiveName: 235 | descriptiveNegativeName: 236 | negativeButton: 237 | positiveButton: joystick button 3 238 | altNegativeButton: 239 | altPositiveButton: 240 | gravity: 1000 241 | dead: 0.001 242 | sensitivity: 1000 243 | snap: 0 244 | invert: 0 245 | type: 0 246 | axis: 0 247 | joyNum: 0 248 | - serializedVersion: 3 249 | m_Name: Submit 250 | descriptiveName: 251 | descriptiveNegativeName: 252 | negativeButton: 253 | positiveButton: return 254 | altNegativeButton: 255 | altPositiveButton: joystick button 0 256 | gravity: 1000 257 | dead: 0.001 258 | sensitivity: 1000 259 | snap: 0 260 | invert: 0 261 | type: 0 262 | axis: 0 263 | joyNum: 0 264 | - serializedVersion: 3 265 | m_Name: Submit 266 | descriptiveName: 267 | descriptiveNegativeName: 268 | negativeButton: 269 | positiveButton: enter 270 | altNegativeButton: 271 | altPositiveButton: space 272 | gravity: 1000 273 | dead: 0.001 274 | sensitivity: 1000 275 | snap: 0 276 | invert: 0 277 | type: 0 278 | axis: 0 279 | joyNum: 0 280 | - serializedVersion: 3 281 | m_Name: Cancel 282 | descriptiveName: 283 | descriptiveNegativeName: 284 | negativeButton: 285 | positiveButton: escape 286 | altNegativeButton: 287 | altPositiveButton: joystick button 1 288 | gravity: 1000 289 | dead: 0.001 290 | sensitivity: 1000 291 | snap: 0 292 | invert: 0 293 | type: 0 294 | axis: 0 295 | joyNum: 0 296 | -------------------------------------------------------------------------------- /ProjectSettings/MemorySettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!387306366 &1 4 | MemorySettings: 5 | m_ObjectHideFlags: 0 6 | m_EditorMemorySettings: 7 | m_MainAllocatorBlockSize: -1 8 | m_ThreadAllocatorBlockSize: -1 9 | m_MainGfxBlockSize: -1 10 | m_ThreadGfxBlockSize: -1 11 | m_CacheBlockSize: -1 12 | m_TypetreeBlockSize: -1 13 | m_ProfilerBlockSize: -1 14 | m_ProfilerEditorBlockSize: -1 15 | m_BucketAllocatorGranularity: -1 16 | m_BucketAllocatorBucketsCount: -1 17 | m_BucketAllocatorBlockSize: -1 18 | m_BucketAllocatorBlockCount: -1 19 | m_ProfilerBucketAllocatorGranularity: -1 20 | m_ProfilerBucketAllocatorBucketsCount: -1 21 | m_ProfilerBucketAllocatorBlockSize: -1 22 | m_ProfilerBucketAllocatorBlockCount: -1 23 | m_TempAllocatorSizeMain: -1 24 | m_JobTempAllocatorBlockSize: -1 25 | m_BackgroundJobTempAllocatorBlockSize: -1 26 | m_JobTempAllocatorReducedBlockSize: -1 27 | m_TempAllocatorSizeGIBakingWorker: -1 28 | m_TempAllocatorSizeNavMeshWorker: -1 29 | m_TempAllocatorSizeAudioWorker: -1 30 | m_TempAllocatorSizeCloudWorker: -1 31 | m_TempAllocatorSizeGfx: -1 32 | m_TempAllocatorSizeJobWorker: -1 33 | m_TempAllocatorSizeBackgroundWorker: -1 34 | m_TempAllocatorSizePreloadManager: -1 35 | m_PlatformMemorySettings: {} 36 | -------------------------------------------------------------------------------- /ProjectSettings/NavMeshAreas.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!126 &1 4 | NavMeshProjectSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | areas: 8 | - name: Walkable 9 | cost: 1 10 | - name: Not Walkable 11 | cost: 1 12 | - name: Jump 13 | cost: 2 14 | - name: 15 | cost: 1 16 | - name: 17 | cost: 1 18 | - name: 19 | cost: 1 20 | - name: 21 | cost: 1 22 | - name: 23 | cost: 1 24 | - name: 25 | cost: 1 26 | - name: 27 | cost: 1 28 | - name: 29 | cost: 1 30 | - name: 31 | cost: 1 32 | - name: 33 | cost: 1 34 | - name: 35 | cost: 1 36 | - name: 37 | cost: 1 38 | - name: 39 | cost: 1 40 | - name: 41 | cost: 1 42 | - name: 43 | cost: 1 44 | - name: 45 | cost: 1 46 | - name: 47 | cost: 1 48 | - name: 49 | cost: 1 50 | - name: 51 | cost: 1 52 | - name: 53 | cost: 1 54 | - name: 55 | cost: 1 56 | - name: 57 | cost: 1 58 | - name: 59 | cost: 1 60 | - name: 61 | cost: 1 62 | - name: 63 | cost: 1 64 | - name: 65 | cost: 1 66 | - name: 67 | cost: 1 68 | - name: 69 | cost: 1 70 | - name: 71 | cost: 1 72 | m_LastAgentTypeID: -887442657 73 | m_Settings: 74 | - serializedVersion: 2 75 | agentTypeID: 0 76 | agentRadius: 0.5 77 | agentHeight: 2 78 | agentSlope: 45 79 | agentClimb: 0.75 80 | ledgeDropHeight: 0 81 | maxJumpAcrossDistance: 0 82 | minRegionArea: 2 83 | manualCellSize: 0 84 | cellSize: 0.16666667 85 | manualTileSize: 0 86 | tileSize: 256 87 | accuratePlacement: 0 88 | debug: 89 | m_Flags: 0 90 | m_SettingNames: 91 | - Humanoid 92 | -------------------------------------------------------------------------------- /ProjectSettings/NetworkManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!149 &1 4 | NetworkManager: 5 | m_ObjectHideFlags: 0 6 | m_DebugLevel: 0 7 | m_Sendrate: 15 8 | m_AssetToPrefab: {} 9 | -------------------------------------------------------------------------------- /ProjectSettings/PackageManagerSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &1 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 61 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 13964, guid: 0000000000000000e000000000000000, type: 0} 13 | m_Name: 14 | m_EditorClassIdentifier: 15 | m_EnablePreReleasePackages: 0 16 | m_EnablePackageDependencies: 0 17 | m_AdvancedSettingsExpanded: 1 18 | m_ScopedRegistriesSettingsExpanded: 1 19 | m_SeeAllPackageVersions: 0 20 | oneTimeWarningShown: 0 21 | m_Registries: 22 | - m_Id: main 23 | m_Name: 24 | m_Url: https://packages.unity.com 25 | m_Scopes: [] 26 | m_IsDefault: 1 27 | m_Capabilities: 7 28 | m_ConfigSource: 0 29 | m_UserSelectedRegistryName: 30 | m_UserAddingNewScopedRegistry: 0 31 | m_RegistryInfoDraft: 32 | m_Modified: 0 33 | m_ErrorMessage: 34 | m_UserModificationsInstanceId: -852 35 | m_OriginalInstanceId: -854 36 | m_LoadAssets: 0 37 | -------------------------------------------------------------------------------- /ProjectSettings/Physics2DSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!19 &1 4 | Physics2DSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 3 7 | m_Gravity: {x: 0, y: -9.81} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_VelocityIterations: 8 10 | m_PositionIterations: 3 11 | m_VelocityThreshold: 1 12 | m_MaxLinearCorrection: 0.2 13 | m_MaxAngularCorrection: 8 14 | m_MaxTranslationSpeed: 100 15 | m_MaxRotationSpeed: 360 16 | m_BaumgarteScale: 0.2 17 | m_BaumgarteTimeOfImpactScale: 0.75 18 | m_TimeToSleep: 0.5 19 | m_LinearSleepTolerance: 0.01 20 | m_AngularSleepTolerance: 2 21 | m_DefaultContactOffset: 0.01 22 | m_AutoSimulation: 1 23 | m_QueriesHitTriggers: 1 24 | m_QueriesStartInColliders: 1 25 | m_ChangeStopsCallbacks: 0 26 | m_CallbacksOnDisable: 1 27 | m_AutoSyncTransforms: 1 28 | m_AlwaysShowColliders: 0 29 | m_ShowColliderSleep: 1 30 | m_ShowColliderContacts: 0 31 | m_ShowColliderAABB: 0 32 | m_ContactArrowScale: 0.2 33 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412} 34 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432} 35 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745} 36 | m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804} 37 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 38 | -------------------------------------------------------------------------------- /ProjectSettings/PresetManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1386491679 &1 4 | PresetManager: 5 | m_ObjectHideFlags: 0 6 | m_DefaultList: 7 | - type: 8 | m_NativeTypeID: 108 9 | m_ManagedTypePPtr: {fileID: 0} 10 | m_ManagedTypeFallback: 11 | defaultPresets: 12 | - m_Preset: {fileID: 2655988077585873504, guid: c1cf8506f04ef2c4a88b64b6c4202eea, 13 | type: 2} 14 | - type: 15 | m_NativeTypeID: 1020 16 | m_ManagedTypePPtr: {fileID: 0} 17 | m_ManagedTypeFallback: 18 | defaultPresets: 19 | - m_Preset: {fileID: 2655988077585873504, guid: 0cd792cc87e492d43b4e95b205fc5cc6, 20 | type: 2} 21 | - type: 22 | m_NativeTypeID: 1006 23 | m_ManagedTypePPtr: {fileID: 0} 24 | m_ManagedTypeFallback: 25 | defaultPresets: 26 | - m_Preset: {fileID: 2655988077585873504, guid: 7a99f8aa944efe94cb9bd74562b7d5f9, 27 | type: 2} 28 | -------------------------------------------------------------------------------- /ProjectSettings/ProjectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!129 &1 4 | PlayerSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 23 7 | productGUID: 356141dbbd3e5e44b85d8ece7a24be9e 8 | AndroidProfiler: 0 9 | AndroidFilterTouchesWhenObscured: 0 10 | AndroidEnableSustainedPerformanceMode: 0 11 | defaultScreenOrientation: 4 12 | targetDevice: 2 13 | useOnDemandResources: 0 14 | accelerometerFrequency: 60 15 | companyName: DefaultCompany 16 | productName: CubeWorld 17 | defaultCursor: {fileID: 0} 18 | cursorHotspot: {x: 0, y: 0} 19 | m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1} 20 | m_ShowUnitySplashScreen: 1 21 | m_ShowUnitySplashLogo: 1 22 | m_SplashScreenOverlayOpacity: 1 23 | m_SplashScreenAnimation: 1 24 | m_SplashScreenLogoStyle: 1 25 | m_SplashScreenDrawMode: 0 26 | m_SplashScreenBackgroundAnimationZoom: 1 27 | m_SplashScreenLogoAnimationZoom: 1 28 | m_SplashScreenBackgroundLandscapeAspect: 1 29 | m_SplashScreenBackgroundPortraitAspect: 1 30 | m_SplashScreenBackgroundLandscapeUvs: 31 | serializedVersion: 2 32 | x: 0 33 | y: 0 34 | width: 1 35 | height: 1 36 | m_SplashScreenBackgroundPortraitUvs: 37 | serializedVersion: 2 38 | x: 0 39 | y: 0 40 | width: 1 41 | height: 1 42 | m_SplashScreenLogos: [] 43 | m_VirtualRealitySplashScreen: {fileID: 0} 44 | m_HolographicTrackingLossScreen: {fileID: 0} 45 | defaultScreenWidth: 1024 46 | defaultScreenHeight: 768 47 | defaultScreenWidthWeb: 960 48 | defaultScreenHeightWeb: 600 49 | m_StereoRenderingPath: 0 50 | m_ActiveColorSpace: 1 51 | m_MTRendering: 1 52 | mipStripping: 0 53 | numberOfMipsStripped: 0 54 | m_StackTraceTypes: 010000000100000001000000010000000100000001000000 55 | iosShowActivityIndicatorOnLoading: -1 56 | androidShowActivityIndicatorOnLoading: -1 57 | iosUseCustomAppBackgroundBehavior: 0 58 | iosAllowHTTPDownload: 1 59 | allowedAutorotateToPortrait: 1 60 | allowedAutorotateToPortraitUpsideDown: 1 61 | allowedAutorotateToLandscapeRight: 1 62 | allowedAutorotateToLandscapeLeft: 1 63 | useOSAutorotation: 1 64 | use32BitDisplayBuffer: 1 65 | preserveFramebufferAlpha: 0 66 | disableDepthAndStencilBuffers: 0 67 | androidStartInFullscreen: 1 68 | androidRenderOutsideSafeArea: 1 69 | androidUseSwappy: 0 70 | androidBlitType: 0 71 | androidResizableWindow: 0 72 | androidDefaultWindowWidth: 1920 73 | androidDefaultWindowHeight: 1080 74 | androidMinimumWindowWidth: 400 75 | androidMinimumWindowHeight: 300 76 | androidFullscreenMode: 1 77 | defaultIsNativeResolution: 1 78 | macRetinaSupport: 1 79 | runInBackground: 1 80 | captureSingleScreen: 0 81 | muteOtherAudioSources: 0 82 | Prepare IOS For Recording: 0 83 | Force IOS Speakers When Recording: 0 84 | deferSystemGesturesMode: 0 85 | hideHomeButton: 0 86 | submitAnalytics: 0 87 | usePlayerLog: 1 88 | bakeCollisionMeshes: 1 89 | forceSingleInstance: 0 90 | useFlipModelSwapchain: 1 91 | resizableWindow: 0 92 | useMacAppStoreValidation: 0 93 | macAppStoreCategory: public.app-category.games 94 | gpuSkinning: 1 95 | xboxPIXTextureCapture: 0 96 | xboxEnableAvatar: 0 97 | xboxEnableKinect: 0 98 | xboxEnableKinectAutoTracking: 0 99 | xboxEnableFitness: 0 100 | visibleInBackground: 1 101 | allowFullscreenSwitch: 1 102 | fullscreenMode: 1 103 | xboxSpeechDB: 0 104 | xboxEnableHeadOrientation: 0 105 | xboxEnableGuest: 0 106 | xboxEnablePIXSampling: 0 107 | metalFramebufferOnly: 0 108 | xboxOneResolution: 0 109 | xboxOneSResolution: 0 110 | xboxOneXResolution: 3 111 | xboxOneMonoLoggingLevel: 0 112 | xboxOneLoggingLevel: 1 113 | xboxOneDisableEsram: 0 114 | xboxOneEnableTypeOptimization: 0 115 | xboxOnePresentImmediateThreshold: 0 116 | switchQueueCommandMemory: 0 117 | switchQueueControlMemory: 16384 118 | switchQueueComputeMemory: 262144 119 | switchNVNShaderPoolsGranularity: 33554432 120 | switchNVNDefaultPoolsGranularity: 16777216 121 | switchNVNOtherPoolsGranularity: 16777216 122 | switchNVNMaxPublicTextureIDCount: 0 123 | switchNVNMaxPublicSamplerIDCount: 0 124 | stadiaPresentMode: 0 125 | stadiaTargetFramerate: 0 126 | vulkanNumSwapchainBuffers: 3 127 | vulkanEnableSetSRGBWrite: 0 128 | vulkanEnablePreTransform: 0 129 | vulkanEnableLateAcquireNextImage: 0 130 | vulkanEnableCommandBufferRecycling: 1 131 | m_SupportedAspectRatios: 132 | 4:3: 1 133 | 5:4: 1 134 | 16:10: 1 135 | 16:9: 1 136 | Others: 1 137 | bundleVersion: 0.1 138 | preloadedAssets: [] 139 | metroInputSource: 0 140 | wsaTransparentSwapchain: 0 141 | m_HolographicPauseOnTrackingLoss: 1 142 | xboxOneDisableKinectGpuReservation: 0 143 | xboxOneEnable7thCore: 0 144 | vrSettings: 145 | enable360StereoCapture: 0 146 | isWsaHolographicRemotingEnabled: 0 147 | enableFrameTimingStats: 0 148 | enableOpenGLProfilerGPURecorders: 1 149 | useHDRDisplay: 0 150 | D3DHDRBitDepth: 0 151 | m_ColorGamuts: 00000000 152 | targetPixelDensity: 30 153 | resolutionScalingMode: 0 154 | resetResolutionOnWindowResize: 0 155 | androidSupportedAspectRatio: 1 156 | androidMaxAspectRatio: 2.1 157 | applicationIdentifier: {} 158 | buildNumber: 159 | Standalone: 0 160 | iPhone: 0 161 | tvOS: 0 162 | overrideDefaultApplicationIdentifier: 0 163 | AndroidBundleVersionCode: 1 164 | AndroidMinSdkVersion: 22 165 | AndroidTargetSdkVersion: 0 166 | AndroidPreferredInstallLocation: 1 167 | aotOptions: 168 | stripEngineCode: 1 169 | iPhoneStrippingLevel: 0 170 | iPhoneScriptCallOptimization: 0 171 | ForceInternetPermission: 0 172 | ForceSDCardPermission: 0 173 | CreateWallpaper: 0 174 | APKExpansionFiles: 0 175 | keepLoadedShadersAlive: 1 176 | StripUnusedMeshComponents: 1 177 | VertexChannelCompressionMask: 4054 178 | iPhoneSdkVersion: 988 179 | iOSTargetOSVersionString: 11.0 180 | tvOSSdkVersion: 0 181 | tvOSRequireExtendedGameController: 0 182 | tvOSTargetOSVersionString: 11.0 183 | uIPrerenderedIcon: 0 184 | uIRequiresPersistentWiFi: 0 185 | uIRequiresFullScreen: 1 186 | uIStatusBarHidden: 1 187 | uIExitOnSuspend: 0 188 | uIStatusBarStyle: 0 189 | appleTVSplashScreen: {fileID: 0} 190 | appleTVSplashScreen2x: {fileID: 0} 191 | tvOSSmallIconLayers: [] 192 | tvOSSmallIconLayers2x: [] 193 | tvOSLargeIconLayers: [] 194 | tvOSLargeIconLayers2x: [] 195 | tvOSTopShelfImageLayers: [] 196 | tvOSTopShelfImageLayers2x: [] 197 | tvOSTopShelfImageWideLayers: [] 198 | tvOSTopShelfImageWideLayers2x: [] 199 | iOSLaunchScreenType: 0 200 | iOSLaunchScreenPortrait: {fileID: 0} 201 | iOSLaunchScreenLandscape: {fileID: 0} 202 | iOSLaunchScreenBackgroundColor: 203 | serializedVersion: 2 204 | rgba: 0 205 | iOSLaunchScreenFillPct: 100 206 | iOSLaunchScreenSize: 100 207 | iOSLaunchScreenCustomXibPath: 208 | iOSLaunchScreeniPadType: 0 209 | iOSLaunchScreeniPadImage: {fileID: 0} 210 | iOSLaunchScreeniPadBackgroundColor: 211 | serializedVersion: 2 212 | rgba: 0 213 | iOSLaunchScreeniPadFillPct: 100 214 | iOSLaunchScreeniPadSize: 100 215 | iOSLaunchScreeniPadCustomXibPath: 216 | iOSLaunchScreenCustomStoryboardPath: 217 | iOSLaunchScreeniPadCustomStoryboardPath: 218 | iOSDeviceRequirements: [] 219 | iOSURLSchemes: [] 220 | macOSURLSchemes: [] 221 | iOSBackgroundModes: 0 222 | iOSMetalForceHardShadows: 0 223 | metalEditorSupport: 1 224 | metalAPIValidation: 1 225 | iOSRenderExtraFrameOnPause: 0 226 | iosCopyPluginsCodeInsteadOfSymlink: 0 227 | appleDeveloperTeamID: 228 | iOSManualSigningProvisioningProfileID: 229 | tvOSManualSigningProvisioningProfileID: 230 | iOSManualSigningProvisioningProfileType: 0 231 | tvOSManualSigningProvisioningProfileType: 0 232 | appleEnableAutomaticSigning: 0 233 | iOSRequireARKit: 0 234 | iOSAutomaticallyDetectAndAddCapabilities: 1 235 | appleEnableProMotion: 0 236 | shaderPrecisionModel: 0 237 | clonedFromGUID: 0ea352821057f29478bc5a4fd7d4e8e1 238 | templatePackageId: com.unity.3d@1.0.1 239 | templateDefaultScene: Assets/Scenes/SampleScene.unity 240 | useCustomMainManifest: 0 241 | useCustomLauncherManifest: 0 242 | useCustomMainGradleTemplate: 0 243 | useCustomLauncherGradleManifest: 0 244 | useCustomBaseGradleTemplate: 0 245 | useCustomGradlePropertiesTemplate: 0 246 | useCustomProguardFile: 0 247 | AndroidTargetArchitectures: 5 248 | AndroidTargetDevices: 0 249 | AndroidSplashScreenScale: 0 250 | androidSplashScreen: {fileID: 0} 251 | AndroidKeystoreName: '{inproject}: ' 252 | AndroidKeyaliasName: 253 | AndroidBuildApkPerCpuArchitecture: 0 254 | AndroidTVCompatibility: 1 255 | AndroidIsGame: 1 256 | AndroidEnableTango: 0 257 | androidEnableBanner: 1 258 | androidUseLowAccuracyLocation: 0 259 | androidUseCustomKeystore: 0 260 | m_AndroidBanners: 261 | - width: 320 262 | height: 180 263 | banner: {fileID: 0} 264 | androidGamepadSupportLevel: 0 265 | chromeosInputEmulation: 1 266 | AndroidMinifyWithR8: 0 267 | AndroidMinifyRelease: 0 268 | AndroidMinifyDebug: 0 269 | AndroidValidateAppBundleSize: 1 270 | AndroidAppBundleSizeToValidate: 150 271 | m_BuildTargetIcons: [] 272 | m_BuildTargetPlatformIcons: [] 273 | m_BuildTargetBatching: 274 | - m_BuildTarget: Standalone 275 | m_StaticBatching: 1 276 | m_DynamicBatching: 1 277 | - m_BuildTarget: tvOS 278 | m_StaticBatching: 1 279 | m_DynamicBatching: 0 280 | - m_BuildTarget: Android 281 | m_StaticBatching: 1 282 | m_DynamicBatching: 0 283 | - m_BuildTarget: iPhone 284 | m_StaticBatching: 1 285 | m_DynamicBatching: 0 286 | - m_BuildTarget: WebGL 287 | m_StaticBatching: 0 288 | m_DynamicBatching: 0 289 | m_BuildTargetShaderSettings: [] 290 | m_BuildTargetGraphicsJobs: 291 | - m_BuildTarget: MacStandaloneSupport 292 | m_GraphicsJobs: 0 293 | - m_BuildTarget: Switch 294 | m_GraphicsJobs: 1 295 | - m_BuildTarget: MetroSupport 296 | m_GraphicsJobs: 1 297 | - m_BuildTarget: AppleTVSupport 298 | m_GraphicsJobs: 0 299 | - m_BuildTarget: BJMSupport 300 | m_GraphicsJobs: 1 301 | - m_BuildTarget: LinuxStandaloneSupport 302 | m_GraphicsJobs: 1 303 | - m_BuildTarget: PS4Player 304 | m_GraphicsJobs: 1 305 | - m_BuildTarget: iOSSupport 306 | m_GraphicsJobs: 0 307 | - m_BuildTarget: WindowsStandaloneSupport 308 | m_GraphicsJobs: 1 309 | - m_BuildTarget: XboxOnePlayer 310 | m_GraphicsJobs: 1 311 | - m_BuildTarget: LuminSupport 312 | m_GraphicsJobs: 0 313 | - m_BuildTarget: AndroidPlayer 314 | m_GraphicsJobs: 0 315 | - m_BuildTarget: WebGLSupport 316 | m_GraphicsJobs: 0 317 | m_BuildTargetGraphicsJobMode: 318 | - m_BuildTarget: PS4Player 319 | m_GraphicsJobMode: 0 320 | - m_BuildTarget: XboxOnePlayer 321 | m_GraphicsJobMode: 0 322 | m_BuildTargetGraphicsAPIs: 323 | - m_BuildTarget: AndroidPlayer 324 | m_APIs: 0b00000008000000 325 | m_Automatic: 0 326 | - m_BuildTarget: iOSSupport 327 | m_APIs: 10000000 328 | m_Automatic: 1 329 | - m_BuildTarget: AppleTVSupport 330 | m_APIs: 10000000 331 | m_Automatic: 1 332 | - m_BuildTarget: WebGLSupport 333 | m_APIs: 0b000000 334 | m_Automatic: 1 335 | m_BuildTargetVRSettings: 336 | - m_BuildTarget: Standalone 337 | m_Enabled: 0 338 | m_Devices: 339 | - Oculus 340 | - OpenVR 341 | m_DefaultShaderChunkSizeInMB: 16 342 | m_DefaultShaderChunkCount: 0 343 | openGLRequireES31: 0 344 | openGLRequireES31AEP: 0 345 | openGLRequireES32: 0 346 | m_TemplateCustomTags: {} 347 | mobileMTRendering: 348 | Android: 1 349 | iPhone: 1 350 | tvOS: 1 351 | m_BuildTargetGroupLightmapEncodingQuality: [] 352 | m_BuildTargetGroupLightmapSettings: 353 | - m_BuildTarget: Standalone 354 | m_TextureStreamingEnabled: 1 355 | m_TextureStreamingPriority: 0 356 | m_BuildTargetNormalMapEncoding: [] 357 | m_BuildTargetDefaultTextureCompressionFormat: [] 358 | playModeTestRunnerEnabled: 0 359 | runPlayModeTestAsEditModeTest: 0 360 | actionOnDotNetUnhandledException: 1 361 | enableInternalProfiler: 0 362 | logObjCUncaughtExceptions: 1 363 | enableCrashReportAPI: 0 364 | cameraUsageDescription: 365 | locationUsageDescription: 366 | microphoneUsageDescription: 367 | bluetoothUsageDescription: 368 | switchNMETAOverride: 369 | switchNetLibKey: 370 | switchSocketMemoryPoolSize: 6144 371 | switchSocketAllocatorPoolSize: 128 372 | switchSocketConcurrencyLimit: 14 373 | switchScreenResolutionBehavior: 2 374 | switchUseCPUProfiler: 0 375 | switchUseGOLDLinker: 0 376 | switchLTOSetting: 0 377 | switchApplicationID: 0x01004b9000490000 378 | switchNSODependencies: 379 | switchTitleNames_0: 380 | switchTitleNames_1: 381 | switchTitleNames_2: 382 | switchTitleNames_3: 383 | switchTitleNames_4: 384 | switchTitleNames_5: 385 | switchTitleNames_6: 386 | switchTitleNames_7: 387 | switchTitleNames_8: 388 | switchTitleNames_9: 389 | switchTitleNames_10: 390 | switchTitleNames_11: 391 | switchTitleNames_12: 392 | switchTitleNames_13: 393 | switchTitleNames_14: 394 | switchTitleNames_15: 395 | switchPublisherNames_0: 396 | switchPublisherNames_1: 397 | switchPublisherNames_2: 398 | switchPublisherNames_3: 399 | switchPublisherNames_4: 400 | switchPublisherNames_5: 401 | switchPublisherNames_6: 402 | switchPublisherNames_7: 403 | switchPublisherNames_8: 404 | switchPublisherNames_9: 405 | switchPublisherNames_10: 406 | switchPublisherNames_11: 407 | switchPublisherNames_12: 408 | switchPublisherNames_13: 409 | switchPublisherNames_14: 410 | switchPublisherNames_15: 411 | switchIcons_0: {fileID: 0} 412 | switchIcons_1: {fileID: 0} 413 | switchIcons_2: {fileID: 0} 414 | switchIcons_3: {fileID: 0} 415 | switchIcons_4: {fileID: 0} 416 | switchIcons_5: {fileID: 0} 417 | switchIcons_6: {fileID: 0} 418 | switchIcons_7: {fileID: 0} 419 | switchIcons_8: {fileID: 0} 420 | switchIcons_9: {fileID: 0} 421 | switchIcons_10: {fileID: 0} 422 | switchIcons_11: {fileID: 0} 423 | switchIcons_12: {fileID: 0} 424 | switchIcons_13: {fileID: 0} 425 | switchIcons_14: {fileID: 0} 426 | switchIcons_15: {fileID: 0} 427 | switchSmallIcons_0: {fileID: 0} 428 | switchSmallIcons_1: {fileID: 0} 429 | switchSmallIcons_2: {fileID: 0} 430 | switchSmallIcons_3: {fileID: 0} 431 | switchSmallIcons_4: {fileID: 0} 432 | switchSmallIcons_5: {fileID: 0} 433 | switchSmallIcons_6: {fileID: 0} 434 | switchSmallIcons_7: {fileID: 0} 435 | switchSmallIcons_8: {fileID: 0} 436 | switchSmallIcons_9: {fileID: 0} 437 | switchSmallIcons_10: {fileID: 0} 438 | switchSmallIcons_11: {fileID: 0} 439 | switchSmallIcons_12: {fileID: 0} 440 | switchSmallIcons_13: {fileID: 0} 441 | switchSmallIcons_14: {fileID: 0} 442 | switchSmallIcons_15: {fileID: 0} 443 | switchManualHTML: 444 | switchAccessibleURLs: 445 | switchLegalInformation: 446 | switchMainThreadStackSize: 1048576 447 | switchPresenceGroupId: 448 | switchLogoHandling: 0 449 | switchReleaseVersion: 0 450 | switchDisplayVersion: 1.0.0 451 | switchStartupUserAccount: 0 452 | switchTouchScreenUsage: 0 453 | switchSupportedLanguagesMask: 0 454 | switchLogoType: 0 455 | switchApplicationErrorCodeCategory: 456 | switchUserAccountSaveDataSize: 0 457 | switchUserAccountSaveDataJournalSize: 0 458 | switchApplicationAttribute: 0 459 | switchCardSpecSize: -1 460 | switchCardSpecClock: -1 461 | switchRatingsMask: 0 462 | switchRatingsInt_0: 0 463 | switchRatingsInt_1: 0 464 | switchRatingsInt_2: 0 465 | switchRatingsInt_3: 0 466 | switchRatingsInt_4: 0 467 | switchRatingsInt_5: 0 468 | switchRatingsInt_6: 0 469 | switchRatingsInt_7: 0 470 | switchRatingsInt_8: 0 471 | switchRatingsInt_9: 0 472 | switchRatingsInt_10: 0 473 | switchRatingsInt_11: 0 474 | switchRatingsInt_12: 0 475 | switchLocalCommunicationIds_0: 476 | switchLocalCommunicationIds_1: 477 | switchLocalCommunicationIds_2: 478 | switchLocalCommunicationIds_3: 479 | switchLocalCommunicationIds_4: 480 | switchLocalCommunicationIds_5: 481 | switchLocalCommunicationIds_6: 482 | switchLocalCommunicationIds_7: 483 | switchParentalControl: 0 484 | switchAllowsScreenshot: 1 485 | switchAllowsVideoCapturing: 1 486 | switchAllowsRuntimeAddOnContentInstall: 0 487 | switchDataLossConfirmation: 0 488 | switchUserAccountLockEnabled: 0 489 | switchSystemResourceMemory: 16777216 490 | switchSupportedNpadStyles: 3 491 | switchNativeFsCacheSize: 32 492 | switchIsHoldTypeHorizontal: 0 493 | switchSupportedNpadCount: 8 494 | switchSocketConfigEnabled: 0 495 | switchTcpInitialSendBufferSize: 32 496 | switchTcpInitialReceiveBufferSize: 64 497 | switchTcpAutoSendBufferSizeMax: 256 498 | switchTcpAutoReceiveBufferSizeMax: 256 499 | switchUdpSendBufferSize: 9 500 | switchUdpReceiveBufferSize: 42 501 | switchSocketBufferEfficiency: 4 502 | switchSocketInitializeEnabled: 1 503 | switchNetworkInterfaceManagerInitializeEnabled: 1 504 | switchPlayerConnectionEnabled: 1 505 | switchUseNewStyleFilepaths: 0 506 | switchUseLegacyFmodPriorities: 1 507 | switchUseMicroSleepForYield: 1 508 | switchEnableRamDiskSupport: 0 509 | switchMicroSleepForYieldTime: 25 510 | switchRamDiskSpaceSize: 12 511 | ps4NPAgeRating: 12 512 | ps4NPTitleSecret: 513 | ps4NPTrophyPackPath: 514 | ps4ParentalLevel: 11 515 | ps4ContentID: ED1633-NPXX51362_00-0000000000000000 516 | ps4Category: 0 517 | ps4MasterVersion: 01.00 518 | ps4AppVersion: 01.00 519 | ps4AppType: 0 520 | ps4ParamSfxPath: 521 | ps4VideoOutPixelFormat: 0 522 | ps4VideoOutInitialWidth: 1920 523 | ps4VideoOutBaseModeInitialWidth: 1920 524 | ps4VideoOutReprojectionRate: 60 525 | ps4PronunciationXMLPath: 526 | ps4PronunciationSIGPath: 527 | ps4BackgroundImagePath: 528 | ps4StartupImagePath: 529 | ps4StartupImagesFolder: 530 | ps4IconImagesFolder: 531 | ps4SaveDataImagePath: 532 | ps4SdkOverride: 533 | ps4BGMPath: 534 | ps4ShareFilePath: 535 | ps4ShareOverlayImagePath: 536 | ps4PrivacyGuardImagePath: 537 | ps4ExtraSceSysFile: 538 | ps4NPtitleDatPath: 539 | ps4RemotePlayKeyAssignment: -1 540 | ps4RemotePlayKeyMappingDir: 541 | ps4PlayTogetherPlayerCount: 0 542 | ps4EnterButtonAssignment: 1 543 | ps4ApplicationParam1: 0 544 | ps4ApplicationParam2: 0 545 | ps4ApplicationParam3: 0 546 | ps4ApplicationParam4: 0 547 | ps4DownloadDataSize: 0 548 | ps4GarlicHeapSize: 2048 549 | ps4ProGarlicHeapSize: 2560 550 | playerPrefsMaxSize: 32768 551 | ps4Passcode: frAQBc8Wsa1xVPfvJcrgRYwTiizs2trQ 552 | ps4pnSessions: 1 553 | ps4pnPresence: 1 554 | ps4pnFriends: 1 555 | ps4pnGameCustomData: 1 556 | playerPrefsSupport: 0 557 | enableApplicationExit: 0 558 | resetTempFolder: 1 559 | restrictedAudioUsageRights: 0 560 | ps4UseResolutionFallback: 0 561 | ps4ReprojectionSupport: 0 562 | ps4UseAudio3dBackend: 0 563 | ps4UseLowGarlicFragmentationMode: 1 564 | ps4SocialScreenEnabled: 0 565 | ps4ScriptOptimizationLevel: 0 566 | ps4Audio3dVirtualSpeakerCount: 14 567 | ps4attribCpuUsage: 0 568 | ps4PatchPkgPath: 569 | ps4PatchLatestPkgPath: 570 | ps4PatchChangeinfoPath: 571 | ps4PatchDayOne: 0 572 | ps4attribUserManagement: 0 573 | ps4attribMoveSupport: 0 574 | ps4attrib3DSupport: 0 575 | ps4attribShareSupport: 0 576 | ps4attribExclusiveVR: 0 577 | ps4disableAutoHideSplash: 0 578 | ps4videoRecordingFeaturesUsed: 0 579 | ps4contentSearchFeaturesUsed: 0 580 | ps4CompatibilityPS5: 0 581 | ps4AllowPS5Detection: 0 582 | ps4GPU800MHz: 1 583 | ps4attribEyeToEyeDistanceSettingVR: 0 584 | ps4IncludedModules: [] 585 | ps4attribVROutputEnabled: 0 586 | monoEnv: 587 | splashScreenBackgroundSourceLandscape: {fileID: 0} 588 | splashScreenBackgroundSourcePortrait: {fileID: 0} 589 | blurSplashScreenBackground: 1 590 | spritePackerPolicy: 591 | webGLMemorySize: 256 592 | webGLExceptionSupport: 1 593 | webGLNameFilesAsHashes: 0 594 | webGLDataCaching: 0 595 | webGLDebugSymbols: 0 596 | webGLEmscriptenArgs: 597 | webGLModulesDirectory: 598 | webGLTemplate: APPLICATION:Default 599 | webGLAnalyzeBuildSize: 0 600 | webGLUseEmbeddedResources: 0 601 | webGLCompressionFormat: 1 602 | webGLWasmArithmeticExceptions: 0 603 | webGLLinkerTarget: 0 604 | webGLThreadsSupport: 0 605 | webGLDecompressionFallback: 0 606 | webGLPowerPreference: 2 607 | scriptingDefineSymbols: 608 | : UNITY_POST_PROCESSING_STACK_V2 609 | Android: UNITY_POST_PROCESSING_STACK_V2 610 | EmbeddedLinux: UNITY_POST_PROCESSING_STACK_V2 611 | GameCoreXboxOne: UNITY_POST_PROCESSING_STACK_V2 612 | Lumin: UNITY_POST_PROCESSING_STACK_V2 613 | Nintendo Switch: UNITY_POST_PROCESSING_STACK_V2 614 | PS4: UNITY_POST_PROCESSING_STACK_V2 615 | PS5: UNITY_POST_PROCESSING_STACK_V2 616 | Stadia: UNITY_POST_PROCESSING_STACK_V2 617 | Standalone: UNITY_POST_PROCESSING_STACK_V2 618 | WebGL: UNITY_POST_PROCESSING_STACK_V2 619 | Windows Store Apps: UNITY_POST_PROCESSING_STACK_V2 620 | XboxOne: UNITY_POST_PROCESSING_STACK_V2 621 | iPhone: UNITY_POST_PROCESSING_STACK_V2 622 | tvOS: UNITY_POST_PROCESSING_STACK_V2 623 | additionalCompilerArguments: {} 624 | platformArchitecture: {} 625 | scriptingBackend: 626 | Standalone: 1 627 | il2cppCompilerConfiguration: {} 628 | managedStrippingLevel: {} 629 | incrementalIl2cppBuild: {} 630 | suppressCommonWarnings: 1 631 | allowUnsafeCode: 1 632 | useDeterministicCompilation: 1 633 | enableRoslynAnalyzers: 1 634 | selectedPlatform: 0 635 | additionalIl2CppArgs: 636 | scriptingRuntimeVersion: 1 637 | gcIncremental: 0 638 | assemblyVersionValidation: 1 639 | gcWBarrierValidation: 0 640 | apiCompatibilityLevelPerPlatform: {} 641 | m_RenderingPath: 1 642 | m_MobileRenderingPath: 1 643 | metroPackageName: Template_3D 644 | metroPackageVersion: 645 | metroCertificatePath: 646 | metroCertificatePassword: 647 | metroCertificateSubject: 648 | metroCertificateIssuer: 649 | metroCertificateNotAfter: 0000000000000000 650 | metroApplicationDescription: Template_3D 651 | wsaImages: {} 652 | metroTileShortName: 653 | metroTileShowName: 0 654 | metroMediumTileShowName: 0 655 | metroLargeTileShowName: 0 656 | metroWideTileShowName: 0 657 | metroSupportStreamingInstall: 0 658 | metroLastRequiredScene: 0 659 | metroDefaultTileSize: 1 660 | metroTileForegroundText: 2 661 | metroTileBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 0} 662 | metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902, b: 0.21568628, 663 | a: 1} 664 | metroSplashScreenUseBackgroundColor: 0 665 | platformCapabilities: {} 666 | metroTargetDeviceFamilies: {} 667 | metroFTAName: 668 | metroFTAFileTypes: [] 669 | metroProtocolName: 670 | vcxProjDefaultLanguage: 671 | XboxOneProductId: 672 | XboxOneUpdateKey: 673 | XboxOneSandboxId: 674 | XboxOneContentId: 675 | XboxOneTitleId: 676 | XboxOneSCId: 677 | XboxOneGameOsOverridePath: 678 | XboxOnePackagingOverridePath: 679 | XboxOneAppManifestOverridePath: 680 | XboxOneVersion: 1.0.0.0 681 | XboxOnePackageEncryption: 0 682 | XboxOnePackageUpdateGranularity: 2 683 | XboxOneDescription: 684 | XboxOneLanguage: 685 | - enus 686 | XboxOneCapability: [] 687 | XboxOneGameRating: {} 688 | XboxOneIsContentPackage: 0 689 | XboxOneEnhancedXboxCompatibilityMode: 0 690 | XboxOneEnableGPUVariability: 0 691 | XboxOneSockets: {} 692 | XboxOneSplashScreen: {fileID: 0} 693 | XboxOneAllowedProductIds: [] 694 | XboxOnePersistentLocalStorageSize: 0 695 | XboxOneXTitleMemory: 8 696 | XboxOneOverrideIdentityName: 697 | XboxOneOverrideIdentityPublisher: 698 | vrEditorSettings: {} 699 | cloudServicesEnabled: 700 | UNet: 1 701 | luminIcon: 702 | m_Name: 703 | m_ModelFolderPath: 704 | m_PortalFolderPath: 705 | luminCert: 706 | m_CertPath: 707 | m_SignPackage: 1 708 | luminIsChannelApp: 0 709 | luminVersion: 710 | m_VersionCode: 1 711 | m_VersionName: 712 | apiCompatibilityLevel: 3 713 | activeInputHandler: 0 714 | windowsGamepadBackendHint: 0 715 | cloudProjectId: 716 | framebufferDepthMemorylessMode: 0 717 | qualitySettingsNames: [] 718 | projectName: 719 | organizationId: 720 | cloudEnabled: 0 721 | legacyClampBlendShapeWeights: 1 722 | playerDataPath: 723 | forceSRGBBlit: 1 724 | virtualTexturingSupportEnabled: 0 725 | -------------------------------------------------------------------------------- /ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 2021.3.16f1 2 | m_EditorVersionWithRevision: 2021.3.16f1 (4016570cf34f) 3 | -------------------------------------------------------------------------------- /ProjectSettings/QualitySettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!47 &1 4 | QualitySettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 5 7 | m_CurrentQuality: 3 8 | m_QualitySettings: 9 | - serializedVersion: 2 10 | name: Medium 11 | pixelLightCount: 1 12 | shadows: 1 13 | shadowResolution: 0 14 | shadowProjection: 1 15 | shadowCascades: 1 16 | shadowDistance: 20 17 | shadowNearPlaneOffset: 3 18 | shadowCascade2Split: 0.33333334 19 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 20 | shadowmaskMode: 0 21 | skinWeights: 2 22 | textureQuality: 0 23 | anisotropicTextures: 1 24 | antiAliasing: 0 25 | softParticles: 0 26 | softVegetation: 0 27 | realtimeReflectionProbes: 0 28 | billboardsFaceCameraPosition: 0 29 | vSyncCount: 1 30 | lodBias: 0.7 31 | maximumLODLevel: 0 32 | streamingMipmapsActive: 0 33 | streamingMipmapsAddAllCameras: 1 34 | streamingMipmapsMemoryBudget: 512 35 | streamingMipmapsRenderersPerFrame: 512 36 | streamingMipmapsMaxLevelReduction: 2 37 | streamingMipmapsMaxFileIORequests: 1024 38 | particleRaycastBudget: 64 39 | asyncUploadTimeSlice: 2 40 | asyncUploadBufferSize: 4 41 | asyncUploadPersistentBuffer: 1 42 | resolutionScalingFixedDPIFactor: 1 43 | customRenderPipeline: {fileID: 0} 44 | excludedTargetPlatforms: [] 45 | - serializedVersion: 2 46 | name: High 47 | pixelLightCount: 2 48 | shadows: 2 49 | shadowResolution: 1 50 | shadowProjection: 1 51 | shadowCascades: 2 52 | shadowDistance: 40 53 | shadowNearPlaneOffset: 3 54 | shadowCascade2Split: 0.33333334 55 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 56 | shadowmaskMode: 1 57 | skinWeights: 2 58 | textureQuality: 0 59 | anisotropicTextures: 1 60 | antiAliasing: 2 61 | softParticles: 0 62 | softVegetation: 1 63 | realtimeReflectionProbes: 1 64 | billboardsFaceCameraPosition: 1 65 | vSyncCount: 1 66 | lodBias: 1 67 | maximumLODLevel: 0 68 | streamingMipmapsActive: 0 69 | streamingMipmapsAddAllCameras: 1 70 | streamingMipmapsMemoryBudget: 512 71 | streamingMipmapsRenderersPerFrame: 512 72 | streamingMipmapsMaxLevelReduction: 2 73 | streamingMipmapsMaxFileIORequests: 1024 74 | particleRaycastBudget: 256 75 | asyncUploadTimeSlice: 2 76 | asyncUploadBufferSize: 4 77 | asyncUploadPersistentBuffer: 1 78 | resolutionScalingFixedDPIFactor: 1 79 | customRenderPipeline: {fileID: 0} 80 | excludedTargetPlatforms: [] 81 | - serializedVersion: 2 82 | name: Very High 83 | pixelLightCount: 3 84 | shadows: 2 85 | shadowResolution: 2 86 | shadowProjection: 1 87 | shadowCascades: 2 88 | shadowDistance: 40 89 | shadowNearPlaneOffset: 3 90 | shadowCascade2Split: 0.33333334 91 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 92 | shadowmaskMode: 1 93 | skinWeights: 4 94 | textureQuality: 0 95 | anisotropicTextures: 1 96 | antiAliasing: 4 97 | softParticles: 1 98 | softVegetation: 1 99 | realtimeReflectionProbes: 1 100 | billboardsFaceCameraPosition: 1 101 | vSyncCount: 0 102 | lodBias: 1.5 103 | maximumLODLevel: 0 104 | streamingMipmapsActive: 0 105 | streamingMipmapsAddAllCameras: 1 106 | streamingMipmapsMemoryBudget: 512 107 | streamingMipmapsRenderersPerFrame: 512 108 | streamingMipmapsMaxLevelReduction: 2 109 | streamingMipmapsMaxFileIORequests: 1024 110 | particleRaycastBudget: 1024 111 | asyncUploadTimeSlice: 2 112 | asyncUploadBufferSize: 4 113 | asyncUploadPersistentBuffer: 1 114 | resolutionScalingFixedDPIFactor: 1 115 | customRenderPipeline: {fileID: 0} 116 | excludedTargetPlatforms: [] 117 | - serializedVersion: 2 118 | name: Ultra 119 | pixelLightCount: 4 120 | shadows: 2 121 | shadowResolution: 2 122 | shadowProjection: 1 123 | shadowCascades: 4 124 | shadowDistance: 150 125 | shadowNearPlaneOffset: 3 126 | shadowCascade2Split: 0.33333334 127 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 128 | shadowmaskMode: 1 129 | skinWeights: 4 130 | textureQuality: 0 131 | anisotropicTextures: 1 132 | antiAliasing: 4 133 | softParticles: 1 134 | softVegetation: 1 135 | realtimeReflectionProbes: 1 136 | billboardsFaceCameraPosition: 1 137 | vSyncCount: 0 138 | lodBias: 2 139 | maximumLODLevel: 0 140 | streamingMipmapsActive: 0 141 | streamingMipmapsAddAllCameras: 1 142 | streamingMipmapsMemoryBudget: 512 143 | streamingMipmapsRenderersPerFrame: 512 144 | streamingMipmapsMaxLevelReduction: 2 145 | streamingMipmapsMaxFileIORequests: 1024 146 | particleRaycastBudget: 4096 147 | asyncUploadTimeSlice: 2 148 | asyncUploadBufferSize: 4 149 | asyncUploadPersistentBuffer: 1 150 | resolutionScalingFixedDPIFactor: 1 151 | customRenderPipeline: {fileID: 0} 152 | excludedTargetPlatforms: [] 153 | m_PerPlatformDefaultQuality: 154 | Android: 0 155 | Standalone: 3 156 | WebGL: 0 157 | Windows Store Apps: 0 158 | iPhone: 0 159 | -------------------------------------------------------------------------------- /ProjectSettings/SceneTemplateSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "templatePinStates": [], 3 | "dependencyTypeInfos": [ 4 | { 5 | "userAdded": false, 6 | "type": "UnityEngine.AnimationClip", 7 | "ignore": false, 8 | "defaultInstantiationMode": 0, 9 | "supportsModification": true 10 | }, 11 | { 12 | "userAdded": false, 13 | "type": "UnityEditor.Animations.AnimatorController", 14 | "ignore": false, 15 | "defaultInstantiationMode": 0, 16 | "supportsModification": true 17 | }, 18 | { 19 | "userAdded": false, 20 | "type": "UnityEngine.AnimatorOverrideController", 21 | "ignore": false, 22 | "defaultInstantiationMode": 0, 23 | "supportsModification": true 24 | }, 25 | { 26 | "userAdded": false, 27 | "type": "UnityEditor.Audio.AudioMixerController", 28 | "ignore": false, 29 | "defaultInstantiationMode": 0, 30 | "supportsModification": true 31 | }, 32 | { 33 | "userAdded": false, 34 | "type": "UnityEngine.ComputeShader", 35 | "ignore": true, 36 | "defaultInstantiationMode": 1, 37 | "supportsModification": true 38 | }, 39 | { 40 | "userAdded": false, 41 | "type": "UnityEngine.Cubemap", 42 | "ignore": false, 43 | "defaultInstantiationMode": 0, 44 | "supportsModification": true 45 | }, 46 | { 47 | "userAdded": false, 48 | "type": "UnityEngine.GameObject", 49 | "ignore": false, 50 | "defaultInstantiationMode": 0, 51 | "supportsModification": true 52 | }, 53 | { 54 | "userAdded": false, 55 | "type": "UnityEditor.LightingDataAsset", 56 | "ignore": false, 57 | "defaultInstantiationMode": 0, 58 | "supportsModification": false 59 | }, 60 | { 61 | "userAdded": false, 62 | "type": "UnityEngine.LightingSettings", 63 | "ignore": false, 64 | "defaultInstantiationMode": 0, 65 | "supportsModification": true 66 | }, 67 | { 68 | "userAdded": false, 69 | "type": "UnityEngine.Material", 70 | "ignore": false, 71 | "defaultInstantiationMode": 0, 72 | "supportsModification": true 73 | }, 74 | { 75 | "userAdded": false, 76 | "type": "UnityEditor.MonoScript", 77 | "ignore": true, 78 | "defaultInstantiationMode": 1, 79 | "supportsModification": true 80 | }, 81 | { 82 | "userAdded": false, 83 | "type": "UnityEngine.PhysicMaterial", 84 | "ignore": false, 85 | "defaultInstantiationMode": 0, 86 | "supportsModification": true 87 | }, 88 | { 89 | "userAdded": false, 90 | "type": "UnityEngine.PhysicsMaterial2D", 91 | "ignore": false, 92 | "defaultInstantiationMode": 0, 93 | "supportsModification": true 94 | }, 95 | { 96 | "userAdded": false, 97 | "type": "UnityEngine.Rendering.PostProcessing.PostProcessProfile", 98 | "ignore": false, 99 | "defaultInstantiationMode": 0, 100 | "supportsModification": true 101 | }, 102 | { 103 | "userAdded": false, 104 | "type": "UnityEngine.Rendering.PostProcessing.PostProcessResources", 105 | "ignore": false, 106 | "defaultInstantiationMode": 0, 107 | "supportsModification": true 108 | }, 109 | { 110 | "userAdded": false, 111 | "type": "UnityEngine.Rendering.VolumeProfile", 112 | "ignore": false, 113 | "defaultInstantiationMode": 0, 114 | "supportsModification": true 115 | }, 116 | { 117 | "userAdded": false, 118 | "type": "UnityEditor.SceneAsset", 119 | "ignore": false, 120 | "defaultInstantiationMode": 0, 121 | "supportsModification": false 122 | }, 123 | { 124 | "userAdded": false, 125 | "type": "UnityEngine.Shader", 126 | "ignore": true, 127 | "defaultInstantiationMode": 1, 128 | "supportsModification": true 129 | }, 130 | { 131 | "userAdded": false, 132 | "type": "UnityEngine.ShaderVariantCollection", 133 | "ignore": true, 134 | "defaultInstantiationMode": 1, 135 | "supportsModification": true 136 | }, 137 | { 138 | "userAdded": false, 139 | "type": "UnityEngine.Texture", 140 | "ignore": false, 141 | "defaultInstantiationMode": 0, 142 | "supportsModification": true 143 | }, 144 | { 145 | "userAdded": false, 146 | "type": "UnityEngine.Texture2D", 147 | "ignore": false, 148 | "defaultInstantiationMode": 0, 149 | "supportsModification": true 150 | }, 151 | { 152 | "userAdded": false, 153 | "type": "UnityEngine.Timeline.TimelineAsset", 154 | "ignore": false, 155 | "defaultInstantiationMode": 0, 156 | "supportsModification": true 157 | } 158 | ], 159 | "defaultDependencyTypeInfo": { 160 | "userAdded": false, 161 | "type": "", 162 | "ignore": false, 163 | "defaultInstantiationMode": 1, 164 | "supportsModification": true 165 | }, 166 | "newSceneOverride": 0 167 | } -------------------------------------------------------------------------------- /ProjectSettings/TagManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!78 &1 4 | TagManager: 5 | serializedVersion: 2 6 | tags: [] 7 | layers: 8 | - Default 9 | - TransparentFX 10 | - Ignore Raycast 11 | - 12 | - Water 13 | - UI 14 | - 15 | - 16 | - PostProcessing 17 | - 18 | - 19 | - 20 | - 21 | - 22 | - 23 | - 24 | - 25 | - 26 | - 27 | - 28 | - 29 | - 30 | - 31 | - 32 | - 33 | - 34 | - 35 | - 36 | - 37 | - 38 | - 39 | - 40 | m_SortingLayers: 41 | - name: Default 42 | uniqueID: 0 43 | locked: 0 44 | -------------------------------------------------------------------------------- /ProjectSettings/TimeManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!5 &1 4 | TimeManager: 5 | m_ObjectHideFlags: 0 6 | Fixed Timestep: 0.02 7 | Maximum Allowed Timestep: 0.1 8 | m_TimeScale: 1 9 | Maximum Particle Timestep: 0.03 10 | -------------------------------------------------------------------------------- /ProjectSettings/UnityConnectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!310 &1 4 | UnityConnectSettings: 5 | m_ObjectHideFlags: 0 6 | m_Enabled: 0 7 | m_TestMode: 0 8 | m_TestEventUrl: 9 | m_TestConfigUrl: 10 | m_TestInitMode: 0 11 | CrashReportingSettings: 12 | m_EventUrl: https://perf-events.cloud.unity3d.com/api/events/crashes 13 | m_NativeEventUrl: https://perf-events.cloud.unity3d.com/symbolicate 14 | m_Enabled: 0 15 | m_CaptureEditorExceptions: 1 16 | UnityPurchasingSettings: 17 | m_Enabled: 0 18 | m_TestMode: 0 19 | UnityAnalyticsSettings: 20 | m_Enabled: 1 21 | m_InitializeOnStartup: 1 22 | m_TestMode: 0 23 | m_TestEventUrl: 24 | m_TestConfigUrl: 25 | UnityAdsSettings: 26 | m_Enabled: 0 27 | m_InitializeOnStartup: 1 28 | m_TestMode: 0 29 | m_IosGameId: 30 | m_AndroidGameId: 31 | m_GameIds: {} 32 | m_GameId: 33 | PerformanceReportingSettings: 34 | m_Enabled: 0 35 | -------------------------------------------------------------------------------- /ProjectSettings/VFXManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!937362698 &1 4 | VFXManager: 5 | m_ObjectHideFlags: 0 6 | m_IndirectShader: {fileID: 0} 7 | m_CopyBufferShader: {fileID: 0} 8 | m_SortShader: {fileID: 0} 9 | m_StripUpdateShader: {fileID: 0} 10 | m_RenderPipeSettingsPath: 11 | m_FixedTimeStep: 0.016666668 12 | m_MaxDeltaTime: 0.05 13 | m_CompiledVersion: 0 14 | m_RuntimeVersion: 0 15 | m_RuntimeResources: {fileID: 0} 16 | -------------------------------------------------------------------------------- /ProjectSettings/VersionControlSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!890905787 &1 4 | VersionControlSettings: 5 | m_ObjectHideFlags: 0 6 | m_Mode: Visible Meta Files 7 | m_CollabEditorSettings: 8 | inProgressEnabled: 1 9 | -------------------------------------------------------------------------------- /ProjectSettings/XRSettings.asset: -------------------------------------------------------------------------------- 1 | { 2 | "m_SettingKeys": [ 3 | "VR Device Disabled", 4 | "VR Device User Alert" 5 | ], 6 | "m_SettingValues": [ 7 | "False", 8 | "False" 9 | ] 10 | } -------------------------------------------------------------------------------- /ProjectSettings/boot.config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohannesDeml/Unity-Human-Skin-Shader-PC/8a9ad85ca4877121d669a220e6f1e116ed2639eb/ProjectSettings/boot.config -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![SSS Example](Documentation/SSS-Example.png) 2 | # Unity Separable Subsurface Scattering 3 | [![Unity 2021.3](https://img.shields.io/badge/unity-tested%20up%20to%202021.3-green.svg?logo=unity&cacheSeconds=2592000)](https://unity3d.com/get-unity/download/archive) 4 | 5 | ## Features: 6 | * Realtime Post-processing SSS effects(Separable SSS) 7 | * Custom Shader supported (Replacement Command Buffer) 8 | * Realtime color gradient calculations 9 | ## Guide: 10 | * Add "SSSCamera.cs" on the main camera 11 | * Add "SSSObject.cs" on the human model 12 | * Transform the options until you are satisify with the effects. 13 | * Please Do not use vertex displacement shader on human model! 14 | * 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). 15 | * Effect only applied in Game view in Play Mode 16 | 17 | ## FAQ: 18 | ### What shader should I use during making my own character? 19 | * 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. 20 | * 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. 21 | ### Why forward rendering path only? 22 | * 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. 23 | ### Can I make more improvement based on SSSSS? 24 | * 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. 25 | ### Unity Version 26 | Current Version: `Unity 2021.3.16f1`. Supports Unity 2018, 2019, 2020, 2021 and probably will support newer unity versions as well. 27 | For Unity 2018 you will need to remove `"com.unity.ugui": "1.0.0",` and `"com.unity.modules.androidjni": "1.0.0",` from `Packages/manifest.json`. 28 | --------------------------------------------------------------------------------