chore: checkpoint current workspace changes
This commit is contained in:
190
docs/reference/NahidaUnity/Materials/Nahida_Base.mat
Normal file
190
docs/reference/NahidaUnity/Materials/Nahida_Base.mat
Normal file
@@ -0,0 +1,190 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &-3290751858395990286
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 11
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
version: 7
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Nahida_Base
|
||||
m_Shader: {fileID: 4800000, guid: 43a94ff316d044749abc5a8bce3d6902, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords: []
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BaseMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _FaceLightMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _FaceShadow:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _LightMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetalMap:
|
||||
m_Texture: {fileID: 2800000, guid: d7d1337cec6422b4f9db7325b520d61f, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _NormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ShadowRamp:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SpecGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_Lightmaps:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_LightmapsInd:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_ShadowMasks:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AlphaClip: 0
|
||||
- _AlphaToMask: 0
|
||||
- _Blend: 0
|
||||
- _BlendModePreserveSpecular: 1
|
||||
- _BumpScale: 1
|
||||
- _ClearCoatMask: 0
|
||||
- _ClearCoatSmoothness: 0
|
||||
- _Cull: 2
|
||||
- _CustomMaterialType: 1
|
||||
- _Cutoff: 0.5
|
||||
- _DetailAlbedoMapScale: 1
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DoubleSided: 0
|
||||
- _DstBlend: 0
|
||||
- _DstBlendAlpha: 0
|
||||
- _EmissionIntensity: 0.2
|
||||
- _EnvironmentReflections: 1
|
||||
- _FaceBlushStrength: 0
|
||||
- _FaceShadowOffset: 0
|
||||
- _GlossMapScale: 0
|
||||
- _Glossiness: 0
|
||||
- _GlossyReflections: 0
|
||||
- _IsDay: 1
|
||||
- _IsFace: 0
|
||||
- _Metallic: 0
|
||||
- _MetallicIntensity: 8
|
||||
- _NonmetallicIntensity: 0.3
|
||||
- _OcclusionStrength: 1
|
||||
- _OutlineWidth: 1.6
|
||||
- _OutlineZOffset: 0.1
|
||||
- _Parallax: 0.005
|
||||
- _QueueOffset: 0
|
||||
- _ReceiveShadows: 1
|
||||
- _RimIntensity: 0.5
|
||||
- _RimOffset: 5
|
||||
- _RimThreshold: 0.5
|
||||
- _ShadowOffset: 0.1
|
||||
- _ShadowSmoothness: 0.4
|
||||
- _Smoothness: 0.5
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SpecularSmoothness: 5
|
||||
- _SrcBlend: 1
|
||||
- _SrcBlendAlpha: 1
|
||||
- _Surface: 0
|
||||
- _UseCustomMaterialType: 0
|
||||
- _UseEmission: 0
|
||||
- _UseNormalMap: 0
|
||||
- _UseRim: 0
|
||||
- _UseSmoothNormal: 0
|
||||
- _UseSpecular: 0
|
||||
- _WorkflowMode: 1
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _FaceBlushColor: {r: 1, g: 0.72156864, b: 0.69803923, a: 1}
|
||||
- _FaceDirection: {r: 0, g: 0, b: 1, a: 0}
|
||||
- _LightDirectionMultiplier: {r: 1, g: 0.5, b: 1, a: 0}
|
||||
- _OutlineColor: {r: 0.5176471, g: 0.35686275, b: 0.34117648, a: 1}
|
||||
- _OutlineColor2: {r: 0.3529412, g: 0.3529412, b: 0.3529412, a: 1}
|
||||
- _OutlineColor3: {r: 0.47058824, g: 0.47058824, b: 0.5647059, a: 1}
|
||||
- _OutlineColor4: {r: 0.5176471, g: 0.35686275, b: 0.34117648, a: 1}
|
||||
- _OutlineColor5: {r: 0.35, g: 0.35, b: 0.35, a: 1}
|
||||
- _OutlineWidthParams: {r: 0, g: 6, b: 0.1, a: 0.6}
|
||||
- _ScreenOffset: {r: 0, g: 0, b: 0, a: 0}
|
||||
- _ShadowColor: {r: 1.1, g: 1.1, b: 1.1, a: 1}
|
||||
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
70
docs/reference/NahidaUnity/Materials/Nahida_Body.mat
Normal file
70
docs/reference/NahidaUnity/Materials/Nahida_Body.mat
Normal file
@@ -0,0 +1,70 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &-3290751858395990286
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 11
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
version: 7
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Nahida_Body
|
||||
m_Shader: {fileID: 4800000, guid: 43a94ff316d044749abc5a8bce3d6902, type: 3}
|
||||
m_Parent: {fileID: 2100000, guid: 30ad25ccfe2f70b4e8544dc4c3a455fa, type: 2}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords:
|
||||
- _EMISSION
|
||||
- _NORMAL_MAP
|
||||
- _RIM
|
||||
- _SPECULAR
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BaseMap:
|
||||
m_Texture: {fileID: 2800000, guid: 57a770f4365fbb14c84e40cfa596739c, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _LightMap:
|
||||
m_Texture: {fileID: 2800000, guid: 16957b0cd55aa5543a2de2ec31fb4c85, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _NormalMap:
|
||||
m_Texture: {fileID: 2800000, guid: bf09bf6ec9e03bf40a0ec73e7a3f4c5b, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ShadowRamp:
|
||||
m_Texture: {fileID: 2800000, guid: 1b40895a669bdab449fecf3c904f1a40, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _DoubleSided: 0
|
||||
- _IsDay: 1
|
||||
- _OutlineWidth: 1.6
|
||||
- _UseEmission: 1
|
||||
- _UseNormalMap: 1
|
||||
- _UseRim: 1
|
||||
- _UseSmoothNormal: 1
|
||||
- _UseSpecular: 1
|
||||
m_Colors: []
|
||||
m_BuildTextureStacks: []
|
||||
65
docs/reference/NahidaUnity/Materials/Nahida_Brow.mat
Normal file
65
docs/reference/NahidaUnity/Materials/Nahida_Brow.mat
Normal file
@@ -0,0 +1,65 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &-3290751858395990286
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 11
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
version: 7
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Nahida_Brow
|
||||
m_Shader: {fileID: 4800000, guid: 43a94ff316d044749abc5a8bce3d6902, type: 3}
|
||||
m_Parent: {fileID: 2100000, guid: 30ad25ccfe2f70b4e8544dc4c3a455fa, type: 2}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords:
|
||||
- _IS_FACE
|
||||
- _RIM
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BaseMap:
|
||||
m_Texture: {fileID: 2800000, guid: e44c095e8f6db98499384bf085687aa5, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _FaceLightMap:
|
||||
m_Texture: {fileID: 2800000, guid: d933369d3fe294a4da5485a61032669e, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _FaceShadow:
|
||||
m_Texture: {fileID: 2800000, guid: d4fe3d81f5078b240a29ad0d13d5ebcc, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ShadowRamp:
|
||||
m_Texture: {fileID: 2800000, guid: 1b40895a669bdab449fecf3c904f1a40, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _IsFace: 1
|
||||
- _OutlineWidth: 0
|
||||
- _UseCustomMaterialType: 1
|
||||
- _UseRim: 1
|
||||
m_Colors:
|
||||
- _BaseColor: {r: 0.9764706, g: 0.80103135, b: 0.76164705, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
71
docs/reference/NahidaUnity/Materials/Nahida_Dress1.mat
Normal file
71
docs/reference/NahidaUnity/Materials/Nahida_Dress1.mat
Normal file
@@ -0,0 +1,71 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &-3290751858395990286
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 11
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
version: 7
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Nahida_Dress1
|
||||
m_Shader: {fileID: 4800000, guid: 43a94ff316d044749abc5a8bce3d6902, type: 3}
|
||||
m_Parent: {fileID: 2100000, guid: 30ad25ccfe2f70b4e8544dc4c3a455fa, type: 2}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords:
|
||||
- _DOUBLE_SIDED
|
||||
- _EMISSION
|
||||
- _NORMAL_MAP
|
||||
- _RIM
|
||||
- _SPECULAR
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BaseMap:
|
||||
m_Texture: {fileID: 2800000, guid: 57a770f4365fbb14c84e40cfa596739c, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _LightMap:
|
||||
m_Texture: {fileID: 2800000, guid: 16957b0cd55aa5543a2de2ec31fb4c85, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _NormalMap:
|
||||
m_Texture: {fileID: 2800000, guid: bf09bf6ec9e03bf40a0ec73e7a3f4c5b, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ShadowRamp:
|
||||
m_Texture: {fileID: 2800000, guid: 1b40895a669bdab449fecf3c904f1a40, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _Cull: 0
|
||||
- _DoubleSided: 1
|
||||
- _OutlineZOffset: 0.5
|
||||
- _UseEmission: 1
|
||||
- _UseNormalMap: 1
|
||||
- _UseRim: 1
|
||||
- _UseSmoothNormal: 1
|
||||
- _UseSpecular: 1
|
||||
m_Colors: []
|
||||
m_BuildTextureStacks: []
|
||||
70
docs/reference/NahidaUnity/Materials/Nahida_Dress2.mat
Normal file
70
docs/reference/NahidaUnity/Materials/Nahida_Dress2.mat
Normal file
@@ -0,0 +1,70 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &-3290751858395990286
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 11
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
version: 7
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Nahida_Dress2
|
||||
m_Shader: {fileID: 4800000, guid: 43a94ff316d044749abc5a8bce3d6902, type: 3}
|
||||
m_Parent: {fileID: 2100000, guid: 30ad25ccfe2f70b4e8544dc4c3a455fa, type: 2}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords:
|
||||
- _DOUBLE_SIDED
|
||||
- _EMISSION
|
||||
- _NORMAL_MAP
|
||||
- _RIM
|
||||
- _SPECULAR
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BaseMap:
|
||||
m_Texture: {fileID: 2800000, guid: f771c421ae0f7e84891ad26baa73e626, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _LightMap:
|
||||
m_Texture: {fileID: 2800000, guid: 7c407627b6cc5474d87601dddeddf75b, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _NormalMap:
|
||||
m_Texture: {fileID: 2800000, guid: b3dd0683c060c8b4d8e23df5776b9d56, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ShadowRamp:
|
||||
m_Texture: {fileID: 2800000, guid: 59a761e1753da09429a2c063c23def23, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _Cull: 0
|
||||
- _DoubleSided: 1
|
||||
- _OutlineZOffset: 0.5
|
||||
- _UseEmission: 1
|
||||
- _UseNormalMap: 1
|
||||
- _UseRim: 1
|
||||
- _UseSpecular: 1
|
||||
m_Colors: []
|
||||
m_BuildTextureStacks: []
|
||||
66
docs/reference/NahidaUnity/Materials/Nahida_Face.mat
Normal file
66
docs/reference/NahidaUnity/Materials/Nahida_Face.mat
Normal file
@@ -0,0 +1,66 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &-3290751858395990286
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 11
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
version: 7
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Nahida_Face
|
||||
m_Shader: {fileID: 4800000, guid: 43a94ff316d044749abc5a8bce3d6902, type: 3}
|
||||
m_Parent: {fileID: 2100000, guid: 30ad25ccfe2f70b4e8544dc4c3a455fa, type: 2}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords:
|
||||
- _IS_FACE
|
||||
- _RIM
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BaseMap:
|
||||
m_Texture: {fileID: 2800000, guid: e44c095e8f6db98499384bf085687aa5, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _FaceLightMap:
|
||||
m_Texture: {fileID: 2800000, guid: d933369d3fe294a4da5485a61032669e, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _FaceShadow:
|
||||
m_Texture: {fileID: 2800000, guid: d4fe3d81f5078b240a29ad0d13d5ebcc, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ShadowRamp:
|
||||
m_Texture: {fileID: 2800000, guid: 1b40895a669bdab449fecf3c904f1a40, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _FaceBlushStrength: 0.3
|
||||
- _IsFace: 1
|
||||
- _OutlineZOffset: 0.5
|
||||
- _UseCustomMaterialType: 1
|
||||
- _UseRim: 1
|
||||
m_Colors:
|
||||
- _OutlineWidthParams: {r: 0, g: 6, b: 0.1, a: 0.6}
|
||||
m_BuildTextureStacks: []
|
||||
69
docs/reference/NahidaUnity/Materials/Nahida_Hair.mat
Normal file
69
docs/reference/NahidaUnity/Materials/Nahida_Hair.mat
Normal file
@@ -0,0 +1,69 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &-3290751858395990286
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 11
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
version: 7
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Nahida_Hair
|
||||
m_Shader: {fileID: 4800000, guid: 43a94ff316d044749abc5a8bce3d6902, type: 3}
|
||||
m_Parent: {fileID: 2100000, guid: 30ad25ccfe2f70b4e8544dc4c3a455fa, type: 2}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords:
|
||||
- _EMISSION
|
||||
- _NORMAL_MAP
|
||||
- _RIM
|
||||
- _SPECULAR
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BaseMap:
|
||||
m_Texture: {fileID: 2800000, guid: f771c421ae0f7e84891ad26baa73e626, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _LightMap:
|
||||
m_Texture: {fileID: 2800000, guid: 7c407627b6cc5474d87601dddeddf75b, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _NormalMap:
|
||||
m_Texture: {fileID: 2800000, guid: b3dd0683c060c8b4d8e23df5776b9d56, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ShadowRamp:
|
||||
m_Texture: {fileID: 2800000, guid: 59a761e1753da09429a2c063c23def23, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _UseEmission: 1
|
||||
- _UseNormalMap: 1
|
||||
- _UseRim: 1
|
||||
- _UseSmoothNormal: 1
|
||||
- _UseSpecular: 1
|
||||
m_Colors:
|
||||
- _OutlineColor: {r: 0.2784314, g: 0.18039216, b: 0.14901961, a: 1}
|
||||
- _OutlineWidthParams: {r: 0, g: 6, b: 0.1, a: 0.6}
|
||||
m_BuildTextureStacks: []
|
||||
21
docs/reference/NahidaUnity/README.md
Normal file
21
docs/reference/NahidaUnity/README.md
Normal file
@@ -0,0 +1,21 @@
|
||||
# Nahida Unity Reference Snapshot
|
||||
|
||||
This directory stores the Unity-side raw reference files that describe how the original Nahida sample is assembled.
|
||||
|
||||
Why it lives under `docs/reference/` instead of `project/Assets/`:
|
||||
- The engine asset pipeline imports `.mat` as engine-native materials.
|
||||
- The engine asset pipeline imports `.shader` as engine-native shaders.
|
||||
- These files are Unity formats, not engine-native formats.
|
||||
- Keeping them out of `project/Assets` avoids false imports and noisy asset errors.
|
||||
|
||||
What is kept here:
|
||||
- Unity materials
|
||||
- Unity shader and HLSL files
|
||||
- Unity runtime helper scripts
|
||||
- Unity sample scene
|
||||
- Unity URP settings assets
|
||||
|
||||
The engine-native migration target remains:
|
||||
- `project/Assets/Characters/Nahida/`
|
||||
|
||||
Use this folder as semantic reference only while rebuilding the runtime path inside XCEngine.
|
||||
1242
docs/reference/NahidaUnity/Scenes/SampleScene.unity
Normal file
1242
docs/reference/NahidaUnity/Scenes/SampleScene.unity
Normal file
File diff suppressed because it is too large
Load Diff
33
docs/reference/NahidaUnity/Scripts/MaterialUpdater.cs
Normal file
33
docs/reference/NahidaUnity/Scripts/MaterialUpdater.cs
Normal file
@@ -0,0 +1,33 @@
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Nahida
|
||||
{
|
||||
public class MaterialUpdater : MonoBehaviour
|
||||
{
|
||||
[SerializeField]
|
||||
private GameObject m_HeadBone;
|
||||
|
||||
[SerializeField]
|
||||
private Vector3 m_HeadDirection = Vector3.up;
|
||||
|
||||
[SerializeField]
|
||||
private List<SkinnedMeshRenderer> m_FaceRenderers;
|
||||
|
||||
private void Update()
|
||||
{
|
||||
if (m_FaceRenderers == null || m_HeadBone == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
Vector3 direction = m_HeadBone.transform.rotation * m_HeadDirection;
|
||||
foreach (var renderer in m_FaceRenderers)
|
||||
{
|
||||
foreach (var material in renderer.materials)
|
||||
{
|
||||
material.SetVector("_FaceDirection", direction);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
namespace Nahida.Rendering
|
||||
{
|
||||
public enum BloomMode
|
||||
{
|
||||
None,
|
||||
Color,
|
||||
Brightness
|
||||
}
|
||||
}
|
||||
36
docs/reference/NahidaUnity/Scripts/Rendering/BloomVolume.cs
Normal file
36
docs/reference/NahidaUnity/Scripts/Rendering/BloomVolume.cs
Normal file
@@ -0,0 +1,36 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Rendering;
|
||||
using UnityEngine.Rendering.Universal;
|
||||
|
||||
namespace Nahida.Rendering
|
||||
{
|
||||
[Serializable]
|
||||
[VolumeComponentMenuForRenderPipeline("Custom/Bloom", typeof(UniversalRenderPipeline))]
|
||||
public class BloomVolume : VolumeComponent, IPostProcessComponent
|
||||
{
|
||||
public VolumeParameter<BloomMode> mode = new VolumeParameter<BloomMode>();
|
||||
|
||||
public MinFloatParameter threshold = new MinFloatParameter(0.7f, 0f);
|
||||
|
||||
public MinFloatParameter intensity = new MinFloatParameter(1.5f, 0f);
|
||||
|
||||
public Vector4Parameter weights = new Vector4Parameter(0.25f * Vector4.one);
|
||||
|
||||
public ColorParameter color = new ColorParameter(Color.white);
|
||||
|
||||
public MinFloatParameter blurRadius = new MinFloatParameter(2f, 0f);
|
||||
|
||||
public ClampedFloatParameter downSampleScale = new ClampedFloatParameter(0.5f, 0.1f, 1f);
|
||||
|
||||
public bool IsActive()
|
||||
{
|
||||
return mode.value != BloomMode.None;
|
||||
}
|
||||
|
||||
public bool IsTileCompatible()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
using System;
|
||||
using UnityEngine.Rendering;
|
||||
using UnityEngine.Rendering.Universal;
|
||||
|
||||
namespace Nahida.Rendering
|
||||
{
|
||||
[Serializable]
|
||||
[VolumeComponentMenuForRenderPipeline("Custom/ColorGrading", typeof(UniversalRenderPipeline))]
|
||||
public class ColorGradingVolume : VolumeComponent, IPostProcessComponent
|
||||
{
|
||||
public BoolParameter useTonemapping = new BoolParameter(false);
|
||||
|
||||
public MinFloatParameter exposure = new MinFloatParameter(1f, 0f);
|
||||
|
||||
public ClampedFloatParameter contrast = new ClampedFloatParameter(0f, -100f, 100f);
|
||||
|
||||
public ClampedFloatParameter saturation = new ClampedFloatParameter(0f, -100f, 100f);
|
||||
|
||||
public bool IsActive()
|
||||
{
|
||||
return useTonemapping.value || exposure.value != 1f || contrast.value != 0f || saturation.value != 0f;
|
||||
}
|
||||
|
||||
public bool IsTileCompatible()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.Rendering.Universal;
|
||||
|
||||
namespace Nahida.Rendering
|
||||
{
|
||||
public class PostProcessFeature : ScriptableRendererFeature
|
||||
{
|
||||
[SerializeField]
|
||||
private RenderPassEvent m_RenderPassEvent = RenderPassEvent.BeforeRenderingPostProcessing;
|
||||
|
||||
[SerializeField]
|
||||
private Shader m_Shader;
|
||||
|
||||
private PostProcessPass _postProcessPass;
|
||||
|
||||
public const int BloomIterations = 4;
|
||||
|
||||
public override void Create()
|
||||
{
|
||||
if (m_Shader == null)
|
||||
m_Shader = Shader.Find("URPGenshinPostProcess");
|
||||
_postProcessPass = new PostProcessPass(m_RenderPassEvent, m_Shader, BloomIterations);
|
||||
}
|
||||
|
||||
public override void AddRenderPasses(ScriptableRenderer renderer, ref RenderingData renderingData)
|
||||
{
|
||||
renderer.EnqueuePass(_postProcessPass);
|
||||
}
|
||||
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
_postProcessPass?.Dispose();
|
||||
_postProcessPass = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
165
docs/reference/NahidaUnity/Scripts/Rendering/PostProcessPass.cs
Normal file
165
docs/reference/NahidaUnity/Scripts/Rendering/PostProcessPass.cs
Normal file
@@ -0,0 +1,165 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Rendering;
|
||||
using UnityEngine.Rendering.Universal;
|
||||
|
||||
namespace Nahida.Rendering
|
||||
{
|
||||
public class PostProcessPass : ScriptableRenderPass
|
||||
{
|
||||
private Material _material;
|
||||
|
||||
private RTHandle[] _bloomBufferA;
|
||||
|
||||
private RTHandle[] _bloomBufferB;
|
||||
|
||||
private bool _useBloom;
|
||||
|
||||
private int _iterations;
|
||||
|
||||
private float _downSampleScale;
|
||||
|
||||
public PostProcessPass(RenderPassEvent renderPassEvent, Shader shader, int iterations)
|
||||
{
|
||||
_material = CoreUtils.CreateEngineMaterial(shader);
|
||||
_iterations = iterations;
|
||||
_bloomBufferA = new RTHandle[_iterations];
|
||||
_bloomBufferB = new RTHandle[_iterations];
|
||||
|
||||
base.profilingSampler = new ProfilingSampler(nameof(PostProcessPass));
|
||||
base.renderPassEvent = renderPassEvent;
|
||||
}
|
||||
|
||||
public override void Execute(ScriptableRenderContext context, ref RenderingData renderingData)
|
||||
{
|
||||
var cameraType = renderingData.cameraData.cameraType;
|
||||
if (cameraType == CameraType.Preview || cameraType == CameraType.Reflection)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var stack = VolumeManager.instance.stack;
|
||||
var bloomVolume = stack.GetComponent<BloomVolume>();
|
||||
var colorGradingVolume = stack.GetComponent<ColorGradingVolume>();
|
||||
|
||||
if (!bloomVolume.IsActive() && !colorGradingVolume.IsActive())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
_useBloom = bloomVolume.IsActive();
|
||||
_downSampleScale = bloomVolume.downSampleScale.value;
|
||||
SetupBuffer(ref renderingData);
|
||||
SetupMaterial(bloomVolume, colorGradingVolume, ref renderingData);
|
||||
|
||||
var command = CommandBufferPool.Get();
|
||||
Render(command, ref renderingData);
|
||||
context.ExecuteCommandBuffer(command);
|
||||
CommandBufferPool.Release(command);
|
||||
}
|
||||
|
||||
private void SetupBuffer(ref RenderingData renderingData)
|
||||
{
|
||||
var cameraDescriptor = renderingData.cameraData.cameraTargetDescriptor;
|
||||
var descriptor = new RenderTextureDescriptor(cameraDescriptor.width, cameraDescriptor.height, cameraDescriptor.graphicsFormat, 0, 0);
|
||||
|
||||
if (_useBloom)
|
||||
{
|
||||
descriptor.width = (int)Math.Round(descriptor.width * _downSampleScale);
|
||||
descriptor.height = (int)Math.Round(descriptor.height * _downSampleScale);
|
||||
for (int i = 0; i < _iterations; i++)
|
||||
{
|
||||
RenderingUtils.ReAllocateIfNeeded(ref _bloomBufferA[i], descriptor, FilterMode.Bilinear, name: $"_BloomBufferA_{i}");
|
||||
RenderingUtils.ReAllocateIfNeeded(ref _bloomBufferB[i], descriptor, FilterMode.Bilinear, name: $"_BloomBufferB_{i}");
|
||||
descriptor.width = Math.Max(descriptor.width / 2, 1);
|
||||
descriptor.height = Math.Max(descriptor.height / 2, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void SetupMaterial(BloomVolume bloomVolume, ColorGradingVolume colorGradingVolume, ref RenderingData renderingData)
|
||||
{
|
||||
float screenFactor = renderingData.cameraData.cameraTargetDescriptor.height / 1080f;
|
||||
|
||||
CoreUtils.SetKeyword(_material, "_BLOOM_COLOR", bloomVolume.mode.value == BloomMode.Color);
|
||||
CoreUtils.SetKeyword(_material, "_BLOOM_BRIGHTNESS", bloomVolume.mode.value == BloomMode.Brightness);
|
||||
CoreUtils.SetKeyword(_material, "_TONEMAPPING", colorGradingVolume.useTonemapping.value);
|
||||
_material.SetFloat("_Exposure", colorGradingVolume.exposure.value);
|
||||
_material.SetFloat("_Contrast", 1f + colorGradingVolume.contrast.value / 100f);
|
||||
_material.SetFloat("_Saturation", 1f + colorGradingVolume.saturation.value / 100f);
|
||||
|
||||
if (_useBloom)
|
||||
{
|
||||
_material.SetFloat("_BloomThreshold", bloomVolume.threshold.value);
|
||||
_material.SetFloat("_BloomIntensity", bloomVolume.intensity.value);
|
||||
_material.SetVector("_BloomWeights", bloomVolume.weights.value);
|
||||
_material.SetColor("_BloomColor", bloomVolume.color.value);
|
||||
_material.SetFloat("_BlurRadius", bloomVolume.blurRadius.value * _downSampleScale * screenFactor);
|
||||
}
|
||||
}
|
||||
|
||||
private void Render(CommandBuffer commandBuffer, ref RenderingData renderingData)
|
||||
{
|
||||
var source = renderingData.cameraData.renderer.cameraColorTargetHandle;
|
||||
|
||||
using (new ProfilingScope(commandBuffer, profilingSampler))
|
||||
{
|
||||
if (_useBloom)
|
||||
{
|
||||
RTHandle[] bufferA = _bloomBufferA, bufferB = _bloomBufferB;
|
||||
|
||||
Blit(commandBuffer, source, bufferA[0], Pass.BloomPrefilter);
|
||||
|
||||
Blit(commandBuffer, bufferA[0], bufferB[0], Pass.BloomHorizontalBlur1x);
|
||||
Blit(commandBuffer, bufferB[0], bufferA[0], Pass.BloomVerticalBlur1x);
|
||||
|
||||
for (int i = 1; i < _iterations; i++)
|
||||
{
|
||||
Blit(commandBuffer, bufferA[i - 1], bufferB[i], Pass.BloomHorizontalBlur2x);
|
||||
Blit(commandBuffer, bufferB[i], bufferA[i], Pass.BloomVerticalBlur1x);
|
||||
}
|
||||
|
||||
commandBuffer.SetGlobalTexture("_BloomTextureA", bufferA[0]);
|
||||
commandBuffer.SetGlobalTexture("_BloomTextureB", bufferA[1]);
|
||||
commandBuffer.SetGlobalTexture("_BloomTextureC", bufferA[2]);
|
||||
commandBuffer.SetGlobalTexture("_BloomTextureD", bufferA[3]);
|
||||
|
||||
Blit(commandBuffer, bufferB[0], bufferB[0], Pass.BloomUpsample);
|
||||
|
||||
commandBuffer.SetGlobalTexture("_BloomTextureA", bufferB[0]);
|
||||
}
|
||||
|
||||
base.Blit(commandBuffer, ref renderingData, _material, (int)Pass.ColorGrading);
|
||||
}
|
||||
}
|
||||
|
||||
private void Blit(CommandBuffer commandBuffer, RTHandle source, RTHandle destination, Pass pass)
|
||||
{
|
||||
const RenderBufferLoadAction Load = RenderBufferLoadAction.DontCare;
|
||||
const RenderBufferStoreAction Save = RenderBufferStoreAction.Store;
|
||||
Blitter.BlitCameraTexture(commandBuffer, source, destination, Load, Save, _material, (int)pass);
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
for (int i = 0; i < _iterations; i++)
|
||||
{
|
||||
_bloomBufferA[i]?.Release();
|
||||
_bloomBufferB[i]?.Release();
|
||||
}
|
||||
CoreUtils.Destroy(_material);
|
||||
}
|
||||
|
||||
public enum Pass
|
||||
{
|
||||
Blit,
|
||||
BloomPrefilter,
|
||||
BloomHorizontalBlur1x,
|
||||
BloomHorizontalBlur2x,
|
||||
BloomVerticalBlur1x,
|
||||
BloomVerticalBlur2x,
|
||||
BloomUpsample,
|
||||
ColorGrading
|
||||
}
|
||||
}
|
||||
}
|
||||
29
docs/reference/NahidaUnity/Scripts/TransformRotator.cs
Normal file
29
docs/reference/NahidaUnity/Scripts/TransformRotator.cs
Normal file
@@ -0,0 +1,29 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace Nahida
|
||||
{
|
||||
public class TransformRotator : MonoBehaviour
|
||||
{
|
||||
[SerializeField]
|
||||
private float m_Cycle;
|
||||
|
||||
[SerializeField]
|
||||
private Vector3 m_Axis;
|
||||
|
||||
private Quaternion _rotation;
|
||||
|
||||
private float _startTime;
|
||||
|
||||
private void OnEnable()
|
||||
{
|
||||
_rotation = transform.rotation;
|
||||
_startTime = Time.time;
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
float angle = 360f * (Time.time - _startTime) / m_Cycle;
|
||||
transform.rotation = Quaternion.AngleAxis(angle, m_Axis) * _rotation;
|
||||
}
|
||||
}
|
||||
}
|
||||
187
docs/reference/NahidaUnity/Shaders/Genshin.shader
Normal file
187
docs/reference/NahidaUnity/Shaders/Genshin.shader
Normal file
@@ -0,0 +1,187 @@
|
||||
Shader "Genshin"
|
||||
{
|
||||
Properties
|
||||
{
|
||||
[Header(General)]
|
||||
[MainTexture]_BaseMap("Base Map", 2D) = "white" {}
|
||||
[MainColor] _BaseColor("Base Color", Color) = (1,1,1,1)
|
||||
[ToggleUI] _IsDay("Is Day", Float) = 1
|
||||
[Toggle(_DOUBLE_SIDED)] _DoubleSided("Double Sided", Float) = 0
|
||||
[Enum(UnityEngine.Rendering.CullMode)] _Cull("Cull", Float) = 2
|
||||
[Enum(UnityEngine.Rendering.BlendMode)] _SrcBlend("Src Blend", Float) = 1
|
||||
[Enum(UnityEngine.Rendering.BlendMode)] _DstBlend("Dst Blend", Float) = 0
|
||||
|
||||
[Header(Shadow)]
|
||||
_LightMap("Light Map", 2D) = "white" {}
|
||||
_LightDirectionMultiplier("Light Direction Multiplier", Vector) = (1,1,1,0)
|
||||
_ShadowOffset("Shadow Offset", Float) = 0
|
||||
_ShadowSmoothness("Shadow Smoothness", Float) = 0
|
||||
[HDR] _ShadowColor("Shadow Color", Color) = (1,1,1,1)
|
||||
_ShadowRamp("Shadow Ramp", 2D) = "white" {}
|
||||
[ToggleUI] _UseCustomMaterialType("Use Custom Material Type", Float) = 0
|
||||
_CustomMaterialType("Custom Material Type", Float) = 1
|
||||
|
||||
[Header(Emission)]
|
||||
[Toggle(_EMISSION)] _UseEmission("Use Emission", Float) = 0
|
||||
_EmissionIntensity("Emission Intensity", Float) = 1
|
||||
|
||||
[Header(Normal)]
|
||||
[Toggle(_NORMAL_MAP)] _UseNormalMap("Use Normal Map", Float) = 0
|
||||
[Normal] _NormalMap("Normal Map", 2D) = "bump" {}
|
||||
|
||||
[Header(Face)]
|
||||
[Toggle(_IS_FACE)] _IsFace("Is Face", Float) = 0
|
||||
_FaceDirection("Face Direction", Vector) = (0,0,1,0)
|
||||
_FaceShadowOffset("Face Shadow Offset", Float) = 0
|
||||
_FaceBlushColor("Face Blush Color", Color) = (1,1,1,1)
|
||||
_FaceBlushStrength("Face Blush Strength", Float) = 1
|
||||
_FaceLightMap("Face Light Map", 2D) = "white" {}
|
||||
_FaceShadow("Face Shadow", 2D) = "white" {}
|
||||
|
||||
[Header(Specular)]
|
||||
[Toggle(_SPECULAR)] _UseSpecular("Use Specular", Float) = 0
|
||||
_SpecularSmoothness("Specular Smoothness", Float) = 1
|
||||
_NonmetallicIntensity("Nonmetallic Intensity", Float) = 1
|
||||
_MetallicIntensity("Metallic Intensity", Float) = 1
|
||||
_MetalMap("Metal Map", 2D) = "white" {}
|
||||
|
||||
[Header(Rim Light)]
|
||||
[Toggle(_RIM)] _UseRim("Use Rim", Float) = 0
|
||||
_RimOffset("Rim Offset", Float) = 1
|
||||
_RimThreshold("Rim Threshold", Float) = 1
|
||||
_RimIntensity("Rim Intensity", Float) = 1
|
||||
|
||||
[Header(Outline)]
|
||||
[ToggleUI] _UseSmoothNormal("Use Smooth Normal", Float) = 0
|
||||
_OutlineWidth("Outline Width", Float) = 1
|
||||
_OutlineWidthParams("Outline Width Params", Vector) = (0,1,0,1)
|
||||
_OutlineZOffset("Outline Z Offset", Float) = 0
|
||||
_ScreenOffset("Screen Offset", Vector) = (0,0,0,0)
|
||||
_OutlineColor("Outline Color", Color) = (0,0,0,1)
|
||||
_OutlineColor2("Outline Color 2", Color) = (0,0,0,1)
|
||||
_OutlineColor3("Outline Color 3", Color) = (0,0,0,1)
|
||||
_OutlineColor4("Outline Color 4", Color) = (0,0,0,1)
|
||||
_OutlineColor5("Outline Color 5", Color) = (0,0,0,1)
|
||||
}
|
||||
|
||||
Subshader
|
||||
{
|
||||
Tags
|
||||
{
|
||||
"RenderType" = "Opaque"
|
||||
"RenderPipeline" = "UniversalPipeline"
|
||||
"UniversalMaterialType" = "Lit"
|
||||
"IgnoreProjector" = "True"
|
||||
}
|
||||
|
||||
Pass
|
||||
{
|
||||
Name "Forward"
|
||||
Tags {"LightMode" = "UniversalForward"}
|
||||
|
||||
Cull[_Cull]
|
||||
ZWrite On
|
||||
Blend[_SrcBlend][_DstBlend]
|
||||
|
||||
HLSLPROGRAM
|
||||
|
||||
// Universal Pipeline keywords
|
||||
#pragma multi_compile _ _MAIN_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS_CASCADE _MAIN_LIGHT_SHADOWS_SCREEN
|
||||
#pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS
|
||||
#pragma multi_compile_fragment _ _ADDITIONAL_LIGHT_SHADOWS
|
||||
#pragma multi_compile_fragment _ _REFLECTION_PROBE_BLENDING
|
||||
#pragma multi_compile_fragment _ _REFLECTION_PROBE_BOX_PROJECTION
|
||||
#pragma multi_compile_fragment _ _SHADOWS_SOFT
|
||||
#pragma multi_compile_fragment _ _SCREEN_SPACE_OCCLUSION
|
||||
#pragma multi_compile_fragment _ _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3
|
||||
#pragma multi_compile_fragment _ _LIGHT_LAYERS
|
||||
#pragma multi_compile_fragment _ _LIGHT_COOKIES
|
||||
#pragma multi_compile _ _FORWARD_PLUS
|
||||
#pragma multi_compile_fragment _ _WRITE_RENDERING_LAYERS
|
||||
|
||||
// Unity defined keywords
|
||||
#pragma multi_compile _ LIGHTMAP_SHADOW_MIXING
|
||||
#pragma multi_compile _ SHADOWS_SHADOWMASK
|
||||
#pragma multi_compile _ DIRLIGHTMAP_COMBINED
|
||||
#pragma multi_compile _ LIGHTMAP_ON
|
||||
#pragma multi_compile _ DYNAMICLIGHTMAP_ON
|
||||
#pragma multi_compile_fragment _ LOD_FADE_CROSSFADE
|
||||
#pragma multi_compile_fog
|
||||
#pragma multi_compile_fragment _ DEBUG_DISPLAY
|
||||
|
||||
#pragma shader_feature_local_fragment _DOUBLE_SIDED
|
||||
#pragma shader_feature_local_fragment _EMISSION
|
||||
#pragma shader_feature_local_fragment _NORMAL_MAP
|
||||
#pragma shader_feature_local_fragment _IS_FACE
|
||||
#pragma shader_feature_local_fragment _SPECULAR
|
||||
#pragma shader_feature_local_fragment _RIM
|
||||
|
||||
#pragma vertex ForwardPassVertex
|
||||
#pragma fragment ForwardPassFragment
|
||||
|
||||
#include "GenshinInput.hlsl"
|
||||
#include "GenshinForwardPass.hlsl"
|
||||
|
||||
ENDHLSL
|
||||
}
|
||||
|
||||
Pass
|
||||
{
|
||||
Name "ShadowCaster"
|
||||
Tags{"LightMode" = "ShadowCaster"}
|
||||
|
||||
ZWrite On
|
||||
ZTest LEqual
|
||||
ColorMask 0
|
||||
Cull[_Cull]
|
||||
|
||||
HLSLPROGRAM
|
||||
|
||||
#pragma vertex ShadowPassVertex
|
||||
#pragma fragment ShadowPassFragment
|
||||
|
||||
#include "Packages/com.unity.render-pipelines.universal/Shaders/LitInput.hlsl"
|
||||
#include "Packages/com.unity.render-pipelines.universal/Shaders/ShadowCasterPass.hlsl"
|
||||
|
||||
ENDHLSL
|
||||
}
|
||||
|
||||
Pass
|
||||
{
|
||||
Name "DepthOnly"
|
||||
Tags{"LightMode" = "DepthOnly"}
|
||||
|
||||
ZWrite On
|
||||
ColorMask R
|
||||
Cull[_Cull]
|
||||
|
||||
HLSLPROGRAM
|
||||
|
||||
#pragma vertex DepthOnlyVertex
|
||||
#pragma fragment DepthOnlyFragment
|
||||
|
||||
#include "Packages/com.unity.render-pipelines.universal/Shaders/LitInput.hlsl"
|
||||
#include "Packages/com.unity.render-pipelines.universal/Shaders/DepthOnlyPass.hlsl"
|
||||
|
||||
ENDHLSL
|
||||
}
|
||||
|
||||
Pass
|
||||
{
|
||||
Name "Outline"
|
||||
Tags {"LightMode" = "SRPDefaultUnlit"}
|
||||
|
||||
Cull Front
|
||||
|
||||
HLSLPROGRAM
|
||||
|
||||
#pragma vertex OutlinePassVertex
|
||||
#pragma fragment OutlinePassFragment
|
||||
|
||||
#include "GenshinInput.hlsl"
|
||||
#include "GenshinOutlinePass.hlsl"
|
||||
|
||||
ENDHLSL
|
||||
}
|
||||
}
|
||||
}
|
||||
183
docs/reference/NahidaUnity/Shaders/GenshinForwardPass.hlsl
Normal file
183
docs/reference/NahidaUnity/Shaders/GenshinForwardPass.hlsl
Normal file
@@ -0,0 +1,183 @@
|
||||
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
|
||||
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
|
||||
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DeclareDepthTexture.hlsl"
|
||||
|
||||
struct Attributes
|
||||
{
|
||||
float4 positionOS : POSITION;
|
||||
float3 normalOS : NORMAL;
|
||||
float4 tangentOS : TANGENT;
|
||||
float4 color : COLOR;
|
||||
float2 uv : TEXCOORD0;
|
||||
float2 backUV : TEXCOORD1;
|
||||
};
|
||||
|
||||
struct Varyings
|
||||
{
|
||||
float2 uv : TEXCOORD0;
|
||||
float2 backUV : TEXCOORD1;
|
||||
float3 positionWS : TEXCOORD2;
|
||||
half3 tangentWS : TEXCOORD3;
|
||||
half3 bitangentWS : TEXCOORD4;
|
||||
half3 normalWS : TEXCOORD5;
|
||||
float4 positionNDC : TEXCOORD6;
|
||||
half4 color : COLOR;
|
||||
float4 positionCS : SV_POSITION;
|
||||
};
|
||||
|
||||
half GetShadow(Varyings input, half3 lightDirection, half aoFactor)
|
||||
{
|
||||
half NDotL = dot(input.normalWS, lightDirection);
|
||||
half halfLambert = 0.5 * NDotL + 0.5;
|
||||
half shadow = saturate(2.0 * halfLambert * aoFactor);
|
||||
return lerp(shadow, 1.0, step(0.9, aoFactor));
|
||||
}
|
||||
|
||||
half GetFaceShadow(Varyings input, half3 lightDirection)
|
||||
{
|
||||
half3 F = SafeNormalize(half3(_FaceDirection.x, 0.0, _FaceDirection.z));
|
||||
half3 L = SafeNormalize(half3(lightDirection.x, 0.0, lightDirection.z));
|
||||
half FDotL = dot(F, L);
|
||||
half FCrossL = cross(F, L).y;
|
||||
|
||||
half2 shadowUV = input.uv;
|
||||
shadowUV.x = lerp(shadowUV.x, 1.0 - shadowUV.x, step(0.0, FCrossL));
|
||||
half faceShadowMap = SAMPLE_TEXTURE2D(_FaceLightMap, sampler_FaceLightMap, shadowUV).r;
|
||||
half faceShadow = step(-0.5 * FDotL + 0.5 + _FaceShadowOffset, faceShadowMap);
|
||||
|
||||
half faceMask = SAMPLE_TEXTURE2D(_FaceShadow, sampler_FaceShadow, input.uv).a;
|
||||
half maskedFaceShadow = lerp(faceShadow, 1.0, faceMask);
|
||||
|
||||
return maskedFaceShadow;
|
||||
}
|
||||
|
||||
half3 GetShadowColor(half shadow, half material, half day)
|
||||
{
|
||||
int index = 4;
|
||||
index = lerp(index, 1, step(0.2, material));
|
||||
index = lerp(index, 2, step(0.4, material));
|
||||
index = lerp(index, 0, step(0.6, material));
|
||||
index = lerp(index, 3, step(0.8, material));
|
||||
|
||||
half rangeMin = 0.5 + _ShadowOffset - _ShadowSmoothness;
|
||||
half rangeMax = 0.5 + _ShadowOffset;
|
||||
half2 rampUV = half2(smoothstep(rangeMin, rangeMax, shadow), index / 10.0 + 0.5 * day + 0.05);
|
||||
half3 shadowRamp = SAMPLE_TEXTURE2D(_ShadowRamp, sampler_ShadowRamp, rampUV);
|
||||
|
||||
half3 shadowColor = shadowRamp * lerp(_ShadowColor, 1.0, smoothstep(0.9, 1.0, rampUV.x));
|
||||
shadowColor = lerp(shadowColor, 1.0, step(rangeMax, shadow));
|
||||
|
||||
return shadowColor;
|
||||
}
|
||||
|
||||
half3 GetSpecular(Varyings input, half3 lightDirection, half3 albedo, half3 lightMap)
|
||||
{
|
||||
half3 V = GetWorldSpaceNormalizeViewDir(input.positionWS);
|
||||
half3 H = SafeNormalize(lightDirection + V);
|
||||
half NDotH = dot(input.normalWS, H);
|
||||
half blinnPhong = pow(saturate(NDotH), _SpecularSmoothness);
|
||||
|
||||
half3 normalVS = TransformWorldToViewNormal(input.normalWS, true);
|
||||
half2 matcapUV = 0.5 * normalVS.xy + 0.5;
|
||||
half3 metalMap = SAMPLE_TEXTURE2D(_MetalMap, sampler_MetalMap, matcapUV);
|
||||
|
||||
half3 nonMetallic = step(1.1, lightMap.b + blinnPhong) * lightMap.r * _NonmetallicIntensity;
|
||||
half3 metallic = blinnPhong * lightMap.b * albedo * metalMap * _MetallicIntensity;
|
||||
half3 specular = lerp(nonMetallic, metallic, step(0.9, lightMap.r));
|
||||
|
||||
return specular;
|
||||
}
|
||||
|
||||
half GetRim(Varyings input)
|
||||
{
|
||||
half3 normalVS = TransformWorldToViewNormal(input.normalWS, true);
|
||||
float2 uv = input.positionNDC.xy / input.positionNDC.w;
|
||||
float2 offset = float2(_RimOffset * normalVS.x / _ScreenParams.x, 0.0);
|
||||
|
||||
float depth = LinearEyeDepth(SampleSceneDepth(uv), _ZBufferParams);
|
||||
float offsetDepth = LinearEyeDepth(SampleSceneDepth(uv + offset), _ZBufferParams);
|
||||
half rim = smoothstep(0.0, _RimThreshold, offsetDepth - depth) * _RimIntensity;
|
||||
|
||||
half3 V = GetWorldSpaceNormalizeViewDir(input.positionWS);
|
||||
half NDotV = dot(input.normalWS, V);
|
||||
half fresnel = pow(saturate(1.0 - NDotV), 5.0);
|
||||
|
||||
return rim * fresnel;
|
||||
}
|
||||
|
||||
Varyings ForwardPassVertex(Attributes input)
|
||||
{
|
||||
VertexPositionInputs vertexInput = GetVertexPositionInputs(input.positionOS.xyz);
|
||||
VertexNormalInputs normalInput = GetVertexNormalInputs(input.normalOS, input.tangentOS);
|
||||
|
||||
Varyings output = (Varyings)0;
|
||||
output.uv = TRANSFORM_TEX(input.uv, _BaseMap);
|
||||
output.backUV = TRANSFORM_TEX(input.backUV, _BaseMap);
|
||||
output.positionWS = vertexInput.positionWS;
|
||||
output.tangentWS = normalInput.tangentWS;
|
||||
output.bitangentWS = normalInput.bitangentWS;
|
||||
output.normalWS = normalInput.normalWS;
|
||||
output.positionNDC = vertexInput.positionNDC;
|
||||
output.color = input.color;
|
||||
output.positionCS = vertexInput.positionCS;
|
||||
|
||||
output.positionCS.xy += _ScreenOffset.xy * output.positionCS.w;
|
||||
|
||||
return output;
|
||||
}
|
||||
|
||||
half4 ForwardPassFragment(Varyings input, FRONT_FACE_TYPE facing : FRONT_FACE_SEMANTIC) : SV_TARGET
|
||||
{
|
||||
#if _DOUBLE_SIDED
|
||||
input.uv = lerp(input.uv, input.backUV, IS_FRONT_VFACE(facing, 0.0, 1.0));
|
||||
#endif
|
||||
|
||||
half4 baseMap = SAMPLE_TEXTURE2D(_BaseMap, sampler_BaseMap, input.uv);
|
||||
half3 albedo = baseMap.rgb * _BaseColor.rgb;
|
||||
half alpha = baseMap.a;
|
||||
|
||||
#if _IS_FACE
|
||||
albedo = lerp(albedo, _FaceBlushColor.rgb, _FaceBlushStrength * alpha);
|
||||
#endif
|
||||
|
||||
#if _NORMAL_MAP
|
||||
half3x3 tangentToWorld = half3x3(input.tangentWS, input.bitangentWS, input.normalWS);
|
||||
half4 normalMap = SAMPLE_TEXTURE2D(_NormalMap, sampler_NormalMap, input.uv);
|
||||
half3 normalTS = UnpackNormal(normalMap);
|
||||
half3 normalWS = TransformTangentToWorld(normalTS, tangentToWorld, true);
|
||||
input.normalWS = normalWS;
|
||||
#endif
|
||||
|
||||
Light mainLight = GetMainLight();
|
||||
half3 lightDirection = SafeNormalize(mainLight.direction * _LightDirectionMultiplier);
|
||||
|
||||
half4 lightMap = SAMPLE_TEXTURE2D(_LightMap, sampler_LightMap, input.uv);
|
||||
half material = lerp(lightMap.a, _CustomMaterialType, _UseCustomMaterialType);
|
||||
#if _IS_FACE
|
||||
half shadow = GetFaceShadow(input, lightDirection);
|
||||
#else
|
||||
half aoFactor = lightMap.g * input.color.r;
|
||||
half shadow = GetShadow(input, lightDirection, aoFactor);
|
||||
#endif
|
||||
half3 shadowColor = GetShadowColor(shadow, material, _IsDay);
|
||||
|
||||
half3 specular = 0.0;
|
||||
#if _SPECULAR
|
||||
specular = GetSpecular(input, lightDirection, albedo, lightMap.rgb);
|
||||
#endif
|
||||
|
||||
half3 emission = 0.0;
|
||||
#if _EMISSION
|
||||
emission = albedo * _EmissionIntensity * alpha;
|
||||
#endif
|
||||
|
||||
half3 rim = 0.0;
|
||||
#if _RIM
|
||||
rim = albedo * GetRim(input);
|
||||
#endif
|
||||
|
||||
half3 finalColor = albedo * shadowColor + specular + emission + rim;
|
||||
half finalAlpha = 1.0;
|
||||
|
||||
return half4(finalColor, finalAlpha);
|
||||
}
|
||||
51
docs/reference/NahidaUnity/Shaders/GenshinInput.hlsl
Normal file
51
docs/reference/NahidaUnity/Shaders/GenshinInput.hlsl
Normal file
@@ -0,0 +1,51 @@
|
||||
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
|
||||
|
||||
CBUFFER_START(UnityPerMaterial)
|
||||
float4 _BaseMap_ST;
|
||||
half4 _BaseColor;
|
||||
half _IsDay;
|
||||
half _Cull;
|
||||
half _SrcBlend;
|
||||
half _DstBlend;
|
||||
|
||||
half4 _LightDirectionMultiplier;
|
||||
half _ShadowOffset;
|
||||
half _ShadowSmoothness;
|
||||
half4 _ShadowColor;
|
||||
half _UseCustomMaterialType;
|
||||
half _CustomMaterialType;
|
||||
|
||||
half _EmissionIntensity;
|
||||
|
||||
half4 _FaceDirection;
|
||||
half _FaceShadowOffset;
|
||||
half4 _FaceBlushColor;
|
||||
half _FaceBlushStrength;
|
||||
|
||||
half _SpecularSmoothness;
|
||||
half _NonmetallicIntensity;
|
||||
half _MetallicIntensity;
|
||||
|
||||
half _RimOffset;
|
||||
half _RimThreshold;
|
||||
half _RimIntensity;
|
||||
|
||||
half _UseSmoothNormal;
|
||||
half _OutlineWidth;
|
||||
half4 _OutlineWidthParams;
|
||||
half _OutlineZOffset;
|
||||
half4 _ScreenOffset;
|
||||
half4 _OutlineColor;
|
||||
half4 _OutlineColor2;
|
||||
half4 _OutlineColor3;
|
||||
half4 _OutlineColor4;
|
||||
half4 _OutlineColor5;
|
||||
CBUFFER_END
|
||||
|
||||
TEXTURE2D(_BaseMap); SAMPLER(sampler_BaseMap);
|
||||
TEXTURE2D(_LightMap); SAMPLER(sampler_LightMap);
|
||||
TEXTURE2D(_ShadowRamp); SAMPLER(sampler_ShadowRamp);
|
||||
TEXTURE2D(_NormalMap); SAMPLER(sampler_NormalMap);
|
||||
TEXTURE2D(_FaceLightMap); SAMPLER(sampler_FaceLightMap);
|
||||
TEXTURE2D(_FaceShadow); SAMPLER(sampler_FaceShadow);
|
||||
TEXTURE2D(_MetalMap); SAMPLER(sampler_MetalMap);
|
||||
81
docs/reference/NahidaUnity/Shaders/GenshinOutlinePass.hlsl
Normal file
81
docs/reference/NahidaUnity/Shaders/GenshinOutlinePass.hlsl
Normal file
@@ -0,0 +1,81 @@
|
||||
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
|
||||
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
|
||||
|
||||
struct Attributes
|
||||
{
|
||||
float4 positionOS : POSITION;
|
||||
float3 normalOS : NORMAL;
|
||||
float4 tangentOS : TANGENT;
|
||||
float4 color : COLOR;
|
||||
float2 uv : TEXCOORD0;
|
||||
float3 smoothNormal : TEXCOORD7;
|
||||
};
|
||||
|
||||
struct Varyings
|
||||
{
|
||||
float2 uv : TEXCOORD0;
|
||||
float4 positionCS : SV_POSITION;
|
||||
};
|
||||
|
||||
float GetOutlineWidth(float positionVS_Z)
|
||||
{
|
||||
float fovFactor = 2.414 / UNITY_MATRIX_P[1].y;
|
||||
float z = abs(positionVS_Z * fovFactor);
|
||||
|
||||
float4 params = _OutlineWidthParams;
|
||||
float k = saturate((z - params.x) / (params.y - params.x));
|
||||
float width = lerp(params.z, params.w, k);
|
||||
|
||||
return 0.01 * _OutlineWidth * width;
|
||||
}
|
||||
|
||||
float4 GetOutlinePosition(VertexPositionInputs vertexInput, VertexNormalInputs normalInput, half4 vertexColor)
|
||||
{
|
||||
float z = vertexInput.positionVS.z;
|
||||
float width = GetOutlineWidth(z) * vertexColor.a;
|
||||
|
||||
half3 normalVS = TransformWorldToViewNormal(normalInput.normalWS);
|
||||
normalVS = SafeNormalize(half3(normalVS.xy, 0.0));
|
||||
|
||||
float3 positionVS = vertexInput.positionVS;
|
||||
positionVS += 0.01 * _OutlineZOffset * SafeNormalize(positionVS);
|
||||
positionVS += width * normalVS;
|
||||
|
||||
float4 positionCS = TransformWViewToHClip(positionVS);
|
||||
positionCS.xy += _ScreenOffset.zw * positionCS.w;
|
||||
|
||||
return positionCS;
|
||||
}
|
||||
|
||||
Varyings OutlinePassVertex(Attributes input)
|
||||
{
|
||||
VertexPositionInputs vertexInput = GetVertexPositionInputs(input.positionOS.xyz);
|
||||
VertexNormalInputs normalInput = GetVertexNormalInputs(input.normalOS, input.tangentOS);
|
||||
|
||||
half3x3 tangentToWorld = half3x3(normalInput.tangentWS, normalInput.bitangentWS, normalInput.normalWS);
|
||||
half3 normalTS = 2.0 * (input.smoothNormal - 0.5);
|
||||
half3 normalWS = TransformTangentToWorld(normalTS, tangentToWorld, true);
|
||||
normalInput.normalWS = lerp(normalInput.normalWS, normalWS, _UseSmoothNormal);
|
||||
|
||||
float4 positionCS = GetOutlinePosition(vertexInput, normalInput, input.color);
|
||||
|
||||
Varyings output = (Varyings)0;
|
||||
output.uv = TRANSFORM_TEX(input.uv, _BaseMap);
|
||||
output.positionCS = positionCS;
|
||||
|
||||
return output;
|
||||
}
|
||||
|
||||
half4 OutlinePassFragment(Varyings input) : SV_TARGET
|
||||
{
|
||||
half4 lightMap = SAMPLE_TEXTURE2D(_LightMap, sampler_LightMap, input.uv);
|
||||
half material = lightMap.a;
|
||||
|
||||
half4 color = _OutlineColor5;
|
||||
color = lerp(color, _OutlineColor4, step(0.2, material));
|
||||
color = lerp(color, _OutlineColor3, step(0.4, material));
|
||||
color = lerp(color, _OutlineColor2, step(0.6, material));
|
||||
color = lerp(color, _OutlineColor, step(0.8, material));
|
||||
|
||||
return color;
|
||||
}
|
||||
262
docs/reference/NahidaUnity/Shaders/URPGenshinPostProcess.shader
Normal file
262
docs/reference/NahidaUnity/Shaders/URPGenshinPostProcess.shader
Normal file
@@ -0,0 +1,262 @@
|
||||
Shader "URPGenshinPostProcess"
|
||||
{
|
||||
HLSLINCLUDE
|
||||
|
||||
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
|
||||
#include "Packages/com.unity.render-pipelines.core/Runtime/Utilities/Blit.hlsl"
|
||||
|
||||
#pragma multi_compile_local_fragment _ _BLOOM_COLOR _BLOOM_BRIGHTNESS
|
||||
#pragma multi_compile_local_fragment _ _TONEMAPPING
|
||||
|
||||
float2 _BlitTexture_TexelSize;
|
||||
half _BloomThreshold;
|
||||
half _BloomIntensity;
|
||||
half4 _BloomWeights;
|
||||
half4 _BloomColor;
|
||||
half _BlurRadius;
|
||||
half _Exposure;
|
||||
half _Contrast;
|
||||
half _Saturation;
|
||||
|
||||
TEXTURE2D(_BloomTextureA);
|
||||
TEXTURE2D(_BloomTextureB);
|
||||
TEXTURE2D(_BloomTextureC);
|
||||
TEXTURE2D(_BloomTextureD);
|
||||
|
||||
const static int kernelSize = 9;
|
||||
const static float kernelOffsets[9] = {
|
||||
-4.0,
|
||||
-3.0,
|
||||
-2.0,
|
||||
-1.0,
|
||||
0.0,
|
||||
1.0,
|
||||
2.0,
|
||||
3.0,
|
||||
4.0,
|
||||
};
|
||||
const static float kernel[9] = {
|
||||
0.01621622,
|
||||
0.05405405,
|
||||
0.12162162,
|
||||
0.19459459,
|
||||
0.22702703,
|
||||
0.19459459,
|
||||
0.12162162,
|
||||
0.05405405,
|
||||
0.01621622
|
||||
};
|
||||
|
||||
half4 Prefilter(Varyings input) : SV_TARGET
|
||||
{
|
||||
float2 uv = UnityStereoTransformScreenSpaceTex(input.texcoord);
|
||||
half4 color = SAMPLE_TEXTURE2D_X(_BlitTexture, sampler_LinearClamp, uv);
|
||||
|
||||
#if _BLOOM_BRIGHTNESS
|
||||
half brightness = max(max(color.r, color.g), color.b);
|
||||
color.rgb *= saturate(brightness - _BloomThreshold);
|
||||
#else
|
||||
color.rgb = max(color.rgb - _BloomThreshold, 0.0);
|
||||
#endif
|
||||
|
||||
return color;
|
||||
}
|
||||
|
||||
half4 GaussianBlur(float2 uv, float2 direction)
|
||||
{
|
||||
float2 offset = _BlurRadius * _BlitTexture_TexelSize * direction;
|
||||
half4 color = 0.0;
|
||||
|
||||
UNITY_UNROLL
|
||||
for (int i = 0; i < kernelSize; i++)
|
||||
{
|
||||
float2 sampleUV = uv + kernelOffsets[i] * offset;
|
||||
color += kernel[i] * SAMPLE_TEXTURE2D_X(_BlitTexture, sampler_LinearClamp, sampleUV);
|
||||
}
|
||||
|
||||
return color;
|
||||
}
|
||||
|
||||
half4 HorizontalBlur1x(Varyings input) : SV_TARGET
|
||||
{
|
||||
float2 uv = UnityStereoTransformScreenSpaceTex(input.texcoord);
|
||||
return GaussianBlur(uv, float2(1.0, 0.0));
|
||||
}
|
||||
|
||||
half4 HorizontalBlur2x(Varyings input) : SV_TARGET
|
||||
{
|
||||
float2 uv = UnityStereoTransformScreenSpaceTex(input.texcoord);
|
||||
return GaussianBlur(uv, float2(2.0, 0.0));
|
||||
}
|
||||
|
||||
half4 VerticalBlur1x(Varyings input) : SV_TARGET
|
||||
{
|
||||
float2 uv = UnityStereoTransformScreenSpaceTex(input.texcoord);
|
||||
return GaussianBlur(uv, float2(0.0, 1.0));
|
||||
}
|
||||
|
||||
half4 VerticalBlur2x(Varyings input) : SV_TARGET
|
||||
{
|
||||
float2 uv = UnityStereoTransformScreenSpaceTex(input.texcoord);
|
||||
return GaussianBlur(uv, float2(0.0, 2.0));
|
||||
}
|
||||
|
||||
half4 Upsample(Varyings input) : SV_TARGET
|
||||
{
|
||||
float2 uv = UnityStereoTransformScreenSpaceTex(input.texcoord);
|
||||
half4 color = 0.0;
|
||||
half4 weights = _BloomWeights;
|
||||
|
||||
color += SAMPLE_TEXTURE2D_X(_BloomTextureA, sampler_LinearClamp, uv) * weights.x;
|
||||
color += SAMPLE_TEXTURE2D_X(_BloomTextureB, sampler_LinearClamp, uv) * weights.y;
|
||||
color += SAMPLE_TEXTURE2D_X(_BloomTextureC, sampler_LinearClamp, uv) * weights.z;
|
||||
color += SAMPLE_TEXTURE2D_X(_BloomTextureD, sampler_LinearClamp, uv) * weights.w;
|
||||
|
||||
return color;
|
||||
}
|
||||
|
||||
half3 Tonemap(half3 color)
|
||||
{
|
||||
half3 c0 = (1.36 * color + 0.047) * color;
|
||||
half3 c1 = (0.93 * color + 0.56) * color + 0.14;
|
||||
return saturate(c0 / c1);
|
||||
}
|
||||
|
||||
half4 ColorGrading(Varyings input) : SV_TARGET
|
||||
{
|
||||
float2 uv = UnityStereoTransformScreenSpaceTex(input.texcoord);
|
||||
half4 baseMap = SAMPLE_TEXTURE2D_X(_BlitTexture, sampler_LinearClamp, uv);
|
||||
half3 color = baseMap.rgb;
|
||||
half alpha = baseMap.a;
|
||||
|
||||
#if _BLOOM_COLOR || _BLOOM_BRIGHTNESS
|
||||
// Bloom
|
||||
half3 bloom = SAMPLE_TEXTURE2D_X(_BloomTextureA, sampler_LinearClamp, uv).rgb;
|
||||
bloom *= _BloomIntensity * _BloomColor.rgb;
|
||||
color += bloom;
|
||||
#endif
|
||||
|
||||
// Exposure
|
||||
color *= _Exposure;
|
||||
|
||||
#if _TONEMAPPING
|
||||
// Tonemapping
|
||||
color = Tonemap(color);
|
||||
#endif
|
||||
|
||||
// Contrast
|
||||
half3 colorLog = LinearToLogC(color);
|
||||
colorLog = lerp(ACEScc_MIDGRAY, colorLog, _Contrast);
|
||||
color = LogCToLinear(colorLog);
|
||||
|
||||
// Saturation
|
||||
half luma = dot(color, half3(0.2126, 0.7152, 0.0722));
|
||||
color = lerp(luma, color, _Saturation);
|
||||
|
||||
return float4(color, alpha);
|
||||
}
|
||||
|
||||
ENDHLSL
|
||||
|
||||
Subshader
|
||||
{
|
||||
Tags { "RenderPipeline" = "UniversalPipeline" }
|
||||
ZWrite Off ZTest Always Blend Off Cull Off
|
||||
|
||||
Pass
|
||||
{
|
||||
Name "Blit"
|
||||
|
||||
HLSLPROGRAM
|
||||
|
||||
#pragma vertex Vert
|
||||
#pragma fragment FragBilinear
|
||||
|
||||
ENDHLSL
|
||||
}
|
||||
|
||||
Pass
|
||||
{
|
||||
Name "BloomPrefilter"
|
||||
|
||||
HLSLPROGRAM
|
||||
|
||||
#pragma vertex Vert
|
||||
#pragma fragment Prefilter
|
||||
|
||||
ENDHLSL
|
||||
}
|
||||
|
||||
Pass
|
||||
{
|
||||
Name "BloomHorizontalBlur1x"
|
||||
|
||||
HLSLPROGRAM
|
||||
|
||||
#pragma vertex Vert
|
||||
#pragma fragment HorizontalBlur1x
|
||||
|
||||
ENDHLSL
|
||||
}
|
||||
|
||||
Pass
|
||||
{
|
||||
Name "BloomHorizontalBlur2x"
|
||||
|
||||
HLSLPROGRAM
|
||||
|
||||
#pragma vertex Vert
|
||||
#pragma fragment HorizontalBlur2x
|
||||
|
||||
ENDHLSL
|
||||
}
|
||||
|
||||
Pass
|
||||
{
|
||||
Name "BloomVerticalBlur1x"
|
||||
|
||||
HLSLPROGRAM
|
||||
|
||||
#pragma vertex Vert
|
||||
#pragma fragment VerticalBlur1x
|
||||
|
||||
ENDHLSL
|
||||
}
|
||||
|
||||
Pass
|
||||
{
|
||||
Name "BloomVerticalBlur2x"
|
||||
|
||||
HLSLPROGRAM
|
||||
|
||||
#pragma vertex Vert
|
||||
#pragma fragment VerticalBlur2x
|
||||
|
||||
ENDHLSL
|
||||
}
|
||||
|
||||
Pass
|
||||
{
|
||||
Name "BloomUpsample"
|
||||
|
||||
HLSLPROGRAM
|
||||
|
||||
#pragma vertex Vert
|
||||
#pragma fragment Upsample
|
||||
|
||||
ENDHLSL
|
||||
}
|
||||
|
||||
Pass
|
||||
{
|
||||
Name "ColorGrading"
|
||||
|
||||
HLSLPROGRAM
|
||||
|
||||
#pragma vertex Vert
|
||||
#pragma fragment ColorGrading
|
||||
|
||||
ENDHLSL
|
||||
}
|
||||
}
|
||||
}
|
||||
114
docs/reference/NahidaUnity/URPSettings/URPAsset.asset
Normal file
114
docs/reference/NahidaUnity/URPSettings/URPAsset.asset
Normal file
@@ -0,0 +1,114 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: bf2edee5c58d82540a51f03df9d42094, type: 3}
|
||||
m_Name: URPAsset
|
||||
m_EditorClassIdentifier:
|
||||
k_AssetVersion: 11
|
||||
k_AssetPreviousVersion: 11
|
||||
m_RendererType: 1
|
||||
m_RendererData: {fileID: 0}
|
||||
m_RendererDataList:
|
||||
- {fileID: 11400000, guid: c40be3174f62c4acf8c1216858c64956, type: 2}
|
||||
m_DefaultRendererIndex: 0
|
||||
m_RequireDepthTexture: 1
|
||||
m_RequireOpaqueTexture: 0
|
||||
m_OpaqueDownsampling: 1
|
||||
m_SupportsTerrainHoles: 1
|
||||
m_SupportsHDR: 1
|
||||
m_HDRColorBufferPrecision: 1
|
||||
m_MSAA: 1
|
||||
m_RenderScale: 1
|
||||
m_UpscalingFilter: 0
|
||||
m_FsrOverrideSharpness: 0
|
||||
m_FsrSharpness: 0.92
|
||||
m_EnableLODCrossFade: 1
|
||||
m_LODCrossFadeDitheringType: 1
|
||||
m_ShEvalMode: 0
|
||||
m_MainLightRenderingMode: 1
|
||||
m_MainLightShadowsSupported: 1
|
||||
m_MainLightShadowmapResolution: 4096
|
||||
m_AdditionalLightsRenderingMode: 1
|
||||
m_AdditionalLightsPerObjectLimit: 8
|
||||
m_AdditionalLightShadowsSupported: 1
|
||||
m_AdditionalLightsShadowmapResolution: 4096
|
||||
m_AdditionalLightsShadowResolutionTierLow: 128
|
||||
m_AdditionalLightsShadowResolutionTierMedium: 256
|
||||
m_AdditionalLightsShadowResolutionTierHigh: 512
|
||||
m_ReflectionProbeBlending: 1
|
||||
m_ReflectionProbeBoxProjection: 1
|
||||
m_ShadowDistance: 150
|
||||
m_ShadowCascadeCount: 4
|
||||
m_Cascade2Split: 0.25
|
||||
m_Cascade3Split: {x: 0.1, y: 0.3}
|
||||
m_Cascade4Split: {x: 0.067, y: 0.2, z: 0.467}
|
||||
m_CascadeBorder: 0.1
|
||||
m_ShadowDepthBias: 1
|
||||
m_ShadowNormalBias: 0
|
||||
m_AnyShadowsSupported: 1
|
||||
m_SoftShadowsSupported: 1
|
||||
m_ConservativeEnclosingSphere: 0
|
||||
m_NumIterationsEnclosingSphere: 64
|
||||
m_SoftShadowQuality: 3
|
||||
m_AdditionalLightsCookieResolution: 4096
|
||||
m_AdditionalLightsCookieFormat: 4
|
||||
m_UseSRPBatcher: 1
|
||||
m_SupportsDynamicBatching: 0
|
||||
m_MixedLightingSupported: 1
|
||||
m_SupportsLightCookies: 1
|
||||
m_SupportsLightLayers: 0
|
||||
m_DebugLevel: 0
|
||||
m_StoreActionsOptimization: 0
|
||||
m_EnableRenderGraph: 0
|
||||
m_UseAdaptivePerformance: 1
|
||||
m_ColorGradingMode: 0
|
||||
m_ColorGradingLutSize: 32
|
||||
m_UseFastSRGBLinearConversion: 0
|
||||
m_SupportDataDrivenLensFlare: 1
|
||||
m_ShadowType: 1
|
||||
m_LocalShadowsSupported: 0
|
||||
m_LocalShadowsAtlasResolution: 256
|
||||
m_MaxPixelLights: 0
|
||||
m_ShadowAtlasResolution: 256
|
||||
m_VolumeFrameworkUpdateMode: 0
|
||||
m_Textures:
|
||||
blueNoise64LTex: {fileID: 2800000, guid: e3d24661c1e055f45a7560c033dbb837, type: 3}
|
||||
bayerMatrixTex: {fileID: 2800000, guid: f9ee4ed84c1d10c49aabb9b210b0fc44, type: 3}
|
||||
m_PrefilteringModeMainLightShadows: 1
|
||||
m_PrefilteringModeAdditionalLight: 4
|
||||
m_PrefilteringModeAdditionalLightShadows: 1
|
||||
m_PrefilterXRKeywords: 0
|
||||
m_PrefilteringModeForwardPlus: 1
|
||||
m_PrefilteringModeDeferredRendering: 1
|
||||
m_PrefilteringModeScreenSpaceOcclusion: 1
|
||||
m_PrefilterDebugKeywords: 0
|
||||
m_PrefilterWriteRenderingLayers: 0
|
||||
m_PrefilterHDROutput: 0
|
||||
m_PrefilterSSAODepthNormals: 0
|
||||
m_PrefilterSSAOSourceDepthLow: 0
|
||||
m_PrefilterSSAOSourceDepthMedium: 0
|
||||
m_PrefilterSSAOSourceDepthHigh: 0
|
||||
m_PrefilterSSAOInterleaved: 0
|
||||
m_PrefilterSSAOBlueNoise: 0
|
||||
m_PrefilterSSAOSampleCountLow: 0
|
||||
m_PrefilterSSAOSampleCountMedium: 0
|
||||
m_PrefilterSSAOSampleCountHigh: 0
|
||||
m_PrefilterDBufferMRT1: 0
|
||||
m_PrefilterDBufferMRT2: 0
|
||||
m_PrefilterDBufferMRT3: 0
|
||||
m_PrefilterSoftShadowsQualityLow: 0
|
||||
m_PrefilterSoftShadowsQualityMedium: 0
|
||||
m_PrefilterSoftShadowsQualityHigh: 0
|
||||
m_PrefilterSoftShadows: 0
|
||||
m_PrefilterScreenCoord: 0
|
||||
m_PrefilterNativeRenderPass: 0
|
||||
m_ShaderVariantLogLevel: 0
|
||||
m_ShadowCascades: 1
|
||||
@@ -0,0 +1,126 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &-9000257669431859462
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 3
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 3dcd9373f10f3874a949a399856fa187, type: 3}
|
||||
m_Name: PostProcessVolume
|
||||
m_EditorClassIdentifier:
|
||||
active: 1
|
||||
<displayName>k__BackingField:
|
||||
enabled:
|
||||
m_OverrideState: 1
|
||||
m_Value: 1
|
||||
useBloom:
|
||||
m_OverrideState: 1
|
||||
m_Value: 1
|
||||
bloomThreshold:
|
||||
m_OverrideState: 1
|
||||
m_Value: 0.7
|
||||
bloomScatter:
|
||||
m_OverrideState: 1
|
||||
m_Value: 0.7
|
||||
bloomIntensity:
|
||||
m_OverrideState: 1
|
||||
m_Value: 1.5
|
||||
blurIterations:
|
||||
m_OverrideState: 1
|
||||
m_Value: 4
|
||||
blurRadius:
|
||||
m_OverrideState: 1
|
||||
m_Value: 2
|
||||
blurDownSampleScale:
|
||||
m_OverrideState: 1
|
||||
m_Value: 0.5
|
||||
useTonemapping:
|
||||
m_OverrideState: 1
|
||||
m_Value: 1
|
||||
exposure:
|
||||
m_OverrideState: 1
|
||||
m_Value: 1
|
||||
contrast:
|
||||
m_OverrideState: 1
|
||||
m_Value: 0
|
||||
saturation:
|
||||
m_OverrideState: 1
|
||||
m_Value: 0
|
||||
--- !u!114 &-4271347055193007441
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 3
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 76dafa8030f42e648a782b9ab29b6ccb, type: 3}
|
||||
m_Name: BloomVolume
|
||||
m_EditorClassIdentifier:
|
||||
active: 1
|
||||
mode:
|
||||
m_OverrideState: 1
|
||||
m_Value: 1
|
||||
threshold:
|
||||
m_OverrideState: 1
|
||||
m_Value: 0.7
|
||||
intensity:
|
||||
m_OverrideState: 1
|
||||
m_Value: 1.5
|
||||
weights:
|
||||
m_OverrideState: 1
|
||||
m_Value: {x: 0.1, y: 0.2, z: 0.3, w: 0.4}
|
||||
color:
|
||||
m_OverrideState: 1
|
||||
m_Value: {r: 1, g: 1, b: 1, a: 1}
|
||||
blurRadius:
|
||||
m_OverrideState: 1
|
||||
m_Value: 2
|
||||
downSampleScale:
|
||||
m_OverrideState: 1
|
||||
m_Value: 0.5
|
||||
--- !u!114 &-2939227666677998292
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 3
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: b065805f0c20d0946afc33f94ae2f89d, type: 3}
|
||||
m_Name: ColorGradingVolume
|
||||
m_EditorClassIdentifier:
|
||||
active: 1
|
||||
useTonemapping:
|
||||
m_OverrideState: 1
|
||||
m_Value: 1
|
||||
exposure:
|
||||
m_OverrideState: 1
|
||||
m_Value: 1.05
|
||||
contrast:
|
||||
m_OverrideState: 1
|
||||
m_Value: 0
|
||||
saturation:
|
||||
m_OverrideState: 1
|
||||
m_Value: 0
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: d7fd9488000d3734a9e00ee676215985, type: 3}
|
||||
m_Name: URPGenshinVolumeProfile
|
||||
m_EditorClassIdentifier:
|
||||
components:
|
||||
- {fileID: -4271347055193007441}
|
||||
- {fileID: -2939227666677998292}
|
||||
114
docs/reference/NahidaUnity/URPSettings/URPRendererData.asset
Normal file
114
docs/reference/NahidaUnity/URPSettings/URPRendererData.asset
Normal file
@@ -0,0 +1,114 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &-6004539541889354362
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: a75e1afdd7c0c4644bf9681fa79463d8, type: 3}
|
||||
m_Name: PostProcessFeature
|
||||
m_EditorClassIdentifier:
|
||||
m_Active: 1
|
||||
m_RenderPassEvent: 600
|
||||
m_Shader: {fileID: 4800000, guid: b0d6c4974782c8942a7269d3635777ce, type: 3}
|
||||
--- !u!114 &-1878332245247344467
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f62c9c65cf3354c93be831c8bc075510, type: 3}
|
||||
m_Name: SSAO
|
||||
m_EditorClassIdentifier:
|
||||
m_Active: 0
|
||||
m_Settings:
|
||||
AOMethod: 1
|
||||
Downsample: 0
|
||||
AfterOpaque: 0
|
||||
Source: 1
|
||||
NormalSamples: 1
|
||||
Intensity: 0.5
|
||||
DirectLightingStrength: 0.25
|
||||
Radius: 0.25
|
||||
Samples: 0
|
||||
BlurQuality: 0
|
||||
Falloff: 100
|
||||
SampleCount: -1
|
||||
m_BlueNoise256Textures:
|
||||
- {fileID: 2800000, guid: 36f118343fc974119bee3d09e2111500, type: 3}
|
||||
- {fileID: 2800000, guid: 4b7b083e6b6734e8bb2838b0b50a0bc8, type: 3}
|
||||
- {fileID: 2800000, guid: c06cc21c692f94f5fb5206247191eeee, type: 3}
|
||||
- {fileID: 2800000, guid: cb76dd40fa7654f9587f6a344f125c9a, type: 3}
|
||||
- {fileID: 2800000, guid: e32226222ff144b24bf3a5a451de54bc, type: 3}
|
||||
- {fileID: 2800000, guid: 3302065f671a8450b82c9ddf07426f3a, type: 3}
|
||||
- {fileID: 2800000, guid: 56a77a3e8d64f47b6afe9e3c95cb57d5, type: 3}
|
||||
m_Shader: {fileID: 4800000, guid: 0849e84e3d62649e8882e9d6f056a017, type: 3}
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: de640fe3d0db1804a85f9fc8f5cadab6, type: 3}
|
||||
m_Name: URPRendererData
|
||||
m_EditorClassIdentifier:
|
||||
debugShaders:
|
||||
debugReplacementPS: {fileID: 4800000, guid: cf852408f2e174538bcd9b7fda1c5ae7,
|
||||
type: 3}
|
||||
hdrDebugViewPS: {fileID: 4800000, guid: 573620ae32aec764abd4d728906d2587, type: 3}
|
||||
m_RendererFeatures:
|
||||
- {fileID: -1878332245247344467}
|
||||
- {fileID: -6004539541889354362}
|
||||
m_RendererFeatureMap: adc0de57c6d2eee586f5e59d1997abac
|
||||
m_UseNativeRenderPass: 0
|
||||
postProcessData: {fileID: 11400000, guid: 41439944d30ece34e96484bdb6645b55, type: 2}
|
||||
xrSystemData: {fileID: 11400000, guid: 60e1133243b97e347b653163a8c01b64, type: 2}
|
||||
shaders:
|
||||
blitPS: {fileID: 4800000, guid: c17132b1f77d20942aa75f8429c0f8bc, type: 3}
|
||||
copyDepthPS: {fileID: 4800000, guid: d6dae50ee9e1bfa4db75f19f99355220, type: 3}
|
||||
screenSpaceShadowPS: {fileID: 0}
|
||||
samplingPS: {fileID: 4800000, guid: 04c410c9937594faa893a11dceb85f7e, type: 3}
|
||||
stencilDeferredPS: {fileID: 4800000, guid: e9155b26e1bc55942a41e518703fe304, type: 3}
|
||||
fallbackErrorPS: {fileID: 4800000, guid: e6e9a19c3678ded42a3bc431ebef7dbd, type: 3}
|
||||
fallbackLoadingPS: {fileID: 4800000, guid: 7f888aff2ac86494babad1c2c5daeee2, type: 3}
|
||||
materialErrorPS: {fileID: 4800000, guid: 5fd9a8feb75a4b5894c241777f519d4e, type: 3}
|
||||
coreBlitPS: {fileID: 4800000, guid: 93446b5c5339d4f00b85c159e1159b7c, type: 3}
|
||||
coreBlitColorAndDepthPS: {fileID: 4800000, guid: d104b2fc1ca6445babb8e90b0758136b,
|
||||
type: 3}
|
||||
blitHDROverlay: {fileID: 4800000, guid: a89bee29cffa951418fc1e2da94d1959, type: 3}
|
||||
cameraMotionVector: {fileID: 4800000, guid: c56b7e0d4c7cb484e959caeeedae9bbf,
|
||||
type: 3}
|
||||
objectMotionVector: {fileID: 4800000, guid: 7b3ede40266cd49a395def176e1bc486,
|
||||
type: 3}
|
||||
dataDrivenLensFlare: {fileID: 4800000, guid: 6cda457ac28612740adb23da5d39ea92,
|
||||
type: 3}
|
||||
m_AssetVersion: 2
|
||||
m_OpaqueLayerMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_TransparentLayerMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_DefaultStencilState:
|
||||
overrideStencilState: 0
|
||||
stencilReference: 0
|
||||
stencilCompareFunction: 8
|
||||
passOperation: 2
|
||||
failOperation: 0
|
||||
zFailOperation: 0
|
||||
m_ShadowTransparentReceive: 1
|
||||
m_RenderingMode: 0
|
||||
m_DepthPrimingMode: 0
|
||||
m_CopyDepthMode: 2
|
||||
m_AccurateGbufferNormals: 0
|
||||
m_IntermediateTextureMode: 1
|
||||
@@ -0,0 +1,41 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 2ec995e51a6e251468d2a3fd8a686257, type: 3}
|
||||
m_Name: UniversalRenderPipelineGlobalSettings
|
||||
m_EditorClassIdentifier:
|
||||
k_AssetVersion: 3
|
||||
m_RenderingLayerNames:
|
||||
- Light Layer default
|
||||
- Light Layer 1
|
||||
- Light Layer 2
|
||||
- Light Layer 3
|
||||
- Light Layer 4
|
||||
- Light Layer 5
|
||||
- Light Layer 6
|
||||
- Light Layer 7
|
||||
m_ValidRenderingLayers: 255
|
||||
lightLayerName0: Light Layer default
|
||||
lightLayerName1: Light Layer 1
|
||||
lightLayerName2: Light Layer 2
|
||||
lightLayerName3: Light Layer 3
|
||||
lightLayerName4: Light Layer 4
|
||||
lightLayerName5: Light Layer 5
|
||||
lightLayerName6: Light Layer 6
|
||||
lightLayerName7: Light Layer 7
|
||||
m_StripDebugVariants: 1
|
||||
m_StripUnusedPostProcessingVariants: 1
|
||||
m_StripUnusedVariants: 1
|
||||
m_StripUnusedLODCrossFadeVariants: 1
|
||||
m_StripScreenCoordOverrideVariants: 1
|
||||
supportRuntimeDebugDisplay: 0
|
||||
m_ShaderVariantLogLevel: 0
|
||||
m_ExportShaderVariants: 1
|
||||
Reference in New Issue
Block a user