├── Assets
├── Materials.meta
├── Materials
│ ├── Emissive.mat
│ ├── Emissive.mat.meta
│ ├── FinalBlit.mat
│ ├── FinalBlit.mat.meta
│ ├── KernelGenerate.mat
│ ├── KernelGenerate.mat.meta
│ ├── SkyMat.mat
│ ├── SkyMat.mat.meta
│ ├── SourceGenerate.mat
│ └── SourceGenerate.mat.meta
├── Scenes.meta
├── Scenes
│ ├── SampleScene.unity
│ └── SampleScene.unity.meta
├── Scripts.meta
├── Scripts
│ ├── ConvolitonBloomSettings.cs
│ ├── ConvolitonBloomSettings.cs.meta
│ ├── ConvolutionBloom.cs
│ └── ConvolutionBloom.cs.meta
├── Settings.meta
├── Settings
│ ├── BloomSetting.asset
│ ├── BloomSetting.asset.meta
│ ├── SampleSceneProfile.asset
│ ├── SampleSceneProfile.asset.meta
│ ├── URP-HighFidelity-Renderer.asset
│ ├── URP-HighFidelity-Renderer.asset.meta
│ ├── URP-HighFidelity.asset
│ └── URP-HighFidelity.asset.meta
├── Shaders.meta
├── Shaders
│ ├── FFTCS.compute
│ ├── FFTCS.compute.meta
│ ├── FFTCommon.hlsl
│ ├── FFTCommon.hlsl.meta
│ ├── FinalBlit.shader
│ ├── FinalBlit.shader.meta
│ ├── KernelGenerate.shader
│ ├── KernelGenerate.shader.meta
│ ├── SourceGenerate.shader
│ └── SourceGenerate.shader.meta
├── Textures.meta
├── Textures
│ ├── DefaultBloomKernel.HDR
│ ├── DefaultBloomKernel.HDR.meta
│ ├── dikhololo_night_1k.hdr
│ ├── dikhololo_night_1k.hdr.meta
│ ├── kernel1.png
│ ├── kernel1.png.meta
│ ├── kernel2.png
│ └── kernel2.png.meta
├── UniversalRenderPipelineGlobalSettings.asset
└── UniversalRenderPipelineGlobalSettings.asset.meta
├── LICENSE.md
├── Packages
├── manifest.json
└── packages-lock.json
├── ProjectSettings
├── AudioManager.asset
├── AutoStreamingSettings.asset
├── BurstAotSettings_StandaloneWindows.json
├── ClusterInputManager.asset
├── CommonBurstAotSettings.json
├── DynamicsManager.asset
├── EditorBuildSettings.asset
├── EditorSettings.asset
├── GraphicsSettings.asset
├── InputManager.asset
├── MemorySettings.asset
├── NavMeshAreas.asset
├── PackageManagerSettings.asset
├── Physics2DSettings.asset
├── PresetManager.asset
├── ProjectSettings.asset
├── ProjectVersion.txt
├── QualitySettings.asset
├── SceneTemplateSettings.json
├── ShaderGraphSettings.asset
├── TagManager.asset
├── TimeManager.asset
├── URPProjectSettings.asset
├── UnityConnectSettings.asset
├── VFXManager.asset
├── VersionControlSettings.asset
├── XRSettings.asset
└── boot.config
├── README.assets
├── image-20230305231749655.png
├── image-20230305231818243.png
└── image-20230305231946900.png
├── README.md
└── UserSettings
├── EditorUserSettings.asset
├── Layouts
├── CurrentMaximizeLayout.dwlt
└── default-2021.dwlt
└── Search.settings
/Assets/Materials.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: fbdc77029b3f15d4193285ba5a982015
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Materials/Emissive.mat:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &-4123432408336115116
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 11
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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
13 | m_Name:
14 | m_EditorClassIdentifier:
15 | version: 5
16 | --- !u!21 &2100000
17 | Material:
18 | serializedVersion: 6
19 | m_ObjectHideFlags: 0
20 | m_CorrespondingSourceObject: {fileID: 0}
21 | m_PrefabInstance: {fileID: 0}
22 | m_PrefabAsset: {fileID: 0}
23 | m_Name: Emissive
24 | m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
25 | m_ShaderKeywords: _EMISSION
26 | m_LightmapFlags: 2
27 | m_EnableInstancingVariants: 0
28 | m_DoubleSidedGI: 0
29 | m_CustomRenderQueue: -1
30 | stringTagMap:
31 | RenderType: Opaque
32 | disabledShaderPasses: []
33 | m_SavedProperties:
34 | serializedVersion: 3
35 | m_TexEnvs:
36 | - _BaseMap:
37 | m_Texture: {fileID: 0}
38 | m_Scale: {x: 1, y: 1}
39 | m_Offset: {x: 0, y: 0}
40 | - _BumpMap:
41 | m_Texture: {fileID: 0}
42 | m_Scale: {x: 1, y: 1}
43 | m_Offset: {x: 0, y: 0}
44 | - _DetailAlbedoMap:
45 | m_Texture: {fileID: 0}
46 | m_Scale: {x: 1, y: 1}
47 | m_Offset: {x: 0, y: 0}
48 | - _DetailMask:
49 | m_Texture: {fileID: 0}
50 | m_Scale: {x: 1, y: 1}
51 | m_Offset: {x: 0, y: 0}
52 | - _DetailNormalMap:
53 | m_Texture: {fileID: 0}
54 | m_Scale: {x: 1, y: 1}
55 | m_Offset: {x: 0, y: 0}
56 | - _EmissionMap:
57 | m_Texture: {fileID: 0}
58 | m_Scale: {x: 1, y: 1}
59 | m_Offset: {x: 0, y: 0}
60 | - _MainTex:
61 | m_Texture: {fileID: 0}
62 | m_Scale: {x: 1, y: 1}
63 | m_Offset: {x: 0, y: 0}
64 | - _MetallicGlossMap:
65 | m_Texture: {fileID: 0}
66 | m_Scale: {x: 1, y: 1}
67 | m_Offset: {x: 0, y: 0}
68 | - _OcclusionMap:
69 | m_Texture: {fileID: 0}
70 | m_Scale: {x: 1, y: 1}
71 | m_Offset: {x: 0, y: 0}
72 | - _ParallaxMap:
73 | m_Texture: {fileID: 0}
74 | m_Scale: {x: 1, y: 1}
75 | m_Offset: {x: 0, y: 0}
76 | - _SpecGlossMap:
77 | m_Texture: {fileID: 0}
78 | m_Scale: {x: 1, y: 1}
79 | m_Offset: {x: 0, y: 0}
80 | - unity_Lightmaps:
81 | m_Texture: {fileID: 0}
82 | m_Scale: {x: 1, y: 1}
83 | m_Offset: {x: 0, y: 0}
84 | - unity_LightmapsInd:
85 | m_Texture: {fileID: 0}
86 | m_Scale: {x: 1, y: 1}
87 | m_Offset: {x: 0, y: 0}
88 | - unity_ShadowMasks:
89 | m_Texture: {fileID: 0}
90 | m_Scale: {x: 1, y: 1}
91 | m_Offset: {x: 0, y: 0}
92 | m_Ints: []
93 | m_Floats:
94 | - _AlphaClip: 0
95 | - _Blend: 0
96 | - _BumpScale: 1
97 | - _ClearCoatMask: 0
98 | - _ClearCoatSmoothness: 0
99 | - _Cull: 2
100 | - _Cutoff: 0.5
101 | - _DetailAlbedoMapScale: 1
102 | - _DetailNormalMapScale: 1
103 | - _DstBlend: 0
104 | - _EnvironmentReflections: 1
105 | - _GlossMapScale: 0
106 | - _Glossiness: 0
107 | - _GlossyReflections: 0
108 | - _Metallic: 0
109 | - _OcclusionStrength: 1
110 | - _Parallax: 0.005
111 | - _QueueOffset: 0
112 | - _ReceiveShadows: 1
113 | - _Smoothness: 0.5
114 | - _SmoothnessTextureChannel: 0
115 | - _SpecularHighlights: 1
116 | - _SrcBlend: 1
117 | - _Surface: 0
118 | - _WorkflowMode: 1
119 | - _ZWrite: 1
120 | m_Colors:
121 | - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
122 | - _Color: {r: 1, g: 1, b: 1, a: 1}
123 | - _EmissionColor: {r: 238.10779, g: 311.49716, b: 50.55713, a: 1}
124 | - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
125 | m_BuildTextureStacks: []
126 |
--------------------------------------------------------------------------------
/Assets/Materials/Emissive.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c876bc964ef559d4696b332a6578c9dc
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 2100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Materials/FinalBlit.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: FinalBlit
11 | m_Shader: {fileID: 4800000, guid: 0a7de3e0a6a9c3a40aa3d8ed98989d72, type: 3}
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 | - _BaseMap:
23 | m_Texture: {fileID: 0}
24 | m_Scale: {x: 1, y: 1}
25 | m_Offset: {x: 0, y: 0}
26 | - _BumpMap:
27 | m_Texture: {fileID: 0}
28 | m_Scale: {x: 1, y: 1}
29 | m_Offset: {x: 0, y: 0}
30 | - _DetailAlbedoMap:
31 | m_Texture: {fileID: 0}
32 | m_Scale: {x: 1, y: 1}
33 | m_Offset: {x: 0, y: 0}
34 | - _DetailMask:
35 | m_Texture: {fileID: 0}
36 | m_Scale: {x: 1, y: 1}
37 | m_Offset: {x: 0, y: 0}
38 | - _DetailNormalMap:
39 | m_Texture: {fileID: 0}
40 | m_Scale: {x: 1, y: 1}
41 | m_Offset: {x: 0, y: 0}
42 | - _EmissionMap:
43 | m_Texture: {fileID: 0}
44 | m_Scale: {x: 1, y: 1}
45 | m_Offset: {x: 0, y: 0}
46 | - _MainTex:
47 | m_Texture: {fileID: 0}
48 | m_Scale: {x: 1, y: 1}
49 | m_Offset: {x: 0, y: 0}
50 | - _MetallicGlossMap:
51 | m_Texture: {fileID: 0}
52 | m_Scale: {x: 1, y: 1}
53 | m_Offset: {x: 0, y: 0}
54 | - _OcclusionMap:
55 | m_Texture: {fileID: 0}
56 | m_Scale: {x: 1, y: 1}
57 | m_Offset: {x: 0, y: 0}
58 | - _ParallaxMap:
59 | m_Texture: {fileID: 0}
60 | m_Scale: {x: 1, y: 1}
61 | m_Offset: {x: 0, y: 0}
62 | - _SpecGlossMap:
63 | m_Texture: {fileID: 0}
64 | m_Scale: {x: 1, y: 1}
65 | m_Offset: {x: 0, y: 0}
66 | - unity_Lightmaps:
67 | m_Texture: {fileID: 0}
68 | m_Scale: {x: 1, y: 1}
69 | m_Offset: {x: 0, y: 0}
70 | - unity_LightmapsInd:
71 | m_Texture: {fileID: 0}
72 | m_Scale: {x: 1, y: 1}
73 | m_Offset: {x: 0, y: 0}
74 | - unity_ShadowMasks:
75 | m_Texture: {fileID: 0}
76 | m_Scale: {x: 1, y: 1}
77 | m_Offset: {x: 0, y: 0}
78 | m_Ints: []
79 | m_Floats:
80 | - _AlphaClip: 0
81 | - _Blend: 0
82 | - _BumpScale: 1
83 | - _ClearCoatMask: 0
84 | - _ClearCoatSmoothness: 0
85 | - _Cull: 2
86 | - _Cutoff: 0.5
87 | - _DetailAlbedoMapScale: 1
88 | - _DetailNormalMapScale: 1
89 | - _DstBlend: 0
90 | - _EnvironmentReflections: 1
91 | - _GlossMapScale: 0
92 | - _Glossiness: 0
93 | - _GlossyReflections: 0
94 | - _Metallic: 0
95 | - _OcclusionStrength: 1
96 | - _Parallax: 0.005
97 | - _QueueOffset: 0
98 | - _ReceiveShadows: 1
99 | - _Smoothness: 0.5
100 | - _SmoothnessTextureChannel: 0
101 | - _SpecularHighlights: 1
102 | - _SrcBlend: 1
103 | - _Surface: 0
104 | - _WorkflowMode: 1
105 | - _ZWrite: 1
106 | m_Colors:
107 | - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
108 | - _Color: {r: 1, g: 1, b: 1, a: 1}
109 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
110 | - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
111 | m_BuildTextureStacks: []
112 | --- !u!114 &4254727254036342346
113 | MonoBehaviour:
114 | m_ObjectHideFlags: 11
115 | m_CorrespondingSourceObject: {fileID: 0}
116 | m_PrefabInstance: {fileID: 0}
117 | m_PrefabAsset: {fileID: 0}
118 | m_GameObject: {fileID: 0}
119 | m_Enabled: 1
120 | m_EditorHideFlags: 0
121 | m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
122 | m_Name:
123 | m_EditorClassIdentifier:
124 | version: 5
125 |
--------------------------------------------------------------------------------
/Assets/Materials/FinalBlit.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4d3c8a1d626b05348845cb5279176c3d
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 2100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Materials/KernelGenerate.mat:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &-3378773337251354698
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 11
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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
13 | m_Name:
14 | m_EditorClassIdentifier:
15 | version: 5
16 | --- !u!21 &2100000
17 | Material:
18 | serializedVersion: 6
19 | m_ObjectHideFlags: 0
20 | m_CorrespondingSourceObject: {fileID: 0}
21 | m_PrefabInstance: {fileID: 0}
22 | m_PrefabAsset: {fileID: 0}
23 | m_Name: KernelGenerate
24 | m_Shader: {fileID: 4800000, guid: 881c6fe5f3dcd8c4381c0fc1c7afee71, type: 3}
25 | m_ShaderKeywords:
26 | m_LightmapFlags: 4
27 | m_EnableInstancingVariants: 0
28 | m_DoubleSidedGI: 0
29 | m_CustomRenderQueue: -1
30 | stringTagMap: {}
31 | disabledShaderPasses: []
32 | m_SavedProperties:
33 | serializedVersion: 3
34 | m_TexEnvs:
35 | - _BaseMap:
36 | m_Texture: {fileID: 0}
37 | m_Scale: {x: 1, y: 1}
38 | m_Offset: {x: 0, y: 0}
39 | - _BumpMap:
40 | m_Texture: {fileID: 0}
41 | m_Scale: {x: 1, y: 1}
42 | m_Offset: {x: 0, y: 0}
43 | - _DetailAlbedoMap:
44 | m_Texture: {fileID: 0}
45 | m_Scale: {x: 1, y: 1}
46 | m_Offset: {x: 0, y: 0}
47 | - _DetailMask:
48 | m_Texture: {fileID: 0}
49 | m_Scale: {x: 1, y: 1}
50 | m_Offset: {x: 0, y: 0}
51 | - _DetailNormalMap:
52 | m_Texture: {fileID: 0}
53 | m_Scale: {x: 1, y: 1}
54 | m_Offset: {x: 0, y: 0}
55 | - _DetailTex:
56 | m_Texture: {fileID: 0}
57 | m_Scale: {x: 1, y: 1}
58 | m_Offset: {x: 0, y: 0}
59 | - _EmissionMap:
60 | m_Texture: {fileID: 0}
61 | m_Scale: {x: 1, y: 1}
62 | m_Offset: {x: 0, y: 0}
63 | - _MainTex:
64 | m_Texture: {fileID: 0}
65 | m_Scale: {x: 1, y: 1}
66 | m_Offset: {x: 0, y: 0}
67 | - _MetallicGlossMap:
68 | m_Texture: {fileID: 0}
69 | m_Scale: {x: 1, y: 1}
70 | m_Offset: {x: 0, y: 0}
71 | - _OcclusionMap:
72 | m_Texture: {fileID: 0}
73 | m_Scale: {x: 1, y: 1}
74 | m_Offset: {x: 0, y: 0}
75 | - _ParallaxMap:
76 | m_Texture: {fileID: 0}
77 | m_Scale: {x: 1, y: 1}
78 | m_Offset: {x: 0, y: 0}
79 | - _SpecGlossMap:
80 | m_Texture: {fileID: 0}
81 | m_Scale: {x: 1, y: 1}
82 | m_Offset: {x: 0, y: 0}
83 | - unity_Lightmaps:
84 | m_Texture: {fileID: 0}
85 | m_Scale: {x: 1, y: 1}
86 | m_Offset: {x: 0, y: 0}
87 | - unity_LightmapsInd:
88 | m_Texture: {fileID: 0}
89 | m_Scale: {x: 1, y: 1}
90 | m_Offset: {x: 0, y: 0}
91 | - unity_ShadowMasks:
92 | m_Texture: {fileID: 0}
93 | m_Scale: {x: 1, y: 1}
94 | m_Offset: {x: 0, y: 0}
95 | m_Ints: []
96 | m_Floats:
97 | - _AlphaClip: 0
98 | - _Blend: 0
99 | - _BumpScale: 1
100 | - _ClearCoatMask: 0
101 | - _ClearCoatSmoothness: 0
102 | - _ColorMask: 15
103 | - _Cull: 2
104 | - _Cutoff: 0.5
105 | - _DetailAlbedoMapScale: 1
106 | - _DetailNormalMapScale: 1
107 | - _DstBlend: 0
108 | - _EnvironmentReflections: 1
109 | - _GlossMapScale: 0
110 | - _Glossiness: 0
111 | - _GlossyReflections: 0
112 | - _Metallic: 0
113 | - _OcclusionStrength: 1
114 | - _Parallax: 0.005
115 | - _QueueOffset: 0
116 | - _ReceiveShadows: 1
117 | - _Smoothness: 0.5
118 | - _SmoothnessTextureChannel: 0
119 | - _SpecularHighlights: 1
120 | - _SrcBlend: 1
121 | - _Stencil: 0
122 | - _StencilComp: 8
123 | - _StencilOp: 0
124 | - _StencilReadMask: 255
125 | - _StencilWriteMask: 255
126 | - _Strength: 0.2
127 | - _Surface: 0
128 | - _UseUIAlphaClip: 0
129 | - _WorkflowMode: 1
130 | - _ZWrite: 1
131 | m_Colors:
132 | - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
133 | - _Color: {r: 1, g: 1, b: 1, a: 1}
134 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
135 | - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
136 | m_BuildTextureStacks: []
137 |
--------------------------------------------------------------------------------
/Assets/Materials/KernelGenerate.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1cf42a0dca9483e4da768971395fa27c
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 2100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Materials/SkyMat.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: SkyMat
11 | m_Shader: {fileID: 103, 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 | - _BackTex:
23 | m_Texture: {fileID: 0}
24 | m_Scale: {x: 1, y: 1}
25 | m_Offset: {x: 0, y: 0}
26 | - _BaseMap:
27 | m_Texture: {fileID: 0}
28 | m_Scale: {x: 1, y: 1}
29 | m_Offset: {x: 0, y: 0}
30 | - _BumpMap:
31 | m_Texture: {fileID: 0}
32 | m_Scale: {x: 1, y: 1}
33 | m_Offset: {x: 0, y: 0}
34 | - _DetailAlbedoMap:
35 | m_Texture: {fileID: 0}
36 | m_Scale: {x: 1, y: 1}
37 | m_Offset: {x: 0, y: 0}
38 | - _DetailMask:
39 | m_Texture: {fileID: 0}
40 | m_Scale: {x: 1, y: 1}
41 | m_Offset: {x: 0, y: 0}
42 | - _DetailNormalMap:
43 | m_Texture: {fileID: 0}
44 | m_Scale: {x: 1, y: 1}
45 | m_Offset: {x: 0, y: 0}
46 | - _DownTex:
47 | m_Texture: {fileID: 0}
48 | m_Scale: {x: 1, y: 1}
49 | m_Offset: {x: 0, y: 0}
50 | - _EmissionMap:
51 | m_Texture: {fileID: 0}
52 | m_Scale: {x: 1, y: 1}
53 | m_Offset: {x: 0, y: 0}
54 | - _FrontTex:
55 | m_Texture: {fileID: 0}
56 | m_Scale: {x: 1, y: 1}
57 | m_Offset: {x: 0, y: 0}
58 | - _LeftTex:
59 | m_Texture: {fileID: 0}
60 | m_Scale: {x: 1, y: 1}
61 | m_Offset: {x: 0, y: 0}
62 | - _MainTex:
63 | m_Texture: {fileID: 0}
64 | m_Scale: {x: 1, y: 1}
65 | m_Offset: {x: 0, y: 0}
66 | - _MetallicGlossMap:
67 | m_Texture: {fileID: 0}
68 | m_Scale: {x: 1, y: 1}
69 | m_Offset: {x: 0, y: 0}
70 | - _OcclusionMap:
71 | m_Texture: {fileID: 0}
72 | m_Scale: {x: 1, y: 1}
73 | m_Offset: {x: 0, y: 0}
74 | - _ParallaxMap:
75 | m_Texture: {fileID: 0}
76 | m_Scale: {x: 1, y: 1}
77 | m_Offset: {x: 0, y: 0}
78 | - _RightTex:
79 | m_Texture: {fileID: 0}
80 | m_Scale: {x: 1, y: 1}
81 | m_Offset: {x: 0, y: 0}
82 | - _SpecGlossMap:
83 | m_Texture: {fileID: 0}
84 | m_Scale: {x: 1, y: 1}
85 | m_Offset: {x: 0, y: 0}
86 | - _Tex:
87 | m_Texture: {fileID: 8900000, guid: 80c5784ba4edb5f45a14defe7a9da9b9, type: 3}
88 | m_Scale: {x: 1, y: 1}
89 | m_Offset: {x: 0, y: 0}
90 | - _UpTex:
91 | m_Texture: {fileID: 0}
92 | m_Scale: {x: 1, y: 1}
93 | m_Offset: {x: 0, y: 0}
94 | - unity_Lightmaps:
95 | m_Texture: {fileID: 0}
96 | m_Scale: {x: 1, y: 1}
97 | m_Offset: {x: 0, y: 0}
98 | - unity_LightmapsInd:
99 | m_Texture: {fileID: 0}
100 | m_Scale: {x: 1, y: 1}
101 | m_Offset: {x: 0, y: 0}
102 | - unity_ShadowMasks:
103 | m_Texture: {fileID: 0}
104 | m_Scale: {x: 1, y: 1}
105 | m_Offset: {x: 0, y: 0}
106 | m_Ints: []
107 | m_Floats:
108 | - _AlphaClip: 0
109 | - _Blend: 0
110 | - _BlendOp: 0
111 | - _BumpScale: 1
112 | - _ClearCoatMask: 0
113 | - _ClearCoatSmoothness: 0
114 | - _Cull: 2
115 | - _Cutoff: 0.5
116 | - _DetailAlbedoMapScale: 1
117 | - _DetailNormalMapScale: 1
118 | - _DstBlend: 0
119 | - _EnvironmentReflections: 1
120 | - _Exposure: 1
121 | - _GlossMapScale: 0
122 | - _Glossiness: 0
123 | - _GlossyReflections: 0
124 | - _Metallic: 0
125 | - _OcclusionStrength: 1
126 | - _Parallax: 0.005
127 | - _QueueOffset: 0
128 | - _ReceiveShadows: 1
129 | - _Rotation: 0
130 | - _SampleGI: 0
131 | - _Smoothness: 0.5
132 | - _SmoothnessTextureChannel: 0
133 | - _SpecularHighlights: 1
134 | - _SrcBlend: 1
135 | - _Surface: 0
136 | - _WorkflowMode: 1
137 | - _ZWrite: 1
138 | m_Colors:
139 | - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
140 | - _Color: {r: 1, g: 1, b: 1, a: 1}
141 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
142 | - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
143 | - _Tint: {r: 0.5, g: 0.5, b: 0.5, a: 0.5}
144 | m_BuildTextureStacks: []
145 | --- !u!114 &1913346119627174172
146 | MonoBehaviour:
147 | m_ObjectHideFlags: 11
148 | m_CorrespondingSourceObject: {fileID: 0}
149 | m_PrefabInstance: {fileID: 0}
150 | m_PrefabAsset: {fileID: 0}
151 | m_GameObject: {fileID: 0}
152 | m_Enabled: 1
153 | m_EditorHideFlags: 0
154 | m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
155 | m_Name:
156 | m_EditorClassIdentifier:
157 | version: 5
158 |
--------------------------------------------------------------------------------
/Assets/Materials/SkyMat.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4bb488ff38cb13f498bfc4d6929a0176
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 2100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Materials/SourceGenerate.mat:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &-6540084855789699707
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 11
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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
13 | m_Name:
14 | m_EditorClassIdentifier:
15 | version: 5
16 | --- !u!21 &2100000
17 | Material:
18 | serializedVersion: 6
19 | m_ObjectHideFlags: 0
20 | m_CorrespondingSourceObject: {fileID: 0}
21 | m_PrefabInstance: {fileID: 0}
22 | m_PrefabAsset: {fileID: 0}
23 | m_Name: SourceGenerate
24 | m_Shader: {fileID: 4800000, guid: 1a23996ec3bc69447b2860a6d2d591d1, type: 3}
25 | m_ShaderKeywords:
26 | m_LightmapFlags: 4
27 | m_EnableInstancingVariants: 0
28 | m_DoubleSidedGI: 0
29 | m_CustomRenderQueue: -1
30 | stringTagMap: {}
31 | disabledShaderPasses: []
32 | m_SavedProperties:
33 | serializedVersion: 3
34 | m_TexEnvs:
35 | - _BaseMap:
36 | m_Texture: {fileID: 0}
37 | m_Scale: {x: 1, y: 1}
38 | m_Offset: {x: 0, y: 0}
39 | - _BumpMap:
40 | m_Texture: {fileID: 0}
41 | m_Scale: {x: 1, y: 1}
42 | m_Offset: {x: 0, y: 0}
43 | - _DetailAlbedoMap:
44 | m_Texture: {fileID: 0}
45 | m_Scale: {x: 1, y: 1}
46 | m_Offset: {x: 0, y: 0}
47 | - _DetailMask:
48 | m_Texture: {fileID: 0}
49 | m_Scale: {x: 1, y: 1}
50 | m_Offset: {x: 0, y: 0}
51 | - _DetailNormalMap:
52 | m_Texture: {fileID: 0}
53 | m_Scale: {x: 1, y: 1}
54 | m_Offset: {x: 0, y: 0}
55 | - _EmissionMap:
56 | m_Texture: {fileID: 0}
57 | m_Scale: {x: 1, y: 1}
58 | m_Offset: {x: 0, y: 0}
59 | - _MainTex:
60 | m_Texture: {fileID: 0}
61 | m_Scale: {x: 1, y: 1}
62 | m_Offset: {x: 0, y: 0}
63 | - _MetallicGlossMap:
64 | m_Texture: {fileID: 0}
65 | m_Scale: {x: 1, y: 1}
66 | m_Offset: {x: 0, y: 0}
67 | - _OcclusionMap:
68 | m_Texture: {fileID: 0}
69 | m_Scale: {x: 1, y: 1}
70 | m_Offset: {x: 0, y: 0}
71 | - _ParallaxMap:
72 | m_Texture: {fileID: 0}
73 | m_Scale: {x: 1, y: 1}
74 | m_Offset: {x: 0, y: 0}
75 | - _SpecGlossMap:
76 | m_Texture: {fileID: 0}
77 | m_Scale: {x: 1, y: 1}
78 | m_Offset: {x: 0, y: 0}
79 | - unity_Lightmaps:
80 | m_Texture: {fileID: 0}
81 | m_Scale: {x: 1, y: 1}
82 | m_Offset: {x: 0, y: 0}
83 | - unity_LightmapsInd:
84 | m_Texture: {fileID: 0}
85 | m_Scale: {x: 1, y: 1}
86 | m_Offset: {x: 0, y: 0}
87 | - unity_ShadowMasks:
88 | m_Texture: {fileID: 0}
89 | m_Scale: {x: 1, y: 1}
90 | m_Offset: {x: 0, y: 0}
91 | m_Ints: []
92 | m_Floats:
93 | - _AlphaClip: 0
94 | - _Blend: 0
95 | - _BumpScale: 1
96 | - _ClearCoatMask: 0
97 | - _ClearCoatSmoothness: 0
98 | - _Cull: 2
99 | - _Cutoff: 0.5
100 | - _DetailAlbedoMapScale: 1
101 | - _DetailNormalMapScale: 1
102 | - _DstBlend: 0
103 | - _EnvironmentReflections: 1
104 | - _GlossMapScale: 0
105 | - _Glossiness: 0
106 | - _GlossyReflections: 0
107 | - _Metallic: 0
108 | - _OcclusionStrength: 1
109 | - _Parallax: 0.005
110 | - _QueueOffset: 0
111 | - _ReceiveShadows: 1
112 | - _Smoothness: 0.5
113 | - _SmoothnessTextureChannel: 0
114 | - _SpecularHighlights: 1
115 | - _SrcBlend: 1
116 | - _Surface: 0
117 | - _WorkflowMode: 1
118 | - _ZWrite: 1
119 | m_Colors:
120 | - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
121 | - _Color: {r: 1, g: 1, b: 1, a: 1}
122 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
123 | - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
124 | m_BuildTextureStacks: []
125 |
--------------------------------------------------------------------------------
/Assets/Materials/SourceGenerate.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 55c5871186a5ef442a97babaa477c9b2
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 2100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Scenes.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: bac4cdef2897d014e90c25f8d9711f19
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Scenes/SampleScene.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 99c9720ab356a0642a771bea13969a05
3 | DefaultImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/Scripts.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0aaf70d98225fa345b98a511521e3057
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Scripts/ConvolitonBloomSettings.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using UnityEngine;
4 | using UnityEditor;
5 | using System;
6 | using UnityEngine.Rendering;
7 |
8 | [Serializable]
9 | [CreateAssetMenu(fileName = "ConvolitonBloom", menuName = "ConvolitonBloomSettings")]
10 | public class ConvolitonBloomSettings : ScriptableObject
11 | {
12 | [SerializeField]
13 | public Material KernelGenerateMaterial = null;
14 |
15 | [SerializeField]
16 | public Material SourceGenerateMaterial = null;
17 |
18 | [SerializeField]
19 | public Material FinalBlitMaterial = null;
20 |
21 | [SerializeField]
22 | public Texture2D KernelTexture = null;
23 |
24 | [SerializeField]
25 | public ComputeShader FFTComputeShader = null;
26 |
27 | [SerializeField]
28 | public float Intensity = 1.0f;
29 |
30 | [SerializeField]
31 | public float Threshold = 0.0f;
32 |
33 | [HideInInspector]
34 | public Vector2 KernelPositionOffset = new Vector2(0, 0);
35 |
36 | [SerializeField]
37 | public Vector2 KernelSizeScale = new Vector2(1, 1);
38 |
39 | [SerializeField]
40 | public float KernelDistanceExp = 0.0f;
41 |
42 | [SerializeField]
43 | public float KernelDistanceExpClampMin = 1.0f;
44 |
45 | [SerializeField]
46 | public float KernelDistanceExpScale = 1.0f;
47 |
48 | [SerializeField]
49 | public bool KernelImageUseLuminanceAsRGB = false;
50 | }
51 |
--------------------------------------------------------------------------------
/Assets/Scripts/ConvolitonBloomSettings.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0a8980054c5ac6e41bd1b18339cf62e1
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/Scripts/ConvolutionBloom.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 | using UnityEngine.Rendering;
3 | using UnityEngine.Rendering.Universal;
4 |
5 | public class ConvolutionBloom : ScriptableRendererFeature
6 | {
7 | class CustomRenderPass : ScriptableRenderPass
8 | {
9 | public ConvolitonBloomSettings BloomSettings;
10 |
11 | RenderTexture m_sourceTexture;
12 | RenderTexture m_kernelTexture;
13 | int m_sourceFrequencyTextureID;
14 | int m_kernelFrequencyTextureID;
15 |
16 | // This method is called before executing the render pass.
17 | // It can be used to configure render targets and their clear state. Also to create temporary render target textures.
18 | // When empty this render pass will render to the active camera render target.
19 | // You should never call CommandBuffer.SetRenderTarget. Instead call ConfigureTarget and ConfigureClear.
20 | // The render pipeline will ensure target setup and clearing happens in a performant manner.
21 | public override void OnCameraSetup(CommandBuffer cmd, ref RenderingData renderingData)
22 | {
23 | m_sourceFrequencyTextureID = Shader.PropertyToID("SourceFrequencyTexture");
24 | m_kernelFrequencyTextureID = Shader.PropertyToID("KernelFrequencyTexture");
25 |
26 | RenderTextureDescriptor desc = new RenderTextureDescriptor();
27 | desc.dimension = UnityEngine.Rendering.TextureDimension.Tex2D;
28 | desc.colorFormat = RenderTextureFormat.ARGBFloat;
29 | desc.width = 512;
30 | desc.height = 512;
31 | desc.volumeDepth = 1;
32 | desc.msaaSamples = 1;
33 | desc.enableRandomWrite = true;
34 |
35 | m_sourceTexture = RenderTexture.GetTemporary(desc);
36 | m_kernelTexture = RenderTexture.GetTemporary(desc);
37 |
38 | desc.width = 512 * 2;
39 | cmd.GetTemporaryRT(m_sourceFrequencyTextureID, desc);
40 | cmd.GetTemporaryRT(m_kernelFrequencyTextureID, desc);
41 | }
42 |
43 | // Here you can implement the rendering logic.
44 | // Use ScriptableRenderContext to issue drawing commands or execute command buffers
45 | // https://docs.unity3d.com/ScriptReference/Rendering.ScriptableRenderContext.html
46 | // You don't have to call ScriptableRenderContext.submit, the render pipeline will call it at specific points in the pipeline.
47 | public override void Execute(ScriptableRenderContext context, ref RenderingData renderingData)
48 | {
49 | // FFT
50 | var cs = BloomSettings.FFTComputeShader;
51 | int kFFTForwardHorizontal = cs.FindKernel("FFTForwardHorizontal");
52 | int kFFTInverseHorizontal = cs.FindKernel("FFTInverseHorizontal");
53 | int kFFTVertical = cs.FindKernel("FFTVertical");
54 | int kConvolution = cs.FindKernel("Convolution");
55 | int kKernelTransform = cs.FindKernel("KernelTransform");
56 | int kTwoForOneFFTForwardHorizontal = cs.FindKernel("TwoForOneFFTForwardHorizontal");
57 | int kTwoForOneFFTInverseHorizontal = cs.FindKernel("TwoForOneFFTInverseHorizontal");
58 | int kTwoForOneFFTForwardHorizontalRadix8 = cs.FindKernel("TwoForOneFFTForwardHorizontalRadix8");
59 | int kTwoForOneFFTInverseHorizontalRadix8 = cs.FindKernel("TwoForOneFFTInverseHorizontalRadix8");
60 | int kFFTVerticalRadix8 = cs.FindKernel("FFTVerticalRadix8");
61 |
62 | CommandBuffer cmd = CommandBufferPool.Get();
63 | cmd.SetGlobalFloat("FFTBloomIntensity", BloomSettings.Intensity);
64 | cmd.SetGlobalFloat("FFTBloomThreshold", BloomSettings.Threshold);
65 | Vector4 kernelGenParam = new Vector4(BloomSettings.KernelPositionOffset.x, BloomSettings.KernelPositionOffset.y, BloomSettings.KernelSizeScale.x, BloomSettings.KernelSizeScale.y);
66 | cmd.SetGlobalVector("FFTBloomKernelGenParam", kernelGenParam);
67 | Vector4 kernelGenParam1 = new Vector4(BloomSettings.KernelDistanceExp, BloomSettings.KernelDistanceExpClampMin, BloomSettings.KernelDistanceExpScale, BloomSettings.KernelImageUseLuminanceAsRGB ? 1.0f : 0.0f);
68 | cmd.SetGlobalVector("FFTBloomKernelGenParam1", kernelGenParam1);
69 |
70 | // 降采样 kernel 图像
71 | cmd.Blit(BloomSettings.KernelTexture, m_kernelTexture, BloomSettings.KernelGenerateMaterial);
72 |
73 | // 对 kernel 做变换
74 | cmd.SetComputeTextureParam(cs, kKernelTransform, "SourceTexture", m_kernelTexture);
75 | cmd.DispatchCompute(cs, kKernelTransform, 512 / 8, 256 / 8, 1);
76 |
77 | // 降采样 scene color
78 | cmd.Blit(renderingData.cameraData.renderer.cameraColorTarget, m_sourceTexture, BloomSettings.SourceGenerateMaterial);
79 |
80 | // 对卷积核做 FFT
81 | // 水平
82 | cmd.SetComputeTextureParam(cs, kTwoForOneFFTForwardHorizontal, "SourceTexture", m_kernelTexture);
83 | cmd.SetComputeTextureParam(cs, kTwoForOneFFTForwardHorizontal, "FrequencyTexture", m_kernelFrequencyTextureID);
84 | cmd.DispatchCompute(cs, kTwoForOneFFTForwardHorizontal, 512, 1, 1);
85 | // 竖直
86 | cmd.SetComputeFloatParam(cs, "IsForward", 1.0f);
87 | cmd.SetComputeTextureParam(cs, kFFTVertical, "FrequencyTexture", m_kernelFrequencyTextureID);
88 | cmd.DispatchCompute(cs, kFFTVertical, 512, 1, 1);
89 |
90 | // 对原图像做 FFT
91 | // 水平
92 | cmd.BeginSample("FFTForwardHorizontal");
93 | cmd.SetComputeTextureParam(cs, kTwoForOneFFTForwardHorizontal, "SourceTexture", m_sourceTexture);
94 | cmd.SetComputeTextureParam(cs, kTwoForOneFFTForwardHorizontal, "FrequencyTexture", m_sourceFrequencyTextureID);
95 | cmd.DispatchCompute(cs, kTwoForOneFFTForwardHorizontal, 512, 1, 1);
96 | cmd.EndSample("FFTForwardHorizontal");
97 | // 竖直
98 | cmd.BeginSample("FFTForwardVertical");
99 | cmd.SetComputeFloatParam(cs, "IsForward", 1.0f);
100 | cmd.SetComputeTextureParam(cs, kFFTVertical, "FrequencyTexture", m_sourceFrequencyTextureID);
101 | cmd.DispatchCompute(cs, kFFTVertical, 512, 1, 1);
102 | cmd.EndSample("FFTForwardVertical");
103 |
104 | // 频域卷积
105 | cmd.BeginSample("Convolution");
106 | cmd.SetComputeTextureParam(cs, kConvolution, "SourceFrequencyTexture", m_sourceFrequencyTextureID);
107 | cmd.SetComputeTextureParam(cs, kConvolution, "KernelFrequencyTexture", m_kernelFrequencyTextureID);
108 | cmd.DispatchCompute(cs, kConvolution, 512 / 8, 512 / 8, 1);
109 | cmd.EndSample("Convolution");
110 |
111 | // 还原原图像
112 | // 竖直
113 | cmd.BeginSample("FFTInverseVertical");
114 | cmd.SetComputeFloatParam(cs, "IsForward", 0.0f);
115 | cmd.SetComputeTextureParam(cs, kFFTVertical, "FrequencyTexture", m_sourceFrequencyTextureID);
116 | cmd.DispatchCompute(cs, kFFTVertical, 512, 1, 1);
117 | cmd.EndSample("FFTInverseVertical");
118 | // 水平
119 | cmd.BeginSample("FFTInverseHorizontal");
120 | cmd.SetComputeTextureParam(cs, kTwoForOneFFTInverseHorizontal, "FrequencyTexture", m_sourceFrequencyTextureID);
121 | cmd.DispatchCompute(cs, kTwoForOneFFTInverseHorizontal, 512, 1, 1);
122 | cmd.EndSample("FFTInverseHorizontal");
123 |
124 | // final blit
125 | cmd.Blit(m_sourceFrequencyTextureID, renderingData.cameraData.renderer.cameraColorTarget, BloomSettings.FinalBlitMaterial);
126 |
127 | context.ExecuteCommandBuffer(cmd);
128 | cmd.Clear();
129 | CommandBufferPool.Release(cmd);
130 | }
131 |
132 | // Cleanup any allocated resources that were created during the execution of this render pass.
133 | public override void OnCameraCleanup(CommandBuffer cmd)
134 | {
135 | RenderTexture.ReleaseTemporary(m_sourceTexture);
136 | RenderTexture.ReleaseTemporary(m_kernelTexture);
137 | cmd.ReleaseTemporaryRT(m_sourceFrequencyTextureID);
138 | cmd.ReleaseTemporaryRT(m_kernelFrequencyTextureID);
139 | }
140 | }
141 |
142 | CustomRenderPass m_ScriptablePass;
143 | public ConvolitonBloomSettings BloomSettings;
144 |
145 | ///
146 | public override void Create()
147 | {
148 | m_ScriptablePass = new CustomRenderPass();
149 | m_ScriptablePass.renderPassEvent = RenderPassEvent.BeforeRenderingPostProcessing;
150 | m_ScriptablePass.BloomSettings = BloomSettings;
151 | }
152 |
153 | // Here you can inject one or multiple render passes in the renderer.
154 | // This method is called when setting up the renderer once per-camera.
155 | public override void AddRenderPasses(ScriptableRenderer renderer, ref RenderingData renderingData)
156 | {
157 | renderer.EnqueuePass(m_ScriptablePass);
158 | }
159 | }
160 |
161 |
162 |
--------------------------------------------------------------------------------
/Assets/Scripts/ConvolutionBloom.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 697340182c5048547897e1c113f81df5
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/Settings.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 709f11a7f3c4041caa4ef136ea32d874
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Settings/BloomSetting.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: 0a8980054c5ac6e41bd1b18339cf62e1, type: 3}
13 | m_Name: BloomSetting
14 | m_EditorClassIdentifier:
15 | KernelGenerateMaterial: {fileID: 2100000, guid: 1cf42a0dca9483e4da768971395fa27c,
16 | type: 2}
17 | SourceGenerateMaterial: {fileID: 2100000, guid: 55c5871186a5ef442a97babaa477c9b2,
18 | type: 2}
19 | FinalBlitMaterial: {fileID: 2100000, guid: 4d3c8a1d626b05348845cb5279176c3d, type: 2}
20 | KernelTexture: {fileID: 2800000, guid: db0e1f70ad96a474598e0f2748ac048f, type: 3}
21 | FFTComputeShader: {fileID: 7200000, guid: 0c8c263c1180a1540a77f8e2ee203db9, type: 3}
22 | Intensity: 1.37
23 | Threshold: 13.23
24 | KernelPositionOffset: {x: 0, y: 0}
25 | KernelSizeScale: {x: 1, y: 1}
26 | KernelDistanceExp: 0
27 | KernelDistanceExpClampMin: 1
28 | KernelDistanceExpScale: 1
29 | KernelImageUseLuminanceAsRGB: 1
30 |
--------------------------------------------------------------------------------
/Assets/Settings/BloomSetting.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 927c970a9a8ba754396b7e0f59856d89
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 11400000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Settings/SampleSceneProfile.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &-7893295128165547882
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 3
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: 0b2db86121404754db890f4c8dfe81b2, type: 3}
13 | m_Name: Bloom
14 | m_EditorClassIdentifier:
15 | active: 0
16 | threshold:
17 | m_OverrideState: 1
18 | m_Value: 1
19 | intensity:
20 | m_OverrideState: 1
21 | m_Value: 1
22 | scatter:
23 | m_OverrideState: 0
24 | m_Value: 0.7
25 | clamp:
26 | m_OverrideState: 0
27 | m_Value: 65472
28 | tint:
29 | m_OverrideState: 0
30 | m_Value: {r: 1, g: 1, b: 1, a: 1}
31 | highQualityFiltering:
32 | m_OverrideState: 0
33 | m_Value: 0
34 | skipIterations:
35 | m_OverrideState: 0
36 | m_Value: 1
37 | dirtTexture:
38 | m_OverrideState: 0
39 | m_Value: {fileID: 0}
40 | dirtIntensity:
41 | m_OverrideState: 0
42 | m_Value: 0
43 | --- !u!114 &-7011558710299706105
44 | MonoBehaviour:
45 | m_ObjectHideFlags: 3
46 | m_CorrespondingSourceObject: {fileID: 0}
47 | m_PrefabInstance: {fileID: 0}
48 | m_PrefabAsset: {fileID: 0}
49 | m_GameObject: {fileID: 0}
50 | m_Enabled: 1
51 | m_EditorHideFlags: 0
52 | m_Script: {fileID: 11500000, guid: 899c54efeace73346a0a16faa3afe726, type: 3}
53 | m_Name: Vignette
54 | m_EditorClassIdentifier:
55 | active: 1
56 | color:
57 | m_OverrideState: 0
58 | m_Value: {r: 0, g: 0, b: 0, a: 1}
59 | center:
60 | m_OverrideState: 0
61 | m_Value: {x: 0.5, y: 0.5}
62 | intensity:
63 | m_OverrideState: 1
64 | m_Value: 0.25
65 | smoothness:
66 | m_OverrideState: 1
67 | m_Value: 0.4
68 | rounded:
69 | m_OverrideState: 0
70 | m_Value: 0
71 | --- !u!114 &11400000
72 | MonoBehaviour:
73 | m_ObjectHideFlags: 0
74 | m_CorrespondingSourceObject: {fileID: 0}
75 | m_PrefabInstance: {fileID: 0}
76 | m_PrefabAsset: {fileID: 0}
77 | m_GameObject: {fileID: 0}
78 | m_Enabled: 1
79 | m_EditorHideFlags: 0
80 | m_Script: {fileID: 11500000, guid: d7fd9488000d3734a9e00ee676215985, type: 3}
81 | m_Name: SampleSceneProfile
82 | m_EditorClassIdentifier:
83 | components:
84 | - {fileID: 849379129802519247}
85 | - {fileID: -7893295128165547882}
86 | - {fileID: -7011558710299706105}
87 | --- !u!114 &849379129802519247
88 | MonoBehaviour:
89 | m_ObjectHideFlags: 3
90 | m_CorrespondingSourceObject: {fileID: 0}
91 | m_PrefabInstance: {fileID: 0}
92 | m_PrefabAsset: {fileID: 0}
93 | m_GameObject: {fileID: 0}
94 | m_Enabled: 1
95 | m_EditorHideFlags: 0
96 | m_Script: {fileID: 11500000, guid: 97c23e3b12dc18c42a140437e53d3951, type: 3}
97 | m_Name: Tonemapping
98 | m_EditorClassIdentifier:
99 | active: 1
100 | mode:
101 | m_OverrideState: 1
102 | m_Value: 1
103 |
--------------------------------------------------------------------------------
/Assets/Settings/SampleSceneProfile.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a6560a915ef98420e9faacc1c7438823
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Settings/URP-HighFidelity-Renderer.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &-1878332245247344467
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: f62c9c65cf3354c93be831c8bc075510, type: 3}
13 | m_Name: SSAO
14 | m_EditorClassIdentifier:
15 | m_Active: 1
16 | m_Shader: {fileID: 4800000, guid: 0849e84e3d62649e8882e9d6f056a017, type: 3}
17 | m_Settings:
18 | Downsample: 0
19 | AfterOpaque: 0
20 | Source: 1
21 | NormalSamples: 1
22 | Intensity: 0.5
23 | DirectLightingStrength: 0.25
24 | Radius: 0.25
25 | SampleCount: 12
26 | --- !u!114 &11400000
27 | MonoBehaviour:
28 | m_ObjectHideFlags: 0
29 | m_CorrespondingSourceObject: {fileID: 0}
30 | m_PrefabInstance: {fileID: 0}
31 | m_PrefabAsset: {fileID: 0}
32 | m_GameObject: {fileID: 0}
33 | m_Enabled: 1
34 | m_EditorHideFlags: 0
35 | m_Script: {fileID: 11500000, guid: de640fe3d0db1804a85f9fc8f5cadab6, type: 3}
36 | m_Name: URP-HighFidelity-Renderer
37 | m_EditorClassIdentifier:
38 | debugShaders:
39 | debugReplacementPS: {fileID: 4800000, guid: cf852408f2e174538bcd9b7fda1c5ae7,
40 | type: 3}
41 | m_RendererFeatures:
42 | - {fileID: -1878332245247344467}
43 | - {fileID: 5985438550075441400}
44 | m_RendererFeatureMap: adc0de57c6d2eee5f8002d2aa68c1053
45 | m_UseNativeRenderPass: 0
46 | postProcessData: {fileID: 11400000, guid: 41439944d30ece34e96484bdb6645b55, type: 2}
47 | xrSystemData: {fileID: 11400000, guid: 60e1133243b97e347b653163a8c01b64, type: 2}
48 | shaders:
49 | blitPS: {fileID: 4800000, guid: c17132b1f77d20942aa75f8429c0f8bc, type: 3}
50 | copyDepthPS: {fileID: 4800000, guid: d6dae50ee9e1bfa4db75f19f99355220, type: 3}
51 | screenSpaceShadowPS: {fileID: 0}
52 | samplingPS: {fileID: 4800000, guid: 04c410c9937594faa893a11dceb85f7e, type: 3}
53 | stencilDeferredPS: {fileID: 4800000, guid: e9155b26e1bc55942a41e518703fe304, type: 3}
54 | fallbackErrorPS: {fileID: 4800000, guid: e6e9a19c3678ded42a3bc431ebef7dbd, type: 3}
55 | materialErrorPS: {fileID: 4800000, guid: 5fd9a8feb75a4b5894c241777f519d4e, type: 3}
56 | coreBlitPS: {fileID: 4800000, guid: 93446b5c5339d4f00b85c159e1159b7c, type: 3}
57 | coreBlitColorAndDepthPS: {fileID: 4800000, guid: d104b2fc1ca6445babb8e90b0758136b,
58 | type: 3}
59 | cameraMotionVector: {fileID: 4800000, guid: c56b7e0d4c7cb484e959caeeedae9bbf,
60 | type: 3}
61 | objectMotionVector: {fileID: 4800000, guid: 7b3ede40266cd49a395def176e1bc486,
62 | type: 3}
63 | m_AssetVersion: 1
64 | m_OpaqueLayerMask:
65 | serializedVersion: 2
66 | m_Bits: 4294967295
67 | m_TransparentLayerMask:
68 | serializedVersion: 2
69 | m_Bits: 4294967295
70 | m_DefaultStencilState:
71 | overrideStencilState: 0
72 | stencilReference: 0
73 | stencilCompareFunction: 8
74 | passOperation: 2
75 | failOperation: 0
76 | zFailOperation: 0
77 | m_ShadowTransparentReceive: 1
78 | m_RenderingMode: 0
79 | m_DepthPrimingMode: 0
80 | m_AccurateGbufferNormals: 0
81 | m_ClusteredRendering: 0
82 | m_TileSize: 32
83 | m_IntermediateTextureMode: 0
84 | --- !u!114 &5985438550075441400
85 | MonoBehaviour:
86 | m_ObjectHideFlags: 0
87 | m_CorrespondingSourceObject: {fileID: 0}
88 | m_PrefabInstance: {fileID: 0}
89 | m_PrefabAsset: {fileID: 0}
90 | m_GameObject: {fileID: 0}
91 | m_Enabled: 1
92 | m_EditorHideFlags: 0
93 | m_Script: {fileID: 11500000, guid: 697340182c5048547897e1c113f81df5, type: 3}
94 | m_Name: ConvolutionBloom
95 | m_EditorClassIdentifier:
96 | m_Active: 1
97 | BloomSettings: {fileID: 11400000, guid: 927c970a9a8ba754396b7e0f59856d89, type: 2}
98 |
--------------------------------------------------------------------------------
/Assets/Settings/URP-HighFidelity-Renderer.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c40be3174f62c4acf8c1216858c64956
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 11400000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Settings/URP-HighFidelity.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: bf2edee5c58d82540a51f03df9d42094, type: 3}
13 | m_Name: URP-HighFidelity
14 | m_EditorClassIdentifier:
15 | k_AssetVersion: 9
16 | k_AssetPreviousVersion: 9
17 | m_RendererType: 1
18 | m_RendererData: {fileID: 0}
19 | m_RendererDataList:
20 | - {fileID: 11400000, guid: c40be3174f62c4acf8c1216858c64956, type: 2}
21 | m_DefaultRendererIndex: 0
22 | m_RequireDepthTexture: 0
23 | m_RequireOpaqueTexture: 0
24 | m_OpaqueDownsampling: 1
25 | m_SupportsTerrainHoles: 1
26 | m_StoreActionsOptimization: 0
27 | m_SupportsHDR: 1
28 | m_MSAA: 4
29 | m_RenderScale: 1
30 | m_MainLightRenderingMode: 1
31 | m_MainLightShadowsSupported: 1
32 | m_MainLightShadowmapResolution: 4096
33 | m_AdditionalLightsRenderingMode: 1
34 | m_AdditionalLightsPerObjectLimit: 8
35 | m_AdditionalLightShadowsSupported: 1
36 | m_AdditionalLightsShadowmapResolution: 4096
37 | m_AdditionalLightsShadowResolutionTierLow: 128
38 | m_AdditionalLightsShadowResolutionTierMedium: 256
39 | m_AdditionalLightsShadowResolutionTierHigh: 512
40 | m_ReflectionProbeBlending: 1
41 | m_ReflectionProbeBoxProjection: 1
42 | m_ShadowDistance: 150
43 | m_ShadowCascadeCount: 4
44 | m_Cascade2Split: 0.25
45 | m_Cascade3Split: {x: 0.1, y: 0.3}
46 | m_Cascade4Split: {x: 0.067, y: 0.2, z: 0.467}
47 | m_CascadeBorder: 0.1
48 | m_ShadowDepthBias: 1
49 | m_ShadowNormalBias: 1
50 | m_SoftShadowsSupported: 1
51 | m_AdditionalLightsCookieResolution: 4096
52 | m_AdditionalLightsCookieFormat: 4
53 | m_UseSRPBatcher: 1
54 | m_SupportsDynamicBatching: 0
55 | m_MixedLightingSupported: 1
56 | m_SupportsLightLayers: 0
57 | m_DebugLevel: 0
58 | m_UseAdaptivePerformance: 1
59 | m_ColorGradingMode: 0
60 | m_ColorGradingLutSize: 32
61 | m_UseFastSRGBLinearConversion: 0
62 | m_ShadowType: 1
63 | m_LocalShadowsSupported: 0
64 | m_LocalShadowsAtlasResolution: 256
65 | m_MaxPixelLights: 0
66 | m_ShadowAtlasResolution: 256
67 | m_ShaderVariantLogLevel: 0
68 | m_VolumeFrameworkUpdateMode: 0
69 | m_ShadowCascades: 1
70 |
--------------------------------------------------------------------------------
/Assets/Settings/URP-HighFidelity.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7b7fd9122c28c4d15b667c7040e3b3fd
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Shaders.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 66a9f9c3073796c44a38bd81e46f9def
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Shaders/FFTCS.compute:
--------------------------------------------------------------------------------
1 | //#pragma enable_d3d11_debug_symbols
2 |
3 | #include "FFTCommon.hlsl"
4 |
5 | float IsForward;
6 | RWTexture2D SourceTexture;
7 | RWTexture2D FrequencyTexture;
8 |
9 | // ---------------------------------------------------------------------------------- //
10 |
11 | #pragma kernel FFTForwardHorizontal
12 | [numthreads(SourceTextureSize,1,1)]
13 | void FFTForwardHorizontal (uint3 id : SV_DispatchThreadID, uint3 tid : SV_GroupThreadID, uint3 gid : SV_GroupID)
14 | {
15 | uint threadIndex = tid.x;
16 | uint groupIndex = gid.x;
17 | uint2 uv = uint2(threadIndex, groupIndex);
18 | float4 src = SourceTexture[uv];
19 |
20 | Complex inputs[4] = { Complex(src.x, 0), Complex(src.y, 0), Complex(src.z, 0), Complex(src.w, 0) };
21 | Complex outputs[4] = { Complex(0,0), Complex(0,0), Complex(0,0),Complex(0,0) };
22 |
23 | for(uint channel=0; channel<4; channel++)
24 | {
25 | Complex f_n = inputs[channel];
26 | Complex F_k = CooleyTukeyFFT(f_n, threadIndex, true);
27 | outputs[channel] = F_k;
28 | }
29 |
30 | uint2 uvRG = uv;
31 | uint2 uvBA = uint2(uv.x + SourceTextureSize, uv.y);
32 | FrequencyTexture[uvRG] = float4(outputs[0], outputs[1]);
33 | FrequencyTexture[uvBA] = float4(outputs[2], outputs[3]);
34 | }
35 |
36 | // ---------------------------------------------------------------------------------- //
37 |
38 | #pragma kernel FFTInverseHorizontal
39 | [numthreads(SourceTextureSize,1,1)]
40 | void FFTInverseHorizontal (uint3 id : SV_DispatchThreadID, uint3 tid : SV_GroupThreadID, uint3 gid : SV_GroupID)
41 | {
42 | uint threadIndex = tid.x;
43 | uint groupIndex = gid.x;
44 | uint2 uv = uint2(threadIndex, groupIndex);
45 |
46 | uint2 uvRG = uv;
47 | uint2 uvBA = uint2(uv.x + SourceTextureSize, uv.y);
48 | float4 srcRG = FrequencyTexture[uvRG];
49 | float4 srcBA = FrequencyTexture[uvBA];
50 |
51 | Complex inputs[4] = { srcRG.xy, srcRG.zw, srcBA.xy, srcBA.zw };
52 | Complex outputs[4] = { Complex(0,0), Complex(0,0), Complex(0,0),Complex(0,0) };
53 |
54 | for(uint channel=0; channel<4; channel++)
55 | {
56 | Complex F_k = inputs[channel];
57 | Complex f_n = CooleyTukeyFFT(F_k, threadIndex, false);
58 | outputs[channel] = f_n;
59 | }
60 |
61 | FrequencyTexture[uv] = float4(outputs[0].x, outputs[1].x, outputs[2].x, outputs[3].x);
62 | }
63 |
64 | // ---------------------------------------------------------------------------------- //
65 |
66 | #pragma kernel FFTVertical
67 | [numthreads(SourceTextureSize,1,1)]
68 | void FFTVertical (uint3 id : SV_DispatchThreadID, uint3 tid : SV_GroupThreadID, uint3 gid : SV_GroupID)
69 | {
70 | uint threadIndex = tid.x;
71 | uint groupIndex = gid.x;
72 | uint2 uv = uint2(groupIndex, threadIndex);
73 |
74 | uint2 uvRG = uv;
75 | uint2 uvBA = uint2(uv.x + SourceTextureSize, uv.y);
76 | float4 srcRG = FrequencyTexture[uvRG];
77 | float4 srcBA = FrequencyTexture[uvBA];
78 |
79 | Complex inputs[4] = { srcRG.xy, srcRG.zw, srcBA.xy, srcBA.zw };
80 | Complex outputs[4] = { Complex(0,0), Complex(0,0), Complex(0,0),Complex(0,0) };
81 |
82 | for(uint channel=0; channel<4; channel++)
83 | {
84 | Complex f_n = inputs[channel];
85 | Complex F_k = CooleyTukeyFFT(f_n, threadIndex, IsForward > 0);
86 | outputs[channel] = F_k;
87 | }
88 |
89 | FrequencyTexture[uvRG] = float4(outputs[0], outputs[1]);
90 | FrequencyTexture[uvBA] = float4(outputs[2], outputs[3]);
91 | }
92 |
93 | // ---------------------------------------------------------------------------------- //
94 |
95 | RWTexture2D SourceFrequencyTexture;
96 | RWTexture2D KernelFrequencyTexture;
97 |
98 | #pragma kernel Convolution
99 | [numthreads(8,8,1)]
100 | void Convolution (uint3 id : SV_DispatchThreadID, uint3 tid : SV_GroupThreadID, uint3 gid : SV_GroupID)
101 | {
102 | uint2 uvRG = id.xy;
103 | uint2 uvBA = uint2(id.x + SourceTextureSize, id.y);
104 |
105 | float4 src1 = SourceFrequencyTexture[uvRG];
106 | float4 src2 = SourceFrequencyTexture[uvBA];
107 | float4 k1 = KernelFrequencyTexture[uvRG];
108 | float4 k2 = KernelFrequencyTexture[uvBA];
109 |
110 | Complex inputs[4] = { src1.xy, src1.zw, src2.xy, src2.zw };
111 | Complex kernels[4] = { k1.xy, k1.zw, k2.xy, k2.zw };
112 | Complex outputs[4] = { Complex(0,0), Complex(0,0), Complex(0,0),Complex(0,0) };
113 |
114 | for(uint i=0; i<4; i++)
115 | {
116 | outputs[i] = ComplexMultiply(inputs[i], kernels[i]);
117 | }
118 |
119 | SourceFrequencyTexture[uvRG] = float4(outputs[0], outputs[1]);
120 | SourceFrequencyTexture[uvBA] = float4(outputs[2], outputs[3]);
121 | }
122 |
123 | // ---------------------------------------------------------------------------------- //
124 |
125 | #pragma kernel KernelTransform
126 | [numthreads(8,8,1)]
127 | void KernelTransform (uint3 id : SV_DispatchThreadID, uint3 tid : SV_GroupThreadID, uint3 gid : SV_GroupID)
128 | {
129 | uint halfN = SourceTextureSize / 2;
130 | uint2 uvSrc = id.xy;
131 | uint2 uvDst = (id.xy + uint2(halfN, halfN));
132 | uvDst.x %= SourceTextureSize;
133 | uvDst.y %= SourceTextureSize;
134 |
135 | float4 src = SourceTexture[uvSrc];
136 | float4 dst = SourceTexture[uvDst];
137 |
138 | SourceTexture[uvSrc] = dst;
139 | SourceTexture[uvDst] = src;
140 | }
141 |
142 | // ---------------------------------------------------------------------------------- //
143 |
144 | #pragma kernel TwoForOneFFTForwardHorizontal
145 | [numthreads(SourceTextureSize,1,1)]
146 | void TwoForOneFFTForwardHorizontal (uint3 id : SV_DispatchThreadID, uint3 tid : SV_GroupThreadID, uint3 gid : SV_GroupID)
147 | {
148 | uint threadIndex = tid.x;
149 | uint groupIndex = gid.x;
150 | uint2 uv = uint2(threadIndex, groupIndex);
151 | float4 src = SourceTexture[uv];
152 |
153 | Complex inputs[2] = { Complex(src.x, src.y), Complex(src.z, src.w) };
154 | Complex outputs[4] = { Complex(0,0), Complex(0,0), Complex(0,0),Complex(0,0) };
155 |
156 | for(uint channel=0; channel<2; channel++)
157 | {
158 | Complex z_n = inputs[channel];
159 | Complex X_k = Complex(0, 0);
160 | Complex Y_k = Complex(0, 0);
161 | TwoForOneFFTForward(z_n, threadIndex, X_k, Y_k);
162 |
163 | outputs[channel * 2 + 0] = X_k;
164 | outputs[channel * 2 + 1] = Y_k;
165 | }
166 |
167 | uint2 uvRG = uv;
168 | uint2 uvBA = uint2(uv.x + SourceTextureSize, uv.y);
169 | FrequencyTexture[uvRG] = float4(outputs[0], outputs[1]);
170 | FrequencyTexture[uvBA] = float4(outputs[2], outputs[3]);
171 | }
172 |
173 | // ---------------------------------------------------------------------------------- //
174 |
175 | #pragma kernel TwoForOneFFTInverseHorizontal
176 | [numthreads(SourceTextureSize,1,1)]
177 | void TwoForOneFFTInverseHorizontal (uint3 id : SV_DispatchThreadID, uint3 tid : SV_GroupThreadID, uint3 gid : SV_GroupID)
178 | {
179 | uint threadIndex = tid.x;
180 | uint groupIndex = gid.x;
181 | uint2 uv = uint2(threadIndex, groupIndex);
182 |
183 | uint2 uvRG = uv;
184 | uint2 uvBA = uint2(uv.x + SourceTextureSize, uv.y);
185 | float4 srcRG = FrequencyTexture[uvRG];
186 | float4 srcBA = FrequencyTexture[uvBA];
187 |
188 | Complex inputs[4] = { srcRG.xy, srcRG.zw, srcBA.xy, srcBA.zw };
189 | float outputs[4] = { 0, 0, 0, 0 };
190 |
191 | for(uint channel=0; channel<2; channel++)
192 | {
193 | Complex X_k = inputs[channel * 2 + 0];
194 | Complex Y_k = inputs[channel * 2 + 1];
195 | float x_n = 0;
196 | float y_n = 0;
197 |
198 | TwoForOneFFTInverse(X_k, Y_k, threadIndex, x_n, y_n);
199 | outputs[channel * 2 + 0] = x_n;
200 | outputs[channel * 2 + 1] = y_n;
201 | }
202 |
203 | FrequencyTexture[uv] = float4(outputs[0], outputs[1], outputs[2], outputs[3]);
204 | }
205 |
206 | // ---------------------------------------------------------------------------------- //
207 |
208 | #pragma kernel TwoForOneFFTForwardHorizontalRadix8_1_thread_8_signal
209 | [numthreads(SourceTextureSize/8,1,1)]
210 | void TwoForOneFFTForwardHorizontalRadix8_1_thread_8_signal (uint3 id : SV_DispatchThreadID, uint3 tid : SV_GroupThreadID, uint3 gid : SV_GroupID)
211 | {
212 | uint threadIndex = tid.x;
213 | uint groupIndex = gid.x;
214 |
215 | Complex inputs[2][8];
216 | Complex outputs[4][8];
217 |
218 | // 一个线程处理 8 个输入信号
219 | for(uint i=0; i<8; i++)
220 | {
221 | float4 src = SourceTexture[uint2(threadIndex * 8 + i, groupIndex)];
222 | inputs[0][i] = src.rg;
223 | inputs[1][i] = src.ba;
224 | }
225 |
226 | // 对 RG, BA 通道分别进行变换
227 | for(uint channel=0; channel<2; channel++)
228 | {
229 | Radix8FFT_1_thread_8_signal(inputs[channel], threadIndex, true);
230 |
231 | // split two-for-one
232 | GroupMemoryBarrierWithGroupSync();
233 | for(uint i=0; i<8; i++)
234 | {
235 | uint index = threadIndex * 8 + i;
236 | uint rollIndex = (SourceTextureSize - index) % SourceTextureSize;
237 |
238 | Complex Z_k = groupSharedBuffer[index] / float(sqrt(SourceTextureSize));
239 | Complex Z_k_c = ComplexConjugate(groupSharedBuffer[rollIndex] / float(sqrt(SourceTextureSize)));
240 |
241 | Complex X_k = (Z_k + Z_k_c) / 2;
242 | Complex Y_k = ComplexMultiply(Complex(0, -1), (Z_k - Z_k_c) / 2);
243 |
244 | outputs[channel * 2 + 0][i] = X_k;
245 | outputs[channel * 2 + 1][i] = Y_k;
246 | }
247 | }
248 |
249 | // 一个线程处理 8 个输入信号
250 | for(uint i=0; i<8; i++)
251 | {
252 | uint2 uvRG = uint2(threadIndex * 8 + i, groupIndex);
253 | uint2 uvBA = uint2(uvRG.x + SourceTextureSize, uvRG.y);
254 |
255 | FrequencyTexture[uvRG] = float4(outputs[0][i], outputs[1][i]);
256 | FrequencyTexture[uvBA] = float4(outputs[2][i], outputs[3][i]);
257 | }
258 | }
259 |
260 | // ---------------------------------------------------------------------------------- //
261 |
262 | #pragma kernel FFTVerticalRadix8_1_thread_8_signal
263 | [numthreads(SourceTextureSize/8,1,1)]
264 | void FFTVerticalRadix8_1_thread_8_signal (uint3 id : SV_DispatchThreadID, uint3 tid : SV_GroupThreadID, uint3 gid : SV_GroupID)
265 | {
266 | uint threadIndex = tid.x;
267 | uint groupIndex = gid.x;
268 |
269 | Complex inputs[4][8];
270 | Complex outputs[4][8];
271 |
272 | // 一个线程处理 8 个输入信号
273 | for(uint i=0; i<8; i++)
274 | {
275 | uint2 uvRG = uint2(groupIndex, threadIndex * 8 + i);
276 | uint2 uvBA = uint2(groupIndex + SourceTextureSize, threadIndex * 8 + i);
277 | float4 srcRG = FrequencyTexture[uvRG];
278 | float4 srcBA = FrequencyTexture[uvBA];
279 |
280 | inputs[0][i] = srcRG.rg; // R
281 | inputs[1][i] = srcRG.ba; // G
282 | inputs[2][i] = srcBA.rg; // B
283 | inputs[3][i] = srcBA.ba; // A
284 | }
285 |
286 | // 对 R, G, B, A 通道分别进行变换
287 | for(uint channel=0; channel<4; channel++)
288 | {
289 | Radix8FFT_1_thread_8_signal(inputs[channel], threadIndex, IsForward > 0);
290 |
291 | GroupMemoryBarrierWithGroupSync();
292 | for(uint i=0; i<8; i++)
293 | {
294 | uint index = threadIndex * 8 + i;
295 | Complex F_k = groupSharedBuffer[index] / float(sqrt(SourceTextureSize));
296 | outputs[channel][i] = F_k;
297 | }
298 | }
299 |
300 | // 一个线程处理 8 个输入信号
301 | for(uint i=0; i<8; i++)
302 | {
303 | uint2 uvRG = uint2(groupIndex, threadIndex * 8 + i);
304 | uint2 uvBA = uint2(groupIndex + SourceTextureSize, threadIndex * 8 + i);
305 |
306 | FrequencyTexture[uvRG] = float4(outputs[0][i], outputs[1][i]);
307 | FrequencyTexture[uvBA] = float4(outputs[2][i], outputs[3][i]);
308 | }
309 | }
310 |
311 | // ---------------------------------------------------------------------------------- //
312 |
313 | #pragma kernel TwoForOneFFTInverseHorizontalRadix8_1_thread_8_signal
314 | [numthreads(SourceTextureSize/8,1,1)]
315 | void TwoForOneFFTInverseHorizontalRadix8_1_thread_8_signal (uint3 id : SV_DispatchThreadID, uint3 tid : SV_GroupThreadID, uint3 gid : SV_GroupID)
316 | {
317 | uint threadIndex = tid.x;
318 | uint groupIndex = gid.x;
319 |
320 | Complex inputs[4][8];
321 | float outputs[4][8];
322 |
323 | // 一个线程处理 8 个输入信号
324 | for(uint i=0; i<8; i++)
325 | {
326 | uint2 uvRG = uint2(threadIndex * 8 + i, groupIndex);
327 | uint2 uvBA = uint2(threadIndex * 8 + i + SourceTextureSize, groupIndex);
328 | float4 srcRG = FrequencyTexture[uvRG];
329 | float4 srcBA = FrequencyTexture[uvBA];
330 |
331 | inputs[0][i] = srcRG.rg; // R
332 | inputs[1][i] = srcRG.ba; // G
333 | inputs[2][i] = srcBA.rg; // B
334 | inputs[3][i] = srcBA.ba; // A
335 | }
336 |
337 | // 对 RG, BA 通道分别进行变换
338 | for(uint channel=0; channel<2; channel++)
339 | {
340 | // merge two-for-one
341 | Complex twoForOneInput[8];
342 | for(uint i=0; i<8; i++)
343 | {
344 | Complex X_k = inputs[channel * 2 + 0][i];
345 | Complex Y_k = inputs[channel * 2 + 1][i];
346 | Complex Z_k = X_k + ComplexMultiply(Complex(0, 1), Y_k);
347 | twoForOneInput[i] = Z_k;
348 | }
349 |
350 | Radix8FFT_1_thread_8_signal(twoForOneInput, threadIndex, false);
351 |
352 | // split two-for-one
353 | GroupMemoryBarrierWithGroupSync();
354 | for(uint i=0; i<8; i++)
355 | {
356 | uint index = threadIndex * 8 + i;
357 | Complex z_n = groupSharedBuffer[index] / float(sqrt(SourceTextureSize));
358 | float x_n = z_n.x;
359 | float y_n = z_n.y;
360 |
361 | outputs[channel * 2 + 0][i] = x_n;
362 | outputs[channel * 2 + 1][i] = y_n;
363 | }
364 | }
365 |
366 | // 一个线程处理 8 个输入信号
367 | for(uint i=0; i<8; i++)
368 | {
369 | uint2 uv = uint2(threadIndex * 8 + i, groupIndex);
370 | FrequencyTexture[uv] = float4(outputs[0][i], outputs[1][i], outputs[2][i], outputs[3][i]);
371 | }
372 | }
373 |
374 | // ---------------------------------------------------------------------------------- //
375 |
376 | #pragma kernel TwoForOneFFTForwardHorizontalRadix8
377 | [numthreads(SourceTextureSize,1,1)]
378 | void TwoForOneFFTForwardHorizontalRadix8 (uint3 id : SV_DispatchThreadID, uint3 tid : SV_GroupThreadID, uint3 gid : SV_GroupID)
379 | {
380 | uint threadIndex = tid.x;
381 | uint groupIndex = gid.x;
382 |
383 | Complex inputs[2];
384 | Complex outputs[4];
385 |
386 | float4 src = SourceTexture[uint2(threadIndex, groupIndex)];
387 | inputs[0] = src.rg;
388 | inputs[1] = src.ba;
389 |
390 | // 对 RG, BA 通道分别进行变换
391 | for(uint channel=0; channel<2; channel++)
392 | {
393 | Radix8FFT(inputs[channel], threadIndex, true);
394 |
395 | GroupMemoryBarrierWithGroupSync();
396 |
397 | // split two-for-one
398 | uint rollIndex = (SourceTextureSize - threadIndex) % SourceTextureSize;
399 |
400 | Complex Z_k = groupSharedBuffer[threadIndex] / float(sqrt(SourceTextureSize));
401 | Complex Z_k_c = ComplexConjugate(groupSharedBuffer[rollIndex] / float(sqrt(SourceTextureSize)));
402 |
403 | Complex X_k = (Z_k + Z_k_c) / 2;
404 | Complex Y_k = ComplexMultiply(Complex(0, -1), (Z_k - Z_k_c) / 2);
405 |
406 | outputs[channel * 2 + 0] = X_k;
407 | outputs[channel * 2 + 1] = Y_k;
408 | }
409 |
410 | uint2 uvRG = uint2(threadIndex, groupIndex);
411 | uint2 uvBA = uint2(uvRG.x + SourceTextureSize, uvRG.y);
412 |
413 | FrequencyTexture[uvRG] = float4(outputs[0], outputs[1]);
414 | FrequencyTexture[uvBA] = float4(outputs[2], outputs[3]);
415 | }
416 |
417 | // ---------------------------------------------------------------------------------- //
418 |
419 | #pragma kernel FFTVerticalRadix8
420 | [numthreads(SourceTextureSize,1,1)]
421 | void FFTVerticalRadix8 (uint3 id : SV_DispatchThreadID, uint3 tid : SV_GroupThreadID, uint3 gid : SV_GroupID)
422 | {
423 | uint threadIndex = tid.x;
424 | uint groupIndex = gid.x;
425 |
426 | Complex inputs[4];
427 | Complex outputs[4];
428 |
429 | uint2 uvRG = uint2(groupIndex, threadIndex);
430 | uint2 uvBA = uint2(groupIndex + SourceTextureSize, threadIndex);
431 | float4 srcRG = FrequencyTexture[uvRG];
432 | float4 srcBA = FrequencyTexture[uvBA];
433 |
434 | inputs[0] = srcRG.rg; // R
435 | inputs[1] = srcRG.ba; // G
436 | inputs[2] = srcBA.rg; // B
437 | inputs[3] = srcBA.ba; // A
438 |
439 | // 对 R, G, B, A 通道分别进行变换
440 | for(uint channel=0; channel<4; channel++)
441 | {
442 | Radix8FFT(inputs[channel], threadIndex, IsForward > 0);
443 |
444 | GroupMemoryBarrierWithGroupSync();
445 | Complex F_k = groupSharedBuffer[threadIndex] / float(sqrt(SourceTextureSize));
446 | outputs[channel] = F_k;
447 | }
448 |
449 | FrequencyTexture[uvRG] = float4(outputs[0], outputs[1]);
450 | FrequencyTexture[uvBA] = float4(outputs[2], outputs[3]);
451 | }
452 |
453 | // ---------------------------------------------------------------------------------- //
454 |
455 | #pragma kernel TwoForOneFFTInverseHorizontalRadix8
456 | [numthreads(SourceTextureSize,1,1)]
457 | void TwoForOneFFTInverseHorizontalRadix8 (uint3 id : SV_DispatchThreadID, uint3 tid : SV_GroupThreadID, uint3 gid : SV_GroupID)
458 | {
459 | uint threadIndex = tid.x;
460 | uint groupIndex = gid.x;
461 |
462 | Complex inputs[4];
463 | float outputs[4];
464 |
465 | uint2 uvRG = uint2(threadIndex, groupIndex);
466 | uint2 uvBA = uint2(threadIndex + SourceTextureSize, groupIndex);
467 | float4 srcRG = FrequencyTexture[uvRG];
468 | float4 srcBA = FrequencyTexture[uvBA];
469 |
470 | inputs[0] = srcRG.rg; // R
471 | inputs[1] = srcRG.ba; // G
472 | inputs[2] = srcBA.rg; // B
473 | inputs[3] = srcBA.ba; // A
474 |
475 | // 对 RG, BA 通道分别进行变换
476 | for(uint channel=0; channel<2; channel++)
477 | {
478 | // merge two-for-one
479 | Complex X_k = inputs[channel * 2 + 0];
480 | Complex Y_k = inputs[channel * 2 + 1];
481 | Complex Z_k = X_k + ComplexMultiply(Complex(0, 1), Y_k);
482 |
483 | Radix8FFT(Z_k, threadIndex, false);
484 |
485 | GroupMemoryBarrierWithGroupSync();
486 |
487 | // split two-for-one
488 | Complex z_n = groupSharedBuffer[threadIndex] / float(sqrt(SourceTextureSize));
489 | float x_n = z_n.x;
490 | float y_n = z_n.y;
491 |
492 | outputs[channel * 2 + 0] = x_n;
493 | outputs[channel * 2 + 1] = y_n;
494 | }
495 |
496 | uint2 uv = uint2(threadIndex, groupIndex);
497 | FrequencyTexture[uv] = float4(outputs[0], outputs[1], outputs[2], outputs[3]);
498 | }
499 |
500 | // ---------------------------------------------------------------------------------- //
501 |
502 | /*
503 | [numthreads(SourceTextureSize,1,1)]
504 | void FFTForward (uint3 id : SV_DispatchThreadID, uint3 tid : SV_GroupThreadID, uint3 gid : SV_GroupID)
505 | {
506 | // dft for validate
507 | bool bIsHorizontal = IsHorizontal > 0;
508 | bool bIsForward = IsForward > 0;
509 |
510 | uint threadIndex = tid.x;
511 | uint groupIndex = gid.y;
512 |
513 | {
514 | uint k = threadIndex;
515 | uint N = SourceTextureSize;
516 | Complex F_k = Complex(0, 0);
517 | // forward
518 | for(int n=0; n> 16);
29 | bits = ( (bits & 0x00ff00ff) << 8 ) | ( (bits & 0xff00ff00) >> 8 );
30 | bits = ( (bits & 0x0f0f0f0f) << 4 ) | ( (bits & 0xf0f0f0f0) >> 4 );
31 | bits = ( (bits & 0x33333333) << 2 ) | ( (bits & 0xcccccccc) >> 2 );
32 | bits = ( (bits & 0x55555555) << 1 ) | ( (bits & 0xaaaaaaaa) >> 1 );
33 | return bits;
34 | }
35 |
36 | uint ReversLowerNBits(uint bits, uint N)
37 | {
38 | return ReverseBits32(bits) >> (32 - N);
39 | }
40 |
41 | // 3bit 一组反转
42 | uint GetInputIndexRadix8(uint index)
43 | {
44 | uint low3bits = index & 0x7;
45 | uint mid3bits = (index & (0x7 << 3)) >> 3;
46 | uint high3bits = (index & (0x7 << 6)) >> 6;
47 | return (low3bits << 6) + (mid3bits << 3) + high3bits;
48 | }
49 |
50 | void SplitTwoForOne(in uint index, in Complex X_k, in Complex Y_k)
51 | {
52 | uint rollIndex = (SourceTextureSize - index) % SourceTextureSize;
53 |
54 | Complex Z_k = groupSharedBuffer[index] / float(sqrt(SourceTextureSize));
55 | Complex Z_k_c = ComplexConjugate(groupSharedBuffer[rollIndex] / float(sqrt(SourceTextureSize)));
56 |
57 | X_k = (Z_k + Z_k_c) / 2;
58 | Y_k = ComplexMultiply(Complex(0, -1), (Z_k - Z_k_c) / 2);
59 | }
60 |
61 | Complex DFT(in Complex f_n, in uint index, in bool bIsForward)
62 | {
63 | groupSharedBuffer[index] = f_n;
64 | GroupMemoryBarrierWithGroupSync();
65 |
66 | uint n = index;
67 | uint N = SourceTextureSize;
68 | f_n = Complex(0, 0);
69 | for(uint k=0; k -0.5)
42 | {
43 | return u + 0.5;
44 | }
45 | if(u > 0.5 && u < 1)
46 | {
47 | return u - 0.5;
48 | }
49 | return -1;
50 | }
51 |
52 | SAMPLER(sampler_LinearRepeat);
53 | SAMPLER(sampler_LinearClamp);
54 | Texture2D _MainTex;
55 |
56 | float4 FFTBloomKernelGenParam;
57 | float4 FFTBloomKernelGenParam1;
58 |
59 | float Luma(float3 color)
60 | {
61 | return dot(color, float3(0.299f, 0.587f, 0.114f));
62 | }
63 |
64 | float4 frag (v2f i) : SV_Target
65 | {
66 | float2 offset = FFTBloomKernelGenParam.xy;
67 | float2 scale = FFTBloomKernelGenParam.zw;
68 | float KernelDistanceExp = FFTBloomKernelGenParam1.x;
69 | float KernelDistanceExpClampMin = FFTBloomKernelGenParam1.y;
70 | float KernelDistanceExpScale = FFTBloomKernelGenParam1.z;
71 | bool bUseLuminance = FFTBloomKernelGenParam1.w > 0.0f;
72 |
73 | // 用来缩放那些不是 hdr 格式的滤波盒
74 | float dis = (1.0 - length(i.uv - float2(0.5, 0.5)));
75 | float kernelScale = max(pow(dis, KernelDistanceExp) * KernelDistanceExpScale, KernelDistanceExpClampMin);
76 |
77 | float2 xy = i.uv * 2 - 1;
78 | xy /= scale;
79 | xy = xy * 0.5 + 0.5;
80 |
81 | float2 uv = xy - 0.5;
82 | uv.x = WrapUV(uv.x);
83 | uv.y = WrapUV(uv.y);
84 |
85 | //return float4(_MainTex.Sample(sampler_LinearRepeat, i.uv - 0.5).rgb, 0.0);
86 | if(bUseLuminance)
87 | {
88 | float lum = Luma(_MainTex.Sample(sampler_LinearClamp, xy).rgb);
89 | return float4(float3(lum, lum, lum) * kernelScale, 0.0);
90 | }
91 | return float4(_MainTex.Sample(sampler_LinearClamp, xy).rgb * kernelScale, 0.0);
92 | }
93 | ENDHLSL
94 | }
95 | }
96 | }
97 |
--------------------------------------------------------------------------------
/Assets/Shaders/KernelGenerate.shader.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 881c6fe5f3dcd8c4381c0fc1c7afee71
3 | ShaderImporter:
4 | externalObjects: {}
5 | defaultTextures: []
6 | nonModifiableTextures: []
7 | preprocessorOverride: 0
8 | userData:
9 | assetBundleName:
10 | assetBundleVariant:
11 |
--------------------------------------------------------------------------------
/Assets/Shaders/SourceGenerate.shader:
--------------------------------------------------------------------------------
1 | Shader "ConvolutionBloom/SourceGenerate"
2 | {
3 | Properties
4 | {
5 | _MainTex ("_MainTex", 2D) = "black" {}
6 | }
7 | SubShader
8 | {
9 | Cull Off ZWrite Off ZTest Always
10 |
11 | Pass
12 | {
13 | HLSLPROGRAM
14 | #pragma vertex vert
15 | #pragma fragment frag
16 |
17 | #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
18 |
19 | struct appdata
20 | {
21 | float4 vertex : POSITION;
22 | float2 uv : TEXCOORD0;
23 | };
24 |
25 | struct v2f
26 | {
27 | float2 uv : TEXCOORD0;
28 | float4 vertex : SV_POSITION;
29 | };
30 |
31 | v2f vert (appdata v)
32 | {
33 | v2f o;
34 | o.vertex = TransformObjectToHClip(v.vertex);
35 | o.uv = v.uv;
36 | return o;
37 | }
38 |
39 | SAMPLER(sampler_LinearClamp);
40 | Texture2D _MainTex;
41 | float FFTBloomThreshold;
42 |
43 | float Luma(float3 color)
44 | {
45 | return dot(color, float3(0.299f, 0.587f, 0.114f));
46 | }
47 |
48 | float4 frag (v2f i) : SV_Target
49 | {
50 | float2 uv = i.uv;
51 | uv.y = 1.0 - uv.y;
52 | float aspect = _ScreenParams.x / _ScreenParams.y;
53 | if(_ScreenParams.x > _ScreenParams.y)
54 | {
55 | uv.y *= aspect;
56 | }
57 | else
58 | {
59 | uv.x /= aspect;
60 | }
61 | if(uv.y > 1.0) return float4(0, 0, 0, 0);
62 |
63 | #define USE_FILTER 1
64 | #if USE_FILTER
65 | float3 color = float3(0, 0, 0);
66 | float weight = 0.0;
67 | const float2 offsets[4] = {float2(-0.5, -0.5), float2(-0.5, +0.5), float2(+0.5, -0.5), float2(+0.5, +0.5)};
68 | for(int i=0; i<4; i++)
69 | {
70 | float2 offset = 2.0 * offsets[i] / _ScreenParams.xy;
71 | float3 c = _MainTex.Sample(sampler_LinearClamp, uv + offset).rgb;
72 | float lu = Luma(c);
73 | float w = 1.0 / (1.0 + lu);
74 | color += c * w;
75 | weight += w;
76 | }
77 | color /= weight;
78 | #else
79 | float3 color = _MainTex.Sample(sampler_LinearClamp, uv).rgb;
80 | #endif // USE_FILTER
81 |
82 | float luma = Luma(color);
83 | float scale = saturate(luma - FFTBloomThreshold);
84 | float3 finalColor = color * scale;
85 | return float4(finalColor, 0.0);
86 | }
87 | ENDHLSL
88 | }
89 | }
90 | }
91 |
--------------------------------------------------------------------------------
/Assets/Shaders/SourceGenerate.shader.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1a23996ec3bc69447b2860a6d2d591d1
3 | ShaderImporter:
4 | externalObjects: {}
5 | defaultTextures: []
6 | nonModifiableTextures: []
7 | preprocessorOverride: 0
8 | userData:
9 | assetBundleName:
10 | assetBundleVariant:
11 |
--------------------------------------------------------------------------------
/Assets/Textures.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f696197356f5ccc4bb55df98dfed2ef1
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Textures/DefaultBloomKernel.HDR:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AKGWSB/FFTConvolutionBloom/3be9c3c19d58437295d633e2f4f341866e083779/Assets/Textures/DefaultBloomKernel.HDR
--------------------------------------------------------------------------------
/Assets/Textures/DefaultBloomKernel.HDR.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: db0e1f70ad96a474598e0f2748ac048f
3 | TextureImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 11
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 1
10 | sRGBTexture: 0
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | vTOnly: 0
27 | ignoreMasterTextureLimit: 0
28 | grayScaleToAlpha: 0
29 | generateCubemap: 6
30 | cubemapConvolution: 0
31 | seamlessCubemap: 0
32 | textureFormat: 1
33 | maxTextureSize: 2048
34 | textureSettings:
35 | serializedVersion: 2
36 | filterMode: 1
37 | aniso: 1
38 | mipBias: 0
39 | wrapU: 0
40 | wrapV: 0
41 | wrapW: 0
42 | nPOTScale: 1
43 | lightmap: 0
44 | compressionQuality: 50
45 | spriteMode: 0
46 | spriteExtrude: 1
47 | spriteMeshType: 1
48 | alignment: 0
49 | spritePivot: {x: 0.5, y: 0.5}
50 | spritePixelsToUnits: 100
51 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
52 | spriteGenerateFallbackPhysicsShape: 1
53 | alphaUsage: 1
54 | alphaIsTransparency: 0
55 | spriteTessellationDetail: -1
56 | textureType: 0
57 | textureShape: 1
58 | singleChannelComponent: 0
59 | flipbookRows: 1
60 | flipbookColumns: 1
61 | maxTextureSizeSet: 0
62 | compressionQualitySet: 0
63 | textureFormatSet: 0
64 | ignorePngGamma: 0
65 | applyGammaDecoding: 0
66 | platformSettings:
67 | - serializedVersion: 3
68 | buildTarget: DefaultTexturePlatform
69 | maxTextureSize: 2048
70 | resizeAlgorithm: 0
71 | textureFormat: -1
72 | textureCompression: 1
73 | compressionQuality: 50
74 | crunchedCompression: 0
75 | allowsAlphaSplitting: 0
76 | overridden: 0
77 | androidETC2FallbackOverride: 0
78 | forceMaximumCompressionQuality_BC6H_BC7: 0
79 | - serializedVersion: 3
80 | buildTarget: Standalone
81 | maxTextureSize: 2048
82 | resizeAlgorithm: 0
83 | textureFormat: -1
84 | textureCompression: 1
85 | compressionQuality: 50
86 | crunchedCompression: 0
87 | allowsAlphaSplitting: 0
88 | overridden: 0
89 | androidETC2FallbackOverride: 0
90 | forceMaximumCompressionQuality_BC6H_BC7: 0
91 | - serializedVersion: 3
92 | buildTarget: Server
93 | maxTextureSize: 2048
94 | resizeAlgorithm: 0
95 | textureFormat: -1
96 | textureCompression: 1
97 | compressionQuality: 50
98 | crunchedCompression: 0
99 | allowsAlphaSplitting: 0
100 | overridden: 0
101 | androidETC2FallbackOverride: 0
102 | forceMaximumCompressionQuality_BC6H_BC7: 0
103 | spriteSheet:
104 | serializedVersion: 2
105 | sprites: []
106 | outline: []
107 | physicsShape: []
108 | bones: []
109 | spriteID:
110 | internalID: 0
111 | vertices: []
112 | indices:
113 | edges: []
114 | weights: []
115 | secondaryTextures: []
116 | nameFileIdTable: {}
117 | spritePackingTag:
118 | pSDRemoveMatte: 0
119 | pSDShowRemoveMatteOption: 0
120 | userData:
121 | assetBundleName:
122 | assetBundleVariant:
123 |
--------------------------------------------------------------------------------
/Assets/Textures/dikhololo_night_1k.hdr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AKGWSB/FFTConvolutionBloom/3be9c3c19d58437295d633e2f4f341866e083779/Assets/Textures/dikhololo_night_1k.hdr
--------------------------------------------------------------------------------
/Assets/Textures/dikhololo_night_1k.hdr.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 80c5784ba4edb5f45a14defe7a9da9b9
3 | TextureImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 11
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 1
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | vTOnly: 0
27 | ignoreMasterTextureLimit: 0
28 | grayScaleToAlpha: 0
29 | generateCubemap: 6
30 | cubemapConvolution: 0
31 | seamlessCubemap: 0
32 | textureFormat: 1
33 | maxTextureSize: 2048
34 | textureSettings:
35 | serializedVersion: 2
36 | filterMode: 1
37 | aniso: 1
38 | mipBias: 0
39 | wrapU: 0
40 | wrapV: 0
41 | wrapW: 0
42 | nPOTScale: 1
43 | lightmap: 0
44 | compressionQuality: 50
45 | spriteMode: 0
46 | spriteExtrude: 1
47 | spriteMeshType: 1
48 | alignment: 0
49 | spritePivot: {x: 0.5, y: 0.5}
50 | spritePixelsToUnits: 100
51 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
52 | spriteGenerateFallbackPhysicsShape: 1
53 | alphaUsage: 1
54 | alphaIsTransparency: 0
55 | spriteTessellationDetail: -1
56 | textureType: 0
57 | textureShape: 2
58 | singleChannelComponent: 0
59 | flipbookRows: 1
60 | flipbookColumns: 1
61 | maxTextureSizeSet: 0
62 | compressionQualitySet: 0
63 | textureFormatSet: 0
64 | ignorePngGamma: 0
65 | applyGammaDecoding: 0
66 | platformSettings:
67 | - serializedVersion: 3
68 | buildTarget: DefaultTexturePlatform
69 | maxTextureSize: 2048
70 | resizeAlgorithm: 0
71 | textureFormat: -1
72 | textureCompression: 1
73 | compressionQuality: 50
74 | crunchedCompression: 0
75 | allowsAlphaSplitting: 0
76 | overridden: 0
77 | androidETC2FallbackOverride: 0
78 | forceMaximumCompressionQuality_BC6H_BC7: 0
79 | - serializedVersion: 3
80 | buildTarget: Standalone
81 | maxTextureSize: 2048
82 | resizeAlgorithm: 0
83 | textureFormat: -1
84 | textureCompression: 1
85 | compressionQuality: 50
86 | crunchedCompression: 0
87 | allowsAlphaSplitting: 0
88 | overridden: 0
89 | androidETC2FallbackOverride: 0
90 | forceMaximumCompressionQuality_BC6H_BC7: 0
91 | - serializedVersion: 3
92 | buildTarget: Server
93 | maxTextureSize: 2048
94 | resizeAlgorithm: 0
95 | textureFormat: -1
96 | textureCompression: 1
97 | compressionQuality: 50
98 | crunchedCompression: 0
99 | allowsAlphaSplitting: 0
100 | overridden: 0
101 | androidETC2FallbackOverride: 0
102 | forceMaximumCompressionQuality_BC6H_BC7: 0
103 | spriteSheet:
104 | serializedVersion: 2
105 | sprites: []
106 | outline: []
107 | physicsShape: []
108 | bones: []
109 | spriteID:
110 | internalID: 0
111 | vertices: []
112 | indices:
113 | edges: []
114 | weights: []
115 | secondaryTextures: []
116 | nameFileIdTable: {}
117 | spritePackingTag:
118 | pSDRemoveMatte: 0
119 | pSDShowRemoveMatteOption: 0
120 | userData:
121 | assetBundleName:
122 | assetBundleVariant:
123 |
--------------------------------------------------------------------------------
/Assets/Textures/kernel1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AKGWSB/FFTConvolutionBloom/3be9c3c19d58437295d633e2f4f341866e083779/Assets/Textures/kernel1.png
--------------------------------------------------------------------------------
/Assets/Textures/kernel1.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5da78430cac78b9489ff7587315ff43e
3 | TextureImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 11
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 1
10 | sRGBTexture: 0
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | vTOnly: 0
27 | ignoreMasterTextureLimit: 0
28 | grayScaleToAlpha: 0
29 | generateCubemap: 6
30 | cubemapConvolution: 0
31 | seamlessCubemap: 0
32 | textureFormat: 1
33 | maxTextureSize: 2048
34 | textureSettings:
35 | serializedVersion: 2
36 | filterMode: 1
37 | aniso: 1
38 | mipBias: 0
39 | wrapU: 0
40 | wrapV: 0
41 | wrapW: 0
42 | nPOTScale: 1
43 | lightmap: 0
44 | compressionQuality: 50
45 | spriteMode: 0
46 | spriteExtrude: 1
47 | spriteMeshType: 1
48 | alignment: 0
49 | spritePivot: {x: 0.5, y: 0.5}
50 | spritePixelsToUnits: 100
51 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
52 | spriteGenerateFallbackPhysicsShape: 1
53 | alphaUsage: 1
54 | alphaIsTransparency: 0
55 | spriteTessellationDetail: -1
56 | textureType: 0
57 | textureShape: 1
58 | singleChannelComponent: 0
59 | flipbookRows: 1
60 | flipbookColumns: 1
61 | maxTextureSizeSet: 0
62 | compressionQualitySet: 0
63 | textureFormatSet: 0
64 | ignorePngGamma: 0
65 | applyGammaDecoding: 0
66 | platformSettings:
67 | - serializedVersion: 3
68 | buildTarget: DefaultTexturePlatform
69 | maxTextureSize: 2048
70 | resizeAlgorithm: 0
71 | textureFormat: -1
72 | textureCompression: 1
73 | compressionQuality: 50
74 | crunchedCompression: 0
75 | allowsAlphaSplitting: 0
76 | overridden: 0
77 | androidETC2FallbackOverride: 0
78 | forceMaximumCompressionQuality_BC6H_BC7: 0
79 | - serializedVersion: 3
80 | buildTarget: Standalone
81 | maxTextureSize: 2048
82 | resizeAlgorithm: 0
83 | textureFormat: -1
84 | textureCompression: 1
85 | compressionQuality: 50
86 | crunchedCompression: 0
87 | allowsAlphaSplitting: 0
88 | overridden: 0
89 | androidETC2FallbackOverride: 0
90 | forceMaximumCompressionQuality_BC6H_BC7: 0
91 | - serializedVersion: 3
92 | buildTarget: Server
93 | maxTextureSize: 2048
94 | resizeAlgorithm: 0
95 | textureFormat: -1
96 | textureCompression: 1
97 | compressionQuality: 50
98 | crunchedCompression: 0
99 | allowsAlphaSplitting: 0
100 | overridden: 0
101 | androidETC2FallbackOverride: 0
102 | forceMaximumCompressionQuality_BC6H_BC7: 0
103 | spriteSheet:
104 | serializedVersion: 2
105 | sprites: []
106 | outline: []
107 | physicsShape: []
108 | bones: []
109 | spriteID:
110 | internalID: 0
111 | vertices: []
112 | indices:
113 | edges: []
114 | weights: []
115 | secondaryTextures: []
116 | nameFileIdTable: {}
117 | spritePackingTag:
118 | pSDRemoveMatte: 0
119 | pSDShowRemoveMatteOption: 0
120 | userData:
121 | assetBundleName:
122 | assetBundleVariant:
123 |
--------------------------------------------------------------------------------
/Assets/Textures/kernel2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AKGWSB/FFTConvolutionBloom/3be9c3c19d58437295d633e2f4f341866e083779/Assets/Textures/kernel2.png
--------------------------------------------------------------------------------
/Assets/Textures/kernel2.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: dddfadcafba8ed64bb89044ece12201e
3 | TextureImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 11
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 1
10 | sRGBTexture: 0
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | vTOnly: 0
27 | ignoreMasterTextureLimit: 0
28 | grayScaleToAlpha: 0
29 | generateCubemap: 6
30 | cubemapConvolution: 0
31 | seamlessCubemap: 0
32 | textureFormat: 1
33 | maxTextureSize: 2048
34 | textureSettings:
35 | serializedVersion: 2
36 | filterMode: 1
37 | aniso: 1
38 | mipBias: 0
39 | wrapU: 0
40 | wrapV: 0
41 | wrapW: 0
42 | nPOTScale: 1
43 | lightmap: 0
44 | compressionQuality: 50
45 | spriteMode: 0
46 | spriteExtrude: 1
47 | spriteMeshType: 1
48 | alignment: 0
49 | spritePivot: {x: 0.5, y: 0.5}
50 | spritePixelsToUnits: 100
51 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
52 | spriteGenerateFallbackPhysicsShape: 1
53 | alphaUsage: 1
54 | alphaIsTransparency: 0
55 | spriteTessellationDetail: -1
56 | textureType: 0
57 | textureShape: 1
58 | singleChannelComponent: 0
59 | flipbookRows: 1
60 | flipbookColumns: 1
61 | maxTextureSizeSet: 0
62 | compressionQualitySet: 0
63 | textureFormatSet: 0
64 | ignorePngGamma: 0
65 | applyGammaDecoding: 0
66 | platformSettings:
67 | - serializedVersion: 3
68 | buildTarget: DefaultTexturePlatform
69 | maxTextureSize: 2048
70 | resizeAlgorithm: 0
71 | textureFormat: -1
72 | textureCompression: 1
73 | compressionQuality: 50
74 | crunchedCompression: 0
75 | allowsAlphaSplitting: 0
76 | overridden: 0
77 | androidETC2FallbackOverride: 0
78 | forceMaximumCompressionQuality_BC6H_BC7: 0
79 | - serializedVersion: 3
80 | buildTarget: Standalone
81 | maxTextureSize: 2048
82 | resizeAlgorithm: 0
83 | textureFormat: -1
84 | textureCompression: 1
85 | compressionQuality: 50
86 | crunchedCompression: 0
87 | allowsAlphaSplitting: 0
88 | overridden: 0
89 | androidETC2FallbackOverride: 0
90 | forceMaximumCompressionQuality_BC6H_BC7: 0
91 | - serializedVersion: 3
92 | buildTarget: Server
93 | maxTextureSize: 2048
94 | resizeAlgorithm: 0
95 | textureFormat: -1
96 | textureCompression: 1
97 | compressionQuality: 50
98 | crunchedCompression: 0
99 | allowsAlphaSplitting: 0
100 | overridden: 0
101 | androidETC2FallbackOverride: 0
102 | forceMaximumCompressionQuality_BC6H_BC7: 0
103 | spriteSheet:
104 | serializedVersion: 2
105 | sprites: []
106 | outline: []
107 | physicsShape: []
108 | bones: []
109 | spriteID:
110 | internalID: 0
111 | vertices: []
112 | indices:
113 | edges: []
114 | weights: []
115 | secondaryTextures: []
116 | nameFileIdTable: {}
117 | spritePackingTag:
118 | pSDRemoveMatte: 0
119 | pSDShowRemoveMatteOption: 0
120 | userData:
121 | assetBundleName:
122 | assetBundleVariant:
123 |
--------------------------------------------------------------------------------
/Assets/UniversalRenderPipelineGlobalSettings.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: 2ec995e51a6e251468d2a3fd8a686257, type: 3}
13 | m_Name: UniversalRenderPipelineGlobalSettings
14 | m_EditorClassIdentifier:
15 | k_AssetVersion: 2
16 | lightLayerName0: Light Layer default
17 | lightLayerName1: Light Layer 1
18 | lightLayerName2: Light Layer 2
19 | lightLayerName3: Light Layer 3
20 | lightLayerName4: Light Layer 4
21 | lightLayerName5: Light Layer 5
22 | lightLayerName6: Light Layer 6
23 | lightLayerName7: Light Layer 7
24 | m_StripDebugVariants: 1
25 | m_StripUnusedPostProcessingVariants: 1
26 | m_StripUnusedVariants: 1
27 | supportRuntimeDebugDisplay: 0
28 |
--------------------------------------------------------------------------------
/Assets/UniversalRenderPipelineGlobalSettings.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 18dc0cd2c080841dea60987a38ce93fa
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 11400000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/LICENSE.md:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) [year] [fullname]
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
--------------------------------------------------------------------------------
/Packages/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": {
3 | "com.unity.collab-proxy": "1.15.7",
4 | "com.unity.ide.rider": "3.0.12",
5 | "com.unity.ide.visualstudio": "2.0.14",
6 | "com.unity.ide.vscode": "1.2.4",
7 | "com.unity.render-pipelines.universal": "12.1.2",
8 | "com.unity.test-framework": "1.1.29",
9 | "com.unity.textmeshpro": "3.0.6",
10 | "com.unity.timeline": "1.6.3",
11 | "com.unity.ugui": "1.0.0",
12 | "com.unity.visualscripting": "1.7.6",
13 | "com.unity.modules.ai": "1.0.0",
14 | "com.unity.modules.androidjni": "1.0.0",
15 | "com.unity.modules.animation": "1.0.0",
16 | "com.unity.modules.assetbundle": "1.0.0",
17 | "com.unity.modules.audio": "1.0.0",
18 | "com.unity.modules.cloth": "1.0.0",
19 | "com.unity.modules.director": "1.0.0",
20 | "com.unity.modules.imageconversion": "1.0.0",
21 | "com.unity.modules.imgui": "1.0.0",
22 | "com.unity.modules.jsonserialize": "1.0.0",
23 | "com.unity.modules.particlesystem": "1.0.0",
24 | "com.unity.modules.physics": "1.0.0",
25 | "com.unity.modules.physics2d": "1.0.0",
26 | "com.unity.modules.screencapture": "1.0.0",
27 | "com.unity.modules.terrain": "1.0.0",
28 | "com.unity.modules.terrainphysics": "1.0.0",
29 | "com.unity.modules.tilemap": "1.0.0",
30 | "com.unity.modules.ui": "1.0.0",
31 | "com.unity.modules.uielements": "1.0.0",
32 | "com.unity.modules.umbra": "1.0.0",
33 | "com.unity.modules.unityanalytics": "1.0.0",
34 | "com.unity.modules.unitywebrequest": "1.0.0",
35 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0",
36 | "com.unity.modules.unitywebrequestaudio": "1.0.0",
37 | "com.unity.modules.unitywebrequesttexture": "1.0.0",
38 | "com.unity.modules.unitywebrequestwww": "1.0.0",
39 | "com.unity.modules.vehicles": "1.0.0",
40 | "com.unity.modules.video": "1.0.0",
41 | "com.unity.modules.vr": "1.0.0",
42 | "com.unity.modules.wind": "1.0.0",
43 | "com.unity.modules.xr": "1.0.0"
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/Packages/packages-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": {
3 | "com.unity.burst": {
4 | "version": "1.6.0",
5 | "depth": 1,
6 | "source": "registry",
7 | "dependencies": {
8 | "com.unity.mathematics": "1.2.1"
9 | },
10 | "url": "https://packages.unity.cn"
11 | },
12 | "com.unity.collab-proxy": {
13 | "version": "1.15.7",
14 | "depth": 0,
15 | "source": "registry",
16 | "dependencies": {
17 | "com.unity.nuget.newtonsoft-json": "2.0.0",
18 | "com.unity.services.core": "1.0.1"
19 | },
20 | "url": "https://packages.unity.cn"
21 | },
22 | "com.unity.ext.nunit": {
23 | "version": "1.0.6",
24 | "depth": 1,
25 | "source": "registry",
26 | "dependencies": {},
27 | "url": "https://packages.unity.cn"
28 | },
29 | "com.unity.ide.rider": {
30 | "version": "3.0.12",
31 | "depth": 0,
32 | "source": "registry",
33 | "dependencies": {
34 | "com.unity.ext.nunit": "1.0.6"
35 | },
36 | "url": "https://packages.unity.cn"
37 | },
38 | "com.unity.ide.visualstudio": {
39 | "version": "2.0.14",
40 | "depth": 0,
41 | "source": "registry",
42 | "dependencies": {
43 | "com.unity.test-framework": "1.1.9"
44 | },
45 | "url": "https://packages.unity.cn"
46 | },
47 | "com.unity.ide.vscode": {
48 | "version": "1.2.4",
49 | "depth": 0,
50 | "source": "registry",
51 | "dependencies": {},
52 | "url": "https://packages.unity.cn"
53 | },
54 | "com.unity.mathematics": {
55 | "version": "1.2.5",
56 | "depth": 1,
57 | "source": "registry",
58 | "dependencies": {},
59 | "url": "https://packages.unity.cn"
60 | },
61 | "com.unity.nuget.newtonsoft-json": {
62 | "version": "2.0.0",
63 | "depth": 1,
64 | "source": "registry",
65 | "dependencies": {},
66 | "url": "https://packages.unity.cn"
67 | },
68 | "com.unity.render-pipelines.core": {
69 | "version": "12.1.2",
70 | "depth": 1,
71 | "source": "builtin",
72 | "dependencies": {
73 | "com.unity.ugui": "1.0.0",
74 | "com.unity.modules.physics": "1.0.0",
75 | "com.unity.modules.jsonserialize": "1.0.0"
76 | }
77 | },
78 | "com.unity.render-pipelines.universal": {
79 | "version": "12.1.2",
80 | "depth": 0,
81 | "source": "builtin",
82 | "dependencies": {
83 | "com.unity.mathematics": "1.2.1",
84 | "com.unity.burst": "1.5.0",
85 | "com.unity.render-pipelines.core": "12.1.2",
86 | "com.unity.shadergraph": "12.1.2"
87 | }
88 | },
89 | "com.unity.searcher": {
90 | "version": "4.9.1",
91 | "depth": 2,
92 | "source": "registry",
93 | "dependencies": {},
94 | "url": "https://packages.unity.cn"
95 | },
96 | "com.unity.services.core": {
97 | "version": "1.0.1",
98 | "depth": 1,
99 | "source": "registry",
100 | "dependencies": {
101 | "com.unity.modules.unitywebrequest": "1.0.0"
102 | },
103 | "url": "https://packages.unity.cn"
104 | },
105 | "com.unity.shadergraph": {
106 | "version": "12.1.2",
107 | "depth": 1,
108 | "source": "builtin",
109 | "dependencies": {
110 | "com.unity.render-pipelines.core": "12.1.2",
111 | "com.unity.searcher": "4.9.1"
112 | }
113 | },
114 | "com.unity.test-framework": {
115 | "version": "1.1.29",
116 | "depth": 0,
117 | "source": "registry",
118 | "dependencies": {
119 | "com.unity.ext.nunit": "1.0.6",
120 | "com.unity.modules.imgui": "1.0.0",
121 | "com.unity.modules.jsonserialize": "1.0.0"
122 | },
123 | "url": "https://packages.unity.cn"
124 | },
125 | "com.unity.textmeshpro": {
126 | "version": "3.0.6",
127 | "depth": 0,
128 | "source": "registry",
129 | "dependencies": {
130 | "com.unity.ugui": "1.0.0"
131 | },
132 | "url": "https://packages.unity.cn"
133 | },
134 | "com.unity.timeline": {
135 | "version": "1.6.3",
136 | "depth": 0,
137 | "source": "registry",
138 | "dependencies": {
139 | "com.unity.modules.director": "1.0.0",
140 | "com.unity.modules.animation": "1.0.0",
141 | "com.unity.modules.audio": "1.0.0",
142 | "com.unity.modules.particlesystem": "1.0.0"
143 | },
144 | "url": "https://packages.unity.cn"
145 | },
146 | "com.unity.ugui": {
147 | "version": "1.0.0",
148 | "depth": 0,
149 | "source": "builtin",
150 | "dependencies": {
151 | "com.unity.modules.ui": "1.0.0",
152 | "com.unity.modules.imgui": "1.0.0"
153 | }
154 | },
155 | "com.unity.visualscripting": {
156 | "version": "1.7.6",
157 | "depth": 0,
158 | "source": "registry",
159 | "dependencies": {
160 | "com.unity.ugui": "1.0.0",
161 | "com.unity.modules.jsonserialize": "1.0.0"
162 | },
163 | "url": "https://packages.unity.cn"
164 | },
165 | "com.unity.modules.ai": {
166 | "version": "1.0.0",
167 | "depth": 0,
168 | "source": "builtin",
169 | "dependencies": {}
170 | },
171 | "com.unity.modules.androidjni": {
172 | "version": "1.0.0",
173 | "depth": 0,
174 | "source": "builtin",
175 | "dependencies": {}
176 | },
177 | "com.unity.modules.animation": {
178 | "version": "1.0.0",
179 | "depth": 0,
180 | "source": "builtin",
181 | "dependencies": {}
182 | },
183 | "com.unity.modules.assetbundle": {
184 | "version": "1.0.0",
185 | "depth": 0,
186 | "source": "builtin",
187 | "dependencies": {}
188 | },
189 | "com.unity.modules.audio": {
190 | "version": "1.0.0",
191 | "depth": 0,
192 | "source": "builtin",
193 | "dependencies": {}
194 | },
195 | "com.unity.modules.cloth": {
196 | "version": "1.0.0",
197 | "depth": 0,
198 | "source": "builtin",
199 | "dependencies": {
200 | "com.unity.modules.physics": "1.0.0"
201 | }
202 | },
203 | "com.unity.modules.director": {
204 | "version": "1.0.0",
205 | "depth": 0,
206 | "source": "builtin",
207 | "dependencies": {
208 | "com.unity.modules.audio": "1.0.0",
209 | "com.unity.modules.animation": "1.0.0"
210 | }
211 | },
212 | "com.unity.modules.imageconversion": {
213 | "version": "1.0.0",
214 | "depth": 0,
215 | "source": "builtin",
216 | "dependencies": {}
217 | },
218 | "com.unity.modules.imgui": {
219 | "version": "1.0.0",
220 | "depth": 0,
221 | "source": "builtin",
222 | "dependencies": {}
223 | },
224 | "com.unity.modules.jsonserialize": {
225 | "version": "1.0.0",
226 | "depth": 0,
227 | "source": "builtin",
228 | "dependencies": {}
229 | },
230 | "com.unity.modules.particlesystem": {
231 | "version": "1.0.0",
232 | "depth": 0,
233 | "source": "builtin",
234 | "dependencies": {}
235 | },
236 | "com.unity.modules.physics": {
237 | "version": "1.0.0",
238 | "depth": 0,
239 | "source": "builtin",
240 | "dependencies": {}
241 | },
242 | "com.unity.modules.physics2d": {
243 | "version": "1.0.0",
244 | "depth": 0,
245 | "source": "builtin",
246 | "dependencies": {}
247 | },
248 | "com.unity.modules.screencapture": {
249 | "version": "1.0.0",
250 | "depth": 0,
251 | "source": "builtin",
252 | "dependencies": {
253 | "com.unity.modules.imageconversion": "1.0.0"
254 | }
255 | },
256 | "com.unity.modules.subsystems": {
257 | "version": "1.0.0",
258 | "depth": 1,
259 | "source": "builtin",
260 | "dependencies": {
261 | "com.unity.modules.jsonserialize": "1.0.0"
262 | }
263 | },
264 | "com.unity.modules.terrain": {
265 | "version": "1.0.0",
266 | "depth": 0,
267 | "source": "builtin",
268 | "dependencies": {}
269 | },
270 | "com.unity.modules.terrainphysics": {
271 | "version": "1.0.0",
272 | "depth": 0,
273 | "source": "builtin",
274 | "dependencies": {
275 | "com.unity.modules.physics": "1.0.0",
276 | "com.unity.modules.terrain": "1.0.0"
277 | }
278 | },
279 | "com.unity.modules.tilemap": {
280 | "version": "1.0.0",
281 | "depth": 0,
282 | "source": "builtin",
283 | "dependencies": {
284 | "com.unity.modules.physics2d": "1.0.0"
285 | }
286 | },
287 | "com.unity.modules.ui": {
288 | "version": "1.0.0",
289 | "depth": 0,
290 | "source": "builtin",
291 | "dependencies": {}
292 | },
293 | "com.unity.modules.uielements": {
294 | "version": "1.0.0",
295 | "depth": 0,
296 | "source": "builtin",
297 | "dependencies": {
298 | "com.unity.modules.ui": "1.0.0",
299 | "com.unity.modules.imgui": "1.0.0",
300 | "com.unity.modules.jsonserialize": "1.0.0",
301 | "com.unity.modules.uielementsnative": "1.0.0"
302 | }
303 | },
304 | "com.unity.modules.uielementsnative": {
305 | "version": "1.0.0",
306 | "depth": 1,
307 | "source": "builtin",
308 | "dependencies": {
309 | "com.unity.modules.ui": "1.0.0",
310 | "com.unity.modules.imgui": "1.0.0",
311 | "com.unity.modules.jsonserialize": "1.0.0"
312 | }
313 | },
314 | "com.unity.modules.umbra": {
315 | "version": "1.0.0",
316 | "depth": 0,
317 | "source": "builtin",
318 | "dependencies": {}
319 | },
320 | "com.unity.modules.unityanalytics": {
321 | "version": "1.0.0",
322 | "depth": 0,
323 | "source": "builtin",
324 | "dependencies": {
325 | "com.unity.modules.unitywebrequest": "1.0.0",
326 | "com.unity.modules.jsonserialize": "1.0.0"
327 | }
328 | },
329 | "com.unity.modules.unitywebrequest": {
330 | "version": "1.0.0",
331 | "depth": 0,
332 | "source": "builtin",
333 | "dependencies": {}
334 | },
335 | "com.unity.modules.unitywebrequestassetbundle": {
336 | "version": "1.0.0",
337 | "depth": 0,
338 | "source": "builtin",
339 | "dependencies": {
340 | "com.unity.modules.assetbundle": "1.0.0",
341 | "com.unity.modules.unitywebrequest": "1.0.0"
342 | }
343 | },
344 | "com.unity.modules.unitywebrequestaudio": {
345 | "version": "1.0.0",
346 | "depth": 0,
347 | "source": "builtin",
348 | "dependencies": {
349 | "com.unity.modules.unitywebrequest": "1.0.0",
350 | "com.unity.modules.audio": "1.0.0"
351 | }
352 | },
353 | "com.unity.modules.unitywebrequesttexture": {
354 | "version": "1.0.0",
355 | "depth": 0,
356 | "source": "builtin",
357 | "dependencies": {
358 | "com.unity.modules.unitywebrequest": "1.0.0",
359 | "com.unity.modules.imageconversion": "1.0.0"
360 | }
361 | },
362 | "com.unity.modules.unitywebrequestwww": {
363 | "version": "1.0.0",
364 | "depth": 0,
365 | "source": "builtin",
366 | "dependencies": {
367 | "com.unity.modules.unitywebrequest": "1.0.0",
368 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0",
369 | "com.unity.modules.unitywebrequestaudio": "1.0.0",
370 | "com.unity.modules.audio": "1.0.0",
371 | "com.unity.modules.assetbundle": "1.0.0",
372 | "com.unity.modules.imageconversion": "1.0.0"
373 | }
374 | },
375 | "com.unity.modules.vehicles": {
376 | "version": "1.0.0",
377 | "depth": 0,
378 | "source": "builtin",
379 | "dependencies": {
380 | "com.unity.modules.physics": "1.0.0"
381 | }
382 | },
383 | "com.unity.modules.video": {
384 | "version": "1.0.0",
385 | "depth": 0,
386 | "source": "builtin",
387 | "dependencies": {
388 | "com.unity.modules.audio": "1.0.0",
389 | "com.unity.modules.ui": "1.0.0",
390 | "com.unity.modules.unitywebrequest": "1.0.0"
391 | }
392 | },
393 | "com.unity.modules.vr": {
394 | "version": "1.0.0",
395 | "depth": 0,
396 | "source": "builtin",
397 | "dependencies": {
398 | "com.unity.modules.jsonserialize": "1.0.0",
399 | "com.unity.modules.physics": "1.0.0",
400 | "com.unity.modules.xr": "1.0.0"
401 | }
402 | },
403 | "com.unity.modules.wind": {
404 | "version": "1.0.0",
405 | "depth": 0,
406 | "source": "builtin",
407 | "dependencies": {}
408 | },
409 | "com.unity.modules.xr": {
410 | "version": "1.0.0",
411 | "depth": 0,
412 | "source": "builtin",
413 | "dependencies": {
414 | "com.unity.modules.physics": "1.0.0",
415 | "com.unity.modules.jsonserialize": "1.0.0",
416 | "com.unity.modules.subsystems": "1.0.0"
417 | }
418 | }
419 | }
420 | }
421 |
--------------------------------------------------------------------------------
/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 | serializedVersion: 2
7 | m_Volume: 1
8 | Rolloff Scale: 1
9 | Doppler Factor: 1
10 | Default Speaker Mode: 2
11 | m_SampleRate: 0
12 | m_DSPBufferSize: 1024
13 | m_VirtualVoiceCount: 512
14 | m_RealVoiceCount: 32
15 | m_SpatializerPlugin:
16 | m_AmbisonicDecoderPlugin:
17 | m_DisableAudio: 0
18 | m_VirtualizeEffects: 1
19 | m_RequestedDSPBufferSize: 0
20 |
--------------------------------------------------------------------------------
/ProjectSettings/AutoStreamingSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1200 &1
4 | AutoStreamingSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | mSearchMode: 15
8 | mCustomSearchFile:
9 | mTextureSearchString:
10 | mMeshSearchString:
11 | mTextures: []
12 | mAudios: []
13 | mMeshes: []
14 | mScenes: []
15 | mConfigCCD:
16 | useCCD: 0
17 | cosKey:
18 | projectGuid:
19 | bucketUuid:
20 | bucketName:
21 | badgeName:
22 |
--------------------------------------------------------------------------------
/ProjectSettings/BurstAotSettings_StandaloneWindows.json:
--------------------------------------------------------------------------------
1 | {
2 | "MonoBehaviour": {
3 | "Version": 3,
4 | "EnableBurstCompilation": true,
5 | "EnableOptimisations": true,
6 | "EnableSafetyChecks": false,
7 | "EnableDebugInAllBuilds": false,
8 | "UsePlatformSDKLinker": false,
9 | "CpuMinTargetX32": 0,
10 | "CpuMaxTargetX32": 0,
11 | "CpuMinTargetX64": 0,
12 | "CpuMaxTargetX64": 0,
13 | "CpuTargetsX32": 6,
14 | "CpuTargetsX64": 72
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/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/CommonBurstAotSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "MonoBehaviour": {
3 | "Version": 3,
4 | "DisabledWarnings": ""
5 | }
6 | }
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: 13
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.1
18 | m_ClothInterCollisionStiffness: 0.2
19 | m_ContactsGeneration: 1
20 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
21 | m_AutoSimulation: 1
22 | m_AutoSyncTransforms: 0
23 | m_ReuseCollisionCallbacks: 0
24 | m_ClothInterCollisionSettingsToggle: 0
25 | m_ClothGravity: {x: 0, y: -9.81, z: 0}
26 | m_ContactPairsMode: 0
27 | m_BroadphaseType: 0
28 | m_WorldBounds:
29 | m_Center: {x: 0, y: 0, z: 0}
30 | m_Extent: {x: 250, y: 250, z: 250}
31 | m_WorldSubdivisions: 8
32 | m_FrictionType: 0
33 | m_EnableEnhancedDeterminism: 0
34 | m_EnableUnifiedHeightmaps: 1
35 | m_SolverType: 0
36 | m_DefaultMaxAngularSpeed: 50
37 |
--------------------------------------------------------------------------------
/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;asmdef;asmref;rsp
20 | m_ProjectGenerationRootNamespace:
21 | m_CollabEditorSettings:
22 | inProgressEnabled: 1
23 | m_EnableTextureStreamingInEditMode: 1
24 | m_EnableTextureStreamingInPlayMode: 1
25 | m_AsyncShaderCompilation: 1
26 | m_EnterPlayModeOptionsEnabled: 0
27 | m_EnterPlayModeOptions: 3
28 | m_ShowLightmapResolutionOverlay: 1
29 | m_UseLegacyProbeSampleCount: 0
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: 14
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_VideoShadersIncludeMode: 2
32 | m_AlwaysIncludedShaders:
33 | - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0}
34 | - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0}
35 | - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0}
36 | - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0}
37 | - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0}
38 | - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0}
39 | - {fileID: 10783, guid: 0000000000000000f000000000000000, type: 0}
40 | m_PreloadedShaders: []
41 | m_PreloadShadersBatchTimeLimit: -1
42 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000,
43 | type: 0}
44 | m_CustomRenderPipeline: {fileID: 11400000, guid: 7b7fd9122c28c4d15b667c7040e3b3fd,
45 | type: 2}
46 | m_TransparencySortMode: 0
47 | m_TransparencySortAxis: {x: 0, y: 0, z: 1}
48 | m_DefaultRenderingPath: 1
49 | m_DefaultMobileRenderingPath: 1
50 | m_TierSettings: []
51 | m_LightmapStripping: 0
52 | m_FogStripping: 0
53 | m_InstancingStripping: 0
54 | m_LightmapKeepPlain: 1
55 | m_LightmapKeepDirCombined: 1
56 | m_LightmapKeepDynamicPlain: 1
57 | m_LightmapKeepDynamicDirCombined: 1
58 | m_LightmapKeepShadowMask: 1
59 | m_LightmapKeepSubtractive: 1
60 | m_FogKeepLinear: 1
61 | m_FogKeepExp: 1
62 | m_FogKeepExp2: 1
63 | m_AlbedoSwatchInfos: []
64 | m_LightsUseLinearIntensity: 1
65 | m_LightsUseColorTemperature: 1
66 | m_DefaultRenderingLayerMask: 1
67 | m_LogWhenShaderIsCompiled: 0
68 | m_SRPDefaultSettings:
69 | UnityEngine.Rendering.Universal.UniversalRenderPipeline: {fileID: 11400000, guid: 18dc0cd2c080841dea60987a38ce93fa,
70 | type: 2}
71 |
--------------------------------------------------------------------------------
/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 | - serializedVersion: 3
297 | m_Name: Enable Debug Button 1
298 | descriptiveName:
299 | descriptiveNegativeName:
300 | negativeButton:
301 | positiveButton: left ctrl
302 | altNegativeButton:
303 | altPositiveButton: joystick button 8
304 | gravity: 0
305 | dead: 0
306 | sensitivity: 0
307 | snap: 0
308 | invert: 0
309 | type: 0
310 | axis: 0
311 | joyNum: 0
312 | - serializedVersion: 3
313 | m_Name: Enable Debug Button 2
314 | descriptiveName:
315 | descriptiveNegativeName:
316 | negativeButton:
317 | positiveButton: backspace
318 | altNegativeButton:
319 | altPositiveButton: joystick button 9
320 | gravity: 0
321 | dead: 0
322 | sensitivity: 0
323 | snap: 0
324 | invert: 0
325 | type: 0
326 | axis: 0
327 | joyNum: 0
328 | - serializedVersion: 3
329 | m_Name: Debug Reset
330 | descriptiveName:
331 | descriptiveNegativeName:
332 | negativeButton:
333 | positiveButton: left alt
334 | altNegativeButton:
335 | altPositiveButton: joystick button 1
336 | gravity: 0
337 | dead: 0
338 | sensitivity: 0
339 | snap: 0
340 | invert: 0
341 | type: 0
342 | axis: 0
343 | joyNum: 0
344 | - serializedVersion: 3
345 | m_Name: Debug Next
346 | descriptiveName:
347 | descriptiveNegativeName:
348 | negativeButton:
349 | positiveButton: page down
350 | altNegativeButton:
351 | altPositiveButton: joystick button 5
352 | gravity: 0
353 | dead: 0
354 | sensitivity: 0
355 | snap: 0
356 | invert: 0
357 | type: 0
358 | axis: 0
359 | joyNum: 0
360 | - serializedVersion: 3
361 | m_Name: Debug Previous
362 | descriptiveName:
363 | descriptiveNegativeName:
364 | negativeButton:
365 | positiveButton: page up
366 | altNegativeButton:
367 | altPositiveButton: joystick button 4
368 | gravity: 0
369 | dead: 0
370 | sensitivity: 0
371 | snap: 0
372 | invert: 0
373 | type: 0
374 | axis: 0
375 | joyNum: 0
376 | - serializedVersion: 3
377 | m_Name: Debug Validate
378 | descriptiveName:
379 | descriptiveNegativeName:
380 | negativeButton:
381 | positiveButton: return
382 | altNegativeButton:
383 | altPositiveButton: joystick button 0
384 | gravity: 0
385 | dead: 0
386 | sensitivity: 0
387 | snap: 0
388 | invert: 0
389 | type: 0
390 | axis: 0
391 | joyNum: 0
392 | - serializedVersion: 3
393 | m_Name: Debug Persistent
394 | descriptiveName:
395 | descriptiveNegativeName:
396 | negativeButton:
397 | positiveButton: right shift
398 | altNegativeButton:
399 | altPositiveButton: joystick button 2
400 | gravity: 0
401 | dead: 0
402 | sensitivity: 0
403 | snap: 0
404 | invert: 0
405 | type: 0
406 | axis: 0
407 | joyNum: 0
408 | - serializedVersion: 3
409 | m_Name: Debug Multiplier
410 | descriptiveName:
411 | descriptiveNegativeName:
412 | negativeButton:
413 | positiveButton: left shift
414 | altNegativeButton:
415 | altPositiveButton: joystick button 3
416 | gravity: 0
417 | dead: 0
418 | sensitivity: 0
419 | snap: 0
420 | invert: 0
421 | type: 0
422 | axis: 0
423 | joyNum: 0
424 | - serializedVersion: 3
425 | m_Name: Debug Horizontal
426 | descriptiveName:
427 | descriptiveNegativeName:
428 | negativeButton: left
429 | positiveButton: right
430 | altNegativeButton:
431 | altPositiveButton:
432 | gravity: 1000
433 | dead: 0.001
434 | sensitivity: 1000
435 | snap: 0
436 | invert: 0
437 | type: 0
438 | axis: 0
439 | joyNum: 0
440 | - serializedVersion: 3
441 | m_Name: Debug Vertical
442 | descriptiveName:
443 | descriptiveNegativeName:
444 | negativeButton: down
445 | positiveButton: up
446 | altNegativeButton:
447 | altPositiveButton:
448 | gravity: 1000
449 | dead: 0.001
450 | sensitivity: 1000
451 | snap: 0
452 | invert: 0
453 | type: 0
454 | axis: 0
455 | joyNum: 0
456 | - serializedVersion: 3
457 | m_Name: Debug Vertical
458 | descriptiveName:
459 | descriptiveNegativeName:
460 | negativeButton: down
461 | positiveButton: up
462 | altNegativeButton:
463 | altPositiveButton:
464 | gravity: 1000
465 | dead: 0.001
466 | sensitivity: 1000
467 | snap: 0
468 | invert: 0
469 | type: 2
470 | axis: 6
471 | joyNum: 0
472 | - serializedVersion: 3
473 | m_Name: Debug Horizontal
474 | descriptiveName:
475 | descriptiveNegativeName:
476 | negativeButton: left
477 | positiveButton: right
478 | altNegativeButton:
479 | altPositiveButton:
480 | gravity: 1000
481 | dead: 0.001
482 | sensitivity: 1000
483 | snap: 0
484 | invert: 0
485 | type: 2
486 | axis: 5
487 | joyNum: 0
488 |
--------------------------------------------------------------------------------
/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/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.cn
25 | m_Scopes: []
26 | m_IsDefault: 1
27 | m_Capabilities: 7
28 | m_UserSelectedRegistryName:
29 | m_UserAddingNewScopedRegistry: 0
30 | m_RegistryInfoDraft:
31 | m_Modified: 0
32 | m_ErrorMessage:
33 | m_UserModificationsInstanceId: -848
34 | m_OriginalInstanceId: -850
35 | m_LoadAssets: 0
36 |
--------------------------------------------------------------------------------
/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: 4
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_JobOptions:
23 | serializedVersion: 2
24 | useMultithreading: 0
25 | useConsistencySorting: 0
26 | m_InterpolationPosesPerJob: 100
27 | m_NewContactsPerJob: 30
28 | m_CollideContactsPerJob: 100
29 | m_ClearFlagsPerJob: 200
30 | m_ClearBodyForcesPerJob: 200
31 | m_SyncDiscreteFixturesPerJob: 50
32 | m_SyncContinuousFixturesPerJob: 50
33 | m_FindNearestContactsPerJob: 100
34 | m_UpdateTriggerContactsPerJob: 100
35 | m_IslandSolverCostThreshold: 100
36 | m_IslandSolverBodyCostScale: 1
37 | m_IslandSolverContactCostScale: 10
38 | m_IslandSolverJointCostScale: 10
39 | m_IslandSolverBodiesPerJob: 50
40 | m_IslandSolverContactsPerJob: 50
41 | m_AutoSimulation: 1
42 | m_QueriesHitTriggers: 1
43 | m_QueriesStartInColliders: 1
44 | m_CallbacksOnDisable: 1
45 | m_ReuseCollisionCallbacks: 0
46 | m_AutoSyncTransforms: 0
47 | m_AlwaysShowColliders: 0
48 | m_ShowColliderSleep: 1
49 | m_ShowColliderContacts: 0
50 | m_ShowColliderAABB: 0
51 | m_ContactArrowScale: 0.2
52 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412}
53 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432}
54 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745}
55 | m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804}
56 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
57 |
--------------------------------------------------------------------------------
/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 | serializedVersion: 2
7 | m_DefaultPresets: {}
8 |
--------------------------------------------------------------------------------
/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: 453ec8d50b5c83f4cb12df6c5698d989
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: FFTConvolutionBloom
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_ShowUnitySplashAds: 0
45 | m_AdsAndroidGameId:
46 | m_AdsIosGameId:
47 | m_ShowSplashAdsSlogan: 0
48 | m_SloganImage: {fileID: 0}
49 | m_SloganHeight: 150
50 | m_HolographicTrackingLossScreen: {fileID: 0}
51 | defaultScreenWidth: 1024
52 | defaultScreenHeight: 768
53 | defaultScreenWidthWeb: 960
54 | defaultScreenHeightWeb: 600
55 | m_StereoRenderingPath: 0
56 | m_ActiveColorSpace: 1
57 | m_MTRendering: 1
58 | mipStripping: 0
59 | numberOfMipsStripped: 0
60 | m_StackTraceTypes: 010000000100000001000000010000000100000001000000
61 | iosShowActivityIndicatorOnLoading: -1
62 | androidShowActivityIndicatorOnLoading: -1
63 | iosUseCustomAppBackgroundBehavior: 0
64 | iosAllowHTTPDownload: 1
65 | allowedAutorotateToPortrait: 1
66 | allowedAutorotateToPortraitUpsideDown: 1
67 | allowedAutorotateToLandscapeRight: 1
68 | allowedAutorotateToLandscapeLeft: 1
69 | useOSAutorotation: 1
70 | use32BitDisplayBuffer: 1
71 | preserveFramebufferAlpha: 0
72 | disableDepthAndStencilBuffers: 0
73 | androidStartInFullscreen: 1
74 | androidRenderOutsideSafeArea: 1
75 | androidUseSwappy: 0
76 | androidBlitType: 0
77 | androidResizableWindow: 0
78 | androidDefaultWindowWidth: 1920
79 | androidDefaultWindowHeight: 1080
80 | androidMinimumWindowWidth: 400
81 | androidMinimumWindowHeight: 300
82 | androidFullscreenMode: 1
83 | defaultIsNativeResolution: 1
84 | macRetinaSupport: 1
85 | runInBackground: 0
86 | captureSingleScreen: 0
87 | muteOtherAudioSources: 0
88 | Prepare IOS For Recording: 0
89 | Force IOS Speakers When Recording: 0
90 | deferSystemGesturesMode: 0
91 | hideHomeButton: 0
92 | submitAnalytics: 1
93 | usePlayerLog: 1
94 | autoStreaming: 0
95 | useAnimationStreaming: 0
96 | useFontStreaming: 0
97 | autoStreamingId:
98 | instantGameAppId:
99 | bakeCollisionMeshes: 0
100 | forceSingleInstance: 0
101 | useFlipModelSwapchain: 1
102 | resizableWindow: 0
103 | useMacAppStoreValidation: 0
104 | macAppStoreCategory: public.app-category.games
105 | gpuSkinning: 0
106 | xboxPIXTextureCapture: 0
107 | xboxEnableAvatar: 0
108 | xboxEnableKinect: 0
109 | xboxEnableKinectAutoTracking: 0
110 | xboxEnableFitness: 0
111 | visibleInBackground: 1
112 | allowFullscreenSwitch: 1
113 | fullscreenMode: 1
114 | xboxSpeechDB: 0
115 | xboxEnableHeadOrientation: 0
116 | xboxEnableGuest: 0
117 | xboxEnablePIXSampling: 0
118 | metalFramebufferOnly: 0
119 | xboxOneResolution: 0
120 | xboxOneSResolution: 0
121 | xboxOneXResolution: 3
122 | xboxOneMonoLoggingLevel: 0
123 | xboxOneLoggingLevel: 1
124 | xboxOneDisableEsram: 0
125 | xboxOneEnableTypeOptimization: 0
126 | xboxOnePresentImmediateThreshold: 0
127 | switchQueueCommandMemory: 1048576
128 | switchQueueControlMemory: 16384
129 | switchQueueComputeMemory: 262144
130 | switchNVNShaderPoolsGranularity: 33554432
131 | switchNVNDefaultPoolsGranularity: 16777216
132 | switchNVNOtherPoolsGranularity: 16777216
133 | switchNVNMaxPublicTextureIDCount: 0
134 | switchNVNMaxPublicSamplerIDCount: 0
135 | stadiaPresentMode: 0
136 | stadiaTargetFramerate: 0
137 | vulkanNumSwapchainBuffers: 3
138 | vulkanEnableSetSRGBWrite: 0
139 | vulkanEnablePreTransform: 0
140 | vulkanEnableLateAcquireNextImage: 0
141 | vulkanEnableCommandBufferRecycling: 1
142 | m_SupportedAspectRatios:
143 | 4:3: 1
144 | 5:4: 1
145 | 16:10: 1
146 | 16:9: 1
147 | Others: 1
148 | bundleVersion: 0.1.0
149 | preloadedAssets: []
150 | metroInputSource: 0
151 | wsaTransparentSwapchain: 0
152 | m_HolographicPauseOnTrackingLoss: 1
153 | xboxOneDisableKinectGpuReservation: 1
154 | xboxOneEnable7thCore: 1
155 | vrSettings:
156 | enable360StereoCapture: 0
157 | isWsaHolographicRemotingEnabled: 0
158 | enableFrameTimingStats: 0
159 | useHDRDisplay: 0
160 | D3DHDRBitDepth: 0
161 | m_ColorGamuts: 00000000
162 | targetPixelDensity: 30
163 | resolutionScalingMode: 0
164 | androidSupportedAspectRatio: 1
165 | androidMaxAspectRatio: 2.1
166 | applicationIdentifier:
167 | Standalone: com.UnityTechnologies.com.unity.template-starter-kit
168 | buildNumber:
169 | Standalone: 0
170 | iPhone: 0
171 | tvOS: 0
172 | overrideDefaultApplicationIdentifier: 1
173 | AndroidBundleVersionCode: 1
174 | AndroidMinSdkVersion: 22
175 | AndroidTargetSdkVersion: 0
176 | AndroidPreferredInstallLocation: 1
177 | aotOptions:
178 | stripEngineCode: 1
179 | iPhoneStrippingLevel: 0
180 | iPhoneScriptCallOptimization: 0
181 | ForceInternetPermission: 0
182 | ForceSDCardPermission: 0
183 | CreateWallpaper: 0
184 | APKExpansionFiles: 0
185 | keepLoadedShadersAlive: 0
186 | StripUnusedMeshComponents: 0
187 | VertexChannelCompressionMask: 4054
188 | iPhoneSdkVersion: 988
189 | iOSTargetOSVersionString: 11.0
190 | tvOSSdkVersion: 0
191 | tvOSRequireExtendedGameController: 0
192 | tvOSTargetOSVersionString: 11.0
193 | uIPrerenderedIcon: 0
194 | uIRequiresPersistentWiFi: 0
195 | uIRequiresFullScreen: 1
196 | uIStatusBarHidden: 1
197 | uIExitOnSuspend: 0
198 | uIStatusBarStyle: 0
199 | appleTVSplashScreen: {fileID: 0}
200 | appleTVSplashScreen2x: {fileID: 0}
201 | tvOSSmallIconLayers: []
202 | tvOSSmallIconLayers2x: []
203 | tvOSLargeIconLayers: []
204 | tvOSLargeIconLayers2x: []
205 | tvOSTopShelfImageLayers: []
206 | tvOSTopShelfImageLayers2x: []
207 | tvOSTopShelfImageWideLayers: []
208 | tvOSTopShelfImageWideLayers2x: []
209 | iOSLaunchScreenType: 0
210 | iOSLaunchScreenPortrait: {fileID: 0}
211 | iOSLaunchScreenLandscape: {fileID: 0}
212 | iOSLaunchScreenBackgroundColor:
213 | serializedVersion: 2
214 | rgba: 0
215 | iOSLaunchScreenFillPct: 100
216 | iOSLaunchScreenSize: 100
217 | iOSLaunchScreenCustomXibPath:
218 | iOSLaunchScreeniPadType: 0
219 | iOSLaunchScreeniPadImage: {fileID: 0}
220 | iOSLaunchScreeniPadBackgroundColor:
221 | serializedVersion: 2
222 | rgba: 0
223 | iOSLaunchScreeniPadFillPct: 100
224 | iOSLaunchScreeniPadSize: 100
225 | iOSLaunchScreeniPadCustomXibPath:
226 | iOSLaunchScreenCustomStoryboardPath:
227 | iOSLaunchScreeniPadCustomStoryboardPath:
228 | iOSDeviceRequirements: []
229 | iOSURLSchemes: []
230 | macOSURLSchemes: []
231 | iOSBackgroundModes: 0
232 | iOSMetalForceHardShadows: 0
233 | metalEditorSupport: 1
234 | metalAPIValidation: 1
235 | iOSRenderExtraFrameOnPause: 0
236 | iosCopyPluginsCodeInsteadOfSymlink: 0
237 | appleDeveloperTeamID:
238 | iOSManualSigningProvisioningProfileID:
239 | tvOSManualSigningProvisioningProfileID:
240 | iOSManualSigningProvisioningProfileType: 0
241 | tvOSManualSigningProvisioningProfileType: 0
242 | appleEnableAutomaticSigning: 0
243 | iOSRequireARKit: 0
244 | iOSAutomaticallyDetectAndAddCapabilities: 1
245 | appleEnableProMotion: 0
246 | shaderPrecisionModel: 0
247 | clonedFromGUID: 3c72c65a16f0acb438eed22b8b16c24a
248 | templatePackageId: com.unity.template.urp-blank@2.0.3
249 | templateDefaultScene: Assets/Scenes/SampleScene.unity
250 | useCustomMainManifest: 0
251 | useCustomLauncherManifest: 0
252 | useCustomMainGradleTemplate: 0
253 | useCustomLauncherGradleManifest: 0
254 | useCustomBaseGradleTemplate: 0
255 | useCustomGradlePropertiesTemplate: 0
256 | useCustomProguardFile: 0
257 | AndroidTargetArchitectures: 1
258 | AndroidTargetDevices: 0
259 | AndroidSplashScreenScale: 0
260 | androidSplashScreen: {fileID: 0}
261 | AndroidKeystoreName:
262 | AndroidKeyaliasName:
263 | AndroidBuildApkPerCpuArchitecture: 0
264 | AndroidTVCompatibility: 0
265 | AndroidIsGame: 1
266 | AndroidEnableTango: 0
267 | androidEnableBanner: 1
268 | androidUseLowAccuracyLocation: 0
269 | androidUseCustomKeystore: 0
270 | m_AndroidBanners:
271 | - width: 320
272 | height: 180
273 | banner: {fileID: 0}
274 | androidGamepadSupportLevel: 0
275 | chromeosInputEmulation: 1
276 | AndroidMinifyWithR8: 0
277 | AndroidMinifyRelease: 0
278 | AndroidMinifyDebug: 0
279 | AndroidValidateAppBundleSize: 1
280 | AndroidAppBundleSizeToValidate: 150
281 | m_BuildTargetIcons: []
282 | m_BuildTargetPlatformIcons:
283 | - m_BuildTarget: iPhone
284 | m_Icons:
285 | - m_Textures: []
286 | m_Width: 180
287 | m_Height: 180
288 | m_Kind: 0
289 | m_SubKind: iPhone
290 | - m_Textures: []
291 | m_Width: 120
292 | m_Height: 120
293 | m_Kind: 0
294 | m_SubKind: iPhone
295 | - m_Textures: []
296 | m_Width: 167
297 | m_Height: 167
298 | m_Kind: 0
299 | m_SubKind: iPad
300 | - m_Textures: []
301 | m_Width: 152
302 | m_Height: 152
303 | m_Kind: 0
304 | m_SubKind: iPad
305 | - m_Textures: []
306 | m_Width: 76
307 | m_Height: 76
308 | m_Kind: 0
309 | m_SubKind: iPad
310 | - m_Textures: []
311 | m_Width: 120
312 | m_Height: 120
313 | m_Kind: 3
314 | m_SubKind: iPhone
315 | - m_Textures: []
316 | m_Width: 80
317 | m_Height: 80
318 | m_Kind: 3
319 | m_SubKind: iPhone
320 | - m_Textures: []
321 | m_Width: 80
322 | m_Height: 80
323 | m_Kind: 3
324 | m_SubKind: iPad
325 | - m_Textures: []
326 | m_Width: 40
327 | m_Height: 40
328 | m_Kind: 3
329 | m_SubKind: iPad
330 | - m_Textures: []
331 | m_Width: 87
332 | m_Height: 87
333 | m_Kind: 1
334 | m_SubKind: iPhone
335 | - m_Textures: []
336 | m_Width: 58
337 | m_Height: 58
338 | m_Kind: 1
339 | m_SubKind: iPhone
340 | - m_Textures: []
341 | m_Width: 29
342 | m_Height: 29
343 | m_Kind: 1
344 | m_SubKind: iPhone
345 | - m_Textures: []
346 | m_Width: 58
347 | m_Height: 58
348 | m_Kind: 1
349 | m_SubKind: iPad
350 | - m_Textures: []
351 | m_Width: 29
352 | m_Height: 29
353 | m_Kind: 1
354 | m_SubKind: iPad
355 | - m_Textures: []
356 | m_Width: 60
357 | m_Height: 60
358 | m_Kind: 2
359 | m_SubKind: iPhone
360 | - m_Textures: []
361 | m_Width: 40
362 | m_Height: 40
363 | m_Kind: 2
364 | m_SubKind: iPhone
365 | - m_Textures: []
366 | m_Width: 40
367 | m_Height: 40
368 | m_Kind: 2
369 | m_SubKind: iPad
370 | - m_Textures: []
371 | m_Width: 20
372 | m_Height: 20
373 | m_Kind: 2
374 | m_SubKind: iPad
375 | - m_Textures: []
376 | m_Width: 1024
377 | m_Height: 1024
378 | m_Kind: 4
379 | m_SubKind: App Store
380 | - m_BuildTarget: Android
381 | m_Icons:
382 | - m_Textures: []
383 | m_Width: 432
384 | m_Height: 432
385 | m_Kind: 2
386 | m_SubKind:
387 | - m_Textures: []
388 | m_Width: 324
389 | m_Height: 324
390 | m_Kind: 2
391 | m_SubKind:
392 | - m_Textures: []
393 | m_Width: 216
394 | m_Height: 216
395 | m_Kind: 2
396 | m_SubKind:
397 | - m_Textures: []
398 | m_Width: 162
399 | m_Height: 162
400 | m_Kind: 2
401 | m_SubKind:
402 | - m_Textures: []
403 | m_Width: 108
404 | m_Height: 108
405 | m_Kind: 2
406 | m_SubKind:
407 | - m_Textures: []
408 | m_Width: 81
409 | m_Height: 81
410 | m_Kind: 2
411 | m_SubKind:
412 | - m_Textures: []
413 | m_Width: 192
414 | m_Height: 192
415 | m_Kind: 1
416 | m_SubKind:
417 | - m_Textures: []
418 | m_Width: 144
419 | m_Height: 144
420 | m_Kind: 1
421 | m_SubKind:
422 | - m_Textures: []
423 | m_Width: 96
424 | m_Height: 96
425 | m_Kind: 1
426 | m_SubKind:
427 | - m_Textures: []
428 | m_Width: 72
429 | m_Height: 72
430 | m_Kind: 1
431 | m_SubKind:
432 | - m_Textures: []
433 | m_Width: 48
434 | m_Height: 48
435 | m_Kind: 1
436 | m_SubKind:
437 | - m_Textures: []
438 | m_Width: 36
439 | m_Height: 36
440 | m_Kind: 1
441 | m_SubKind:
442 | - m_Textures: []
443 | m_Width: 192
444 | m_Height: 192
445 | m_Kind: 0
446 | m_SubKind:
447 | - m_Textures: []
448 | m_Width: 144
449 | m_Height: 144
450 | m_Kind: 0
451 | m_SubKind:
452 | - m_Textures: []
453 | m_Width: 96
454 | m_Height: 96
455 | m_Kind: 0
456 | m_SubKind:
457 | - m_Textures: []
458 | m_Width: 72
459 | m_Height: 72
460 | m_Kind: 0
461 | m_SubKind:
462 | - m_Textures: []
463 | m_Width: 48
464 | m_Height: 48
465 | m_Kind: 0
466 | m_SubKind:
467 | - m_Textures: []
468 | m_Width: 36
469 | m_Height: 36
470 | m_Kind: 0
471 | m_SubKind:
472 | - m_BuildTarget: tvOS
473 | m_Icons:
474 | - m_Textures: []
475 | m_Width: 1280
476 | m_Height: 768
477 | m_Kind: 0
478 | m_SubKind:
479 | - m_Textures: []
480 | m_Width: 800
481 | m_Height: 480
482 | m_Kind: 0
483 | m_SubKind:
484 | - m_Textures: []
485 | m_Width: 400
486 | m_Height: 240
487 | m_Kind: 0
488 | m_SubKind:
489 | - m_Textures: []
490 | m_Width: 4640
491 | m_Height: 1440
492 | m_Kind: 1
493 | m_SubKind:
494 | - m_Textures: []
495 | m_Width: 2320
496 | m_Height: 720
497 | m_Kind: 1
498 | m_SubKind:
499 | - m_Textures: []
500 | m_Width: 3840
501 | m_Height: 1440
502 | m_Kind: 1
503 | m_SubKind:
504 | - m_Textures: []
505 | m_Width: 1920
506 | m_Height: 720
507 | m_Kind: 1
508 | m_SubKind:
509 | m_BuildTargetBatching: []
510 | m_BuildTargetGraphicsJobs: []
511 | m_BuildTargetGraphicsJobMode: []
512 | m_BuildTargetGraphicsAPIs:
513 | - m_BuildTarget: iOSSupport
514 | m_APIs: 10000000
515 | m_Automatic: 1
516 | - m_BuildTarget: AndroidPlayer
517 | m_APIs: 0b00000008000000
518 | m_Automatic: 0
519 | m_BuildTargetVRSettings: []
520 | openGLRequireES31: 0
521 | openGLRequireES31AEP: 0
522 | openGLRequireES32: 0
523 | m_TemplateCustomTags: {}
524 | mobileMTRendering:
525 | Android: 1
526 | iPhone: 1
527 | tvOS: 1
528 | m_BuildTargetGroupLightmapEncodingQuality: []
529 | m_BuildTargetGroupLightmapSettings: []
530 | m_BuildTargetNormalMapEncoding: []
531 | m_BuildTargetDefaultTextureCompressionFormat: []
532 | playModeTestRunnerEnabled: 0
533 | runPlayModeTestAsEditModeTest: 0
534 | actionOnDotNetUnhandledException: 1
535 | enableInternalProfiler: 0
536 | logObjCUncaughtExceptions: 1
537 | enableCrashReportAPI: 0
538 | cameraUsageDescription:
539 | locationUsageDescription:
540 | microphoneUsageDescription:
541 | bluetoothUsageDescription:
542 | switchNMETAOverride:
543 | switchNetLibKey:
544 | switchSocketMemoryPoolSize: 6144
545 | switchSocketAllocatorPoolSize: 128
546 | switchSocketConcurrencyLimit: 14
547 | switchScreenResolutionBehavior: 2
548 | switchUseCPUProfiler: 0
549 | switchUseGOLDLinker: 0
550 | switchLTOSetting: 0
551 | switchApplicationID: 0x01004b9000490000
552 | switchNSODependencies:
553 | switchTitleNames_0:
554 | switchTitleNames_1:
555 | switchTitleNames_2:
556 | switchTitleNames_3:
557 | switchTitleNames_4:
558 | switchTitleNames_5:
559 | switchTitleNames_6:
560 | switchTitleNames_7:
561 | switchTitleNames_8:
562 | switchTitleNames_9:
563 | switchTitleNames_10:
564 | switchTitleNames_11:
565 | switchTitleNames_12:
566 | switchTitleNames_13:
567 | switchTitleNames_14:
568 | switchTitleNames_15:
569 | switchPublisherNames_0:
570 | switchPublisherNames_1:
571 | switchPublisherNames_2:
572 | switchPublisherNames_3:
573 | switchPublisherNames_4:
574 | switchPublisherNames_5:
575 | switchPublisherNames_6:
576 | switchPublisherNames_7:
577 | switchPublisherNames_8:
578 | switchPublisherNames_9:
579 | switchPublisherNames_10:
580 | switchPublisherNames_11:
581 | switchPublisherNames_12:
582 | switchPublisherNames_13:
583 | switchPublisherNames_14:
584 | switchPublisherNames_15:
585 | switchIcons_0: {fileID: 0}
586 | switchIcons_1: {fileID: 0}
587 | switchIcons_2: {fileID: 0}
588 | switchIcons_3: {fileID: 0}
589 | switchIcons_4: {fileID: 0}
590 | switchIcons_5: {fileID: 0}
591 | switchIcons_6: {fileID: 0}
592 | switchIcons_7: {fileID: 0}
593 | switchIcons_8: {fileID: 0}
594 | switchIcons_9: {fileID: 0}
595 | switchIcons_10: {fileID: 0}
596 | switchIcons_11: {fileID: 0}
597 | switchIcons_12: {fileID: 0}
598 | switchIcons_13: {fileID: 0}
599 | switchIcons_14: {fileID: 0}
600 | switchIcons_15: {fileID: 0}
601 | switchSmallIcons_0: {fileID: 0}
602 | switchSmallIcons_1: {fileID: 0}
603 | switchSmallIcons_2: {fileID: 0}
604 | switchSmallIcons_3: {fileID: 0}
605 | switchSmallIcons_4: {fileID: 0}
606 | switchSmallIcons_5: {fileID: 0}
607 | switchSmallIcons_6: {fileID: 0}
608 | switchSmallIcons_7: {fileID: 0}
609 | switchSmallIcons_8: {fileID: 0}
610 | switchSmallIcons_9: {fileID: 0}
611 | switchSmallIcons_10: {fileID: 0}
612 | switchSmallIcons_11: {fileID: 0}
613 | switchSmallIcons_12: {fileID: 0}
614 | switchSmallIcons_13: {fileID: 0}
615 | switchSmallIcons_14: {fileID: 0}
616 | switchSmallIcons_15: {fileID: 0}
617 | switchManualHTML:
618 | switchAccessibleURLs:
619 | switchLegalInformation:
620 | switchMainThreadStackSize: 1048576
621 | switchPresenceGroupId:
622 | switchLogoHandling: 0
623 | switchReleaseVersion: 0
624 | switchDisplayVersion: 1.0.0
625 | switchStartupUserAccount: 0
626 | switchTouchScreenUsage: 0
627 | switchSupportedLanguagesMask: 0
628 | switchLogoType: 0
629 | switchApplicationErrorCodeCategory:
630 | switchUserAccountSaveDataSize: 0
631 | switchUserAccountSaveDataJournalSize: 0
632 | switchApplicationAttribute: 0
633 | switchCardSpecSize: -1
634 | switchCardSpecClock: -1
635 | switchRatingsMask: 0
636 | switchRatingsInt_0: 0
637 | switchRatingsInt_1: 0
638 | switchRatingsInt_2: 0
639 | switchRatingsInt_3: 0
640 | switchRatingsInt_4: 0
641 | switchRatingsInt_5: 0
642 | switchRatingsInt_6: 0
643 | switchRatingsInt_7: 0
644 | switchRatingsInt_8: 0
645 | switchRatingsInt_9: 0
646 | switchRatingsInt_10: 0
647 | switchRatingsInt_11: 0
648 | switchRatingsInt_12: 0
649 | switchLocalCommunicationIds_0:
650 | switchLocalCommunicationIds_1:
651 | switchLocalCommunicationIds_2:
652 | switchLocalCommunicationIds_3:
653 | switchLocalCommunicationIds_4:
654 | switchLocalCommunicationIds_5:
655 | switchLocalCommunicationIds_6:
656 | switchLocalCommunicationIds_7:
657 | switchParentalControl: 0
658 | switchAllowsScreenshot: 1
659 | switchAllowsVideoCapturing: 1
660 | switchAllowsRuntimeAddOnContentInstall: 0
661 | switchDataLossConfirmation: 0
662 | switchUserAccountLockEnabled: 0
663 | switchSystemResourceMemory: 16777216
664 | switchSupportedNpadStyles: 22
665 | switchNativeFsCacheSize: 32
666 | switchIsHoldTypeHorizontal: 0
667 | switchSupportedNpadCount: 8
668 | switchSocketConfigEnabled: 0
669 | switchTcpInitialSendBufferSize: 32
670 | switchTcpInitialReceiveBufferSize: 64
671 | switchTcpAutoSendBufferSizeMax: 256
672 | switchTcpAutoReceiveBufferSizeMax: 256
673 | switchUdpSendBufferSize: 9
674 | switchUdpReceiveBufferSize: 42
675 | switchSocketBufferEfficiency: 4
676 | switchSocketInitializeEnabled: 1
677 | switchNetworkInterfaceManagerInitializeEnabled: 1
678 | switchPlayerConnectionEnabled: 1
679 | switchUseNewStyleFilepaths: 0
680 | switchUseMicroSleepForYield: 1
681 | switchEnableRamDiskSupport: 0
682 | switchMicroSleepForYieldTime: 25
683 | switchRamDiskSpaceSize: 12
684 | ps4NPAgeRating: 12
685 | ps4NPTitleSecret:
686 | ps4NPTrophyPackPath:
687 | ps4ParentalLevel: 11
688 | ps4ContentID: ED1633-NPXX51362_00-0000000000000000
689 | ps4Category: 0
690 | ps4MasterVersion: 01.00
691 | ps4AppVersion: 01.00
692 | ps4AppType: 0
693 | ps4ParamSfxPath:
694 | ps4VideoOutPixelFormat: 0
695 | ps4VideoOutInitialWidth: 1920
696 | ps4VideoOutBaseModeInitialWidth: 1920
697 | ps4VideoOutReprojectionRate: 60
698 | ps4PronunciationXMLPath:
699 | ps4PronunciationSIGPath:
700 | ps4BackgroundImagePath:
701 | ps4StartupImagePath:
702 | ps4StartupImagesFolder:
703 | ps4IconImagesFolder:
704 | ps4SaveDataImagePath:
705 | ps4SdkOverride:
706 | ps4BGMPath:
707 | ps4ShareFilePath:
708 | ps4ShareOverlayImagePath:
709 | ps4PrivacyGuardImagePath:
710 | ps4ExtraSceSysFile:
711 | ps4NPtitleDatPath:
712 | ps4RemotePlayKeyAssignment: -1
713 | ps4RemotePlayKeyMappingDir:
714 | ps4PlayTogetherPlayerCount: 0
715 | ps4EnterButtonAssignment: 2
716 | ps4ApplicationParam1: 0
717 | ps4ApplicationParam2: 0
718 | ps4ApplicationParam3: 0
719 | ps4ApplicationParam4: 0
720 | ps4DownloadDataSize: 0
721 | ps4GarlicHeapSize: 2048
722 | ps4ProGarlicHeapSize: 2560
723 | playerPrefsMaxSize: 32768
724 | ps4Passcode: frAQBc8Wsa1xVPfvJcrgRYwTiizs2trQ
725 | ps4pnSessions: 1
726 | ps4pnPresence: 1
727 | ps4pnFriends: 1
728 | ps4pnGameCustomData: 1
729 | playerPrefsSupport: 0
730 | enableApplicationExit: 0
731 | resetTempFolder: 1
732 | restrictedAudioUsageRights: 0
733 | ps4UseResolutionFallback: 0
734 | ps4ReprojectionSupport: 0
735 | ps4UseAudio3dBackend: 0
736 | ps4UseLowGarlicFragmentationMode: 1
737 | ps4SocialScreenEnabled: 0
738 | ps4ScriptOptimizationLevel: 2
739 | ps4Audio3dVirtualSpeakerCount: 14
740 | ps4attribCpuUsage: 0
741 | ps4PatchPkgPath:
742 | ps4PatchLatestPkgPath:
743 | ps4PatchChangeinfoPath:
744 | ps4PatchDayOne: 0
745 | ps4attribUserManagement: 0
746 | ps4attribMoveSupport: 0
747 | ps4attrib3DSupport: 0
748 | ps4attribShareSupport: 0
749 | ps4attribExclusiveVR: 0
750 | ps4disableAutoHideSplash: 0
751 | ps4videoRecordingFeaturesUsed: 0
752 | ps4contentSearchFeaturesUsed: 0
753 | ps4CompatibilityPS5: 0
754 | ps4GPU800MHz: 1
755 | ps4attribEyeToEyeDistanceSettingVR: 0
756 | ps4IncludedModules: []
757 | ps4attribVROutputEnabled: 0
758 | monoEnv:
759 | splashScreenBackgroundSourceLandscape: {fileID: 0}
760 | splashScreenBackgroundSourcePortrait: {fileID: 0}
761 | blurSplashScreenBackground: 1
762 | spritePackerPolicy:
763 | webGLMemorySize: 32
764 | webGLExceptionSupport: 1
765 | webGLNameFilesAsHashes: 0
766 | webGLDataCaching: 1
767 | webGLDebugSymbols: 0
768 | webGLEmscriptenArgs:
769 | webGLModulesDirectory:
770 | webGLTemplate: APPLICATION:Default
771 | webGLAnalyzeBuildSize: 0
772 | webGLUseEmbeddedResources: 0
773 | webGLCompressionFormat: 0
774 | webGLWasmArithmeticExceptions: 0
775 | webGLLinkerTarget: 1
776 | webGLThreadsSupport: 0
777 | webGLDecompressionFallback: 0
778 | scriptingDefineSymbols: {}
779 | additionalCompilerArguments: {}
780 | platformArchitecture: {}
781 | scriptingBackend: {}
782 | il2cppCompilerConfiguration: {}
783 | managedStrippingLevel: {}
784 | incrementalIl2cppBuild: {}
785 | suppressCommonWarnings: 1
786 | allowUnsafeCode: 0
787 | useDeterministicCompilation: 1
788 | enableRoslynAnalyzers: 1
789 | additionalIl2CppArgs:
790 | scriptingRuntimeVersion: 1
791 | gcIncremental: 0
792 | assemblyVersionValidation: 1
793 | gcWBarrierValidation: 0
794 | apiCompatibilityLevelPerPlatform: {}
795 | m_RenderingPath: 1
796 | m_MobileRenderingPath: 1
797 | metroPackageName: com.unity.template-starter-kit
798 | metroPackageVersion:
799 | metroCertificatePath:
800 | metroCertificatePassword:
801 | metroCertificateSubject:
802 | metroCertificateIssuer:
803 | metroCertificateNotAfter: 0000000000000000
804 | metroApplicationDescription: com.unity.template-starter-kit
805 | wsaImages: {}
806 | metroTileShortName:
807 | metroTileShowName: 0
808 | metroMediumTileShowName: 0
809 | metroLargeTileShowName: 0
810 | metroWideTileShowName: 0
811 | metroSupportStreamingInstall: 0
812 | metroLastRequiredScene: 0
813 | metroDefaultTileSize: 1
814 | metroTileForegroundText: 2
815 | metroTileBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 0}
816 | metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902, b: 0.21568628,
817 | a: 1}
818 | metroSplashScreenUseBackgroundColor: 0
819 | platformCapabilities: {}
820 | metroTargetDeviceFamilies: {}
821 | metroFTAName:
822 | metroFTAFileTypes: []
823 | metroProtocolName:
824 | XboxOneProductId:
825 | XboxOneUpdateKey:
826 | XboxOneSandboxId:
827 | XboxOneContentId:
828 | XboxOneTitleId:
829 | XboxOneSCId:
830 | XboxOneGameOsOverridePath:
831 | XboxOnePackagingOverridePath:
832 | XboxOneAppManifestOverridePath:
833 | XboxOneVersion: 1.0.0.0
834 | XboxOnePackageEncryption: 0
835 | XboxOnePackageUpdateGranularity: 2
836 | XboxOneDescription:
837 | XboxOneLanguage:
838 | - enus
839 | XboxOneCapability: []
840 | XboxOneGameRating: {}
841 | XboxOneIsContentPackage: 0
842 | XboxOneEnhancedXboxCompatibilityMode: 0
843 | XboxOneEnableGPUVariability: 1
844 | XboxOneSockets: {}
845 | XboxOneSplashScreen: {fileID: 0}
846 | XboxOneAllowedProductIds: []
847 | XboxOnePersistentLocalStorageSize: 0
848 | XboxOneXTitleMemory: 8
849 | XboxOneOverrideIdentityName:
850 | XboxOneOverrideIdentityPublisher:
851 | vrEditorSettings: {}
852 | cloudServicesEnabled: {}
853 | luminIcon:
854 | m_Name:
855 | m_ModelFolderPath:
856 | m_PortalFolderPath:
857 | luminCert:
858 | m_CertPath:
859 | m_SignPackage: 1
860 | luminIsChannelApp: 0
861 | luminVersion:
862 | m_VersionCode: 1
863 | m_VersionName:
864 | apiCompatibilityLevel: 6
865 | activeInputHandler: 0
866 | cloudProjectId:
867 | framebufferDepthMemorylessMode: 0
868 | qualitySettingsNames: []
869 | projectName:
870 | organizationId:
871 | cloudEnabled: 0
872 | legacyClampBlendShapeWeights: 0
873 | playerDataPath:
874 | forceSRGBBlit: 1
875 | virtualTexturingSupportEnabled: 0
876 |
--------------------------------------------------------------------------------
/ProjectSettings/ProjectVersion.txt:
--------------------------------------------------------------------------------
1 | m_EditorVersion: 2021.2.7f1c1
2 | m_EditorVersionWithRevision: 2021.2.7f1c1 (f334abb85d22)
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: 2
8 | m_QualitySettings:
9 | - serializedVersion: 2
10 | name: Performant
11 | pixelLightCount: 0
12 | shadows: 0
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: 0
24 | antiAliasing: 0
25 | softParticles: 0
26 | softVegetation: 0
27 | realtimeReflectionProbes: 0
28 | billboardsFaceCameraPosition: 0
29 | vSyncCount: 0
30 | lodBias: 0.4
31 | maximumLODLevel: 0
32 | streamingMipmapsActive: 0
33 | streamingMipmapsAddAllCameras: 1
34 | streamingMipmapsMemoryBudget: 512
35 | streamingMipmapsRenderersPerFrame: 512
36 | streamingMipmapsMaxLevelReduction: 2
37 | streamingMipmapsMaxFileIORequests: 1024
38 | particleRaycastBudget: 4
39 | asyncUploadTimeSlice: 2
40 | asyncUploadBufferSize: 16
41 | asyncUploadPersistentBuffer: 1
42 | resolutionScalingFixedDPIFactor: 1
43 | customRenderPipeline: {fileID: 11400000, guid: d0e2fc18fe036412f8223b3b3d9ad574,
44 | type: 2}
45 | excludedTargetPlatforms: []
46 | - serializedVersion: 2
47 | name: Balanced
48 | pixelLightCount: 1
49 | shadows: 1
50 | shadowResolution: 0
51 | shadowProjection: 1
52 | shadowCascades: 1
53 | shadowDistance: 20
54 | shadowNearPlaneOffset: 3
55 | shadowCascade2Split: 0.33333334
56 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
57 | shadowmaskMode: 0
58 | skinWeights: 4
59 | textureQuality: 0
60 | anisotropicTextures: 1
61 | antiAliasing: 0
62 | softParticles: 0
63 | softVegetation: 0
64 | realtimeReflectionProbes: 0
65 | billboardsFaceCameraPosition: 0
66 | vSyncCount: 1
67 | lodBias: 1
68 | maximumLODLevel: 0
69 | streamingMipmapsActive: 0
70 | streamingMipmapsAddAllCameras: 1
71 | streamingMipmapsMemoryBudget: 512
72 | streamingMipmapsRenderersPerFrame: 512
73 | streamingMipmapsMaxLevelReduction: 2
74 | streamingMipmapsMaxFileIORequests: 1024
75 | particleRaycastBudget: 64
76 | asyncUploadTimeSlice: 2
77 | asyncUploadBufferSize: 16
78 | asyncUploadPersistentBuffer: 1
79 | resolutionScalingFixedDPIFactor: 1
80 | customRenderPipeline: {fileID: 11400000, guid: e1260c1148f6143b28bae5ace5e9c5d1,
81 | type: 2}
82 | excludedTargetPlatforms: []
83 | - serializedVersion: 2
84 | name: High Fidelity
85 | pixelLightCount: 2
86 | shadows: 2
87 | shadowResolution: 1
88 | shadowProjection: 1
89 | shadowCascades: 2
90 | shadowDistance: 40
91 | shadowNearPlaneOffset: 3
92 | shadowCascade2Split: 0.33333334
93 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
94 | shadowmaskMode: 1
95 | skinWeights: 255
96 | textureQuality: 0
97 | anisotropicTextures: 2
98 | antiAliasing: 4
99 | softParticles: 0
100 | softVegetation: 1
101 | realtimeReflectionProbes: 1
102 | billboardsFaceCameraPosition: 1
103 | vSyncCount: 1
104 | lodBias: 2
105 | maximumLODLevel: 0
106 | streamingMipmapsActive: 0
107 | streamingMipmapsAddAllCameras: 1
108 | streamingMipmapsMemoryBudget: 512
109 | streamingMipmapsRenderersPerFrame: 512
110 | streamingMipmapsMaxLevelReduction: 2
111 | streamingMipmapsMaxFileIORequests: 1024
112 | particleRaycastBudget: 2048
113 | asyncUploadTimeSlice: 2
114 | asyncUploadBufferSize: 16
115 | asyncUploadPersistentBuffer: 1
116 | resolutionScalingFixedDPIFactor: 1
117 | customRenderPipeline: {fileID: 11400000, guid: 7b7fd9122c28c4d15b667c7040e3b3fd,
118 | type: 2}
119 | excludedTargetPlatforms: []
120 | m_PerPlatformDefaultQuality:
121 | Android: 1
122 | CloudRendering: 2
123 | Lumin: 2
124 | GameCoreScarlett: 2
125 | GameCoreXboxOne: 2
126 | Nintendo Switch: 2
127 | PS4: 2
128 | PS5: 2
129 | Server: 0
130 | Stadia: 2
131 | Standalone: 2
132 | WebGL: 1
133 | Windows Store Apps: 2
134 | XboxOne: 2
135 | iPhone: 1
136 | tvOS: 1
137 |
--------------------------------------------------------------------------------
/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/ShaderGraphSettings.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: 11500000, guid: de02f9e1d18f588468e474319d09a723, type: 3}
13 | m_Name:
14 | m_EditorClassIdentifier:
15 | customInterpolatorErrorThreshold: 32
16 | customInterpolatorWarningThreshold: 16
17 |
--------------------------------------------------------------------------------
/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 | -
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.33333334
8 | m_TimeScale: 1
9 | Maximum Particle Timestep: 0.03
10 |
--------------------------------------------------------------------------------
/ProjectSettings/URPProjectSettings.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: 11500000, guid: 247994e1f5a72c2419c26a37e9334c01, type: 3}
13 | m_Name:
14 | m_EditorClassIdentifier:
15 | m_LastMaterialVersion: 5
16 |
--------------------------------------------------------------------------------
/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 | serializedVersion: 1
7 | m_Enabled: 0
8 | m_TestMode: 0
9 | m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events
10 | m_EventUrl: https://cdp.cloud.unity3d.com/v1/events
11 | m_ConfigUrl: https://config.uca.cloud.unity3d.com
12 | m_DashboardUrl: https://dashboard.unity3d.com
13 | m_CNEventUrl: https://cdp.cloud.unity.cn/v1/events
14 | m_CNConfigUrl: https://cdp.cloud.unity.cn/config
15 | m_TestInitMode: 0
16 | CrashReportingSettings:
17 | m_EventUrl: https://perf-events.cloud.unity3d.com
18 | m_Enabled: 0
19 | m_LogBufferSize: 10
20 | m_CaptureEditorExceptions: 1
21 | UnityPurchasingSettings:
22 | m_Enabled: 0
23 | m_TestMode: 0
24 | UnityAnalyticsSettings:
25 | m_Enabled: 1
26 | m_TestMode: 0
27 | m_InitializeOnStartup: 1
28 | UnityAdsSettings:
29 | m_Enabled: 0
30 | m_InitializeOnStartup: 1
31 | m_TestMode: 0
32 | m_IosGameId:
33 | m_AndroidGameId:
34 | m_GameIds: {}
35 | m_GameId:
36 | PerformanceReportingSettings:
37 | m_Enabled: 0
38 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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/AKGWSB/FFTConvolutionBloom/3be9c3c19d58437295d633e2f4f341866e083779/ProjectSettings/boot.config
--------------------------------------------------------------------------------
/README.assets/image-20230305231749655.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AKGWSB/FFTConvolutionBloom/3be9c3c19d58437295d633e2f4f341866e083779/README.assets/image-20230305231749655.png
--------------------------------------------------------------------------------
/README.assets/image-20230305231818243.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AKGWSB/FFTConvolutionBloom/3be9c3c19d58437295d633e2f4f341866e083779/README.assets/image-20230305231818243.png
--------------------------------------------------------------------------------
/README.assets/image-20230305231946900.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AKGWSB/FFTConvolutionBloom/3be9c3c19d58437295d633e2f4f341866e083779/README.assets/image-20230305231946900.png
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # FFTConvolutionBloom
2 | Bloom using FFT to accelerate convolution, with Unity URP
3 |
4 | 
5 |
6 | 
7 |
8 | 
9 |
10 | # Reading Online
11 |
12 | https://zhuanlan.zhihu.com/p/611582936
13 |
14 | # Feature
15 |
16 | Two-for-one FFT
17 |
18 | Radix8 Cooley-Tukey FFT
19 |
--------------------------------------------------------------------------------
/UserSettings/EditorUserSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!162 &1
4 | EditorUserSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 4
7 | m_ConfigSettings:
8 | RecentlyUsedSceneGuid-0:
9 | value: 570600075d060c0b555d5a7a40740e4443154c7a7d2d73362f714536bab66d6a
10 | flags: 0
11 | RecentlyUsedSceneGuid-1:
12 | value: 055752055603515808590f7744760d444616497f7b2c77362c7a1e36b2e56d6f
13 | flags: 0
14 | RecentlyUsedSceneGuid-2:
15 | value: 05030205010c0a09095e5e7549770e4412161b79792b733575701e66b4e4376f
16 | flags: 0
17 | RecentlyUsedSceneGuid-3:
18 | value: 5500575503565b585c0c09714477094946154973292e24607c7d4a37bbb3313d
19 | flags: 0
20 | RecentlyUsedSceneGuid-4:
21 | value: 5a08575f5207595a0f5d59741173094444164f7d7d2a23317c7a4465bbe1646d
22 | flags: 0
23 | vcSharedLogLevel:
24 | value: 0d5e400f0650
25 | flags: 0
26 | m_VCAutomaticAdd: 1
27 | m_VCDebugCom: 0
28 | m_VCDebugCmd: 0
29 | m_VCDebugOut: 0
30 | m_SemanticMergeMode: 2
31 | m_DesiredImportWorkerCount: 4
32 | m_StandbyImportWorkerCount: 2
33 | m_IdleImportWorkerShutdownDelay: 60000
34 | m_VCShowFailedCheckout: 1
35 | m_VCOverwriteFailedCheckoutAssets: 1
36 | m_VCProjectOverlayIcons: 1
37 | m_VCHierarchyOverlayIcons: 1
38 | m_VCOtherOverlayIcons: 1
39 | m_VCAllowAsyncUpdate: 1
40 | m_ArtifactGarbageCollection: 1
41 |
--------------------------------------------------------------------------------
/UserSettings/Layouts/CurrentMaximizeLayout.dwlt:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &1
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 52
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: 1
12 | m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0}
13 | m_Name:
14 | m_EditorClassIdentifier:
15 | m_Children:
16 | - {fileID: 3}
17 | - {fileID: 13}
18 | m_Position:
19 | serializedVersion: 2
20 | x: 0
21 | y: 30
22 | width: 1707
23 | height: 926
24 | m_MinSize: {x: 300, y: 200}
25 | m_MaxSize: {x: 24288, y: 16192}
26 | vertical: 0
27 | controlID: -1
28 | --- !u!114 &2
29 | MonoBehaviour:
30 | m_ObjectHideFlags: 52
31 | m_CorrespondingSourceObject: {fileID: 0}
32 | m_PrefabInstance: {fileID: 0}
33 | m_PrefabAsset: {fileID: 0}
34 | m_GameObject: {fileID: 0}
35 | m_Enabled: 1
36 | m_EditorHideFlags: 1
37 | m_Script: {fileID: 12015, guid: 0000000000000000e000000000000000, type: 0}
38 | m_Name:
39 | m_EditorClassIdentifier:
40 | m_MinSize: {x: 200, y: 200}
41 | m_MaxSize: {x: 4000, y: 4000}
42 | m_TitleContent:
43 | m_Text: Game
44 | m_Image: {fileID: 4621777727084837110, guid: 0000000000000000d000000000000000,
45 | type: 0}
46 | m_Tooltip:
47 | m_Pos:
48 | serializedVersion: 2
49 | x: 322.6667
50 | y: 72.66667
51 | width: 980
52 | height: 519
53 | m_ViewDataDictionary: {fileID: 0}
54 | m_OverlayCanvas:
55 | m_LastAppliedPresetName: Default
56 | m_SaveData: []
57 | m_SerializedViewNames: []
58 | m_SerializedViewValues: []
59 | m_PlayModeViewName: GameView
60 | m_ShowGizmos: 0
61 | m_TargetDisplay: 0
62 | m_ClearColor: {r: 0, g: 0, b: 0, a: 0}
63 | m_TargetSize: {x: 980, y: 498}
64 | m_TextureFilterMode: 0
65 | m_TextureHideFlags: 61
66 | m_RenderIMGUI: 1
67 | m_EnterPlayModeBehavior: 0
68 | m_UseMipMap: 0
69 | m_VSyncEnabled: 0
70 | m_Gizmos: 0
71 | m_Stats: 0
72 | m_SelectedSizes: 00000000000000000000000000000000000000000000000000000000000000000000000000000000
73 | m_ZoomArea:
74 | m_HRangeLocked: 0
75 | m_VRangeLocked: 0
76 | hZoomLockedByDefault: 0
77 | vZoomLockedByDefault: 0
78 | m_HBaseRangeMin: -326.6667
79 | m_HBaseRangeMax: 326.6667
80 | m_VBaseRangeMin: -166
81 | m_VBaseRangeMax: 166
82 | m_HAllowExceedBaseRangeMin: 1
83 | m_HAllowExceedBaseRangeMax: 1
84 | m_VAllowExceedBaseRangeMin: 1
85 | m_VAllowExceedBaseRangeMax: 1
86 | m_ScaleWithWindow: 0
87 | m_HSlider: 0
88 | m_VSlider: 0
89 | m_IgnoreScrollWheelUntilClicked: 0
90 | m_EnableMouseInput: 1
91 | m_EnableSliderZoomHorizontal: 0
92 | m_EnableSliderZoomVertical: 0
93 | m_UniformScale: 1
94 | m_UpDirection: 1
95 | m_DrawArea:
96 | serializedVersion: 2
97 | x: 0
98 | y: 21
99 | width: 980
100 | height: 498
101 | m_Scale: {x: 1.4681407, y: 1.4681407}
102 | m_Translation: {x: 490, y: 248.99998}
103 | m_MarginLeft: 0
104 | m_MarginRight: 0
105 | m_MarginTop: 0
106 | m_MarginBottom: 0
107 | m_LastShownAreaInsideMargins:
108 | serializedVersion: 2
109 | x: -333.75546
110 | y: -169.60226
111 | width: 667.5109
112 | height: 339.20453
113 | m_MinimalGUI: 1
114 | m_defaultScale: 1
115 | m_LastWindowPixelSize: {x: 1470, y: 778.5}
116 | m_ClearInEditMode: 1
117 | m_NoCameraWarning: 1
118 | m_LowResolutionForAspectRatios: 01000000000000000000
119 | m_XRRenderMode: 0
120 | m_RenderTexture: {fileID: 0}
121 | --- !u!114 &3
122 | MonoBehaviour:
123 | m_ObjectHideFlags: 52
124 | m_CorrespondingSourceObject: {fileID: 0}
125 | m_PrefabInstance: {fileID: 0}
126 | m_PrefabAsset: {fileID: 0}
127 | m_GameObject: {fileID: 0}
128 | m_Enabled: 1
129 | m_EditorHideFlags: 1
130 | m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0}
131 | m_Name:
132 | m_EditorClassIdentifier:
133 | m_Children:
134 | - {fileID: 4}
135 | - {fileID: 9}
136 | m_Position:
137 | serializedVersion: 2
138 | x: 0
139 | y: 0
140 | width: 1304.6666
141 | height: 926
142 | m_MinSize: {x: 200, y: 200}
143 | m_MaxSize: {x: 16192, y: 16192}
144 | vertical: 1
145 | controlID: -1
146 | --- !u!114 &4
147 | MonoBehaviour:
148 | m_ObjectHideFlags: 52
149 | m_CorrespondingSourceObject: {fileID: 0}
150 | m_PrefabInstance: {fileID: 0}
151 | m_PrefabAsset: {fileID: 0}
152 | m_GameObject: {fileID: 0}
153 | m_Enabled: 1
154 | m_EditorHideFlags: 1
155 | m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0}
156 | m_Name:
157 | m_EditorClassIdentifier:
158 | m_Children:
159 | - {fileID: 5}
160 | - {fileID: 7}
161 | m_Position:
162 | serializedVersion: 2
163 | x: 0
164 | y: 0
165 | width: 1304.6666
166 | height: 540
167 | m_MinSize: {x: 200, y: 100}
168 | m_MaxSize: {x: 16192, y: 8096}
169 | vertical: 0
170 | controlID: -1
171 | --- !u!114 &5
172 | MonoBehaviour:
173 | m_ObjectHideFlags: 52
174 | m_CorrespondingSourceObject: {fileID: 0}
175 | m_PrefabInstance: {fileID: 0}
176 | m_PrefabAsset: {fileID: 0}
177 | m_GameObject: {fileID: 0}
178 | m_Enabled: 1
179 | m_EditorHideFlags: 1
180 | m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0}
181 | m_Name:
182 | m_EditorClassIdentifier:
183 | m_Children: []
184 | m_Position:
185 | serializedVersion: 2
186 | x: 0
187 | y: 0
188 | width: 322.66666
189 | height: 540
190 | m_MinSize: {x: 201, y: 221}
191 | m_MaxSize: {x: 4001, y: 4021}
192 | m_ActualView: {fileID: 6}
193 | m_Panes:
194 | - {fileID: 6}
195 | m_Selected: 0
196 | m_LastSelected: 0
197 | --- !u!114 &6
198 | MonoBehaviour:
199 | m_ObjectHideFlags: 52
200 | m_CorrespondingSourceObject: {fileID: 0}
201 | m_PrefabInstance: {fileID: 0}
202 | m_PrefabAsset: {fileID: 0}
203 | m_GameObject: {fileID: 0}
204 | m_Enabled: 1
205 | m_EditorHideFlags: 1
206 | m_Script: {fileID: 12061, guid: 0000000000000000e000000000000000, type: 0}
207 | m_Name:
208 | m_EditorClassIdentifier:
209 | m_MinSize: {x: 200, y: 200}
210 | m_MaxSize: {x: 4000, y: 4000}
211 | m_TitleContent:
212 | m_Text: Hierarchy
213 | m_Image: {fileID: -3734745235275155857, guid: 0000000000000000d000000000000000,
214 | type: 0}
215 | m_Tooltip:
216 | m_Pos:
217 | serializedVersion: 2
218 | x: 0
219 | y: 72.66667
220 | width: 321.66666
221 | height: 519
222 | m_ViewDataDictionary: {fileID: 0}
223 | m_OverlayCanvas:
224 | m_LastAppliedPresetName: Default
225 | m_SaveData: []
226 | m_SceneHierarchy:
227 | m_TreeViewState:
228 | scrollPos: {x: 0, y: 0}
229 | m_SelectedIDs: 042c0000
230 | m_LastClickedID: 0
231 | m_ExpandedIDs: 24fbffff
232 | m_RenameOverlay:
233 | m_UserAcceptedRename: 0
234 | m_Name:
235 | m_OriginalName:
236 | m_EditFieldRect:
237 | serializedVersion: 2
238 | x: 0
239 | y: 0
240 | width: 0
241 | height: 0
242 | m_UserData: 0
243 | m_IsWaitingForDelay: 0
244 | m_IsRenaming: 0
245 | m_OriginalEventType: 11
246 | m_IsRenamingFilename: 0
247 | m_ClientGUIView: {fileID: 5}
248 | m_SearchString:
249 | m_ExpandedScenes: []
250 | m_CurrenRootInstanceID: 0
251 | m_LockTracker:
252 | m_IsLocked: 0
253 | m_CurrentSortingName: TransformSorting
254 | m_WindowGUID: 4c969a2b90040154d917609493e03593
255 | --- !u!114 &7
256 | MonoBehaviour:
257 | m_ObjectHideFlags: 52
258 | m_CorrespondingSourceObject: {fileID: 0}
259 | m_PrefabInstance: {fileID: 0}
260 | m_PrefabAsset: {fileID: 0}
261 | m_GameObject: {fileID: 0}
262 | m_Enabled: 1
263 | m_EditorHideFlags: 1
264 | m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0}
265 | m_Name: GameView
266 | m_EditorClassIdentifier:
267 | m_Children: []
268 | m_Position:
269 | serializedVersion: 2
270 | x: 322.66666
271 | y: 0
272 | width: 982
273 | height: 540
274 | m_MinSize: {x: 202, y: 221}
275 | m_MaxSize: {x: 4002, y: 4021}
276 | m_ActualView: {fileID: 2}
277 | m_Panes:
278 | - {fileID: 8}
279 | - {fileID: 2}
280 | m_Selected: 1
281 | m_LastSelected: 0
282 | --- !u!114 &8
283 | MonoBehaviour:
284 | m_ObjectHideFlags: 52
285 | m_CorrespondingSourceObject: {fileID: 0}
286 | m_PrefabInstance: {fileID: 0}
287 | m_PrefabAsset: {fileID: 0}
288 | m_GameObject: {fileID: 0}
289 | m_Enabled: 1
290 | m_EditorHideFlags: 1
291 | m_Script: {fileID: 12013, guid: 0000000000000000e000000000000000, type: 0}
292 | m_Name:
293 | m_EditorClassIdentifier:
294 | m_MinSize: {x: 200, y: 200}
295 | m_MaxSize: {x: 4000, y: 4000}
296 | m_TitleContent:
297 | m_Text: Scene
298 | m_Image: {fileID: 8634526014445323508, guid: 0000000000000000d000000000000000,
299 | type: 0}
300 | m_Tooltip:
301 | m_Pos:
302 | serializedVersion: 2
303 | x: 322.6667
304 | y: 72.66667
305 | width: 980
306 | height: 519
307 | m_ViewDataDictionary: {fileID: 0}
308 | m_OverlayCanvas:
309 | m_LastAppliedPresetName: Default
310 | m_SaveData:
311 | - dockPosition: 0
312 | containerId: overlay-toolbar__top
313 | floating: 0
314 | collapsed: 0
315 | displayed: 1
316 | snapOffset: {x: 0, y: 0}
317 | snapOffsetDelta: {x: -98.66669, y: -26}
318 | snapCorner: 3
319 | id: Tool Settings
320 | index: 0
321 | layout: 1
322 | - dockPosition: 0
323 | containerId: overlay-toolbar__top
324 | floating: 0
325 | collapsed: 0
326 | displayed: 1
327 | snapOffset: {x: -141, y: 149}
328 | snapOffsetDelta: {x: 0, y: 0}
329 | snapCorner: 1
330 | id: unity-grid-and-snap-toolbar
331 | index: 1
332 | layout: 1
333 | - dockPosition: 1
334 | containerId: overlay-toolbar__top
335 | floating: 0
336 | collapsed: 0
337 | displayed: 1
338 | snapOffset: {x: 0, y: 0}
339 | snapOffsetDelta: {x: 0, y: 0}
340 | snapCorner: 0
341 | id: unity-scene-view-toolbar
342 | index: 0
343 | layout: 1
344 | - dockPosition: 1
345 | containerId: overlay-toolbar__top
346 | floating: 0
347 | collapsed: 0
348 | displayed: 0
349 | snapOffset: {x: 0, y: 0}
350 | snapOffsetDelta: {x: 0, y: 0}
351 | snapCorner: 1
352 | id: unity-search-toolbar
353 | index: 1
354 | layout: 1
355 | - dockPosition: 0
356 | containerId: overlay-container--left
357 | floating: 0
358 | collapsed: 0
359 | displayed: 1
360 | snapOffset: {x: 0, y: 0}
361 | snapOffsetDelta: {x: 0, y: 0}
362 | snapCorner: 0
363 | id: unity-transform-toolbar
364 | index: 0
365 | layout: 2
366 | - dockPosition: 0
367 | containerId: overlay-container--right
368 | floating: 0
369 | collapsed: 0
370 | displayed: 1
371 | snapOffset: {x: 67.5, y: 86}
372 | snapOffsetDelta: {x: 0, y: 0}
373 | snapCorner: 0
374 | id: Orientation
375 | index: 0
376 | layout: 4
377 | - dockPosition: 1
378 | containerId: overlay-container--right
379 | floating: 0
380 | collapsed: 0
381 | displayed: 0
382 | snapOffset: {x: 0, y: 0}
383 | snapOffsetDelta: {x: 0, y: 0}
384 | snapCorner: 0
385 | id: Scene View/Light Settings
386 | index: 0
387 | layout: 4
388 | - dockPosition: 1
389 | containerId: overlay-container--right
390 | floating: 0
391 | collapsed: 0
392 | displayed: 0
393 | snapOffset: {x: 0, y: 0}
394 | snapOffsetDelta: {x: 0, y: 0}
395 | snapCorner: 0
396 | id: Scene View/Camera
397 | index: 1
398 | layout: 4
399 | - dockPosition: 1
400 | containerId: overlay-container--right
401 | floating: 0
402 | collapsed: 0
403 | displayed: 0
404 | snapOffset: {x: 0, y: 0}
405 | snapOffsetDelta: {x: 0, y: 0}
406 | snapCorner: 0
407 | id: Scene View/Cloth Constraints
408 | index: 2
409 | layout: 4
410 | - dockPosition: 1
411 | containerId: overlay-container--right
412 | floating: 0
413 | collapsed: 0
414 | displayed: 0
415 | snapOffset: {x: 0, y: 0}
416 | snapOffsetDelta: {x: 0, y: 0}
417 | snapCorner: 0
418 | id: Scene View/Cloth Collisions
419 | index: 3
420 | layout: 4
421 | - dockPosition: 1
422 | containerId: overlay-container--right
423 | floating: 0
424 | collapsed: 0
425 | displayed: 0
426 | snapOffset: {x: 0, y: 0}
427 | snapOffsetDelta: {x: 0, y: 0}
428 | snapCorner: 0
429 | id: Scene View/Navmesh Display
430 | index: 4
431 | layout: 4
432 | - dockPosition: 1
433 | containerId: overlay-container--right
434 | floating: 0
435 | collapsed: 0
436 | displayed: 0
437 | snapOffset: {x: 0, y: 0}
438 | snapOffsetDelta: {x: 0, y: 0}
439 | snapCorner: 0
440 | id: Scene View/Agent Display
441 | index: 5
442 | layout: 4
443 | - dockPosition: 1
444 | containerId: overlay-container--right
445 | floating: 0
446 | collapsed: 0
447 | displayed: 0
448 | snapOffset: {x: 0, y: 0}
449 | snapOffsetDelta: {x: 0, y: 0}
450 | snapCorner: 0
451 | id: Scene View/Obstacle Display
452 | index: 6
453 | layout: 4
454 | - dockPosition: 1
455 | containerId: overlay-container--right
456 | floating: 0
457 | collapsed: 0
458 | displayed: 0
459 | snapOffset: {x: 0, y: 0}
460 | snapOffsetDelta: {x: 0, y: 0}
461 | snapCorner: 0
462 | id: Scene View/Occlusion Culling
463 | index: 7
464 | layout: 4
465 | - dockPosition: 1
466 | containerId: overlay-container--right
467 | floating: 0
468 | collapsed: 0
469 | displayed: 0
470 | snapOffset: {x: 0, y: 0}
471 | snapOffsetDelta: {x: 0, y: 0}
472 | snapCorner: 0
473 | id: Scene View/Physics Debugger
474 | index: 8
475 | layout: 4
476 | - dockPosition: 1
477 | containerId: overlay-container--right
478 | floating: 0
479 | collapsed: 0
480 | displayed: 0
481 | snapOffset: {x: 0, y: 0}
482 | snapOffsetDelta: {x: 0, y: 0}
483 | snapCorner: 0
484 | id: Scene View/Scene Visibility
485 | index: 9
486 | layout: 4
487 | - dockPosition: 1
488 | containerId: overlay-container--right
489 | floating: 0
490 | collapsed: 0
491 | displayed: 0
492 | snapOffset: {x: 0, y: 0}
493 | snapOffsetDelta: {x: 0, y: 0}
494 | snapCorner: 0
495 | id: Scene View/Particles
496 | index: 10
497 | layout: 4
498 | m_WindowGUID: cc27987af1a868c49b0894db9c0f5429
499 | m_Gizmos: 1
500 | m_OverrideSceneCullingMask: 6917529027641081856
501 | m_SceneIsLit: 1
502 | m_SceneLighting: 1
503 | m_2DMode: 0
504 | m_isRotationLocked: 0
505 | m_PlayAudio: 0
506 | m_AudioPlay: 0
507 | m_Position:
508 | m_Target: {x: 0.3918385, y: 0.3488003, z: 6.1015415}
509 | speed: 2
510 | m_Value: {x: 0.3918385, y: 0.3488003, z: 6.1015415}
511 | m_RenderMode: 0
512 | m_CameraMode:
513 | drawMode: 0
514 | name: Shaded
515 | section: Shading Mode
516 | m_ValidateTrueMetals: 0
517 | m_DoValidateTrueMetals: 0
518 | m_ExposureSliderValue: 0
519 | m_SceneViewState:
520 | m_AlwaysRefresh: 0
521 | showFog: 1
522 | showSkybox: 1
523 | showFlares: 1
524 | showImageEffects: 1
525 | showParticleSystems: 1
526 | showVisualEffectGraphs: 1
527 | m_FxEnabled: 1
528 | m_Grid:
529 | xGrid:
530 | m_Fade:
531 | m_Target: 0
532 | speed: 2
533 | m_Value: 0
534 | m_Color: {r: 0.5, g: 0.5, b: 0.5, a: 0.4}
535 | m_Pivot: {x: 0, y: 0, z: 0}
536 | m_Size: {x: 0, y: 0}
537 | yGrid:
538 | m_Fade:
539 | m_Target: 1
540 | speed: 2
541 | m_Value: 1
542 | m_Color: {r: 0.5, g: 0.5, b: 0.5, a: 0.4}
543 | m_Pivot: {x: 0, y: 0, z: 0}
544 | m_Size: {x: 1, y: 1}
545 | zGrid:
546 | m_Fade:
547 | m_Target: 0
548 | speed: 2
549 | m_Value: 0
550 | m_Color: {r: 0.5, g: 0.5, b: 0.5, a: 0.4}
551 | m_Pivot: {x: 0, y: 0, z: 0}
552 | m_Size: {x: 0, y: 0}
553 | m_ShowGrid: 1
554 | m_GridAxis: 1
555 | m_gridOpacity: 0.5
556 | m_Rotation:
557 | m_Target: {x: -0.025443345, y: -0.9719806, z: 0.08472111, w: -0.22165744}
558 | speed: 2
559 | m_Value: {x: 0.025443343, y: 0.9719805, z: -0.08472111, w: 0.22165743}
560 | m_Size:
561 | m_Target: 0.6854149
562 | speed: 2
563 | m_Value: 0.6854149
564 | m_Ortho:
565 | m_Target: 0
566 | speed: 2
567 | m_Value: 0
568 | m_CameraSettings:
569 | m_Speed: 1
570 | m_SpeedNormalized: 0.5
571 | m_SpeedMin: 0.001
572 | m_SpeedMax: 2
573 | m_EasingEnabled: 1
574 | m_EasingDuration: 0.4
575 | m_AccelerationEnabled: 1
576 | m_FieldOfViewHorizontalOrVertical: 60
577 | m_NearClip: 0.03
578 | m_FarClip: 10000
579 | m_DynamicClip: 1
580 | m_OcclusionCulling: 0
581 | m_LastSceneViewRotation: {x: 0, y: 0, z: 0, w: 0}
582 | m_LastSceneViewOrtho: 0
583 | m_ReplacementShader: {fileID: 0}
584 | m_ReplacementString:
585 | m_SceneVisActive: 1
586 | m_LastLockedObject: {fileID: 0}
587 | m_ViewIsLockedToObject: 0
588 | --- !u!114 &9
589 | MonoBehaviour:
590 | m_ObjectHideFlags: 52
591 | m_CorrespondingSourceObject: {fileID: 0}
592 | m_PrefabInstance: {fileID: 0}
593 | m_PrefabAsset: {fileID: 0}
594 | m_GameObject: {fileID: 0}
595 | m_Enabled: 1
596 | m_EditorHideFlags: 1
597 | m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0}
598 | m_Name: ProjectBrowser
599 | m_EditorClassIdentifier:
600 | m_Children: []
601 | m_Position:
602 | serializedVersion: 2
603 | x: 0
604 | y: 540
605 | width: 1304.6666
606 | height: 386
607 | m_MinSize: {x: 231, y: 271}
608 | m_MaxSize: {x: 10001, y: 10021}
609 | m_ActualView: {fileID: 10}
610 | m_Panes:
611 | - {fileID: 10}
612 | - {fileID: 11}
613 | - {fileID: 12}
614 | m_Selected: 0
615 | m_LastSelected: 2
616 | --- !u!114 &10
617 | MonoBehaviour:
618 | m_ObjectHideFlags: 52
619 | m_CorrespondingSourceObject: {fileID: 0}
620 | m_PrefabInstance: {fileID: 0}
621 | m_PrefabAsset: {fileID: 0}
622 | m_GameObject: {fileID: 0}
623 | m_Enabled: 1
624 | m_EditorHideFlags: 1
625 | m_Script: {fileID: 12014, guid: 0000000000000000e000000000000000, type: 0}
626 | m_Name:
627 | m_EditorClassIdentifier:
628 | m_MinSize: {x: 230, y: 250}
629 | m_MaxSize: {x: 10000, y: 10000}
630 | m_TitleContent:
631 | m_Text: Project
632 | m_Image: {fileID: -5179483145760003458, guid: 0000000000000000d000000000000000,
633 | type: 0}
634 | m_Tooltip:
635 | m_Pos:
636 | serializedVersion: 2
637 | x: 0
638 | y: 612.6667
639 | width: 1303.6666
640 | height: 365
641 | m_ViewDataDictionary: {fileID: 0}
642 | m_OverlayCanvas:
643 | m_LastAppliedPresetName: Default
644 | m_SaveData: []
645 | m_SearchFilter:
646 | m_NameFilter:
647 | m_ClassNames: []
648 | m_AssetLabels: []
649 | m_AssetBundleNames: []
650 | m_VersionControlStates: []
651 | m_SoftLockControlStates: []
652 | m_ReferencingInstanceIDs:
653 | m_SceneHandles:
654 | m_ShowAllHits: 0
655 | m_SkipHidden: 0
656 | m_SearchArea: 1
657 | m_Folders:
658 | - Assets/Settings
659 | m_Globs: []
660 | m_OriginalText:
661 | m_ViewMode: 1
662 | m_StartGridSize: 64
663 | m_LastFolders:
664 | - Assets/Settings
665 | m_LastFoldersGridSize: -1
666 | m_LastProjectPath: D:\UnityProjects\FFTConvolutionBloom
667 | m_LockTracker:
668 | m_IsLocked: 0
669 | m_FolderTreeState:
670 | scrollPos: {x: 0, y: 0}
671 | m_SelectedIDs: 9e760000
672 | m_LastClickedID: 30366
673 | m_ExpandedIDs: 00000000d873000000ca9a3b
674 | m_RenameOverlay:
675 | m_UserAcceptedRename: 0
676 | m_Name:
677 | m_OriginalName:
678 | m_EditFieldRect:
679 | serializedVersion: 2
680 | x: 0
681 | y: 0
682 | width: 0
683 | height: 0
684 | m_UserData: 0
685 | m_IsWaitingForDelay: 0
686 | m_IsRenaming: 0
687 | m_OriginalEventType: 11
688 | m_IsRenamingFilename: 1
689 | m_ClientGUIView: {fileID: 0}
690 | m_SearchString:
691 | m_CreateAssetUtility:
692 | m_EndAction: {fileID: 0}
693 | m_InstanceID: 0
694 | m_Path:
695 | m_Icon: {fileID: 0}
696 | m_ResourceFile:
697 | m_AssetTreeState:
698 | scrollPos: {x: 0, y: 0}
699 | m_SelectedIDs:
700 | m_LastClickedID: 0
701 | m_ExpandedIDs: 00000000d873000000ca9a3b
702 | m_RenameOverlay:
703 | m_UserAcceptedRename: 0
704 | m_Name:
705 | m_OriginalName:
706 | m_EditFieldRect:
707 | serializedVersion: 2
708 | x: 0
709 | y: 0
710 | width: 0
711 | height: 0
712 | m_UserData: 0
713 | m_IsWaitingForDelay: 0
714 | m_IsRenaming: 0
715 | m_OriginalEventType: 11
716 | m_IsRenamingFilename: 1
717 | m_ClientGUIView: {fileID: 0}
718 | m_SearchString:
719 | m_CreateAssetUtility:
720 | m_EndAction: {fileID: 0}
721 | m_InstanceID: 0
722 | m_Path:
723 | m_Icon: {fileID: 0}
724 | m_ResourceFile:
725 | m_ListAreaState:
726 | m_SelectedInstanceIDs: 042c0000
727 | m_LastClickedInstanceID: 11268
728 | m_HadKeyboardFocusLastEvent: 1
729 | m_ExpandedInstanceIDs: c6230000000000004868000040680000
730 | m_RenameOverlay:
731 | m_UserAcceptedRename: 0
732 | m_Name:
733 | m_OriginalName:
734 | m_EditFieldRect:
735 | serializedVersion: 2
736 | x: 0
737 | y: 0
738 | width: 0
739 | height: 0
740 | m_UserData: 0
741 | m_IsWaitingForDelay: 0
742 | m_IsRenaming: 0
743 | m_OriginalEventType: 11
744 | m_IsRenamingFilename: 1
745 | m_ClientGUIView: {fileID: 0}
746 | m_CreateAssetUtility:
747 | m_EndAction: {fileID: 0}
748 | m_InstanceID: 0
749 | m_Path:
750 | m_Icon: {fileID: 0}
751 | m_ResourceFile:
752 | m_NewAssetIndexInList: -1
753 | m_ScrollPosition: {x: 0, y: 0}
754 | m_GridSize: 64
755 | m_SkipHiddenPackages: 0
756 | m_DirectoriesAreaWidth: 207
757 | --- !u!114 &11
758 | MonoBehaviour:
759 | m_ObjectHideFlags: 52
760 | m_CorrespondingSourceObject: {fileID: 0}
761 | m_PrefabInstance: {fileID: 0}
762 | m_PrefabAsset: {fileID: 0}
763 | m_GameObject: {fileID: 0}
764 | m_Enabled: 1
765 | m_EditorHideFlags: 1
766 | m_Script: {fileID: 12003, guid: 0000000000000000e000000000000000, type: 0}
767 | m_Name:
768 | m_EditorClassIdentifier:
769 | m_MinSize: {x: 100, y: 100}
770 | m_MaxSize: {x: 4000, y: 4000}
771 | m_TitleContent:
772 | m_Text: Console
773 | m_Image: {fileID: -4950941429401207979, guid: 0000000000000000d000000000000000,
774 | type: 0}
775 | m_Tooltip:
776 | m_Pos:
777 | serializedVersion: 2
778 | x: 0
779 | y: 612.6667
780 | width: 1303.6666
781 | height: 365
782 | m_ViewDataDictionary: {fileID: 0}
783 | m_OverlayCanvas:
784 | m_LastAppliedPresetName: Default
785 | m_SaveData: []
786 | --- !u!114 &12
787 | MonoBehaviour:
788 | m_ObjectHideFlags: 52
789 | m_CorrespondingSourceObject: {fileID: 0}
790 | m_PrefabInstance: {fileID: 0}
791 | m_PrefabAsset: {fileID: 0}
792 | m_GameObject: {fileID: 0}
793 | m_Enabled: 1
794 | m_EditorHideFlags: 0
795 | m_Script: {fileID: 13202, guid: 0000000000000000e000000000000000, type: 0}
796 | m_Name:
797 | m_EditorClassIdentifier:
798 | m_MinSize: {x: 400, y: 200}
799 | m_MaxSize: {x: 4000, y: 4000}
800 | m_TitleContent:
801 | m_Text: Frame Debug
802 | m_Image: {fileID: 0}
803 | m_Tooltip:
804 | m_Pos:
805 | serializedVersion: 2
806 | x: 0
807 | y: 612.6667
808 | width: 1303.6666
809 | height: 365
810 | m_ViewDataDictionary: {fileID: 0}
811 | m_OverlayCanvas:
812 | m_LastAppliedPresetName: Default
813 | m_SaveData: []
814 | m_ListWidth: 409
815 | m_TreeViewState:
816 | scrollPos: {x: 0, y: 0}
817 | m_SelectedIDs: 00000000
818 | m_LastClickedID: 0
819 | m_ExpandedIDs: ecffffffedffffffeffffffff0fffffff1fffffff2fffffff3fffffff4fffffff5fffffff6fffffff7fffffff8fffffff9fffffffafffffffcfffffffdfffffffeffffff00000000
820 | m_RenameOverlay:
821 | m_UserAcceptedRename: 0
822 | m_Name:
823 | m_OriginalName:
824 | m_EditFieldRect:
825 | serializedVersion: 2
826 | x: 0
827 | y: 0
828 | width: 0
829 | height: 0
830 | m_UserData: 0
831 | m_IsWaitingForDelay: 0
832 | m_IsRenaming: 0
833 | m_OriginalEventType: 11
834 | m_IsRenamingFilename: 0
835 | m_ClientGUIView: {fileID: 0}
836 | m_SearchString:
837 | --- !u!114 &13
838 | MonoBehaviour:
839 | m_ObjectHideFlags: 52
840 | m_CorrespondingSourceObject: {fileID: 0}
841 | m_PrefabInstance: {fileID: 0}
842 | m_PrefabAsset: {fileID: 0}
843 | m_GameObject: {fileID: 0}
844 | m_Enabled: 1
845 | m_EditorHideFlags: 1
846 | m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0}
847 | m_Name: InspectorWindow
848 | m_EditorClassIdentifier:
849 | m_Children: []
850 | m_Position:
851 | serializedVersion: 2
852 | x: 1304.6666
853 | y: 0
854 | width: 402.33337
855 | height: 926
856 | m_MinSize: {x: 277, y: 71}
857 | m_MaxSize: {x: 4002, y: 4021}
858 | m_ActualView: {fileID: 14}
859 | m_Panes:
860 | - {fileID: 14}
861 | - {fileID: 15}
862 | m_Selected: 0
863 | m_LastSelected: 1
864 | --- !u!114 &14
865 | MonoBehaviour:
866 | m_ObjectHideFlags: 52
867 | m_CorrespondingSourceObject: {fileID: 0}
868 | m_PrefabInstance: {fileID: 0}
869 | m_PrefabAsset: {fileID: 0}
870 | m_GameObject: {fileID: 0}
871 | m_Enabled: 1
872 | m_EditorHideFlags: 1
873 | m_Script: {fileID: 12019, guid: 0000000000000000e000000000000000, type: 0}
874 | m_Name:
875 | m_EditorClassIdentifier:
876 | m_MinSize: {x: 275, y: 50}
877 | m_MaxSize: {x: 4000, y: 4000}
878 | m_TitleContent:
879 | m_Text: Inspector
880 | m_Image: {fileID: -440750813802333266, guid: 0000000000000000d000000000000000,
881 | type: 0}
882 | m_Tooltip:
883 | m_Pos:
884 | serializedVersion: 2
885 | x: 1304.6667
886 | y: 72.66667
887 | width: 400.33337
888 | height: 905
889 | m_ViewDataDictionary: {fileID: 0}
890 | m_OverlayCanvas:
891 | m_LastAppliedPresetName: Default
892 | m_SaveData: []
893 | m_ObjectsLockedBeforeSerialization:
894 | - {fileID: 11400000, guid: 927c970a9a8ba754396b7e0f59856d89, type: 2}
895 | m_InstanceIDsLockedBeforeSerialization:
896 | m_PreviewResizer:
897 | m_CachedPref: 160
898 | m_ControlHash: -371814159
899 | m_PrefName: Preview_InspectorPreview
900 | m_LastInspectedObjectInstanceID: -1
901 | m_LastVerticalScrollValue: 0
902 | m_GlobalObjectId:
903 | m_InspectorMode: 0
904 | m_LockTracker:
905 | m_IsLocked: 1
906 | m_PreviewWindow: {fileID: 0}
907 | --- !u!114 &15
908 | MonoBehaviour:
909 | m_ObjectHideFlags: 52
910 | m_CorrespondingSourceObject: {fileID: 0}
911 | m_PrefabInstance: {fileID: 0}
912 | m_PrefabAsset: {fileID: 0}
913 | m_GameObject: {fileID: 0}
914 | m_Enabled: 1
915 | m_EditorHideFlags: 0
916 | m_Script: {fileID: 12079, guid: 0000000000000000e000000000000000, type: 0}
917 | m_Name:
918 | m_EditorClassIdentifier:
919 | m_MinSize: {x: 390, y: 390}
920 | m_MaxSize: {x: 4000, y: 4000}
921 | m_TitleContent:
922 | m_Text: Lighting
923 | m_Image: {fileID: -1477008817101679558, guid: 0000000000000000d000000000000000,
924 | type: 0}
925 | m_Tooltip:
926 | m_Pos:
927 | serializedVersion: 2
928 | x: 1304.6667
929 | y: 72.66667
930 | width: 400.33337
931 | height: 905
932 | m_ViewDataDictionary: {fileID: 0}
933 | m_OverlayCanvas:
934 | m_LastAppliedPresetName: Default
935 | m_SaveData: []
936 |
--------------------------------------------------------------------------------
/UserSettings/Search.settings:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------