├── .gitignore ├── Assets ├── Atmosphere.meta ├── Atmosphere │ ├── Atmosphere.asmdef │ ├── Atmosphere.asmdef.meta │ ├── Editor.meta │ ├── Editor │ │ ├── Atmosphere.Editor.asmdef │ │ ├── Atmosphere.Editor.asmdef.meta │ │ ├── AtmosphereEffectEditor.cs │ │ ├── AtmosphereEffectEditor.cs.meta │ │ ├── AtmosphereProfileEditor.cs │ │ └── AtmosphereProfileEditor.cs.meta │ ├── Examples.meta │ ├── Examples │ │ ├── Atmosphere Example.unity │ │ ├── Atmosphere Example.unity.meta │ │ ├── Example Scripts.meta │ │ ├── Example Scripts │ │ │ ├── CameraManager.cs │ │ │ ├── CameraManager.cs.meta │ │ │ ├── FlyCamera.cs │ │ │ ├── FlyCamera.cs.meta │ │ │ ├── OrbitCamera.cs │ │ │ ├── OrbitCamera.cs.meta │ │ │ ├── SunRotator.cs │ │ │ └── SunRotator.cs.meta │ │ ├── Materials.meta │ │ ├── Materials │ │ │ ├── GalaxySkybox.mat │ │ │ ├── GalaxySkybox.mat.meta │ │ │ ├── Planet.mat │ │ │ ├── Planet.mat.meta │ │ │ ├── SemiTransparent.mat │ │ │ ├── SemiTransparent.mat.meta │ │ │ ├── Solid.mat │ │ │ ├── Solid.mat.meta │ │ │ ├── Sun.mat │ │ │ └── Sun.mat.meta │ │ ├── Meshes.meta │ │ ├── Meshes │ │ │ ├── highSubdivIcosphere.obj │ │ │ └── highSubdivIcosphere.obj.meta │ │ ├── Profiles.meta │ │ ├── Profiles │ │ │ ├── DefaultAtmosphereProfile.asset │ │ │ ├── DefaultAtmosphereProfile.asset.meta │ │ │ ├── ExoplanetProfile.asset │ │ │ └── ExoplanetProfile.asset.meta │ │ ├── Textures.meta │ │ └── Textures │ │ │ ├── albedo.jpg │ │ │ ├── albedo.jpg.meta │ │ │ ├── bump.jpg │ │ │ ├── bump.jpg.meta │ │ │ ├── normals.jpg │ │ │ ├── normals.jpg.meta │ │ │ ├── nx-left.png │ │ │ ├── nx-left.png.meta │ │ │ ├── ny-bottom.png │ │ │ ├── ny-bottom.png.meta │ │ │ ├── nz-back.png │ │ │ ├── nz-back.png.meta │ │ │ ├── px-Right.png │ │ │ ├── px-Right.png.meta │ │ │ ├── py-top.png │ │ │ ├── py-top.png.meta │ │ │ ├── pz-front.png │ │ │ └── pz-front.png.meta │ ├── Readme.meta │ ├── Readme │ │ ├── Icons.meta │ │ ├── Icons │ │ │ ├── Help_Icon.png │ │ │ └── Help_Icon.png.meta │ │ ├── Performance.asset │ │ ├── Performance.asset.meta │ │ ├── Quickstart.asset │ │ ├── Quickstart.asset.meta │ │ ├── Scripts.meta │ │ ├── Scripts │ │ │ ├── Editor.meta │ │ │ ├── Editor │ │ │ │ ├── ReadmeEditor.cs │ │ │ │ ├── ReadmeEditor.cs.meta │ │ │ │ ├── ReadmeEditorStyles.cs │ │ │ │ └── ReadmeEditorStyles.cs.meta │ │ │ ├── Readme.cs │ │ │ └── Readme.cs.meta │ │ ├── Troubleshooting.asset │ │ └── Troubleshooting.asset.meta │ ├── Runtime.meta │ ├── Runtime │ │ ├── DepthStack.meta │ │ ├── DepthStack │ │ │ ├── DepthStack.asmdef │ │ │ ├── DepthStack.asmdef.meta │ │ │ ├── Includes.meta │ │ │ ├── Includes │ │ │ │ ├── Common.hlsl │ │ │ │ ├── Common.hlsl.meta │ │ │ │ ├── CompositeDepth.hlsl │ │ │ │ └── CompositeDepth.hlsl.meta │ │ │ ├── Scripts.meta │ │ │ ├── Scripts │ │ │ │ ├── DepthStackRenderFeature.cs │ │ │ │ ├── DepthStackRenderFeature.cs.meta │ │ │ │ ├── DepthStackRenderPass.cs │ │ │ │ └── DepthStackRenderPass.cs.meta │ │ │ ├── Shader.meta │ │ │ └── Shader │ │ │ │ ├── CopyDepth.mat │ │ │ │ ├── CopyDepth.mat.meta │ │ │ │ ├── EncodeDepth.shader │ │ │ │ └── EncodeDepth.shader.meta │ │ ├── Icon.meta │ │ ├── Icon │ │ │ ├── Logo.png │ │ │ └── Logo.png.meta │ │ ├── Scripts.meta │ │ ├── Scripts │ │ │ ├── AtmosphereEffect.cs │ │ │ ├── AtmosphereEffect.cs.meta │ │ │ ├── AtmosphereProfile.cs │ │ │ ├── AtmosphereProfile.cs.meta │ │ │ ├── AtmosphereRenderFeature.cs │ │ │ ├── AtmosphereRenderFeature.cs.meta │ │ │ ├── AtmosphereRenderPass.cs │ │ │ ├── AtmosphereRenderPass.cs.meta │ │ │ ├── BlitUtility.cs │ │ │ └── BlitUtility.cs.meta │ │ ├── Shaders.meta │ │ └── Shaders │ │ │ ├── Atmosphere.shader │ │ │ ├── Atmosphere.shader.meta │ │ │ ├── BlueNoise.png │ │ │ ├── BlueNoise.png.meta │ │ │ ├── Glow.shader │ │ │ ├── Glow.shader.meta │ │ │ ├── Includes.meta │ │ │ ├── Includes │ │ │ ├── Atmosphere.hlsl │ │ │ ├── Atmosphere.hlsl.meta │ │ │ ├── Common.hlsl │ │ │ ├── Common.hlsl.meta │ │ │ ├── Math.hlsl │ │ │ └── Math.hlsl.meta │ │ │ ├── OpticalDepth.compute │ │ │ └── OpticalDepth.compute.meta │ ├── atmosphere.unitypackage │ └── atmosphere.unitypackage.meta ├── Screenshots.meta ├── Screenshots │ ├── daytime.png │ ├── daytime.png.meta │ ├── exoplanet-space.png │ ├── exoplanet-space.png.meta │ ├── exoplanet-space2.png │ ├── exoplanet-space2.png.meta │ ├── exoplanet.png │ ├── exoplanet.png.meta │ ├── night.png │ ├── night.png.meta │ ├── space.png │ ├── space.png.meta │ ├── space2.png │ ├── space2.png.meta │ ├── sunset.png │ └── sunset.png.meta ├── URP Settings.meta └── URP Settings │ ├── DefaultProfile.asset │ ├── DefaultProfile.asset.meta │ ├── Renderer.asset │ ├── Renderer.asset.meta │ ├── URP-Default.asset │ ├── URP-Default.asset.meta │ ├── UniversalRenderPipelineGlobalSettings.asset │ └── UniversalRenderPipelineGlobalSettings.asset.meta ├── LICENSE.md ├── Packages ├── manifest.json └── packages-lock.json ├── ProjectSettings ├── AudioManager.asset ├── BurstAotSettings_StandaloneLinux64.json ├── 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 ├── ProjectVersion.txt.meta ├── QualitySettings.asset ├── SceneTemplateSettings.json ├── ShaderGraphSettings.asset ├── TagManager.asset ├── TimeManager.asset ├── URPProjectSettings.asset ├── UnityConnectSettings.asset ├── VFXManager.asset ├── VersionControlSettings.asset └── XRSettings.asset └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | # This .gitignore file should be placed at the root of your Unity project directory 2 | # 3 | # Get latest from https://github.com/github/gitignore/blob/main/Unity.gitignore 4 | # 5 | /[Ll]ibrary/ 6 | /[Tt]emp/ 7 | /[Oo]bj/ 8 | /[Bb]uild/ 9 | /[Bb]uilds/ 10 | /[Ll]ogs/ 11 | /[Uu]ser[Ss]ettings/ 12 | 13 | # MemoryCaptures can get excessive in size. 14 | # They also could contain extremely sensitive data 15 | /[Mm]emoryCaptures/ 16 | 17 | # Recordings can get excessive in size 18 | /[Rr]ecordings/ 19 | 20 | # Uncomment this line if you wish to ignore the asset store tools plugin 21 | # /[Aa]ssets/AssetStoreTools* 22 | 23 | # Autogenerated Jetbrains Rider plugin 24 | /[Aa]ssets/Plugins/Editor/JetBrains* 25 | 26 | # Visual Studio cache directory 27 | .vs/ 28 | # Visual Studio Code settings 29 | .vscode/ 30 | 31 | # Gradle cache directory 32 | .gradle/ 33 | 34 | # Autogenerated VS/MD/Consulo solution and project files 35 | ExportedObj/ 36 | .consulo/ 37 | *.csproj 38 | *.unityproj 39 | *.sln 40 | *.suo 41 | *.tmp 42 | *.user 43 | *.userprefs 44 | *.pidb 45 | *.booproj 46 | *.svd 47 | *.pdb 48 | *.mdb 49 | *.opendb 50 | *.VC.db 51 | 52 | # Unity3D generated meta files 53 | *.pidb.meta 54 | *.pdb.meta 55 | *.mdb.meta 56 | 57 | # Unity3D generated file on crash reports 58 | sysinfo.txt 59 | 60 | # Builds 61 | *.apk 62 | *.aab 63 | *.app 64 | 65 | # Crashlytics generated file 66 | crashlytics-build.properties 67 | 68 | # Packed Addressables 69 | /[Aa]ssets/[Aa]ddressable[Aa]ssets[Dd]ata/*/*.bin* 70 | 71 | # Temporary auto-generated Android Assets 72 | /[Aa]ssets/[Ss]treamingAssets/aa.meta 73 | /[Aa]ssets/[Ss]treamingAssets/aa/* 74 | -------------------------------------------------------------------------------- /Assets/Atmosphere.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d06ea83a43e68719dbc9d2bd48a2b5d9 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Atmosphere.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Atmosphere", 3 | "rootNamespace": "", 4 | "references": [ 5 | "Unity.RenderPipelines.Core.Runtime", 6 | "Unity.RenderPipelines.Universal.Runtime", 7 | "DepthStack" 8 | ], 9 | "includePlatforms": [], 10 | "excludePlatforms": [], 11 | "allowUnsafeCode": false, 12 | "overrideReferences": false, 13 | "precompiledReferences": [], 14 | "autoReferenced": true, 15 | "defineConstraints": [], 16 | "versionDefines": [ 17 | { 18 | "name": "com.unity.render-pipelines.universal", 19 | "expression": "0.0", 20 | "define": "USING_URP" 21 | } 22 | ], 23 | "noEngineReferences": false 24 | } -------------------------------------------------------------------------------- /Assets/Atmosphere/Atmosphere.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 539f265ea35515f45bbeb4a9cf080c04 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6489417320b320fa6ba909f34a886c17 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Editor/Atmosphere.Editor.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Atmosphere.Editor", 3 | "rootNamespace": "", 4 | "references": [ 5 | "Atmosphere", 6 | "Unity.RenderPipelines.Universal.Runtime" 7 | ], 8 | "includePlatforms": [ 9 | "Editor" 10 | ], 11 | "excludePlatforms": [], 12 | "allowUnsafeCode": false, 13 | "overrideReferences": false, 14 | "precompiledReferences": [], 15 | "autoReferenced": true, 16 | "defineConstraints": [], 17 | "versionDefines": [], 18 | "noEngineReferences": false 19 | } -------------------------------------------------------------------------------- /Assets/Atmosphere/Editor/Atmosphere.Editor.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 40663d07d128e4fc791bb5178b7b2d97 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Editor/AtmosphereEffectEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 87d2a5b66e83f85fc8d9e11b1c0b57cf 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Editor/AtmosphereProfileEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7f09231ff53dd93aebf63b32efb741b1 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Examples.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 18eee1c4df2b54774bbddd03ea75b912 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Examples/Atmosphere Example.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5d852d3854dbf90d3bd5a4a0ef9a4a53 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Examples/Example Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a73a2fab307412d98927f671094db48a 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Examples/Example Scripts/CameraManager.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEngine.UI; 5 | 6 | 7 | public class CameraManager : MonoBehaviour 8 | { 9 | [System.Serializable] 10 | public class CameraTransition 11 | { 12 | public string name; 13 | public GameObject controller; 14 | public AnimationCurve easingCurve; 15 | } 16 | 17 | public Transform managedCamera; 18 | public List cameras; 19 | public Dropdown cameraDropdown; 20 | 21 | CameraTransition currentTranstion; 22 | 23 | 24 | public void Awake() 25 | { 26 | cameraDropdown.ClearOptions(); 27 | 28 | 29 | foreach (CameraTransition trs in cameras) 30 | { 31 | cameraDropdown.options.Add(new Dropdown.OptionData(trs.name)); 32 | trs.controller.SetActive(false); 33 | } 34 | 35 | SetControllerImmediate(0); 36 | 37 | cameraDropdown.onValueChanged.AddListener((val) => SetController(val)); 38 | } 39 | 40 | 41 | 42 | public void SetController(int index) 43 | { 44 | if (index < 0 || index >= cameras.Count) 45 | { 46 | return; 47 | } 48 | 49 | SetController(currentTranstion, cameras[index]); 50 | currentTranstion = cameras[index]; 51 | } 52 | 53 | 54 | public void SetController(CameraTransition from, CameraTransition to) 55 | { 56 | StopAllCoroutines(); 57 | StartCoroutine(ChangeController(from, to)); 58 | } 59 | 60 | 61 | public void SetControllerImmediate(int index) 62 | { 63 | if (index < 0 || index >= cameras.Count) 64 | { 65 | return; 66 | } 67 | 68 | SetControllerImmediate(currentTranstion, cameras[index]); 69 | currentTranstion = cameras[index]; 70 | } 71 | 72 | 73 | public void SetControllerImmediate(CameraTransition from, CameraTransition to) 74 | { 75 | StopAllCoroutines(); 76 | 77 | if (from != null) from.controller.SetActive(false); 78 | 79 | managedCamera.transform.SetParent(to.controller.transform, false); 80 | managedCamera.transform.localRotation = Quaternion.identity; 81 | managedCamera.transform.localPosition = Vector3.zero; 82 | 83 | to.controller.SetActive(true); 84 | } 85 | 86 | 87 | void Update() 88 | { 89 | if (Input.anyKeyDown) 90 | { 91 | string input = Input.inputString; 92 | 93 | if (input != null && input.Length > 0) 94 | { 95 | if (int.TryParse(input[0].ToString(), out int result)) 96 | { 97 | SetController(result - 1); 98 | } 99 | } 100 | } 101 | } 102 | 103 | 104 | public IEnumerator ChangeController(CameraTransition from, CameraTransition to) 105 | { 106 | managedCamera.transform.SetParent(null, true); 107 | 108 | if (from != null) from.controller.SetActive(false); 109 | to.controller.SetActive(false); 110 | 111 | Vector3 startPos = managedCamera.transform.position; 112 | Vector3 targetPos = to.controller.transform.position; 113 | 114 | Quaternion startRot = managedCamera.transform.rotation; 115 | Quaternion targetRot = to.controller.transform.rotation; 116 | 117 | float time = 0.0f; 118 | 119 | var lastKeyframe = to.easingCurve[to.easingCurve.length - 1]; 120 | float duration = lastKeyframe.time; 121 | 122 | while (time < duration) 123 | { 124 | time += Time.deltaTime * to.easingCurve.Evaluate(time); 125 | 126 | managedCamera.transform.position = Vector3.Lerp(startPos, targetPos, time / duration); 127 | managedCamera.transform.rotation = Quaternion.Lerp(startRot, targetRot, time / duration); 128 | 129 | yield return null; 130 | } 131 | 132 | managedCamera.transform.SetParent(to.controller.transform, true); 133 | to.controller.SetActive(true); 134 | } 135 | } 136 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Examples/Example Scripts/CameraManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dceb183dabafc13b484959b55ab1a846 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Examples/Example Scripts/FlyCamera.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | public class FlyCamera : MonoBehaviour 4 | { 5 | 6 | /* 7 | Writen by Windexglow 11-13-10. Use it, edit it, steal it I don't care. 8 | Converted to C# 27-02-13 - no credit wanted. 9 | Extended by Mahelita 08-01-18. 10 | Added up and down movement using e and q, respectively. 11 | Adjusted parameters to fit my needs. 12 | Simple flycam I made, since I couldn't find any others made public. 13 | Made simple to use (drag and drop, done) for regular keyboard layout 14 | wasd : basic movement 15 | qe : Move camera down or up, respectively 16 | shift : Makes camera accelerate 17 | space : Moves camera on X and Z axis only. So camera doesn't gain any height*/ 18 | 19 | 20 | public float mainSpeed = 5.0f; //regular speed 21 | public float shiftAdd = 25f; //multiplied by how long shift is held. Basically running 22 | public float maxShift = 100.0f; //Maximum speed when holdin gshift 23 | public float camSens = 0.25f; //How sensitive it with mouse 24 | public bool rotateOnlyIfMousedown = true; 25 | public bool movementStaysFlat = false; 26 | public float inputDamping = 0.9f; 27 | 28 | private Vector3 lastMouse = new Vector3(255, 255, 255); //kind of in the middle of the screen, rather than at the top (play) 29 | private float totalRun = 1.0f; 30 | 31 | private float acceleration = 0.0f; 32 | 33 | void Update() 34 | { 35 | 36 | if (Input.GetMouseButtonDown(1)) 37 | { 38 | lastMouse = Input.mousePosition; // $CTK reset when we begin 39 | } 40 | 41 | if (!rotateOnlyIfMousedown || (rotateOnlyIfMousedown && Input.GetMouseButton(1))) 42 | { 43 | lastMouse = Input.mousePosition - lastMouse; 44 | lastMouse = new Vector3(-lastMouse.y * camSens, lastMouse.x * camSens, 0); 45 | lastMouse = new Vector3(transform.eulerAngles.x + lastMouse.x, transform.eulerAngles.y + lastMouse.y, 0); 46 | transform.eulerAngles = lastMouse; 47 | lastMouse = Input.mousePosition; 48 | //Mouse camera angle done. 49 | } 50 | 51 | //Keyboard commands 52 | Vector3 p = GetBaseInput(); 53 | 54 | acceleration = Mathf.MoveTowards(acceleration, (p.sqrMagnitude > 0 ? 1 : 0), Time.deltaTime * inputDamping); 55 | 56 | if (Input.GetKey(KeyCode.LeftShift)) 57 | { 58 | totalRun += Time.deltaTime; 59 | p = p * totalRun * shiftAdd; 60 | p.x = Mathf.Clamp(p.x, -maxShift, maxShift); 61 | p.y = Mathf.Clamp(p.y, -maxShift, maxShift); 62 | p.z = Mathf.Clamp(p.z, -maxShift, maxShift); 63 | } else { 64 | totalRun = Mathf.Clamp(totalRun * 0.5f, 1f, 1000f); 65 | p = p * mainSpeed; 66 | } 67 | 68 | p = p * acceleration * Time.deltaTime; 69 | Vector3 newPosition = transform.position; 70 | 71 | if (Input.GetKey(KeyCode.Space) || (movementStaysFlat && !(rotateOnlyIfMousedown && Input.GetMouseButton(1)))) 72 | { //If player wants to move on X and Z axis only 73 | transform.Translate(p); 74 | newPosition.x = transform.position.x; 75 | newPosition.z = transform.position.z; 76 | transform.position = newPosition; 77 | } else { 78 | transform.Translate(p); 79 | } 80 | } 81 | 82 | 83 | private Vector3 GetBaseInput() 84 | { //returns the basic values, if it's 0 than it's not active. 85 | Vector3 p_Velocity = new Vector3(); 86 | 87 | if (Input.GetKey(KeyCode.W)) 88 | { 89 | p_Velocity += new Vector3(0, 0, 1); 90 | } 91 | if (Input.GetKey(KeyCode.S)) 92 | { 93 | p_Velocity += new Vector3(0, 0, -1); 94 | } 95 | if (Input.GetKey(KeyCode.A)) 96 | { 97 | p_Velocity += new Vector3(-1, 0, 0); 98 | } 99 | if (Input.GetKey(KeyCode.D)) 100 | { 101 | p_Velocity += new Vector3(1, 0, 0); 102 | } 103 | if (Input.GetKey(KeyCode.Q)) 104 | { 105 | p_Velocity += new Vector3(0, -1, 0); 106 | } 107 | if (Input.GetKey(KeyCode.E)) 108 | { 109 | p_Velocity += new Vector3(0, 1, 0); 110 | } 111 | 112 | return p_Velocity; 113 | } 114 | } -------------------------------------------------------------------------------- /Assets/Atmosphere/Examples/Example Scripts/FlyCamera.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1ad235e5f838f4f6f889fc13149a148a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Examples/Example Scripts/OrbitCamera.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | 4 | /// 5 | /// A basic orbital camera. 6 | /// 7 | public class OrbitCamera : MonoBehaviour 8 | { 9 | public Transform target; 10 | public Vector3 targetOffset; 11 | 12 | public float distance = 10; 13 | public float maxDistance = 20; 14 | public float minDistance = .6f; 15 | public float xSpeed = 200.0f; 16 | public float ySpeed = 200.0f; 17 | public int yMinLimit = -80; 18 | public int yMaxLimit = 80; 19 | public int zoomRate = 40; 20 | public float zoomDampening = 5.0f; 21 | 22 | private float xDeg = 0.0f; 23 | private float yDeg = 0.0f; 24 | private float currentDistance; 25 | private float desiredDistance; 26 | private Quaternion currentRotation; 27 | private Quaternion desiredRotation; 28 | private Quaternion rotation; 29 | private Vector3 position; 30 | 31 | 32 | void Start() 33 | { 34 | Init(); 35 | } 36 | 37 | 38 | private void Init() 39 | { 40 | distance = Vector3.Distance(transform.position, target.position); 41 | currentDistance = distance; 42 | desiredDistance = distance; 43 | 44 | //be sure to grab the current rotations as starting points. 45 | position = transform.position; 46 | rotation = transform.rotation; 47 | currentRotation = transform.rotation; 48 | desiredRotation = transform.rotation; 49 | 50 | xDeg = Vector3.Angle(Vector3.right, transform.right); 51 | yDeg = Vector3.Angle(Vector3.up, transform.up); 52 | } 53 | 54 | 55 | void LateUpdate() 56 | { 57 | if (Input.GetMouseButton(1) && Input.GetKey(KeyCode.LeftAlt) && Input.GetKey(KeyCode.LeftControl)) 58 | { 59 | desiredDistance -= Input.GetAxis("Mouse Y") * Time.deltaTime * zoomRate * 0.125f * Mathf.Abs(desiredDistance); 60 | } 61 | 62 | 63 | else if (Input.GetMouseButton(1)) 64 | { 65 | xDeg += Input.GetAxis("Mouse X") * xSpeed * 0.02f; 66 | yDeg -= Input.GetAxis("Mouse Y") * ySpeed * 0.02f; 67 | 68 | yDeg = ClampAngle(yDeg, yMinLimit, yMaxLimit); 69 | 70 | desiredRotation = Quaternion.Euler(yDeg, xDeg, 0); 71 | currentRotation = transform.rotation; 72 | 73 | rotation = Quaternion.Lerp(currentRotation, desiredRotation, Time.deltaTime * zoomDampening); 74 | transform.rotation = rotation; 75 | } 76 | 77 | desiredDistance -= Input.mouseScrollDelta.y * Time.deltaTime * zoomRate * Mathf.Abs(desiredDistance); 78 | desiredDistance = Mathf.Clamp(desiredDistance, minDistance, maxDistance); 79 | currentDistance = Mathf.Lerp(currentDistance, desiredDistance, Time.deltaTime * zoomDampening); 80 | 81 | position = target.position - (rotation * Vector3.forward * currentDistance + targetOffset); 82 | transform.position = position; 83 | } 84 | 85 | private static float ClampAngle(float angle, float min, float max) 86 | { 87 | if (angle < -360) 88 | angle += 360; 89 | if (angle > 360) 90 | angle -= 360; 91 | return Mathf.Clamp(angle, min, max); 92 | } 93 | } 94 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Examples/Example Scripts/OrbitCamera.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ee362d6c9e09ff483b5cd8f474585ef9 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Examples/Example Scripts/SunRotator.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | public class SunRotator : MonoBehaviour 4 | { 5 | public enum RotationAxis 6 | { 7 | X = 0, Y = 1, Z = 2 8 | } 9 | 10 | 11 | public RotationAxis axis = RotationAxis.X; 12 | public bool isLocal = true; 13 | public float rotationSpeed = 10f; 14 | 15 | 16 | Quaternion AddRotation(Quaternion rotation) 17 | { 18 | float angle = rotationSpeed * Time.deltaTime; 19 | 20 | Vector3 axis = Vector3.right; 21 | 22 | if (this.axis == RotationAxis.Y) { 23 | axis = Vector3.up; 24 | } else if (this.axis == RotationAxis.Z) { 25 | axis = Vector3.forward; 26 | } 27 | 28 | return rotation * Quaternion.AngleAxis(angle, axis); 29 | } 30 | 31 | 32 | void Update() 33 | { 34 | if (isLocal) { 35 | transform.localRotation = AddRotation(transform.localRotation); 36 | } else { 37 | transform.rotation = AddRotation(transform.rotation); 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Examples/Example Scripts/SunRotator.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9f90ff70c7dcfaf79892f5499f3c2970 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Examples/Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8d786d3d5e582681caadc65ca7700117 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Examples/Materials/GalaxySkybox.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 8 6 | m_ObjectHideFlags: 0 7 | m_CorrespondingSourceObject: {fileID: 0} 8 | m_PrefabInstance: {fileID: 0} 9 | m_PrefabAsset: {fileID: 0} 10 | m_Name: GalaxySkybox 11 | m_Shader: {fileID: 104, guid: 0000000000000000f000000000000000, type: 0} 12 | m_Parent: {fileID: 0} 13 | m_ModifiedSerializedProperties: 0 14 | m_ValidKeywords: [] 15 | m_InvalidKeywords: [] 16 | m_LightmapFlags: 4 17 | m_EnableInstancingVariants: 0 18 | m_DoubleSidedGI: 0 19 | m_CustomRenderQueue: -1 20 | stringTagMap: {} 21 | disabledShaderPasses: [] 22 | m_LockedProperties: 23 | m_SavedProperties: 24 | serializedVersion: 3 25 | m_TexEnvs: 26 | - _BackTex: 27 | m_Texture: {fileID: 2800000, guid: 79eae57ae44b343108f8741f8cfc368e, type: 3} 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: 2800000, guid: 3c205b6597de0471ea1b51e5abcd8905, type: 3} 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: 2800000, guid: fae3ee3c6b4a04f408a9c0ca04227a16, type: 3} 56 | m_Scale: {x: 1, y: 1} 57 | m_Offset: {x: 0, y: 0} 58 | - _LeftTex: 59 | m_Texture: {fileID: 2800000, guid: d74ca7b59920346e180ff662f23625f4, type: 3} 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: 2800000, guid: 90027b6dc77e149e699ce6740557c847, type: 3} 80 | m_Scale: {x: 1, y: 1} 81 | m_Offset: {x: 0, y: 0} 82 | - _Tex: 83 | m_Texture: {fileID: 0} 84 | m_Scale: {x: 1, y: 1} 85 | m_Offset: {x: 0, y: 0} 86 | - _UpTex: 87 | m_Texture: {fileID: 2800000, guid: aa598f0330a8c4525aef12a4d574e12e, type: 3} 88 | m_Scale: {x: 1, y: 1} 89 | m_Offset: {x: 0, y: 0} 90 | m_Ints: [] 91 | m_Floats: 92 | - _BumpScale: 1 93 | - _Cutoff: 0.5 94 | - _DetailNormalMapScale: 1 95 | - _DstBlend: 0 96 | - _Exposure: 0.2 97 | - _GlossMapScale: 1 98 | - _Glossiness: 0.5 99 | - _GlossyReflections: 1 100 | - _Metallic: 0 101 | - _Mode: 0 102 | - _OcclusionStrength: 1 103 | - _Parallax: 0.02 104 | - _Rotation: 131 105 | - _SmoothnessTextureChannel: 0 106 | - _SpecularHighlights: 1 107 | - _SrcBlend: 1 108 | - _UVSec: 0 109 | - _ZWrite: 1 110 | m_Colors: 111 | - _Color: {r: 1, g: 1, b: 1, a: 1} 112 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 113 | - _Tint: {r: 1, g: 1, b: 1, a: 1} 114 | m_BuildTextureStacks: [] 115 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Examples/Materials/GalaxySkybox.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d7991f65b935e4dcfa0ef08a5a611425 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Examples/Materials/Planet.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 8 6 | m_ObjectHideFlags: 0 7 | m_CorrespondingSourceObject: {fileID: 0} 8 | m_PrefabInstance: {fileID: 0} 9 | m_PrefabAsset: {fileID: 0} 10 | m_Name: Planet 11 | m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} 12 | m_Parent: {fileID: 0} 13 | m_ModifiedSerializedProperties: 0 14 | m_ValidKeywords: [] 15 | m_InvalidKeywords: [] 16 | m_LightmapFlags: 4 17 | m_EnableInstancingVariants: 0 18 | m_DoubleSidedGI: 0 19 | m_CustomRenderQueue: -1 20 | stringTagMap: 21 | RenderType: Opaque 22 | disabledShaderPasses: [] 23 | m_LockedProperties: 24 | m_SavedProperties: 25 | serializedVersion: 3 26 | m_TexEnvs: 27 | - _BaseMap: 28 | m_Texture: {fileID: 0} 29 | m_Scale: {x: 1, y: 1} 30 | m_Offset: {x: 0, y: 0} 31 | - _BumpMap: 32 | m_Texture: {fileID: 0} 33 | m_Scale: {x: 1, y: 1} 34 | m_Offset: {x: 0, y: 0} 35 | - _DetailAlbedoMap: 36 | m_Texture: {fileID: 0} 37 | m_Scale: {x: 1, y: 1} 38 | m_Offset: {x: 0, y: 0} 39 | - _DetailMask: 40 | m_Texture: {fileID: 0} 41 | m_Scale: {x: 1, y: 1} 42 | m_Offset: {x: 0, y: 0} 43 | - _DetailNormalMap: 44 | m_Texture: {fileID: 0} 45 | m_Scale: {x: 1, y: 1} 46 | m_Offset: {x: 0, y: 0} 47 | - _EmissionMap: 48 | m_Texture: {fileID: 0} 49 | m_Scale: {x: 1, y: 1} 50 | m_Offset: {x: 0, y: 0} 51 | - _MainTex: 52 | m_Texture: {fileID: 0} 53 | m_Scale: {x: 1, y: 1} 54 | m_Offset: {x: 0, y: 0} 55 | - _MetallicGlossMap: 56 | m_Texture: {fileID: 0} 57 | m_Scale: {x: 1, y: 1} 58 | m_Offset: {x: 0, y: 0} 59 | - _OcclusionMap: 60 | m_Texture: {fileID: 0} 61 | m_Scale: {x: 1, y: 1} 62 | m_Offset: {x: 0, y: 0} 63 | - _ParallaxMap: 64 | m_Texture: {fileID: 0} 65 | m_Scale: {x: 1, y: 1} 66 | m_Offset: {x: 0, y: 0} 67 | - _SpecGlossMap: 68 | m_Texture: {fileID: 0} 69 | m_Scale: {x: 1, y: 1} 70 | m_Offset: {x: 0, y: 0} 71 | - unity_Lightmaps: 72 | m_Texture: {fileID: 0} 73 | m_Scale: {x: 1, y: 1} 74 | m_Offset: {x: 0, y: 0} 75 | - unity_LightmapsInd: 76 | m_Texture: {fileID: 0} 77 | m_Scale: {x: 1, y: 1} 78 | m_Offset: {x: 0, y: 0} 79 | - unity_ShadowMasks: 80 | m_Texture: {fileID: 0} 81 | m_Scale: {x: 1, y: 1} 82 | m_Offset: {x: 0, y: 0} 83 | m_Ints: [] 84 | m_Floats: 85 | - _AlphaClip: 0 86 | - _AlphaToMask: 0 87 | - _Blend: 0 88 | - _BlendModePreserveSpecular: 1 89 | - _BlendOp: 0 90 | - _BumpScale: 1 91 | - _ClearCoatMask: 0 92 | - _ClearCoatSmoothness: 0 93 | - _Cull: 2 94 | - _Cutoff: 0.5 95 | - _DetailAlbedoMapScale: 1 96 | - _DetailNormalMapScale: 1 97 | - _DstBlend: 0 98 | - _DstBlendAlpha: 0 99 | - _EnvironmentReflections: 1 100 | - _GlossMapScale: 0 101 | - _Glossiness: 0 102 | - _GlossyReflections: 0 103 | - _Metallic: 0 104 | - _OcclusionStrength: 1 105 | - _Parallax: 0.005 106 | - _QueueOffset: 0 107 | - _ReceiveShadows: 1 108 | - _SampleGI: 0 109 | - _Smoothness: 0 110 | - _SmoothnessTextureChannel: 0 111 | - _SpecularHighlights: 1 112 | - _SrcBlend: 1 113 | - _SrcBlendAlpha: 1 114 | - _Surface: 0 115 | - _WorkflowMode: 1 116 | - _ZWrite: 1 117 | m_Colors: 118 | - _BaseColor: {r: 0.5147248, g: 0.6896924, b: 0.33612686, a: 1} 119 | - _Color: {r: 0.5147248, g: 0.6896924, b: 0.33612683, a: 1} 120 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 121 | - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} 122 | m_BuildTextureStacks: [] 123 | --- !u!114 &897518918569486611 124 | MonoBehaviour: 125 | m_ObjectHideFlags: 11 126 | m_CorrespondingSourceObject: {fileID: 0} 127 | m_PrefabInstance: {fileID: 0} 128 | m_PrefabAsset: {fileID: 0} 129 | m_GameObject: {fileID: 0} 130 | m_Enabled: 1 131 | m_EditorHideFlags: 0 132 | m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} 133 | m_Name: 134 | m_EditorClassIdentifier: 135 | version: 7 136 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Examples/Materials/Planet.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 58cc7836925cac287a06da7ec79cd4fb 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Examples/Materials/SemiTransparent.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 8 6 | m_ObjectHideFlags: 0 7 | m_CorrespondingSourceObject: {fileID: 0} 8 | m_PrefabInstance: {fileID: 0} 9 | m_PrefabAsset: {fileID: 0} 10 | m_Name: SemiTransparent 11 | m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} 12 | m_Parent: {fileID: 0} 13 | m_ModifiedSerializedProperties: 0 14 | m_ValidKeywords: 15 | - _SURFACE_TYPE_TRANSPARENT 16 | m_InvalidKeywords: [] 17 | m_LightmapFlags: 4 18 | m_EnableInstancingVariants: 0 19 | m_DoubleSidedGI: 0 20 | m_CustomRenderQueue: 3000 21 | stringTagMap: 22 | RenderType: Transparent 23 | disabledShaderPasses: 24 | - DepthOnly 25 | - SHADOWCASTER 26 | m_LockedProperties: 27 | m_SavedProperties: 28 | serializedVersion: 3 29 | m_TexEnvs: 30 | - _BaseMap: 31 | m_Texture: {fileID: 0} 32 | m_Scale: {x: 1, y: 1} 33 | m_Offset: {x: 0, y: 0} 34 | - _BumpMap: 35 | m_Texture: {fileID: 0} 36 | m_Scale: {x: 1, y: 1} 37 | m_Offset: {x: 0, y: 0} 38 | - _DetailAlbedoMap: 39 | m_Texture: {fileID: 0} 40 | m_Scale: {x: 1, y: 1} 41 | m_Offset: {x: 0, y: 0} 42 | - _DetailMask: 43 | m_Texture: {fileID: 0} 44 | m_Scale: {x: 1, y: 1} 45 | m_Offset: {x: 0, y: 0} 46 | - _DetailNormalMap: 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 | - _MainTex: 55 | m_Texture: {fileID: 0} 56 | m_Scale: {x: 1, y: 1} 57 | m_Offset: {x: 0, y: 0} 58 | - _MetallicGlossMap: 59 | m_Texture: {fileID: 0} 60 | m_Scale: {x: 1, y: 1} 61 | m_Offset: {x: 0, y: 0} 62 | - _OcclusionMap: 63 | m_Texture: {fileID: 0} 64 | m_Scale: {x: 1, y: 1} 65 | m_Offset: {x: 0, y: 0} 66 | - _ParallaxMap: 67 | m_Texture: {fileID: 0} 68 | m_Scale: {x: 1, y: 1} 69 | m_Offset: {x: 0, y: 0} 70 | - _SpecGlossMap: 71 | m_Texture: {fileID: 0} 72 | m_Scale: {x: 1, y: 1} 73 | m_Offset: {x: 0, y: 0} 74 | - unity_Lightmaps: 75 | m_Texture: {fileID: 0} 76 | m_Scale: {x: 1, y: 1} 77 | m_Offset: {x: 0, y: 0} 78 | - unity_LightmapsInd: 79 | m_Texture: {fileID: 0} 80 | m_Scale: {x: 1, y: 1} 81 | m_Offset: {x: 0, y: 0} 82 | - unity_ShadowMasks: 83 | m_Texture: {fileID: 0} 84 | m_Scale: {x: 1, y: 1} 85 | m_Offset: {x: 0, y: 0} 86 | m_Ints: [] 87 | m_Floats: 88 | - _AlphaClip: 0 89 | - _AlphaToMask: 0 90 | - _Blend: 0 91 | - _BlendModePreserveSpecular: 0 92 | - _BumpScale: 1 93 | - _ClearCoatMask: 0 94 | - _ClearCoatSmoothness: 0 95 | - _Cull: 2 96 | - _Cutoff: 0.5 97 | - _DetailAlbedoMapScale: 1 98 | - _DetailNormalMapScale: 1 99 | - _DstBlend: 10 100 | - _DstBlendAlpha: 10 101 | - _EnvironmentReflections: 1 102 | - _GlossMapScale: 0 103 | - _Glossiness: 0 104 | - _GlossyReflections: 0 105 | - _Metallic: 0 106 | - _OcclusionStrength: 1 107 | - _Parallax: 0.005 108 | - _QueueOffset: 0 109 | - _ReceiveShadows: 1 110 | - _Smoothness: 0 111 | - _SmoothnessTextureChannel: 0 112 | - _SpecularHighlights: 1 113 | - _SrcBlend: 5 114 | - _SrcBlendAlpha: 1 115 | - _Surface: 1 116 | - _WorkflowMode: 1 117 | - _ZWrite: 0 118 | m_Colors: 119 | - _BaseColor: {r: 1, g: 0.725698, b: 0, a: 0.72156864} 120 | - _Color: {r: 1, g: 0.725698, b: 0, a: 0.72156864} 121 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 122 | - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} 123 | m_BuildTextureStacks: [] 124 | --- !u!114 &897518918569486611 125 | MonoBehaviour: 126 | m_ObjectHideFlags: 11 127 | m_CorrespondingSourceObject: {fileID: 0} 128 | m_PrefabInstance: {fileID: 0} 129 | m_PrefabAsset: {fileID: 0} 130 | m_GameObject: {fileID: 0} 131 | m_Enabled: 1 132 | m_EditorHideFlags: 0 133 | m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} 134 | m_Name: 135 | m_EditorClassIdentifier: 136 | version: 7 137 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Examples/Materials/SemiTransparent.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a0dbd03d7dac22b76865c2878e4be7fc 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Examples/Materials/Solid.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ce576c69633cda513907f59965651d6e 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Examples/Materials/Sun.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 8 6 | m_ObjectHideFlags: 0 7 | m_CorrespondingSourceObject: {fileID: 0} 8 | m_PrefabInstance: {fileID: 0} 9 | m_PrefabAsset: {fileID: 0} 10 | m_Name: Sun 11 | m_Shader: {fileID: 4800000, guid: 3b1325f1bafea0dab9c98d0f2f513254, type: 3} 12 | m_Parent: {fileID: 0} 13 | m_ModifiedSerializedProperties: 0 14 | m_ValidKeywords: [] 15 | m_InvalidKeywords: [] 16 | m_LightmapFlags: 4 17 | m_EnableInstancingVariants: 0 18 | m_DoubleSidedGI: 0 19 | m_CustomRenderQueue: -1 20 | stringTagMap: {} 21 | disabledShaderPasses: [] 22 | m_LockedProperties: 23 | m_SavedProperties: 24 | serializedVersion: 3 25 | m_TexEnvs: 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 | - _EmissionMap: 47 | m_Texture: {fileID: 0} 48 | m_Scale: {x: 1, y: 1} 49 | m_Offset: {x: 0, y: 0} 50 | - _MainTex: 51 | m_Texture: {fileID: 0} 52 | m_Scale: {x: 1, y: 1} 53 | m_Offset: {x: 0, y: 0} 54 | - _MetallicGlossMap: 55 | m_Texture: {fileID: 0} 56 | m_Scale: {x: 1, y: 1} 57 | m_Offset: {x: 0, y: 0} 58 | - _OcclusionMap: 59 | m_Texture: {fileID: 0} 60 | m_Scale: {x: 1, y: 1} 61 | m_Offset: {x: 0, y: 0} 62 | - _ParallaxMap: 63 | m_Texture: {fileID: 0} 64 | m_Scale: {x: 1, y: 1} 65 | m_Offset: {x: 0, y: 0} 66 | - _SpecGlossMap: 67 | m_Texture: {fileID: 0} 68 | m_Scale: {x: 1, y: 1} 69 | m_Offset: {x: 0, y: 0} 70 | - unity_Lightmaps: 71 | m_Texture: {fileID: 0} 72 | m_Scale: {x: 1, y: 1} 73 | m_Offset: {x: 0, y: 0} 74 | - unity_LightmapsInd: 75 | m_Texture: {fileID: 0} 76 | m_Scale: {x: 1, y: 1} 77 | m_Offset: {x: 0, y: 0} 78 | - unity_ShadowMasks: 79 | m_Texture: {fileID: 0} 80 | m_Scale: {x: 1, y: 1} 81 | m_Offset: {x: 0, y: 0} 82 | m_Ints: [] 83 | m_Floats: 84 | - _AlphaClip: 0 85 | - _AlphaToMask: 0 86 | - _Blend: 0 87 | - _BlendModePreserveSpecular: 1 88 | - _BlendOp: 0 89 | - _BumpScale: 1 90 | - _ClearCoatMask: 0 91 | - _ClearCoatSmoothness: 0 92 | - _Cull: 2 93 | - _Cutoff: 0.5 94 | - _DetailAlbedoMapScale: 1 95 | - _DetailNormalMapScale: 1 96 | - _DstBlend: 0 97 | - _DstBlendAlpha: 0 98 | - _EnvironmentReflections: 1 99 | - _GlossMapScale: 0 100 | - _Glossiness: 0 101 | - _GlossyReflections: 0 102 | - _Glow: 150 103 | - _Metallic: 0 104 | - _OcclusionStrength: 1 105 | - _Parallax: 0.005 106 | - _QueueOffset: 0 107 | - _ReceiveShadows: 1 108 | - _SampleGI: 0 109 | - _Smoothness: 0.5 110 | - _SmoothnessTextureChannel: 0 111 | - _SpecularHighlights: 1 112 | - _SrcBlend: 1 113 | - _SrcBlendAlpha: 1 114 | - _Surface: 0 115 | - _WorkflowMode: 1 116 | - _ZWrite: 1 117 | m_Colors: 118 | - _BaseColor: {r: 1, g: 1, b: 1, a: 1} 119 | - _Color: {r: 1, g: 1, b: 1, a: 1} 120 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 121 | - _MainColor: {r: 1, g: 0.95, b: 0.8, a: 4} 122 | - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} 123 | m_BuildTextureStacks: [] 124 | --- !u!114 &4269312345645882190 125 | MonoBehaviour: 126 | m_ObjectHideFlags: 11 127 | m_CorrespondingSourceObject: {fileID: 0} 128 | m_PrefabInstance: {fileID: 0} 129 | m_PrefabAsset: {fileID: 0} 130 | m_GameObject: {fileID: 0} 131 | m_Enabled: 1 132 | m_EditorHideFlags: 0 133 | m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} 134 | m_Name: 135 | m_EditorClassIdentifier: 136 | version: 7 137 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Examples/Materials/Sun.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 74331ce8755c64990afaf3fc2bd257f8 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Examples/Meshes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ed925b41ee8955fd1a6ed777ed0291c5 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Examples/Meshes/highSubdivIcosphere.obj.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cae0739c93e23c59a90dba4bd02b636e 3 | ModelImporter: 4 | serializedVersion: 21202 5 | internalIDToNameTable: [] 6 | externalObjects: {} 7 | materials: 8 | materialImportMode: 0 9 | materialName: 0 10 | materialSearch: 1 11 | materialLocation: 1 12 | animations: 13 | legacyGenerateAnimations: 4 14 | bakeSimulation: 0 15 | resampleCurves: 1 16 | optimizeGameObjects: 0 17 | removeConstantScaleCurves: 1 18 | motionNodeName: 19 | rigImportErrors: 20 | rigImportWarnings: 21 | animationImportErrors: 22 | animationImportWarnings: 23 | animationRetargetingWarnings: 24 | animationDoRetargetingWarnings: 0 25 | importAnimatedCustomProperties: 0 26 | importConstraints: 0 27 | animationCompression: 1 28 | animationRotationError: 0.5 29 | animationPositionError: 0.5 30 | animationScaleError: 0.5 31 | animationWrapMode: 0 32 | extraExposedTransformPaths: [] 33 | extraUserProperties: [] 34 | clipAnimations: [] 35 | isReadable: 0 36 | meshes: 37 | lODScreenPercentages: [] 38 | globalScale: 1 39 | meshCompression: 1 40 | addColliders: 0 41 | useSRGBMaterialColor: 1 42 | sortHierarchyByName: 0 43 | importVisibility: 0 44 | importBlendShapes: 0 45 | importCameras: 0 46 | importLights: 0 47 | nodeNameCollisionStrategy: 1 48 | fileIdsGeneration: 2 49 | swapUVChannels: 0 50 | generateSecondaryUV: 0 51 | useFileUnits: 1 52 | keepQuads: 0 53 | weldVertices: 1 54 | bakeAxisConversion: 0 55 | preserveHierarchy: 0 56 | skinWeightsMode: 0 57 | maxBonesPerVertex: 4 58 | minBoneWeight: 0.001 59 | optimizeBones: 1 60 | meshOptimizationFlags: -1 61 | indexFormat: 0 62 | secondaryUVAngleDistortion: 8 63 | secondaryUVAreaDistortion: 15.000001 64 | secondaryUVHardAngle: 88 65 | secondaryUVMarginMethod: 1 66 | secondaryUVMinLightmapResolution: 40 67 | secondaryUVMinObjectScale: 1 68 | secondaryUVPackMargin: 4 69 | useFileScale: 1 70 | tangentSpace: 71 | normalSmoothAngle: 60 72 | normalImportMode: 0 73 | tangentImportMode: 3 74 | normalCalculationMode: 4 75 | legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 76 | blendShapeNormalImportMode: 1 77 | normalSmoothingSource: 0 78 | referencedClips: [] 79 | importAnimation: 0 80 | humanDescription: 81 | serializedVersion: 3 82 | human: [] 83 | skeleton: [] 84 | armTwist: 0.5 85 | foreArmTwist: 0.5 86 | upperLegTwist: 0.5 87 | legTwist: 0.5 88 | armStretch: 0.05 89 | legStretch: 0.05 90 | feetSpacing: 0 91 | globalScale: 1 92 | rootMotionBoneName: 93 | hasTranslationDoF: 0 94 | hasExtraRoot: 0 95 | skeletonHasParents: 1 96 | lastHumanDescriptionAvatarSource: {instanceID: 0} 97 | autoGenerateAvatarMappingIfUnspecified: 1 98 | animationType: 0 99 | humanoidOversampling: 1 100 | avatarSetup: 0 101 | addHumanoidExtraRootOnlyWhenUsingAvatar: 1 102 | additionalBone: 0 103 | userData: 104 | assetBundleName: 105 | assetBundleVariant: 106 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Examples/Profiles.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f659bdb59f7a15f3d8f00a6e7a305b36 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Examples/Profiles/DefaultAtmosphereProfile.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: 3809d83b02c81406f940133c41e93bf5, type: 3} 13 | m_Name: DefaultAtmosphereProfile 14 | m_EditorClassIdentifier: 15 | textureSize: 128 16 | opticalDepthCompute: {fileID: 7200000, guid: 9b0dc6063958035b09e19d4bfa8cf7bd, type: 3} 17 | opticalDepthPoints: 15 18 | inScatteringPoints: 25 19 | sunIntensity: 20 20 | rayleighScatter: 21 | red: 0.139 22 | green: 0.175 23 | blue: 0.21 24 | power: 2 25 | rayleighDensityFalloff: 15 26 | mieScatter: 27 | red: 0.25 28 | green: 0.2375 29 | blue: 0.2 30 | power: 0.1 31 | mieDensityFalloff: 15 32 | mieG: 0.97 33 | heightAbsorbtion: 0 34 | absorbtionColor: {r: 0, g: 0, b: 0, a: 0} 35 | ambientColor: {r: 0, g: 0, b: 0, a: 1} 36 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Examples/Profiles/DefaultAtmosphereProfile.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b8faef2ec146c4e9bb228e31ad6e063d 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Examples/Profiles/ExoplanetProfile.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: 3809d83b02c81406f940133c41e93bf5, type: 3} 13 | m_Name: ExoplanetProfile 14 | m_EditorClassIdentifier: 15 | textureSize: 128 16 | opticalDepthCompute: {fileID: 7200000, guid: 9b0dc6063958035b09e19d4bfa8cf7bd, type: 3} 17 | opticalDepthPoints: 15 18 | inScatteringPoints: 20 19 | sunIntensity: 25 20 | rayleighScatter: 21 | red: 0.10357914 22 | green: 0.17244332 23 | blue: 0.13492526 24 | power: 10 25 | rayleighDensityFalloff: 16.2 26 | mieScatter: 27 | red: 0.25 28 | green: 0.119696856 29 | blue: 0.13312954 30 | power: 1.5 31 | mieDensityFalloff: 63.3 32 | mieG: 0.979 33 | heightAbsorbtion: 0 34 | absorbtionColor: {r: 0, g: 0, b: 0, a: 0} 35 | ambientColor: {r: 0, g: 0, b: 0, a: 1} 36 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Examples/Profiles/ExoplanetProfile.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1fd98a0c6057b31d0823feba3941c565 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Examples/Textures.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3295fd260f3d4fba8aa374f3fc172061 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Examples/Textures/albedo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sinnwrig/URP-Atmosphere/472e0224bdb4b8eb19b84e560b207e638d0b0aed/Assets/Atmosphere/Examples/Textures/albedo.jpg -------------------------------------------------------------------------------- /Assets/Atmosphere/Examples/Textures/albedo.jpg.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2ea8b259e33632536acd5b5a2bdde419 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 12 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 | flipGreenChannel: 0 24 | isReadable: 0 25 | streamingMipmaps: 0 26 | streamingMipmapsPriority: 0 27 | vTOnly: 0 28 | ignoreMipmapLimit: 0 29 | grayScaleToAlpha: 0 30 | generateCubemap: 6 31 | cubemapConvolution: 0 32 | seamlessCubemap: 0 33 | textureFormat: 1 34 | maxTextureSize: 2048 35 | textureSettings: 36 | serializedVersion: 2 37 | filterMode: 1 38 | aniso: 1 39 | mipBias: 0 40 | wrapU: 0 41 | wrapV: 0 42 | wrapW: 0 43 | nPOTScale: 1 44 | lightmap: 0 45 | compressionQuality: 50 46 | spriteMode: 0 47 | spriteExtrude: 1 48 | spriteMeshType: 1 49 | alignment: 0 50 | spritePivot: {x: 0.5, y: 0.5} 51 | spritePixelsToUnits: 100 52 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 53 | spriteGenerateFallbackPhysicsShape: 1 54 | alphaUsage: 1 55 | alphaIsTransparency: 0 56 | spriteTessellationDetail: -1 57 | textureType: 0 58 | textureShape: 1 59 | singleChannelComponent: 0 60 | flipbookRows: 1 61 | flipbookColumns: 1 62 | maxTextureSizeSet: 0 63 | compressionQualitySet: 0 64 | textureFormatSet: 0 65 | ignorePngGamma: 0 66 | applyGammaDecoding: 0 67 | swizzle: 50462976 68 | cookieLightType: 0 69 | platformSettings: 70 | - serializedVersion: 3 71 | buildTarget: DefaultTexturePlatform 72 | maxTextureSize: 2048 73 | resizeAlgorithm: 0 74 | textureFormat: -1 75 | textureCompression: 1 76 | compressionQuality: 50 77 | crunchedCompression: 0 78 | allowsAlphaSplitting: 0 79 | overridden: 0 80 | ignorePlatformSupport: 0 81 | androidETC2FallbackOverride: 0 82 | forceMaximumCompressionQuality_BC6H_BC7: 0 83 | - serializedVersion: 3 84 | buildTarget: Standalone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 1 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | ignorePlatformSupport: 0 94 | androidETC2FallbackOverride: 0 95 | forceMaximumCompressionQuality_BC6H_BC7: 0 96 | - serializedVersion: 3 97 | buildTarget: Server 98 | maxTextureSize: 2048 99 | resizeAlgorithm: 0 100 | textureFormat: -1 101 | textureCompression: 1 102 | compressionQuality: 50 103 | crunchedCompression: 0 104 | allowsAlphaSplitting: 0 105 | overridden: 0 106 | ignorePlatformSupport: 0 107 | androidETC2FallbackOverride: 0 108 | forceMaximumCompressionQuality_BC6H_BC7: 0 109 | spriteSheet: 110 | serializedVersion: 2 111 | sprites: [] 112 | outline: [] 113 | physicsShape: [] 114 | bones: [] 115 | spriteID: 116 | internalID: 0 117 | vertices: [] 118 | indices: 119 | edges: [] 120 | weights: [] 121 | secondaryTextures: [] 122 | nameFileIdTable: {} 123 | mipmapLimitGroupName: 124 | pSDRemoveMatte: 0 125 | userData: 126 | assetBundleName: 127 | assetBundleVariant: 128 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Examples/Textures/bump.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sinnwrig/URP-Atmosphere/472e0224bdb4b8eb19b84e560b207e638d0b0aed/Assets/Atmosphere/Examples/Textures/bump.jpg -------------------------------------------------------------------------------- /Assets/Atmosphere/Examples/Textures/bump.jpg.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c833570398489b2a5bf10620f50c1c9d 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 12 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 | flipGreenChannel: 0 24 | isReadable: 0 25 | streamingMipmaps: 0 26 | streamingMipmapsPriority: 0 27 | vTOnly: 0 28 | ignoreMipmapLimit: 0 29 | grayScaleToAlpha: 0 30 | generateCubemap: 6 31 | cubemapConvolution: 0 32 | seamlessCubemap: 0 33 | textureFormat: 1 34 | maxTextureSize: 2048 35 | textureSettings: 36 | serializedVersion: 2 37 | filterMode: 1 38 | aniso: 1 39 | mipBias: 0 40 | wrapU: 1 41 | wrapV: 1 42 | wrapW: 0 43 | nPOTScale: 1 44 | lightmap: 0 45 | compressionQuality: 50 46 | spriteMode: 0 47 | spriteExtrude: 1 48 | spriteMeshType: 1 49 | alignment: 0 50 | spritePivot: {x: 0.5, y: 0.5} 51 | spritePixelsToUnits: 100 52 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 53 | spriteGenerateFallbackPhysicsShape: 1 54 | alphaUsage: 0 55 | alphaIsTransparency: 0 56 | spriteTessellationDetail: -1 57 | textureType: 6 58 | textureShape: 1 59 | singleChannelComponent: 0 60 | flipbookRows: 1 61 | flipbookColumns: 1 62 | maxTextureSizeSet: 0 63 | compressionQualitySet: 0 64 | textureFormatSet: 0 65 | ignorePngGamma: 0 66 | applyGammaDecoding: 0 67 | swizzle: 50462976 68 | cookieLightType: 0 69 | platformSettings: 70 | - serializedVersion: 3 71 | buildTarget: DefaultTexturePlatform 72 | maxTextureSize: 2048 73 | resizeAlgorithm: 0 74 | textureFormat: -1 75 | textureCompression: 1 76 | compressionQuality: 50 77 | crunchedCompression: 0 78 | allowsAlphaSplitting: 0 79 | overridden: 0 80 | ignorePlatformSupport: 0 81 | androidETC2FallbackOverride: 0 82 | forceMaximumCompressionQuality_BC6H_BC7: 0 83 | - serializedVersion: 3 84 | buildTarget: Standalone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 1 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | ignorePlatformSupport: 0 94 | androidETC2FallbackOverride: 0 95 | forceMaximumCompressionQuality_BC6H_BC7: 0 96 | - serializedVersion: 3 97 | buildTarget: Server 98 | maxTextureSize: 2048 99 | resizeAlgorithm: 0 100 | textureFormat: -1 101 | textureCompression: 1 102 | compressionQuality: 50 103 | crunchedCompression: 0 104 | allowsAlphaSplitting: 0 105 | overridden: 0 106 | ignorePlatformSupport: 0 107 | androidETC2FallbackOverride: 0 108 | forceMaximumCompressionQuality_BC6H_BC7: 0 109 | spriteSheet: 110 | serializedVersion: 2 111 | sprites: [] 112 | outline: [] 113 | physicsShape: [] 114 | bones: [] 115 | spriteID: 116 | internalID: 0 117 | vertices: [] 118 | indices: 119 | edges: [] 120 | weights: [] 121 | secondaryTextures: [] 122 | nameFileIdTable: {} 123 | mipmapLimitGroupName: 124 | pSDRemoveMatte: 0 125 | userData: 126 | assetBundleName: 127 | assetBundleVariant: 128 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Examples/Textures/normals.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sinnwrig/URP-Atmosphere/472e0224bdb4b8eb19b84e560b207e638d0b0aed/Assets/Atmosphere/Examples/Textures/normals.jpg -------------------------------------------------------------------------------- /Assets/Atmosphere/Examples/Textures/normals.jpg.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8b161b04be8324e21a51fdc2d9bebcbf 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 12 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 | flipGreenChannel: 0 24 | isReadable: 0 25 | streamingMipmaps: 0 26 | streamingMipmapsPriority: 0 27 | vTOnly: 0 28 | ignoreMipmapLimit: 0 29 | grayScaleToAlpha: 0 30 | generateCubemap: 6 31 | cubemapConvolution: 0 32 | seamlessCubemap: 0 33 | textureFormat: 1 34 | maxTextureSize: 2048 35 | textureSettings: 36 | serializedVersion: 2 37 | filterMode: 1 38 | aniso: 1 39 | mipBias: 0 40 | wrapU: 0 41 | wrapV: 0 42 | wrapW: 0 43 | nPOTScale: 1 44 | lightmap: 0 45 | compressionQuality: 50 46 | spriteMode: 0 47 | spriteExtrude: 1 48 | spriteMeshType: 1 49 | alignment: 0 50 | spritePivot: {x: 0.5, y: 0.5} 51 | spritePixelsToUnits: 100 52 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 53 | spriteGenerateFallbackPhysicsShape: 1 54 | alphaUsage: 1 55 | alphaIsTransparency: 0 56 | spriteTessellationDetail: -1 57 | textureType: 1 58 | textureShape: 1 59 | singleChannelComponent: 0 60 | flipbookRows: 1 61 | flipbookColumns: 1 62 | maxTextureSizeSet: 0 63 | compressionQualitySet: 0 64 | textureFormatSet: 0 65 | ignorePngGamma: 0 66 | applyGammaDecoding: 0 67 | swizzle: 50462976 68 | cookieLightType: 0 69 | platformSettings: 70 | - serializedVersion: 3 71 | buildTarget: DefaultTexturePlatform 72 | maxTextureSize: 2048 73 | resizeAlgorithm: 0 74 | textureFormat: -1 75 | textureCompression: 1 76 | compressionQuality: 50 77 | crunchedCompression: 0 78 | allowsAlphaSplitting: 0 79 | overridden: 0 80 | ignorePlatformSupport: 0 81 | androidETC2FallbackOverride: 0 82 | forceMaximumCompressionQuality_BC6H_BC7: 0 83 | - serializedVersion: 3 84 | buildTarget: Standalone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 1 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | ignorePlatformSupport: 0 94 | androidETC2FallbackOverride: 0 95 | forceMaximumCompressionQuality_BC6H_BC7: 0 96 | - serializedVersion: 3 97 | buildTarget: Server 98 | maxTextureSize: 2048 99 | resizeAlgorithm: 0 100 | textureFormat: -1 101 | textureCompression: 1 102 | compressionQuality: 50 103 | crunchedCompression: 0 104 | allowsAlphaSplitting: 0 105 | overridden: 0 106 | ignorePlatformSupport: 0 107 | androidETC2FallbackOverride: 0 108 | forceMaximumCompressionQuality_BC6H_BC7: 0 109 | spriteSheet: 110 | serializedVersion: 2 111 | sprites: [] 112 | outline: [] 113 | physicsShape: [] 114 | bones: [] 115 | spriteID: 116 | internalID: 0 117 | vertices: [] 118 | indices: 119 | edges: [] 120 | weights: [] 121 | secondaryTextures: [] 122 | nameFileIdTable: {} 123 | mipmapLimitGroupName: 124 | pSDRemoveMatte: 0 125 | userData: 126 | assetBundleName: 127 | assetBundleVariant: 128 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Examples/Textures/nx-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sinnwrig/URP-Atmosphere/472e0224bdb4b8eb19b84e560b207e638d0b0aed/Assets/Atmosphere/Examples/Textures/nx-left.png -------------------------------------------------------------------------------- /Assets/Atmosphere/Examples/Textures/nx-left.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 90027b6dc77e149e699ce6740557c847 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 9 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 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: 1 40 | nPOTScale: 1 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 0 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 0 53 | spriteTessellationDetail: -1 54 | textureType: 0 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | platformSettings: 61 | - serializedVersion: 2 62 | buildTarget: DefaultTexturePlatform 63 | maxTextureSize: 2048 64 | resizeAlgorithm: 0 65 | textureFormat: -1 66 | textureCompression: 1 67 | compressionQuality: 50 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 0 71 | androidETC2FallbackOverride: 0 72 | spriteSheet: 73 | serializedVersion: 2 74 | sprites: [] 75 | outline: [] 76 | physicsShape: [] 77 | bones: [] 78 | spriteID: 79 | vertices: [] 80 | indices: 81 | edges: [] 82 | weights: [] 83 | spritePackingTag: 84 | pSDRemoveMatte: 0 85 | pSDShowRemoveMatteOption: 0 86 | userData: 87 | assetBundleName: 88 | assetBundleVariant: 89 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Examples/Textures/ny-bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sinnwrig/URP-Atmosphere/472e0224bdb4b8eb19b84e560b207e638d0b0aed/Assets/Atmosphere/Examples/Textures/ny-bottom.png -------------------------------------------------------------------------------- /Assets/Atmosphere/Examples/Textures/ny-bottom.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3c205b6597de0471ea1b51e5abcd8905 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 9 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 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: 1 40 | nPOTScale: 1 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 0 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 0 53 | spriteTessellationDetail: -1 54 | textureType: 0 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | platformSettings: 61 | - serializedVersion: 2 62 | buildTarget: DefaultTexturePlatform 63 | maxTextureSize: 2048 64 | resizeAlgorithm: 0 65 | textureFormat: -1 66 | textureCompression: 1 67 | compressionQuality: 50 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 0 71 | androidETC2FallbackOverride: 0 72 | spriteSheet: 73 | serializedVersion: 2 74 | sprites: [] 75 | outline: [] 76 | physicsShape: [] 77 | bones: [] 78 | spriteID: 79 | vertices: [] 80 | indices: 81 | edges: [] 82 | weights: [] 83 | spritePackingTag: 84 | pSDRemoveMatte: 0 85 | pSDShowRemoveMatteOption: 0 86 | userData: 87 | assetBundleName: 88 | assetBundleVariant: 89 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Examples/Textures/nz-back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sinnwrig/URP-Atmosphere/472e0224bdb4b8eb19b84e560b207e638d0b0aed/Assets/Atmosphere/Examples/Textures/nz-back.png -------------------------------------------------------------------------------- /Assets/Atmosphere/Examples/Textures/nz-back.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 79eae57ae44b343108f8741f8cfc368e 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 9 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 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: 1 40 | nPOTScale: 1 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 0 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 0 53 | spriteTessellationDetail: -1 54 | textureType: 0 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | platformSettings: 61 | - serializedVersion: 2 62 | buildTarget: DefaultTexturePlatform 63 | maxTextureSize: 2048 64 | resizeAlgorithm: 0 65 | textureFormat: -1 66 | textureCompression: 1 67 | compressionQuality: 50 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 0 71 | androidETC2FallbackOverride: 0 72 | spriteSheet: 73 | serializedVersion: 2 74 | sprites: [] 75 | outline: [] 76 | physicsShape: [] 77 | bones: [] 78 | spriteID: 79 | vertices: [] 80 | indices: 81 | edges: [] 82 | weights: [] 83 | spritePackingTag: 84 | pSDRemoveMatte: 0 85 | pSDShowRemoveMatteOption: 0 86 | userData: 87 | assetBundleName: 88 | assetBundleVariant: 89 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Examples/Textures/px-Right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sinnwrig/URP-Atmosphere/472e0224bdb4b8eb19b84e560b207e638d0b0aed/Assets/Atmosphere/Examples/Textures/px-Right.png -------------------------------------------------------------------------------- /Assets/Atmosphere/Examples/Textures/px-Right.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d74ca7b59920346e180ff662f23625f4 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 9 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 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: 1 40 | nPOTScale: 1 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 0 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 0 53 | spriteTessellationDetail: -1 54 | textureType: 0 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | platformSettings: 61 | - serializedVersion: 2 62 | buildTarget: DefaultTexturePlatform 63 | maxTextureSize: 2048 64 | resizeAlgorithm: 0 65 | textureFormat: -1 66 | textureCompression: 1 67 | compressionQuality: 50 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 0 71 | androidETC2FallbackOverride: 0 72 | spriteSheet: 73 | serializedVersion: 2 74 | sprites: [] 75 | outline: [] 76 | physicsShape: [] 77 | bones: [] 78 | spriteID: 79 | vertices: [] 80 | indices: 81 | edges: [] 82 | weights: [] 83 | spritePackingTag: 84 | pSDRemoveMatte: 0 85 | pSDShowRemoveMatteOption: 0 86 | userData: 87 | assetBundleName: 88 | assetBundleVariant: 89 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Examples/Textures/py-top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sinnwrig/URP-Atmosphere/472e0224bdb4b8eb19b84e560b207e638d0b0aed/Assets/Atmosphere/Examples/Textures/py-top.png -------------------------------------------------------------------------------- /Assets/Atmosphere/Examples/Textures/py-top.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: aa598f0330a8c4525aef12a4d574e12e 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 9 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 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: 1 40 | nPOTScale: 1 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 0 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 0 53 | spriteTessellationDetail: -1 54 | textureType: 0 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | platformSettings: 61 | - serializedVersion: 2 62 | buildTarget: DefaultTexturePlatform 63 | maxTextureSize: 2048 64 | resizeAlgorithm: 0 65 | textureFormat: -1 66 | textureCompression: 1 67 | compressionQuality: 50 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 0 71 | androidETC2FallbackOverride: 0 72 | spriteSheet: 73 | serializedVersion: 2 74 | sprites: [] 75 | outline: [] 76 | physicsShape: [] 77 | bones: [] 78 | spriteID: 79 | vertices: [] 80 | indices: 81 | edges: [] 82 | weights: [] 83 | spritePackingTag: 84 | pSDRemoveMatte: 0 85 | pSDShowRemoveMatteOption: 0 86 | userData: 87 | assetBundleName: 88 | assetBundleVariant: 89 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Examples/Textures/pz-front.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sinnwrig/URP-Atmosphere/472e0224bdb4b8eb19b84e560b207e638d0b0aed/Assets/Atmosphere/Examples/Textures/pz-front.png -------------------------------------------------------------------------------- /Assets/Atmosphere/Examples/Textures/pz-front.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fae3ee3c6b4a04f408a9c0ca04227a16 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 9 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 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: 1 40 | nPOTScale: 1 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 0 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 0 53 | spriteTessellationDetail: -1 54 | textureType: 0 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | platformSettings: 61 | - serializedVersion: 2 62 | buildTarget: DefaultTexturePlatform 63 | maxTextureSize: 2048 64 | resizeAlgorithm: 0 65 | textureFormat: -1 66 | textureCompression: 1 67 | compressionQuality: 50 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 0 71 | androidETC2FallbackOverride: 0 72 | spriteSheet: 73 | serializedVersion: 2 74 | sprites: [] 75 | outline: [] 76 | physicsShape: [] 77 | bones: [] 78 | spriteID: 79 | vertices: [] 80 | indices: 81 | edges: [] 82 | weights: [] 83 | spritePackingTag: 84 | pSDRemoveMatte: 0 85 | pSDShowRemoveMatteOption: 0 86 | userData: 87 | assetBundleName: 88 | assetBundleVariant: 89 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Readme.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1b25a3df9ec7fbccda04e8c0d5d704b0 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Readme/Icons.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e5900c42b116fa31ba2c85d68c0faf56 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Readme/Icons/Help_Icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sinnwrig/URP-Atmosphere/472e0224bdb4b8eb19b84e560b207e638d0b0aed/Assets/Atmosphere/Readme/Icons/Help_Icon.png -------------------------------------------------------------------------------- /Assets/Atmosphere/Readme/Icons/Help_Icon.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a186f8a87ca4f4d3aa864638ad5dfb65 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 12 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 | flipGreenChannel: 0 24 | isReadable: 0 25 | streamingMipmaps: 0 26 | streamingMipmapsPriority: 0 27 | vTOnly: 0 28 | ignoreMipmapLimit: 0 29 | grayScaleToAlpha: 0 30 | generateCubemap: 6 31 | cubemapConvolution: 0 32 | seamlessCubemap: 0 33 | textureFormat: 1 34 | maxTextureSize: 2048 35 | textureSettings: 36 | serializedVersion: 2 37 | filterMode: 1 38 | aniso: 1 39 | mipBias: 0 40 | wrapU: 0 41 | wrapV: 0 42 | wrapW: 0 43 | nPOTScale: 1 44 | lightmap: 0 45 | compressionQuality: 50 46 | spriteMode: 0 47 | spriteExtrude: 1 48 | spriteMeshType: 1 49 | alignment: 0 50 | spritePivot: {x: 0.5, y: 0.5} 51 | spritePixelsToUnits: 100 52 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 53 | spriteGenerateFallbackPhysicsShape: 1 54 | alphaUsage: 1 55 | alphaIsTransparency: 0 56 | spriteTessellationDetail: -1 57 | textureType: 0 58 | textureShape: 1 59 | singleChannelComponent: 0 60 | flipbookRows: 1 61 | flipbookColumns: 1 62 | maxTextureSizeSet: 0 63 | compressionQualitySet: 0 64 | textureFormatSet: 0 65 | ignorePngGamma: 0 66 | applyGammaDecoding: 0 67 | swizzle: 50462976 68 | cookieLightType: 0 69 | platformSettings: 70 | - serializedVersion: 3 71 | buildTarget: DefaultTexturePlatform 72 | maxTextureSize: 2048 73 | resizeAlgorithm: 0 74 | textureFormat: -1 75 | textureCompression: 1 76 | compressionQuality: 50 77 | crunchedCompression: 0 78 | allowsAlphaSplitting: 0 79 | overridden: 0 80 | ignorePlatformSupport: 0 81 | androidETC2FallbackOverride: 0 82 | forceMaximumCompressionQuality_BC6H_BC7: 0 83 | - serializedVersion: 3 84 | buildTarget: Standalone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 1 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | ignorePlatformSupport: 0 94 | androidETC2FallbackOverride: 0 95 | forceMaximumCompressionQuality_BC6H_BC7: 0 96 | - serializedVersion: 3 97 | buildTarget: Server 98 | maxTextureSize: 2048 99 | resizeAlgorithm: 0 100 | textureFormat: -1 101 | textureCompression: 1 102 | compressionQuality: 50 103 | crunchedCompression: 0 104 | allowsAlphaSplitting: 0 105 | overridden: 0 106 | ignorePlatformSupport: 0 107 | androidETC2FallbackOverride: 0 108 | forceMaximumCompressionQuality_BC6H_BC7: 0 109 | spriteSheet: 110 | serializedVersion: 2 111 | sprites: [] 112 | outline: [] 113 | physicsShape: [] 114 | bones: [] 115 | spriteID: 116 | internalID: 0 117 | vertices: [] 118 | indices: 119 | edges: [] 120 | weights: [] 121 | secondaryTextures: [] 122 | nameFileIdTable: {} 123 | mipmapLimitGroupName: 124 | pSDRemoveMatte: 0 125 | userData: 126 | assetBundleName: 127 | assetBundleVariant: 128 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Readme/Performance.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: fcf7219bab7fe46a1ad266029b2fee19, type: 3} 13 | m_Name: Performance 14 | m_EditorClassIdentifier: 15 | icon: {fileID: 2800000, guid: d65d8d1a0d64979c3a236ef2f1333349, type: 3} 16 | title: Performance Considerations 17 | sections: 18 | - name: Header -Effect Co... 19 | heading: Effect Complexity 20 | text: Depending on the amount of effects present on screen at any given time 21 | and the effect settings, Atmospheres may take up a considerable amount of rendering 22 | time and memory. Each active Atmosphere Effect has to manage an internal texture 23 | for baking, which while not overly big, can build up if multiple effects are 24 | being used. The effect also makes use of compute shaders, loops and transcendential 25 | math functions in shaders, so make sure to check platform support and take 26 | it into consideration on lower-end hardware. 27 | linkText: 28 | url: 29 | - name: Header -Optimizin... 30 | heading: Optimizing Atmospheres 31 | text: 'If atmospheres are heavily impacting your performance, a few steps can 32 | be taken to reduce the amount of resources they use. 33 | 34 | 35 | By minimizing 36 | the amount of Atmosphere Effects visible at any given time, performance 37 | can be improved. 38 | 39 | 40 | The more expensive settings in the Atmosphere Profile 41 | can also be tweaked to improve performance. 42 | 43 | Reducing the InScatterPoints 44 | value will have the most drastic effect on rendering times but will impact 45 | visual quality and banding. 46 | 47 | Reducing LUTSize and OpticalDepthPoints 48 | will improve memory usage and baking time on startup. 49 | 50 | Using a Directional 51 | sun in the Atmosphere Effect will also reduce the amount of computations the 52 | shader will have to do.' 53 | linkText: 54 | url: 55 | links: 56 | - name: Quickstart Guide 57 | linkedReadme: {fileID: 11400000, guid: 83c2ed844a8c74b779a4c823d16594b1, type: 2} 58 | buttonHeight: 25 59 | isSourceReadme: 0 60 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Readme/Performance.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 16323150f78716b9180af7cc5a6c829a 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Readme/Quickstart.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: fcf7219bab7fe46a1ad266029b2fee19, type: 3} 13 | m_Name: Quickstart 14 | m_EditorClassIdentifier: 15 | icon: {fileID: 2800000, guid: d65d8d1a0d64979c3a236ef2f1333349, type: 3} 16 | title: Volumetric Atmospheres for URP - Quick Start 17 | sections: 18 | - name: Header -Initial R... 19 | heading: Initial Renderer Feature Setup 20 | text: "To begin adding Atmospheric Volumes to your scenes, add the AtmosphereRenderFeature 21 | to the currently active URP renderer(s). \n\n If errors regarding missing shaders/materials 22 | appear, they should only appear once and can be cleared." 23 | linkText: 24 | url: 25 | - name: Header -Creating ... 26 | heading: Creating an Atmosphere Profile 27 | text: "To create an atmosphere profile, right click in your project folder and 28 | select \xBBCreate/Atmosphere/Atmosphere Profile. The profile's default settings 29 | should work out of the box. If not, some tweaking may be required depending 30 | on scene parameters and performance considerations." 31 | linkText: 32 | url: 33 | - name: Header -Adding an... 34 | heading: Adding an Atmosphere to the scene 35 | text: 'To render atmospheres in your scene, add the Atmosphere Effect component 36 | to a GameObject in your scene. 37 | 38 | Assign the previously created atmosphere 39 | profile or any other profile in the Assets folder. 40 | 41 | Assign a transform 42 | to act as a sun in the ''Sun'' field. 43 | 44 | Toggle ''Directional'' on or off 45 | depending on whether or not the sun is infinitely far away such as with a skybox, 46 | or if it is a physical object in your scene. 47 | 48 | Set the Planet Radius and 49 | Cutoff Depth values to match the radius of the planet. 50 | 51 | If there is an 52 | Atmosphere Render Feature on the active renderer, the effect should display 53 | on any cameras with Post Processing enabled. This includes the scene camera.' 54 | linkText: 55 | url: 56 | links: 57 | - name: Troubleshooting 58 | linkedReadme: {fileID: 11400000, guid: 4314b422ef19196c7891d354bb34ac6c, type: 2} 59 | buttonHeight: 25 60 | - name: Performance Considerations 61 | linkedReadme: {fileID: 11400000, guid: 16323150f78716b9180af7cc5a6c829a, type: 2} 62 | buttonHeight: 25 63 | isSourceReadme: 1 64 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Readme/Quickstart.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 83c2ed844a8c74b779a4c823d16594b1 3 | timeCreated: 1484217493 4 | licenseType: Store 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Readme/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0df845148599b992a9b4d728d6793b03 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Readme/Scripts/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4a4bc75da06a8d0209e17984050e334e 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Readme/Scripts/Editor/ReadmeEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 476cc7d7cd9874016adc216baab94a0a 3 | timeCreated: 1484146680 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Readme/Scripts/Editor/ReadmeEditorStyles.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEditor; 4 | using UnityEngine; 5 | 6 | public static class ReadmeEditorStyles 7 | { 8 | private static GUIStyle m_LinkStyle; 9 | public static GUIStyle LinkStyle { get { return m_LinkStyle; } } 10 | 11 | public static GUIStyle TitleStyle { get { return m_TitleStyle; } } 12 | private static GUIStyle m_TitleStyle; 13 | 14 | public static GUIStyle HeadingStyle { get { return m_HeadingStyle; } } 15 | private static GUIStyle m_HeadingStyle; 16 | 17 | public static GUIStyle BodyStyle { get { return m_BodyStyle; } } 18 | private static GUIStyle m_BodyStyle; 19 | 20 | 21 | static ReadmeEditorStyles() 22 | { 23 | m_BodyStyle = new GUIStyle(EditorStyles.label); 24 | m_BodyStyle.wordWrap = true; 25 | m_BodyStyle.fontSize = 14; 26 | m_BodyStyle.richText = true; 27 | 28 | 29 | m_TitleStyle = new GUIStyle(EditorStyles.boldLabel); 30 | m_TitleStyle.fontSize = 30; 31 | m_TitleStyle.wordWrap = true; 32 | m_TitleStyle.alignment = TextAnchor.MiddleLeft; 33 | m_TitleStyle.richText = true; 34 | 35 | m_HeadingStyle = new GUIStyle(m_TitleStyle); 36 | m_HeadingStyle.fontSize = 18; 37 | 38 | 39 | m_LinkStyle = new GUIStyle(m_BodyStyle); 40 | m_LinkStyle.wordWrap = false; 41 | // Match selection color which works nicely for both light and dark skins 42 | m_LinkStyle.normal.textColor = new Color(0x00 / 255f, 0x78 / 255f, 0xDA / 255f, 1f); 43 | m_LinkStyle.stretchWidth = false; 44 | 45 | } 46 | 47 | public static bool LinkLabel(GUIContent label, params GUILayoutOption[] options) 48 | { 49 | var position = GUILayoutUtility.GetRect(label, ReadmeEditorStyles.LinkStyle, options); 50 | 51 | Handles.BeginGUI(); 52 | Handles.color = ReadmeEditorStyles.LinkStyle.normal.textColor; 53 | Handles.DrawLine(new Vector3(position.xMin, position.yMax), new Vector3(position.xMax, position.yMax)); 54 | Handles.color = Color.white; 55 | Handles.EndGUI(); 56 | 57 | EditorGUIUtility.AddCursorRect(position, MouseCursor.Link); 58 | 59 | return GUI.Button(position, label, ReadmeEditorStyles.LinkStyle); 60 | } 61 | 62 | } -------------------------------------------------------------------------------- /Assets/Atmosphere/Readme/Scripts/Editor/ReadmeEditorStyles.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3b4300d7c301d60cf9668db3658c68f3 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Readme/Scripts/Readme.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | public class Readme : ScriptableObject 5 | { 6 | public Texture2D icon; 7 | public string title; 8 | 9 | public Section[] sections; 10 | public ReadmeLink[] links; 11 | 12 | public bool isSourceReadme = false; 13 | 14 | 15 | [Serializable] 16 | public class ReadmeLink 17 | { 18 | public string name; 19 | public Readme linkedReadme; 20 | public int buttonHeight; 21 | } 22 | 23 | 24 | [Serializable] 25 | public class Section 26 | { 27 | 28 | [HideInInspector] 29 | public string name; 30 | public string heading; 31 | [TextArea(5,255)] 32 | public string text; 33 | public string linkText, url; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Readme/Scripts/Readme.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fcf7219bab7fe46a1ad266029b2fee19 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {fileID: 2800000, guid: a186f8a87ca4f4d3aa864638ad5dfb65, type: 3} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Readme/Troubleshooting.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: fcf7219bab7fe46a1ad266029b2fee19, type: 3} 13 | m_Name: Troubleshooting 14 | m_EditorClassIdentifier: 15 | icon: {fileID: 2800000, guid: d65d8d1a0d64979c3a236ef2f1333349, type: 3} 16 | title: Troubleshooting 17 | sections: 18 | - name: Header -Atmospher... 19 | heading: Atmosphere won't Display in Scene. 20 | text: "There are numerous reasons why Volumetric Atmospheres might not be being 21 | displayed in your scene, and this section will go over the most common points 22 | of failure or oversight.\n\nMissing Render Feature:\nMake sure that 23 | the active URP Renderer has the Atmosphere Render Feature added to its list 24 | of render features. If you have confirmed the render feature is added, check 25 | if the Renderer it is on is the one currently active in your quality settings. 26 | If not, either add it to your active Renderer, or change your quality settings 27 | to use the Renderer with the feature.\n\nInvalid Profile Settings:\nThe 28 | settings on the Atmosphere Effect's Atmosphere Profile may be causing the atmosphere 29 | to not appear at all. If you do not know which one of the values may be causing 30 | the problem, compare them with the default profile values on a new profile.\nThe 31 | most common problem value is the Rayleigh and Mie scattering values. The best 32 | way to quickly check if the values are in the proper range is to use the Color 33 | Picker to inspect the scattering values as a color. If it very dark or black, 34 | it may not display at all.\n\nInvalid Cutoff Depth: \nYour atmosphere 35 | might not be displaying because the cutoff depth is too high or negative. If 36 | this is the issue, it means the atmosphere is cut off before it can render. 37 | Test if setting the cutoff depth value to 0 displays the atmosphere.\n\nPlanet 38 | is too Small: Atmospheres can commonly encounter issues with very small 39 | planet values. Make sure all other values related to scale are in a sensible 40 | range relative to the planet's size.\n\nActive Camera does not have Post-Processing 41 | enabled:\nAtmospheres comply with camera Post-Processing settings, and 42 | will disable/enable themselves depending on whether or not the camera has Post-Processing 43 | enabled. Validate that your game or scene camera has Post-Processing enabled." 44 | linkText: 45 | url: 46 | - name: Header -Atmospher... 47 | heading: Atmosphere has Flickery or Strange Values Going Towards Planet Center. 48 | text: Adjust the Cutoff Depth value to be a reasonable distance from the surface 49 | of the planet. The depth dictates from how far into the planet the effect cuts 50 | off at. You can edit the depth when selecting an Atmosphere Effect in the scene 51 | with the red sphere handle. Make sure it is slightly smaller than the yellow 52 | sphere handle. 53 | linkText: 54 | url: 55 | - name: Header -Other 56 | heading: Other 57 | text: This troubleshooting section can't cover every bug, edge case, or possible 58 | mistake, so feel free to open up an issue on the GitHub repository for this 59 | asset and I'll see if I can provide any help whenever I can. This isn't a paid 60 | asset so don't expect it to consistently be up-to-date and bug-free with every 61 | Unity version. 62 | linkText: https://github.com/Sinnwrig/URP-Atmosphere 63 | url: 64 | links: 65 | - name: Quickstart Guide 66 | linkedReadme: {fileID: 11400000, guid: 83c2ed844a8c74b779a4c823d16594b1, type: 2} 67 | buttonHeight: 25 68 | isSourceReadme: 0 69 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Readme/Troubleshooting.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4314b422ef19196c7891d354bb34ac6c 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Runtime.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d642c8e8f1d0ae380b1fa75895463f08 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Runtime/DepthStack.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 016948f85f19cb8dab8f0d0fb08b8e18 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Runtime/DepthStack/DepthStack.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "DepthStack", 3 | "rootNamespace": "", 4 | "references": [ 5 | "GUID:df380645f10b7bc4b97d4f5eb6303d95", 6 | "GUID:15fc0a57446b3144c949da3e2b9737a9" 7 | ], 8 | "includePlatforms": [], 9 | "excludePlatforms": [], 10 | "allowUnsafeCode": false, 11 | "overrideReferences": false, 12 | "precompiledReferences": [], 13 | "autoReferenced": true, 14 | "defineConstraints": [], 15 | "versionDefines": [], 16 | "noEngineReferences": false 17 | } -------------------------------------------------------------------------------- /Assets/Atmosphere/Runtime/DepthStack/DepthStack.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 11c8c5edcc47767479cbc8adc57d3dba 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Runtime/DepthStack/Includes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 781833f0d96d315d29ec648be0b0af8d 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Runtime/DepthStack/Includes/Common.hlsl: -------------------------------------------------------------------------------- 1 | #ifndef GENERAL_INCLUDED 2 | #define GENERAL_INCLUDED 3 | 4 | // Defines all the defult unity shader variables and includes commonly-used files. 5 | 6 | #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl" 7 | 8 | float4x4 unity_ObjectToWorld; 9 | float4x4 unity_WorldToObject; 10 | float4x4 unity_PrevObjectToWorldArray; 11 | float4x4 unity_PrevWorldToObjectArray; 12 | real4 unity_WorldTransformParams; 13 | 14 | float4x4 unity_MatrixVP; 15 | float4x4 unity_MatrixV; 16 | float4x4 unity_PrevMatrixV; 17 | float4x4 glstate_matrix_projection; 18 | 19 | float4x4 unity_CameraProjection; 20 | float4x4 unity_CameraInvProjection; 21 | float4x4 unity_CameraToWorld; 22 | 23 | float4 _ScreenParams; 24 | float4 _ZBufferParams; 25 | float4 unity_OrthoParams; 26 | float4 _WorldSpaceCameraPos; 27 | 28 | #define UNITY_MATRIX_M unity_ObjectToWorld 29 | #define UNITY_MATRIX_I_M unity_WorldToObject 30 | #define UNITY_PREV_MATRIX_M unity_PrevObjectToWorldArray 31 | #define UNITY_PREV_MATRIX_I_M unity_PrevWorldToObjectArray 32 | #define UNITY_MATRIX_V unity_MatrixV 33 | #define UNITY_MATRIX_I_V unity_PrevMatrixV 34 | #define UNITY_MATRIX_VP unity_MatrixVP 35 | #define UNITY_MATRIX_P glstate_matrix_projection 36 | 37 | #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" 38 | #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" 39 | #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/SpaceTransforms.hlsl" 40 | 41 | #endif 42 | 43 | 44 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Runtime/DepthStack/Includes/Common.hlsl.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 702e21c54509a0268bd7455982f35bfd 3 | ShaderIncludeImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Runtime/DepthStack/Includes/CompositeDepth.hlsl: -------------------------------------------------------------------------------- 1 | #ifndef COMPOSITE_DEPTH_INCLUDED 2 | #define COMPOSITE_DEPTH_INCLUDED 3 | 4 | // Include this in a shader to use secondary camera depth 5 | 6 | #include "Common.hlsl" 7 | 8 | // Camera depth 9 | TEXTURE2D(_CameraDepthTexture); 10 | SAMPLER(sampler_CameraDepthTexture); 11 | 12 | // Previous camera depth 13 | TEXTURE2D(_PrevCameraDepth); 14 | SAMPLER(sampler_PrevCameraDepth); 15 | 16 | int _RenderOverlay; 17 | float4 _PrevZBuffer; 18 | 19 | // Normal, raw depth. 20 | float SampleDepth(float2 uv) 21 | { 22 | return SAMPLE_TEXTURE2D(_CameraDepthTexture, sampler_CameraDepthTexture, uv).r; 23 | } 24 | 25 | // Previous camera's depth 26 | float4 SamplePrevDepth(float2 uv) 27 | { 28 | return SAMPLE_TEXTURE2D(_PrevCameraDepth, sampler_PrevCameraDepth, uv); 29 | } 30 | 31 | 32 | // Composite depth sample- If the current depth sample goes past the depth buffer's bounds, the secondary depth buffer is sampled insted 33 | float4 SampleCompositeDepth(float2 uv) 34 | { 35 | float rawDepth = SampleDepth(uv); 36 | float4 compositeDepth = 0; 37 | 38 | if (_RenderOverlay == 1 && rawDepth <= 0.0) 39 | { 40 | // If rendering an overlay and end of depth is reached: 41 | compositeDepth = SamplePrevDepth(uv); 42 | } else 43 | { 44 | // Normal scene depth 45 | compositeDepth.x = rawDepth; 46 | compositeDepth.y = 0; 47 | compositeDepth.zw = _ZBufferParams.zw; 48 | } 49 | 50 | return compositeDepth; 51 | } 52 | 53 | 54 | float CompositeDepthRaw(float2 uv) 55 | { 56 | return SampleCompositeDepth(uv).x; 57 | } 58 | 59 | 60 | float CompositeDepth01(float2 uv) 61 | { 62 | float4 compositeDepth = SampleCompositeDepth(uv); 63 | return Linear01Depth(compositeDepth.x, compositeDepth); 64 | } 65 | 66 | 67 | float CompositeDepthEye(float2 uv) 68 | { 69 | float4 compositeDepth = SampleCompositeDepth(uv); 70 | 71 | return LinearEyeDepth(compositeDepth.x, compositeDepth); 72 | } 73 | 74 | // Linear depth scaled by camera view ray distance- useful for finding world position of a fragment or for ray-marching 75 | float CompositeDepthScaled(float2 uv, float viewLength) 76 | { 77 | float rawDepth = SampleDepth(uv); 78 | 79 | float depth = LinearEyeDepth(rawDepth, _ZBufferParams) * viewLength; 80 | 81 | if (_RenderOverlay == 1 && rawDepth <= 0.0) 82 | { 83 | // If rendering an overlay and end of depth is reached: 84 | float4 encInfo = SamplePrevDepth(uv); 85 | 86 | return LinearEyeDepth(encInfo.x, _PrevZBuffer) * encInfo.y; 87 | } 88 | 89 | return depth; 90 | } 91 | 92 | #endif 93 | 94 | 95 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Runtime/DepthStack/Includes/CompositeDepth.hlsl.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bb2c8a904701bbabb9ee2cf1ebd16679 3 | ShaderIncludeImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Runtime/DepthStack/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f16a245361c3f9867ac8116d6c647526 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Runtime/DepthStack/Scripts/DepthStackRenderFeature.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEngine.Rendering; 3 | using UnityEngine.Rendering.Universal; 4 | using System; 5 | 6 | #if UNITY_EDITOR 7 | using UnityEditor; 8 | #endif 9 | 10 | // Add this Render Feature to the active URP Renderer and assign the CopyDepth material in DepthStack/Shader to use encoded depth in a shader 11 | 12 | public class DepthStackRenderFeature : ScriptableRendererFeature 13 | { 14 | private Material copyDepth; 15 | 16 | DepthStackRenderPass cameraRenderPass; 17 | 18 | 19 | public override void Create() 20 | { 21 | ValidateDepthMaterial(); 22 | 23 | cameraRenderPass = new DepthStackRenderPass(copyDepth); 24 | cameraRenderPass.renderPassEvent = RenderPassEvent.AfterRenderingTransparents; 25 | cameraRenderPass.ConfigureInput(ScriptableRenderPassInput.Depth); 26 | } 27 | 28 | 29 | public override void AddRenderPasses(ScriptableRenderer renderer, ref RenderingData renderingData) 30 | { 31 | if (!renderingData.cameraData.isPreviewCamera) 32 | { 33 | renderer.EnqueuePass(cameraRenderPass); 34 | } 35 | } 36 | 37 | 38 | 39 | void ValidateDepthMaterial() 40 | { 41 | Shader copyDepthShader = AddAlwaysIncludedShader("Hidden/EncodeDepth"); 42 | 43 | if (copyDepthShader == null) 44 | { 45 | Debug.LogError("CopyDepth shader could not be found! Make sure Hidden/CopyDepth shader is located somewhere in your project and included in 'Always Included Shaders'", this); 46 | return; 47 | } 48 | 49 | copyDepth = new Material(copyDepthShader); 50 | } 51 | 52 | 53 | static Shader AddAlwaysIncludedShader(string shaderName) 54 | { 55 | var shader = Shader.Find(shaderName); 56 | if (shader == null) 57 | { 58 | return null; 59 | } 60 | 61 | #if UNITY_EDITOR 62 | var graphicsSettingsObj = AssetDatabase.LoadAssetAtPath("ProjectSettings/GraphicsSettings.asset"); 63 | var serializedObject = new SerializedObject(graphicsSettingsObj); 64 | var arrayProp = serializedObject.FindProperty("m_AlwaysIncludedShaders"); 65 | bool hasShader = false; 66 | 67 | for (int i = 0; i < arrayProp.arraySize; ++i) 68 | { 69 | var arrayElem = arrayProp.GetArrayElementAtIndex(i); 70 | if (shader == arrayElem.objectReferenceValue) 71 | { 72 | hasShader = true; 73 | break; 74 | } 75 | } 76 | 77 | if (!hasShader) 78 | { 79 | int arrayIndex = arrayProp.arraySize; 80 | arrayProp.InsertArrayElementAtIndex(arrayIndex); 81 | var arrayElem = arrayProp.GetArrayElementAtIndex(arrayIndex); 82 | arrayElem.objectReferenceValue = shader; 83 | 84 | serializedObject.ApplyModifiedProperties(); 85 | 86 | AssetDatabase.SaveAssets(); 87 | } 88 | #endif 89 | 90 | return shader; 91 | } 92 | } 93 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Runtime/DepthStack/Scripts/DepthStackRenderFeature.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1d6148c50694dd2a69649be44606f485 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Runtime/DepthStack/Scripts/DepthStackRenderPass.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEngine.Rendering; 3 | using UnityEngine.Rendering.Universal; 4 | 5 | 6 | // TODO: Shader is wasting tons of memory as it stores the global _ZBufferParams in the texture channels. Find a way to store this as a single global property. 7 | 8 | public class DepthStackRenderPass : ScriptableRenderPass 9 | { 10 | private Material copyDepth; 11 | 12 | 13 | static readonly int encodedDepthTexture = Shader.PropertyToID("_PrevCameraDepth"); 14 | RenderTargetIdentifier encodedDepthTarget = new RenderTargetIdentifier(encodedDepthTexture); 15 | public static Vector4 prevZBuffer; 16 | public static Vector4 zClone; 17 | 18 | 19 | 20 | public DepthStackRenderPass(Material copyDepth) 21 | { 22 | this.copyDepth = copyDepth; 23 | } 24 | 25 | 26 | 27 | public override void OnCameraSetup(CommandBuffer cmd, ref RenderingData renderingData) 28 | { 29 | var camData = renderingData.cameraData; 30 | 31 | cmd.SetGlobalInt("_RenderOverlay", 0); 32 | 33 | if (!camData.isSceneViewCamera) 34 | { 35 | bool isOverlay = camData.camera.GetUniversalAdditionalCameraData().renderType == CameraRenderType.Overlay; 36 | 37 | // Tell shader whether or not to use the Depth Stack 38 | cmd.SetGlobalInt("_RenderOverlay", isOverlay ? 1 : 0); 39 | return; 40 | } 41 | } 42 | 43 | 44 | public override void Execute(ScriptableRenderContext context, ref RenderingData renderingData) 45 | { 46 | if (copyDepth == null) 47 | return; 48 | 49 | CommandBuffer cmd = CommandBufferPool.Get("Encode Depth"); 50 | cmd.Clear(); 51 | 52 | var cameraData = renderingData.cameraData; 53 | 54 | if (!cameraData.isSceneViewCamera) 55 | { 56 | bool isOverlay = cameraData.camera.GetUniversalAdditionalCameraData().renderType == CameraRenderType.Overlay; 57 | 58 | // Copy base camera depth 59 | if (!isOverlay) 60 | { 61 | CopyAndEncodeDepth(cmd, cameraData.cameraTargetDescriptor); 62 | 63 | float near = cameraData.camera.nearClipPlane; 64 | float far = cameraData.camera.farClipPlane; 65 | prevZBuffer = GetZBuffParams(far, near); 66 | 67 | cmd.SetGlobalVector("_PrevZBuffer", prevZBuffer); 68 | } 69 | } 70 | 71 | context.ExecuteCommandBuffer(cmd); 72 | CommandBufferPool.Release(cmd); 73 | } 74 | 75 | 76 | void CopyAndEncodeDepth(CommandBuffer cmd, RenderTextureDescriptor camDescriptor) 77 | { 78 | // Clone camera descriptor, and ensure 4-channel float usage. 79 | cmd.ReleaseTemporaryRT(encodedDepthTexture); 80 | camDescriptor.depthBufferBits = 0; 81 | camDescriptor.colorFormat = RenderTextureFormat.ARGBFloat; 82 | cmd.GetTemporaryRT(encodedDepthTexture, camDescriptor, FilterMode.Bilinear); 83 | 84 | // Copy the depth texture into another render texture using a shader pass that encodes relevant information 85 | cmd.Blit(encodedDepthTarget, encodedDepthTarget, copyDepth); 86 | } 87 | 88 | 89 | public static Vector4 GetZBuffParams(float far, float near) 90 | { 91 | float x = 1-far/near; 92 | float y = far/near; 93 | 94 | return new Vector4(x, y, x/far, y/far); 95 | } 96 | } -------------------------------------------------------------------------------- /Assets/Atmosphere/Runtime/DepthStack/Scripts/DepthStackRenderPass.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: af912cde0d90f02389e36b45845517d5 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Runtime/DepthStack/Shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 01c88e4e6798c4c64b017a95d865bde7 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Runtime/DepthStack/Shader/CopyDepth.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 8 6 | m_ObjectHideFlags: 0 7 | m_CorrespondingSourceObject: {fileID: 0} 8 | m_PrefabInstance: {fileID: 0} 9 | m_PrefabAsset: {fileID: 0} 10 | m_Name: CopyDepth 11 | m_Shader: {fileID: 4800000, guid: d990ae772bb94170d9e1d6bac2930dcf, type: 3} 12 | m_Parent: {fileID: 0} 13 | m_ModifiedSerializedProperties: 0 14 | m_ValidKeywords: [] 15 | m_InvalidKeywords: [] 16 | m_LightmapFlags: 4 17 | m_EnableInstancingVariants: 0 18 | m_DoubleSidedGI: 0 19 | m_CustomRenderQueue: -1 20 | stringTagMap: {} 21 | disabledShaderPasses: [] 22 | m_LockedProperties: 23 | m_SavedProperties: 24 | serializedVersion: 3 25 | m_TexEnvs: 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 | - _EmissionMap: 47 | m_Texture: {fileID: 0} 48 | m_Scale: {x: 1, y: 1} 49 | m_Offset: {x: 0, y: 0} 50 | - _MainTex: 51 | m_Texture: {fileID: 0} 52 | m_Scale: {x: 1, y: 1} 53 | m_Offset: {x: 0, y: 0} 54 | - _MetallicGlossMap: 55 | m_Texture: {fileID: 0} 56 | m_Scale: {x: 1, y: 1} 57 | m_Offset: {x: 0, y: 0} 58 | - _OcclusionMap: 59 | m_Texture: {fileID: 0} 60 | m_Scale: {x: 1, y: 1} 61 | m_Offset: {x: 0, y: 0} 62 | - _ParallaxMap: 63 | m_Texture: {fileID: 0} 64 | m_Scale: {x: 1, y: 1} 65 | m_Offset: {x: 0, y: 0} 66 | - _SpecGlossMap: 67 | m_Texture: {fileID: 0} 68 | m_Scale: {x: 1, y: 1} 69 | m_Offset: {x: 0, y: 0} 70 | - unity_Lightmaps: 71 | m_Texture: {fileID: 0} 72 | m_Scale: {x: 1, y: 1} 73 | m_Offset: {x: 0, y: 0} 74 | - unity_LightmapsInd: 75 | m_Texture: {fileID: 0} 76 | m_Scale: {x: 1, y: 1} 77 | m_Offset: {x: 0, y: 0} 78 | - unity_ShadowMasks: 79 | m_Texture: {fileID: 0} 80 | m_Scale: {x: 1, y: 1} 81 | m_Offset: {x: 0, y: 0} 82 | m_Ints: [] 83 | m_Floats: 84 | - _AlphaClip: 0 85 | - _AlphaToMask: 0 86 | - _Blend: 0 87 | - _BlendModePreserveSpecular: 1 88 | - _BumpScale: 1 89 | - _ClearCoatMask: 0 90 | - _ClearCoatSmoothness: 0 91 | - _Cull: 2 92 | - _Cutoff: 0.5 93 | - _DetailAlbedoMapScale: 1 94 | - _DetailNormalMapScale: 1 95 | - _DstBlend: 0 96 | - _DstBlendAlpha: 0 97 | - _EnvironmentReflections: 1 98 | - _GlossMapScale: 0 99 | - _Glossiness: 0 100 | - _GlossyReflections: 0 101 | - _Metallic: 0 102 | - _OcclusionStrength: 1 103 | - _Parallax: 0.005 104 | - _QueueOffset: 0 105 | - _ReceiveShadows: 1 106 | - _Smoothness: 0.5 107 | - _SmoothnessTextureChannel: 0 108 | - _SpecularHighlights: 1 109 | - _SrcBlend: 1 110 | - _SrcBlendAlpha: 1 111 | - _Surface: 0 112 | - _WorkflowMode: 1 113 | - _ZWrite: 1 114 | m_Colors: 115 | - _BaseColor: {r: 1, g: 1, b: 1, a: 1} 116 | - _Color: {r: 1, g: 1, b: 1, a: 1} 117 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 118 | - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} 119 | m_BuildTextureStacks: [] 120 | --- !u!114 &5063209080194228972 121 | MonoBehaviour: 122 | m_ObjectHideFlags: 11 123 | m_CorrespondingSourceObject: {fileID: 0} 124 | m_PrefabInstance: {fileID: 0} 125 | m_PrefabAsset: {fileID: 0} 126 | m_GameObject: {fileID: 0} 127 | m_Enabled: 1 128 | m_EditorHideFlags: 0 129 | m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} 130 | m_Name: 131 | m_EditorClassIdentifier: 132 | version: 7 133 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Runtime/DepthStack/Shader/CopyDepth.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2015d871fcdaf4f3486c92be902333b4 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Runtime/DepthStack/Shader/EncodeDepth.shader: -------------------------------------------------------------------------------- 1 | // Encodes relevant camera depth information into a four-channel texture. 2 | // Channel R stores raw depth 3 | // Channel G stores fragment camera view length for raymarched post-processing effects 4 | // Channels B-W store Z-Buffer parameters needed to decode and linearize raw depth 5 | 6 | Shader "Hidden/EncodeDepth" 7 | { 8 | 9 | HLSLINCLUDE 10 | 11 | #include "../Includes/CompositeDepth.hlsl" 12 | 13 | struct appdata 14 | { 15 | float4 vertex : POSITION; 16 | float4 uv : TEXCOORD0; 17 | }; 18 | 19 | 20 | struct v2f 21 | { 22 | float4 pos : SV_POSITION; 23 | float2 uv : TEXCOORD0; 24 | float3 viewVector : TEXCOORD1; 25 | }; 26 | 27 | 28 | v2f EncodeDepthVertex(appdata v) 29 | { 30 | v2f output; 31 | output.pos = TransformObjectToHClip(v.vertex.xyz); 32 | output.uv = v.uv.xy; 33 | 34 | // Get view vector for fragment shader - do not normalize here as interpolation will mess it up, only normalize in fragment shader 35 | float3 viewVector = mul(unity_CameraInvProjection, float4(v.uv.xy * 2 - 1, 0, -1)).xyz; 36 | output.viewVector = mul(unity_CameraToWorld, float4(viewVector, 0)).xyz; 37 | return output; 38 | } 39 | 40 | 41 | float4 EncodeDepthFragment(v2f i) : SV_Target 42 | { 43 | // x: raw depth 44 | // y: view length 45 | // z-w: z-buffer parameters 46 | float4 encodedInfo = (float4)0; 47 | 48 | encodedInfo.x = SampleDepth(i.uv); 49 | encodedInfo.y = length(i.viewVector); 50 | encodedInfo.zw = _ZBufferParams.zw; 51 | 52 | return encodedInfo; 53 | } 54 | 55 | ENDHLSL 56 | 57 | SubShader 58 | { 59 | // No culling or depth 60 | Cull Off ZWrite Off ZTest Always 61 | 62 | Pass 63 | { 64 | Name "EncodeDepth" 65 | 66 | HLSLPROGRAM 67 | #pragma vertex EncodeDepthVertex 68 | #pragma fragment EncodeDepthFragment 69 | 70 | ENDHLSL 71 | } 72 | } 73 | } 74 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Runtime/DepthStack/Shader/EncodeDepth.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d990ae772bb94170d9e1d6bac2930dcf 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | preprocessorOverride: 0 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Runtime/Icon.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1bec3838bc1698697aca359c81b02b69 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Runtime/Icon/Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sinnwrig/URP-Atmosphere/472e0224bdb4b8eb19b84e560b207e638d0b0aed/Assets/Atmosphere/Runtime/Icon/Logo.png -------------------------------------------------------------------------------- /Assets/Atmosphere/Runtime/Icon/Logo.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d65d8d1a0d64979c3a236ef2f1333349 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 12 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 | flipGreenChannel: 0 24 | isReadable: 0 25 | streamingMipmaps: 0 26 | streamingMipmapsPriority: 0 27 | vTOnly: 0 28 | ignoreMipmapLimit: 0 29 | grayScaleToAlpha: 0 30 | generateCubemap: 6 31 | cubemapConvolution: 0 32 | seamlessCubemap: 0 33 | textureFormat: 1 34 | maxTextureSize: 2048 35 | textureSettings: 36 | serializedVersion: 2 37 | filterMode: 1 38 | aniso: 1 39 | mipBias: 0 40 | wrapU: 0 41 | wrapV: 0 42 | wrapW: 0 43 | nPOTScale: 1 44 | lightmap: 0 45 | compressionQuality: 50 46 | spriteMode: 0 47 | spriteExtrude: 1 48 | spriteMeshType: 1 49 | alignment: 0 50 | spritePivot: {x: 0.5, y: 0.5} 51 | spritePixelsToUnits: 100 52 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 53 | spriteGenerateFallbackPhysicsShape: 1 54 | alphaUsage: 1 55 | alphaIsTransparency: 1 56 | spriteTessellationDetail: -1 57 | textureType: 0 58 | textureShape: 1 59 | singleChannelComponent: 0 60 | flipbookRows: 1 61 | flipbookColumns: 1 62 | maxTextureSizeSet: 0 63 | compressionQualitySet: 0 64 | textureFormatSet: 0 65 | ignorePngGamma: 0 66 | applyGammaDecoding: 0 67 | swizzle: 50462976 68 | cookieLightType: 0 69 | platformSettings: 70 | - serializedVersion: 3 71 | buildTarget: DefaultTexturePlatform 72 | maxTextureSize: 2048 73 | resizeAlgorithm: 0 74 | textureFormat: -1 75 | textureCompression: 1 76 | compressionQuality: 50 77 | crunchedCompression: 0 78 | allowsAlphaSplitting: 0 79 | overridden: 0 80 | ignorePlatformSupport: 0 81 | androidETC2FallbackOverride: 0 82 | forceMaximumCompressionQuality_BC6H_BC7: 0 83 | - serializedVersion: 3 84 | buildTarget: Standalone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 1 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | ignorePlatformSupport: 0 94 | androidETC2FallbackOverride: 0 95 | forceMaximumCompressionQuality_BC6H_BC7: 0 96 | - serializedVersion: 3 97 | buildTarget: Server 98 | maxTextureSize: 2048 99 | resizeAlgorithm: 0 100 | textureFormat: -1 101 | textureCompression: 1 102 | compressionQuality: 50 103 | crunchedCompression: 0 104 | allowsAlphaSplitting: 0 105 | overridden: 0 106 | ignorePlatformSupport: 0 107 | androidETC2FallbackOverride: 0 108 | forceMaximumCompressionQuality_BC6H_BC7: 0 109 | spriteSheet: 110 | serializedVersion: 2 111 | sprites: [] 112 | outline: [] 113 | physicsShape: [] 114 | bones: [] 115 | spriteID: 116 | internalID: 0 117 | vertices: [] 118 | indices: 119 | edges: [] 120 | weights: [] 121 | secondaryTextures: [] 122 | nameFileIdTable: {} 123 | mipmapLimitGroupName: 124 | pSDRemoveMatte: 0 125 | userData: 126 | assetBundleName: 127 | assetBundleVariant: 128 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Runtime/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 03a877a22b588761faebe1167aa72f5a 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Runtime/Scripts/AtmosphereEffect.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5f64a771828e748a5869fadcafca42ec 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {fileID: 2800000, guid: d65d8d1a0d64979c3a236ef2f1333349, type: 3} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Runtime/Scripts/AtmosphereProfile.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3809d83b02c81406f940133c41e93bf5 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {fileID: 2800000, guid: d65d8d1a0d64979c3a236ef2f1333349, type: 3} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Runtime/Scripts/AtmosphereRenderFeature.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEngine.Rendering; 3 | using UnityEngine.Rendering.Universal; 4 | 5 | #if UNITY_EDITOR 6 | using UnityEditor; 7 | #endif 8 | 9 | public class AtmosphereRenderFeature : ScriptableRendererFeature 10 | { 11 | private Shader atmosphereShader; 12 | 13 | AtmosphereRenderPass atmospherePass; 14 | 15 | 16 | 17 | public override void Create() 18 | { 19 | ValidateShader(); 20 | 21 | atmospherePass = new AtmosphereRenderPass(atmosphereShader); 22 | 23 | // Effect does not work with transparents since they do not write to the depth buffer. Sorry if you wanted to have a planet made of glass. 24 | atmospherePass.renderPassEvent = RenderPassEvent.AfterRenderingSkybox;//RenderPassEvent.BeforeRenderingTransparents; 25 | 26 | atmospherePass.ConfigureInput(ScriptableRenderPassInput.Depth); 27 | } 28 | 29 | 30 | public override void AddRenderPasses(ScriptableRenderer renderer, ref RenderingData renderingData) 31 | { 32 | // Prevent renering in material previews. 33 | if (!renderingData.cameraData.isPreviewCamera) 34 | { 35 | renderer.EnqueuePass(atmospherePass); 36 | } 37 | } 38 | 39 | 40 | private void ValidateShader() 41 | { 42 | Shader shader = AddAlwaysIncludedShader("Hidden/Atmosphere"); 43 | 44 | if (shader == null) 45 | { 46 | Debug.LogError("Atmosphere shader could not be found! Make sure Hidden/Atmosphere is located somewhere in your project and included in 'Always Included Shaders'", this); 47 | return; 48 | } 49 | 50 | atmosphereShader = shader; 51 | } 52 | 53 | 54 | // NOTE: Does not always immediately add the shader. If the shader was just recently imported with the project, may return null if the asset isn't loaded and compiled. 55 | public static Shader AddAlwaysIncludedShader(string shaderName) 56 | { 57 | var shader = Shader.Find(shaderName); 58 | if (shader == null) { 59 | return null; 60 | } 61 | 62 | #if UNITY_EDITOR 63 | var graphicsSettingsObj = AssetDatabase.LoadAssetAtPath("ProjectSettings/GraphicsSettings.asset"); 64 | var serializedObject = new SerializedObject(graphicsSettingsObj); 65 | var arrayProp = serializedObject.FindProperty("m_AlwaysIncludedShaders"); 66 | bool hasShader = false; 67 | 68 | for (int i = 0; i < arrayProp.arraySize; ++i) 69 | { 70 | var arrayElem = arrayProp.GetArrayElementAtIndex(i); 71 | if (shader == arrayElem.objectReferenceValue) 72 | { 73 | hasShader = true; 74 | break; 75 | } 76 | } 77 | 78 | if (!hasShader) 79 | { 80 | int arrayIndex = arrayProp.arraySize; 81 | arrayProp.InsertArrayElementAtIndex(arrayIndex); 82 | var arrayElem = arrayProp.GetArrayElementAtIndex(arrayIndex); 83 | arrayElem.objectReferenceValue = shader; 84 | 85 | serializedObject.ApplyModifiedProperties(); 86 | 87 | AssetDatabase.SaveAssets(); 88 | } 89 | #endif 90 | 91 | return shader; 92 | } 93 | } 94 | 95 | 96 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Runtime/Scripts/AtmosphereRenderFeature.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c43de4e304f0b7dad8491c3bdee012d3 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Runtime/Scripts/AtmosphereRenderPass.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: af8dd21a03dc59ccea2a91d2d6805292 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Runtime/Scripts/BlitUtility.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEngine.Rendering; 3 | 4 | 5 | public static class BlitUtility 6 | { 7 | static readonly int blitTargetA = Shader.PropertyToID("_BlitA"); 8 | static readonly int blitTargetB = Shader.PropertyToID("_BlitB"); 9 | 10 | 11 | static RenderTargetIdentifier destinationA = new(blitTargetA); 12 | static RenderTargetIdentifier destinationB = new(blitTargetB); 13 | 14 | 15 | static RenderTargetIdentifier latestDest; 16 | static CommandBuffer blitCommandBuffer; 17 | 18 | 19 | /// 20 | /// Call SetupBlitTargets before calling BeginBlitLoop/BlitNext. 21 | /// 22 | /// The command buffer used to blit. 23 | /// The source texture information to use. 24 | public static void SetupBlitTargets(CommandBuffer cmd, RenderTextureDescriptor blitSourceDescriptor) 25 | { 26 | ReleaseBlitTargets(cmd); 27 | 28 | if (cmd == null) 29 | { 30 | Debug.LogError("Blit Command Buffer is null, cannot set up blit targets."); 31 | } 32 | 33 | RenderTextureDescriptor descriptor = blitSourceDescriptor; 34 | descriptor.depthBufferBits = 0; 35 | 36 | cmd.GetTemporaryRT(blitTargetA, descriptor, FilterMode.Bilinear); 37 | cmd.GetTemporaryRT(blitTargetB, descriptor, FilterMode.Bilinear); 38 | } 39 | 40 | 41 | /// 42 | /// Assigns the initial texture used in the blit loop. 43 | /// 44 | /// The source texture to use. 45 | public static void BeginBlitLoop(CommandBuffer cmd, RenderTargetIdentifier source) 46 | { 47 | blitCommandBuffer = cmd; 48 | latestDest = source; 49 | } 50 | 51 | 52 | /// 53 | /// Blits back and forth between two temporary textures until EndBlitLoop is called. 54 | /// 55 | /// The material to blit with. 56 | /// The shader property to assign the source texture to. 57 | /// The material pass to use. 58 | public static void BlitNext(Material material, string shaderProperty, int pass = 0) 59 | { 60 | if (blitCommandBuffer == null) 61 | { 62 | throw new System.Exception("No CommandBuffer has been passed in before beginning the blit loop! Make sure BeginBlitLoop() is called before calling BlitNext(), and make sure CommandBuffer is not disposed of prematurely!"); 63 | } 64 | 65 | var first = latestDest; 66 | var last = first == destinationA ? destinationB : destinationA; 67 | 68 | blitCommandBuffer.SetGlobalTexture(shaderProperty, first); 69 | 70 | blitCommandBuffer.Blit(first, last, material, pass); 71 | latestDest = last; 72 | } 73 | 74 | 75 | /// 76 | /// Writes the final blit loop result into the destination texture. 77 | /// 78 | /// The texture to write the blit loop output into. 79 | public static void EndBlitLoop(RenderTargetIdentifier destination) 80 | { 81 | blitCommandBuffer.Blit(latestDest, destination); 82 | blitCommandBuffer = null; 83 | } 84 | 85 | 86 | /// 87 | /// Call ReleaseBlitTargets after finishing any blit loops performed during rendering. 88 | /// 89 | /// The command buffer used to release allocated textures. 90 | public static void ReleaseBlitTargets(CommandBuffer cmd) 91 | { 92 | cmd.ReleaseTemporaryRT(blitTargetA); 93 | cmd.ReleaseTemporaryRT(blitTargetB); 94 | } 95 | } -------------------------------------------------------------------------------- /Assets/Atmosphere/Runtime/Scripts/BlitUtility.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8cd1099139bd030d889749dccd8360cf 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Runtime/Shaders.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 66793bf6a7de2ecb7a8734eea981985f 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Runtime/Shaders/Atmosphere.shader: -------------------------------------------------------------------------------- 1 | Shader "Hidden/Atmosphere" 2 | { 3 | HLSLINCLUDE 4 | 5 | #include "/Includes/Common.hlsl" 6 | #include "/Includes/Math.hlsl" 7 | 8 | #include "../DepthStack/Includes/CompositeDepth.hlsl" 9 | #include "/Includes/Atmosphere.hlsl" 10 | 11 | 12 | ENDHLSL 13 | 14 | SubShader 15 | { 16 | Cull Off ZWrite Off ZTest Off 17 | 18 | Pass 19 | { 20 | Name "RenderAtmosphere" 21 | 22 | HLSLPROGRAM 23 | 24 | #pragma vertex AtmosphereVertex 25 | #pragma fragment AtmosphereFragment 26 | 27 | #pragma target 4.0 28 | 29 | #define ATMOSPHERE_MODEL_SIM 30 | 31 | struct appdata 32 | { 33 | float4 vertex : POSITION; 34 | float4 uv : TEXCOORD0; 35 | }; 36 | 37 | 38 | struct v2f 39 | { 40 | float4 pos : SV_POSITION; 41 | float2 uv : TEXCOORD0; 42 | float3 viewVector : TEXCOORD1; 43 | }; 44 | 45 | 46 | TEXTURE2D(_Source); 47 | SAMPLER(sampler_Source); 48 | 49 | 50 | v2f AtmosphereVertex(appdata v) 51 | { 52 | v2f output; 53 | output.pos = TransformObjectToHClip(v.vertex.xyz); 54 | output.uv = v.uv.xy; 55 | float3 viewVector = mul(unity_CameraInvProjection, float4(v.uv.xy * 2 - 1, 0, -1)).xyz; 56 | output.viewVector = mul(unity_CameraToWorld, float4(viewVector, 0)).xyz; 57 | return output; 58 | } 59 | 60 | 61 | float4 AtmosphereFragment(v2f i) : SV_Target 62 | { 63 | float4 originalCol = SAMPLE_TEXTURE2D(_Source, sampler_Source, i.uv); 64 | 65 | float viewLength = length(i.viewVector); 66 | 67 | float sceneDepth = CompositeDepthScaled(i.uv, viewLength); 68 | 69 | float3 color = CalculateScattering(_WorldSpaceCameraPos.xyz, i.viewVector / viewLength, sceneDepth, originalCol.xyz); 70 | 71 | return float4(color, originalCol.w); 72 | } 73 | 74 | ENDHLSL 75 | } 76 | } 77 | } 78 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Runtime/Shaders/Atmosphere.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e5c9adc680af74e8fb0b8d63fb518c0a 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Runtime/Shaders/BlueNoise.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sinnwrig/URP-Atmosphere/472e0224bdb4b8eb19b84e560b207e638d0b0aed/Assets/Atmosphere/Runtime/Shaders/BlueNoise.png -------------------------------------------------------------------------------- /Assets/Atmosphere/Runtime/Shaders/BlueNoise.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8886a14b14a1b44089f789c0b8c05643 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 11 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 0 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: 0 54 | alphaIsTransparency: 0 55 | spriteTessellationDetail: -1 56 | textureType: 10 57 | textureShape: 1 58 | singleChannelComponent: 1 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: 256 70 | resizeAlgorithm: 0 71 | textureFormat: 9 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 | - serializedVersion: 3 104 | buildTarget: WebGL 105 | maxTextureSize: 2048 106 | resizeAlgorithm: 0 107 | textureFormat: -1 108 | textureCompression: 1 109 | compressionQuality: 50 110 | crunchedCompression: 0 111 | allowsAlphaSplitting: 0 112 | overridden: 0 113 | androidETC2FallbackOverride: 0 114 | forceMaximumCompressionQuality_BC6H_BC7: 0 115 | spriteSheet: 116 | serializedVersion: 2 117 | sprites: [] 118 | outline: [] 119 | physicsShape: [] 120 | bones: [] 121 | spriteID: 122 | internalID: 0 123 | vertices: [] 124 | indices: 125 | edges: [] 126 | weights: [] 127 | secondaryTextures: [] 128 | nameFileIdTable: {} 129 | spritePackingTag: 130 | pSDRemoveMatte: 0 131 | pSDShowRemoveMatteOption: 0 132 | userData: 133 | assetBundleName: 134 | assetBundleVariant: 135 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Runtime/Shaders/Glow.shader: -------------------------------------------------------------------------------- 1 | Shader "Custom/Glow" 2 | { 3 | Properties 4 | { 5 | _MainColor ("Main Color", Color) = (1.0, 1.0, 1.0, 1.0) 6 | _Glow ("Glow", Float) = 2.0 7 | _MainTex ("Texture", 2D) = "white" {} 8 | } 9 | 10 | SubShader 11 | { 12 | Tags { "RenderType"="Opaque" } 13 | LOD 100 14 | 15 | Pass 16 | { 17 | HLSLPROGRAM 18 | 19 | #pragma vertex vert 20 | #pragma fragment frag 21 | 22 | 23 | #include "/Includes/Common.hlsl" 24 | 25 | 26 | struct appdata 27 | { 28 | float4 vertex : POSITION; 29 | float2 uv : TEXCOORD0; 30 | }; 31 | 32 | 33 | struct v2f 34 | { 35 | float2 uv : TEXCOORD0; 36 | float4 vertex : SV_POSITION; 37 | }; 38 | 39 | 40 | TEXTURE2D(_MainTex); 41 | SAMPLER(sampler_MainTex); 42 | 43 | half4 _MainColor; 44 | half _Glow; 45 | 46 | 47 | v2f vert (appdata v) 48 | { 49 | v2f output; 50 | output.vertex = TransformObjectToHClip(v.vertex.xyz); 51 | output.uv = v.uv.xy; 52 | return output; 53 | } 54 | 55 | half4 frag (v2f i) : SV_Target 56 | { 57 | // sample the texture 58 | half4 col = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv); 59 | 60 | return col * _MainColor * _Glow; 61 | } 62 | 63 | ENDHLSL 64 | } 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Runtime/Shaders/Glow.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3b1325f1bafea0dab9c98d0f2f513254 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Runtime/Shaders/Includes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ae9a276036d105daeaec328587043d5e 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Runtime/Shaders/Includes/Atmosphere.hlsl.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: afb0f679053d5c4fba723a2524b1fede 3 | ShaderIncludeImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Runtime/Shaders/Includes/Common.hlsl: -------------------------------------------------------------------------------- 1 | #ifndef GENERAL_INCLUDED 2 | #define GENERAL_INCLUDED 3 | 4 | // Defines all the defult unity shader variables and includes commonly-used files. 5 | 6 | #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl" 7 | 8 | float4x4 unity_ObjectToWorld; 9 | float4x4 unity_WorldToObject; 10 | float4x4 unity_PrevObjectToWorldArray; 11 | float4x4 unity_PrevWorldToObjectArray; 12 | real4 unity_WorldTransformParams; 13 | 14 | float4x4 unity_MatrixVP; 15 | float4x4 unity_MatrixV; 16 | float4x4 unity_PrevMatrixV; 17 | float4x4 glstate_matrix_projection; 18 | 19 | float4x4 unity_CameraProjection; 20 | float4x4 unity_CameraInvProjection; 21 | float4x4 unity_CameraToWorld; 22 | 23 | float4 _ScreenParams; 24 | float4 _ZBufferParams; 25 | float4 unity_OrthoParams; 26 | float4 _WorldSpaceCameraPos; 27 | 28 | #define UNITY_MATRIX_M unity_ObjectToWorld 29 | #define UNITY_MATRIX_I_M unity_WorldToObject 30 | #define UNITY_PREV_MATRIX_M unity_PrevObjectToWorldArray 31 | #define UNITY_PREV_MATRIX_I_M unity_PrevWorldToObjectArray 32 | #define UNITY_MATRIX_V unity_MatrixV 33 | #define UNITY_MATRIX_I_V unity_PrevMatrixV 34 | #define UNITY_MATRIX_VP unity_MatrixVP 35 | #define UNITY_MATRIX_P glstate_matrix_projection 36 | 37 | #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" 38 | #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" 39 | #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/SpaceTransforms.hlsl" 40 | 41 | #endif 42 | 43 | 44 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Runtime/Shaders/Includes/Common.hlsl.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cccfd66d3bc4cf181a6630752869cacf 3 | ShaderIncludeImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Runtime/Shaders/Includes/Math.hlsl: -------------------------------------------------------------------------------- 1 | #ifndef CUSTOM_MATH_INCLUDED 2 | #define CUSTOM_MATH_INCLUDED 3 | 4 | static const float MATH_PI = 3.14159265359; 5 | static const float MATH_TAU = MATH_PI * 2; 6 | static const float MAX_FLOAT = 3.402823466e+38; 7 | static const float DEG2RAD = (MATH_PI * 2) / 360; 8 | static const float RAD2DEG = 360 / (MATH_PI * 2); 9 | 10 | 11 | // Remap the components of a vector from one range to another 12 | float4 Remap(float4 v, float minOld, float maxOld, float minNew, float maxNew) 13 | { 14 | return saturate(minNew + (v - minOld) * (maxNew - minNew) / (maxOld - minOld));// 15 | } 16 | 17 | // Remap a float value (with a known mininum and maximum) to a value between 0 and 1 18 | float4 Remap01(float4 v, float minOld, float maxOld) 19 | { 20 | return saturate((v - minOld) / (maxOld - minOld)); 21 | } 22 | 23 | // Smooth minimum of two values, controlled by smoothing factor k 24 | // When k = 0, this behaves identically to min(a, b) 25 | float SmoothMin(float a, float b, float k) 26 | { 27 | k = max(0, k); 28 | // https://www.iquilezles.org/www/articles/smin/smin.htm 29 | float h = max(0, min(1, (b - a + k) / (2 * k))); 30 | return a * h + b * (1 - h) - k * h * (1 - h); 31 | } 32 | 33 | // Smooth maximum of two values, controlled by smoothing factor k 34 | // When k = 0, this behaves identically to max(a, b) 35 | float SmoothMax(float a, float b, float k) 36 | { 37 | k = min(0, -k); 38 | float h = max(0, min(1, (b - a + k) / (2 * k))); 39 | return a * h + b * (1 - h) - k * h * (1 - h); 40 | } 41 | 42 | 43 | float Blend(float startHeight, float blendDst, float height) 44 | { 45 | return smoothstep(startHeight - blendDst / 2, startHeight + blendDst / 2, height); 46 | } 47 | 48 | 49 | // Returns vector (dstToSphere, dstThroughSphere) 50 | // If ray origin is inside sphere, dstToSphere = 0 51 | // If ray misses sphere, dstToSphere = maxValue; dstThroughSphere = 0 52 | float2 RaySphere(float3 sphereCentre, float sphereRadius, float3 rayOrigin, float3 rayDir) 53 | { 54 | float3 offset = rayOrigin - sphereCentre; 55 | float a = 1; // Set to dot(rayDir, rayDir) if rayDir might not be normalized 56 | float b = 2 * dot(offset, rayDir); 57 | float c = dot(offset, offset) - sphereRadius * sphereRadius; 58 | float d = b * b - 4 * a * c; // Discriminant from quadratic formula 59 | 60 | float2 intersection = float2(MAX_FLOAT, 0); 61 | 62 | // Number of intersections: 0 when d < 0; 1 when d = 0; 2 when d > 0 63 | if (d > 0) { 64 | float s = sqrt(d); 65 | float dstToSphereNear = max(0, (-b - s) / (2 * a)); 66 | float dstToSphereFar = (-b + s) / (2 * a); 67 | // Ignore intersections that occur behind the ray 68 | if (dstToSphereFar >= 0) { 69 | intersection = float2(dstToSphereNear, dstToSphereFar - dstToSphereNear); 70 | } 71 | } 72 | 73 | 74 | return intersection; 75 | } 76 | 77 | #endif 78 | 79 | 80 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Runtime/Shaders/Includes/Math.hlsl.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6e3dccc33e7d3e8bb98fb6dc2d2cdd2f 3 | ShaderIncludeImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Atmosphere/Runtime/Shaders/OpticalDepth.compute: -------------------------------------------------------------------------------- 1 | #pragma kernel Main 2 | #include "/Includes/Math.hlsl" 3 | 4 | 5 | RWTexture2D _Result; 6 | 7 | int _TextureSize; 8 | int _NumOutScatteringSteps; 9 | 10 | float _PlanetRadius; 11 | float _AtmosphereRadius; 12 | 13 | float _RayleighFalloff; 14 | float _MieFalloff; 15 | float _HeightAbsorbtion; 16 | 17 | 18 | 19 | float3 DensityAtPoint(float2 position) 20 | { 21 | float height = length(position) - _PlanetRadius; 22 | float height01 = height / (_AtmosphereRadius - _PlanetRadius); 23 | 24 | float2 scaleHeight = float2(_RayleighFalloff, _MieFalloff); 25 | 26 | float3 density = float3(exp(-height01 * scaleHeight) * (1 - height01), 0.0); 27 | 28 | float denom = (_HeightAbsorbtion + height01); 29 | density.z = (1.0 / (denom * denom + 1.0)) * density.x; 30 | 31 | density.z = saturate(density.z); 32 | 33 | return density; 34 | } 35 | 36 | 37 | [numthreads(8, 8, 1)] 38 | void Main(uint2 id : SV_DispatchThreadID) 39 | { 40 | float2 uv = id / (float)_TextureSize; 41 | float height01 = uv.y; 42 | 43 | float y = -2 * uv.x + 1; 44 | float x = sin(acos(y)); 45 | float2 dir = float2(x, y); 46 | 47 | float2 inPoint = float2(0, lerp(_PlanetRadius, _AtmosphereRadius, height01)); 48 | 49 | float dstThroughAtmosphere = RaySphere(0, _AtmosphereRadius, float3(inPoint, 0), float3(dir, 0)).y; 50 | 51 | inPoint = inPoint + dir * 0.0001; 52 | 53 | float stepSize = dstThroughAtmosphere / (_NumOutScatteringSteps - 1); 54 | float3 outScattering = 0; 55 | 56 | for (int i = 0; i < _NumOutScatteringSteps; i ++) { 57 | float3 localDensity = DensityAtPoint(inPoint); 58 | 59 | outScattering += localDensity * stepSize; 60 | 61 | inPoint += dir * stepSize; 62 | } 63 | 64 | _Result[id.xy] = float4(outScattering.xyz, 0); 65 | } -------------------------------------------------------------------------------- /Assets/Atmosphere/Runtime/Shaders/OpticalDepth.compute.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9b0dc6063958035b09e19d4bfa8cf7bd 3 | ComputeShaderImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Atmosphere/atmosphere.unitypackage: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sinnwrig/URP-Atmosphere/472e0224bdb4b8eb19b84e560b207e638d0b0aed/Assets/Atmosphere/atmosphere.unitypackage -------------------------------------------------------------------------------- /Assets/Atmosphere/atmosphere.unitypackage.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 79d7def110653818fad0ed3753566b13 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Screenshots.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 037d2dd5480cf63679f16cf93c1a8057 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Screenshots/daytime.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sinnwrig/URP-Atmosphere/472e0224bdb4b8eb19b84e560b207e638d0b0aed/Assets/Screenshots/daytime.png -------------------------------------------------------------------------------- /Assets/Screenshots/daytime.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 50398aeb4bf0ed3afb08d4c0cce3b7c3 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 12 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 | flipGreenChannel: 0 24 | isReadable: 0 25 | streamingMipmaps: 0 26 | streamingMipmapsPriority: 0 27 | vTOnly: 0 28 | ignoreMipmapLimit: 0 29 | grayScaleToAlpha: 0 30 | generateCubemap: 6 31 | cubemapConvolution: 0 32 | seamlessCubemap: 0 33 | textureFormat: 1 34 | maxTextureSize: 2048 35 | textureSettings: 36 | serializedVersion: 2 37 | filterMode: 1 38 | aniso: 1 39 | mipBias: 0 40 | wrapU: 0 41 | wrapV: 0 42 | wrapW: 0 43 | nPOTScale: 1 44 | lightmap: 0 45 | compressionQuality: 50 46 | spriteMode: 0 47 | spriteExtrude: 1 48 | spriteMeshType: 1 49 | alignment: 0 50 | spritePivot: {x: 0.5, y: 0.5} 51 | spritePixelsToUnits: 100 52 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 53 | spriteGenerateFallbackPhysicsShape: 1 54 | alphaUsage: 1 55 | alphaIsTransparency: 0 56 | spriteTessellationDetail: -1 57 | textureType: 0 58 | textureShape: 1 59 | singleChannelComponent: 0 60 | flipbookRows: 1 61 | flipbookColumns: 1 62 | maxTextureSizeSet: 0 63 | compressionQualitySet: 0 64 | textureFormatSet: 0 65 | ignorePngGamma: 0 66 | applyGammaDecoding: 0 67 | swizzle: 50462976 68 | cookieLightType: 0 69 | platformSettings: 70 | - serializedVersion: 3 71 | buildTarget: DefaultTexturePlatform 72 | maxTextureSize: 2048 73 | resizeAlgorithm: 0 74 | textureFormat: -1 75 | textureCompression: 1 76 | compressionQuality: 50 77 | crunchedCompression: 0 78 | allowsAlphaSplitting: 0 79 | overridden: 0 80 | ignorePlatformSupport: 0 81 | androidETC2FallbackOverride: 0 82 | forceMaximumCompressionQuality_BC6H_BC7: 0 83 | - serializedVersion: 3 84 | buildTarget: Standalone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 1 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | ignorePlatformSupport: 0 94 | androidETC2FallbackOverride: 0 95 | forceMaximumCompressionQuality_BC6H_BC7: 0 96 | - serializedVersion: 3 97 | buildTarget: Server 98 | maxTextureSize: 2048 99 | resizeAlgorithm: 0 100 | textureFormat: -1 101 | textureCompression: 1 102 | compressionQuality: 50 103 | crunchedCompression: 0 104 | allowsAlphaSplitting: 0 105 | overridden: 0 106 | ignorePlatformSupport: 0 107 | androidETC2FallbackOverride: 0 108 | forceMaximumCompressionQuality_BC6H_BC7: 0 109 | spriteSheet: 110 | serializedVersion: 2 111 | sprites: [] 112 | outline: [] 113 | physicsShape: [] 114 | bones: [] 115 | spriteID: 116 | internalID: 0 117 | vertices: [] 118 | indices: 119 | edges: [] 120 | weights: [] 121 | secondaryTextures: [] 122 | nameFileIdTable: {} 123 | mipmapLimitGroupName: 124 | pSDRemoveMatte: 0 125 | userData: 126 | assetBundleName: 127 | assetBundleVariant: 128 | -------------------------------------------------------------------------------- /Assets/Screenshots/exoplanet-space.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sinnwrig/URP-Atmosphere/472e0224bdb4b8eb19b84e560b207e638d0b0aed/Assets/Screenshots/exoplanet-space.png -------------------------------------------------------------------------------- /Assets/Screenshots/exoplanet-space.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: df2b1b6c036a1459f908d65f0ed45001 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 12 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 | flipGreenChannel: 0 24 | isReadable: 0 25 | streamingMipmaps: 0 26 | streamingMipmapsPriority: 0 27 | vTOnly: 0 28 | ignoreMipmapLimit: 0 29 | grayScaleToAlpha: 0 30 | generateCubemap: 6 31 | cubemapConvolution: 0 32 | seamlessCubemap: 0 33 | textureFormat: 1 34 | maxTextureSize: 2048 35 | textureSettings: 36 | serializedVersion: 2 37 | filterMode: 1 38 | aniso: 1 39 | mipBias: 0 40 | wrapU: 0 41 | wrapV: 0 42 | wrapW: 0 43 | nPOTScale: 1 44 | lightmap: 0 45 | compressionQuality: 50 46 | spriteMode: 0 47 | spriteExtrude: 1 48 | spriteMeshType: 1 49 | alignment: 0 50 | spritePivot: {x: 0.5, y: 0.5} 51 | spritePixelsToUnits: 100 52 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 53 | spriteGenerateFallbackPhysicsShape: 1 54 | alphaUsage: 1 55 | alphaIsTransparency: 0 56 | spriteTessellationDetail: -1 57 | textureType: 0 58 | textureShape: 1 59 | singleChannelComponent: 0 60 | flipbookRows: 1 61 | flipbookColumns: 1 62 | maxTextureSizeSet: 0 63 | compressionQualitySet: 0 64 | textureFormatSet: 0 65 | ignorePngGamma: 0 66 | applyGammaDecoding: 0 67 | swizzle: 50462976 68 | cookieLightType: 0 69 | platformSettings: 70 | - serializedVersion: 3 71 | buildTarget: DefaultTexturePlatform 72 | maxTextureSize: 2048 73 | resizeAlgorithm: 0 74 | textureFormat: -1 75 | textureCompression: 1 76 | compressionQuality: 50 77 | crunchedCompression: 0 78 | allowsAlphaSplitting: 0 79 | overridden: 0 80 | ignorePlatformSupport: 0 81 | androidETC2FallbackOverride: 0 82 | forceMaximumCompressionQuality_BC6H_BC7: 0 83 | - serializedVersion: 3 84 | buildTarget: Standalone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 1 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | ignorePlatformSupport: 0 94 | androidETC2FallbackOverride: 0 95 | forceMaximumCompressionQuality_BC6H_BC7: 0 96 | - serializedVersion: 3 97 | buildTarget: Server 98 | maxTextureSize: 2048 99 | resizeAlgorithm: 0 100 | textureFormat: -1 101 | textureCompression: 1 102 | compressionQuality: 50 103 | crunchedCompression: 0 104 | allowsAlphaSplitting: 0 105 | overridden: 0 106 | ignorePlatformSupport: 0 107 | androidETC2FallbackOverride: 0 108 | forceMaximumCompressionQuality_BC6H_BC7: 0 109 | spriteSheet: 110 | serializedVersion: 2 111 | sprites: [] 112 | outline: [] 113 | physicsShape: [] 114 | bones: [] 115 | spriteID: 116 | internalID: 0 117 | vertices: [] 118 | indices: 119 | edges: [] 120 | weights: [] 121 | secondaryTextures: [] 122 | nameFileIdTable: {} 123 | mipmapLimitGroupName: 124 | pSDRemoveMatte: 0 125 | userData: 126 | assetBundleName: 127 | assetBundleVariant: 128 | -------------------------------------------------------------------------------- /Assets/Screenshots/exoplanet-space2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sinnwrig/URP-Atmosphere/472e0224bdb4b8eb19b84e560b207e638d0b0aed/Assets/Screenshots/exoplanet-space2.png -------------------------------------------------------------------------------- /Assets/Screenshots/exoplanet-space2.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 743386b5c3e6083cba5627a580942206 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 12 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 | flipGreenChannel: 0 24 | isReadable: 0 25 | streamingMipmaps: 0 26 | streamingMipmapsPriority: 0 27 | vTOnly: 0 28 | ignoreMipmapLimit: 0 29 | grayScaleToAlpha: 0 30 | generateCubemap: 6 31 | cubemapConvolution: 0 32 | seamlessCubemap: 0 33 | textureFormat: 1 34 | maxTextureSize: 2048 35 | textureSettings: 36 | serializedVersion: 2 37 | filterMode: 1 38 | aniso: 1 39 | mipBias: 0 40 | wrapU: 0 41 | wrapV: 0 42 | wrapW: 0 43 | nPOTScale: 1 44 | lightmap: 0 45 | compressionQuality: 50 46 | spriteMode: 0 47 | spriteExtrude: 1 48 | spriteMeshType: 1 49 | alignment: 0 50 | spritePivot: {x: 0.5, y: 0.5} 51 | spritePixelsToUnits: 100 52 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 53 | spriteGenerateFallbackPhysicsShape: 1 54 | alphaUsage: 1 55 | alphaIsTransparency: 0 56 | spriteTessellationDetail: -1 57 | textureType: 0 58 | textureShape: 1 59 | singleChannelComponent: 0 60 | flipbookRows: 1 61 | flipbookColumns: 1 62 | maxTextureSizeSet: 0 63 | compressionQualitySet: 0 64 | textureFormatSet: 0 65 | ignorePngGamma: 0 66 | applyGammaDecoding: 0 67 | swizzle: 50462976 68 | cookieLightType: 0 69 | platformSettings: 70 | - serializedVersion: 3 71 | buildTarget: DefaultTexturePlatform 72 | maxTextureSize: 2048 73 | resizeAlgorithm: 0 74 | textureFormat: -1 75 | textureCompression: 1 76 | compressionQuality: 50 77 | crunchedCompression: 0 78 | allowsAlphaSplitting: 0 79 | overridden: 0 80 | ignorePlatformSupport: 0 81 | androidETC2FallbackOverride: 0 82 | forceMaximumCompressionQuality_BC6H_BC7: 0 83 | - serializedVersion: 3 84 | buildTarget: Standalone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 1 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | ignorePlatformSupport: 0 94 | androidETC2FallbackOverride: 0 95 | forceMaximumCompressionQuality_BC6H_BC7: 0 96 | - serializedVersion: 3 97 | buildTarget: Server 98 | maxTextureSize: 2048 99 | resizeAlgorithm: 0 100 | textureFormat: -1 101 | textureCompression: 1 102 | compressionQuality: 50 103 | crunchedCompression: 0 104 | allowsAlphaSplitting: 0 105 | overridden: 0 106 | ignorePlatformSupport: 0 107 | androidETC2FallbackOverride: 0 108 | forceMaximumCompressionQuality_BC6H_BC7: 0 109 | spriteSheet: 110 | serializedVersion: 2 111 | sprites: [] 112 | outline: [] 113 | physicsShape: [] 114 | bones: [] 115 | spriteID: 116 | internalID: 0 117 | vertices: [] 118 | indices: 119 | edges: [] 120 | weights: [] 121 | secondaryTextures: [] 122 | nameFileIdTable: {} 123 | mipmapLimitGroupName: 124 | pSDRemoveMatte: 0 125 | userData: 126 | assetBundleName: 127 | assetBundleVariant: 128 | -------------------------------------------------------------------------------- /Assets/Screenshots/exoplanet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sinnwrig/URP-Atmosphere/472e0224bdb4b8eb19b84e560b207e638d0b0aed/Assets/Screenshots/exoplanet.png -------------------------------------------------------------------------------- /Assets/Screenshots/exoplanet.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 04cbaca7baccbfab2abbf637e46d7710 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 12 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 | flipGreenChannel: 0 24 | isReadable: 0 25 | streamingMipmaps: 0 26 | streamingMipmapsPriority: 0 27 | vTOnly: 0 28 | ignoreMipmapLimit: 0 29 | grayScaleToAlpha: 0 30 | generateCubemap: 6 31 | cubemapConvolution: 0 32 | seamlessCubemap: 0 33 | textureFormat: 1 34 | maxTextureSize: 2048 35 | textureSettings: 36 | serializedVersion: 2 37 | filterMode: 1 38 | aniso: 1 39 | mipBias: 0 40 | wrapU: 0 41 | wrapV: 0 42 | wrapW: 0 43 | nPOTScale: 1 44 | lightmap: 0 45 | compressionQuality: 50 46 | spriteMode: 0 47 | spriteExtrude: 1 48 | spriteMeshType: 1 49 | alignment: 0 50 | spritePivot: {x: 0.5, y: 0.5} 51 | spritePixelsToUnits: 100 52 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 53 | spriteGenerateFallbackPhysicsShape: 1 54 | alphaUsage: 1 55 | alphaIsTransparency: 0 56 | spriteTessellationDetail: -1 57 | textureType: 0 58 | textureShape: 1 59 | singleChannelComponent: 0 60 | flipbookRows: 1 61 | flipbookColumns: 1 62 | maxTextureSizeSet: 0 63 | compressionQualitySet: 0 64 | textureFormatSet: 0 65 | ignorePngGamma: 0 66 | applyGammaDecoding: 0 67 | swizzle: 50462976 68 | cookieLightType: 0 69 | platformSettings: 70 | - serializedVersion: 3 71 | buildTarget: DefaultTexturePlatform 72 | maxTextureSize: 2048 73 | resizeAlgorithm: 0 74 | textureFormat: -1 75 | textureCompression: 1 76 | compressionQuality: 50 77 | crunchedCompression: 0 78 | allowsAlphaSplitting: 0 79 | overridden: 0 80 | ignorePlatformSupport: 0 81 | androidETC2FallbackOverride: 0 82 | forceMaximumCompressionQuality_BC6H_BC7: 0 83 | - serializedVersion: 3 84 | buildTarget: Standalone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 1 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | ignorePlatformSupport: 0 94 | androidETC2FallbackOverride: 0 95 | forceMaximumCompressionQuality_BC6H_BC7: 0 96 | - serializedVersion: 3 97 | buildTarget: Server 98 | maxTextureSize: 2048 99 | resizeAlgorithm: 0 100 | textureFormat: -1 101 | textureCompression: 1 102 | compressionQuality: 50 103 | crunchedCompression: 0 104 | allowsAlphaSplitting: 0 105 | overridden: 0 106 | ignorePlatformSupport: 0 107 | androidETC2FallbackOverride: 0 108 | forceMaximumCompressionQuality_BC6H_BC7: 0 109 | spriteSheet: 110 | serializedVersion: 2 111 | sprites: [] 112 | outline: [] 113 | physicsShape: [] 114 | bones: [] 115 | spriteID: 116 | internalID: 0 117 | vertices: [] 118 | indices: 119 | edges: [] 120 | weights: [] 121 | secondaryTextures: [] 122 | nameFileIdTable: {} 123 | mipmapLimitGroupName: 124 | pSDRemoveMatte: 0 125 | userData: 126 | assetBundleName: 127 | assetBundleVariant: 128 | -------------------------------------------------------------------------------- /Assets/Screenshots/night.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sinnwrig/URP-Atmosphere/472e0224bdb4b8eb19b84e560b207e638d0b0aed/Assets/Screenshots/night.png -------------------------------------------------------------------------------- /Assets/Screenshots/night.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c92407e2d6d4a8a45b952344bd2384bf 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 12 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 | flipGreenChannel: 0 24 | isReadable: 0 25 | streamingMipmaps: 0 26 | streamingMipmapsPriority: 0 27 | vTOnly: 0 28 | ignoreMipmapLimit: 0 29 | grayScaleToAlpha: 0 30 | generateCubemap: 6 31 | cubemapConvolution: 0 32 | seamlessCubemap: 0 33 | textureFormat: 1 34 | maxTextureSize: 2048 35 | textureSettings: 36 | serializedVersion: 2 37 | filterMode: 1 38 | aniso: 1 39 | mipBias: 0 40 | wrapU: 0 41 | wrapV: 0 42 | wrapW: 0 43 | nPOTScale: 1 44 | lightmap: 0 45 | compressionQuality: 50 46 | spriteMode: 0 47 | spriteExtrude: 1 48 | spriteMeshType: 1 49 | alignment: 0 50 | spritePivot: {x: 0.5, y: 0.5} 51 | spritePixelsToUnits: 100 52 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 53 | spriteGenerateFallbackPhysicsShape: 1 54 | alphaUsage: 1 55 | alphaIsTransparency: 0 56 | spriteTessellationDetail: -1 57 | textureType: 0 58 | textureShape: 1 59 | singleChannelComponent: 0 60 | flipbookRows: 1 61 | flipbookColumns: 1 62 | maxTextureSizeSet: 0 63 | compressionQualitySet: 0 64 | textureFormatSet: 0 65 | ignorePngGamma: 0 66 | applyGammaDecoding: 0 67 | swizzle: 50462976 68 | cookieLightType: 0 69 | platformSettings: 70 | - serializedVersion: 3 71 | buildTarget: DefaultTexturePlatform 72 | maxTextureSize: 2048 73 | resizeAlgorithm: 0 74 | textureFormat: -1 75 | textureCompression: 1 76 | compressionQuality: 50 77 | crunchedCompression: 0 78 | allowsAlphaSplitting: 0 79 | overridden: 0 80 | ignorePlatformSupport: 0 81 | androidETC2FallbackOverride: 0 82 | forceMaximumCompressionQuality_BC6H_BC7: 0 83 | - serializedVersion: 3 84 | buildTarget: Standalone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 1 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | ignorePlatformSupport: 0 94 | androidETC2FallbackOverride: 0 95 | forceMaximumCompressionQuality_BC6H_BC7: 0 96 | - serializedVersion: 3 97 | buildTarget: Server 98 | maxTextureSize: 2048 99 | resizeAlgorithm: 0 100 | textureFormat: -1 101 | textureCompression: 1 102 | compressionQuality: 50 103 | crunchedCompression: 0 104 | allowsAlphaSplitting: 0 105 | overridden: 0 106 | ignorePlatformSupport: 0 107 | androidETC2FallbackOverride: 0 108 | forceMaximumCompressionQuality_BC6H_BC7: 0 109 | spriteSheet: 110 | serializedVersion: 2 111 | sprites: [] 112 | outline: [] 113 | physicsShape: [] 114 | bones: [] 115 | spriteID: 116 | internalID: 0 117 | vertices: [] 118 | indices: 119 | edges: [] 120 | weights: [] 121 | secondaryTextures: [] 122 | nameFileIdTable: {} 123 | mipmapLimitGroupName: 124 | pSDRemoveMatte: 0 125 | userData: 126 | assetBundleName: 127 | assetBundleVariant: 128 | -------------------------------------------------------------------------------- /Assets/Screenshots/space.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sinnwrig/URP-Atmosphere/472e0224bdb4b8eb19b84e560b207e638d0b0aed/Assets/Screenshots/space.png -------------------------------------------------------------------------------- /Assets/Screenshots/space.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c8be0875435297f4f922059948504332 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 12 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 | flipGreenChannel: 0 24 | isReadable: 0 25 | streamingMipmaps: 0 26 | streamingMipmapsPriority: 0 27 | vTOnly: 0 28 | ignoreMipmapLimit: 0 29 | grayScaleToAlpha: 0 30 | generateCubemap: 6 31 | cubemapConvolution: 0 32 | seamlessCubemap: 0 33 | textureFormat: 1 34 | maxTextureSize: 2048 35 | textureSettings: 36 | serializedVersion: 2 37 | filterMode: 1 38 | aniso: 1 39 | mipBias: 0 40 | wrapU: 0 41 | wrapV: 0 42 | wrapW: 0 43 | nPOTScale: 1 44 | lightmap: 0 45 | compressionQuality: 50 46 | spriteMode: 0 47 | spriteExtrude: 1 48 | spriteMeshType: 1 49 | alignment: 0 50 | spritePivot: {x: 0.5, y: 0.5} 51 | spritePixelsToUnits: 100 52 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 53 | spriteGenerateFallbackPhysicsShape: 1 54 | alphaUsage: 1 55 | alphaIsTransparency: 0 56 | spriteTessellationDetail: -1 57 | textureType: 0 58 | textureShape: 1 59 | singleChannelComponent: 0 60 | flipbookRows: 1 61 | flipbookColumns: 1 62 | maxTextureSizeSet: 0 63 | compressionQualitySet: 0 64 | textureFormatSet: 0 65 | ignorePngGamma: 0 66 | applyGammaDecoding: 0 67 | swizzle: 50462976 68 | cookieLightType: 0 69 | platformSettings: 70 | - serializedVersion: 3 71 | buildTarget: DefaultTexturePlatform 72 | maxTextureSize: 2048 73 | resizeAlgorithm: 0 74 | textureFormat: -1 75 | textureCompression: 1 76 | compressionQuality: 50 77 | crunchedCompression: 0 78 | allowsAlphaSplitting: 0 79 | overridden: 0 80 | ignorePlatformSupport: 0 81 | androidETC2FallbackOverride: 0 82 | forceMaximumCompressionQuality_BC6H_BC7: 0 83 | - serializedVersion: 3 84 | buildTarget: Standalone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 1 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | ignorePlatformSupport: 0 94 | androidETC2FallbackOverride: 0 95 | forceMaximumCompressionQuality_BC6H_BC7: 0 96 | - serializedVersion: 3 97 | buildTarget: Server 98 | maxTextureSize: 2048 99 | resizeAlgorithm: 0 100 | textureFormat: -1 101 | textureCompression: 1 102 | compressionQuality: 50 103 | crunchedCompression: 0 104 | allowsAlphaSplitting: 0 105 | overridden: 0 106 | ignorePlatformSupport: 0 107 | androidETC2FallbackOverride: 0 108 | forceMaximumCompressionQuality_BC6H_BC7: 0 109 | spriteSheet: 110 | serializedVersion: 2 111 | sprites: [] 112 | outline: [] 113 | physicsShape: [] 114 | bones: [] 115 | spriteID: 116 | internalID: 0 117 | vertices: [] 118 | indices: 119 | edges: [] 120 | weights: [] 121 | secondaryTextures: [] 122 | nameFileIdTable: {} 123 | mipmapLimitGroupName: 124 | pSDRemoveMatte: 0 125 | userData: 126 | assetBundleName: 127 | assetBundleVariant: 128 | -------------------------------------------------------------------------------- /Assets/Screenshots/space2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sinnwrig/URP-Atmosphere/472e0224bdb4b8eb19b84e560b207e638d0b0aed/Assets/Screenshots/space2.png -------------------------------------------------------------------------------- /Assets/Screenshots/space2.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5e658b3732d8e65fb8d023deccd29ae6 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 12 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 | flipGreenChannel: 0 24 | isReadable: 0 25 | streamingMipmaps: 0 26 | streamingMipmapsPriority: 0 27 | vTOnly: 0 28 | ignoreMipmapLimit: 0 29 | grayScaleToAlpha: 0 30 | generateCubemap: 6 31 | cubemapConvolution: 0 32 | seamlessCubemap: 0 33 | textureFormat: 1 34 | maxTextureSize: 2048 35 | textureSettings: 36 | serializedVersion: 2 37 | filterMode: 1 38 | aniso: 1 39 | mipBias: 0 40 | wrapU: 0 41 | wrapV: 0 42 | wrapW: 0 43 | nPOTScale: 1 44 | lightmap: 0 45 | compressionQuality: 50 46 | spriteMode: 0 47 | spriteExtrude: 1 48 | spriteMeshType: 1 49 | alignment: 0 50 | spritePivot: {x: 0.5, y: 0.5} 51 | spritePixelsToUnits: 100 52 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 53 | spriteGenerateFallbackPhysicsShape: 1 54 | alphaUsage: 1 55 | alphaIsTransparency: 0 56 | spriteTessellationDetail: -1 57 | textureType: 0 58 | textureShape: 1 59 | singleChannelComponent: 0 60 | flipbookRows: 1 61 | flipbookColumns: 1 62 | maxTextureSizeSet: 0 63 | compressionQualitySet: 0 64 | textureFormatSet: 0 65 | ignorePngGamma: 0 66 | applyGammaDecoding: 0 67 | swizzle: 50462976 68 | cookieLightType: 0 69 | platformSettings: 70 | - serializedVersion: 3 71 | buildTarget: DefaultTexturePlatform 72 | maxTextureSize: 2048 73 | resizeAlgorithm: 0 74 | textureFormat: -1 75 | textureCompression: 1 76 | compressionQuality: 50 77 | crunchedCompression: 0 78 | allowsAlphaSplitting: 0 79 | overridden: 0 80 | ignorePlatformSupport: 0 81 | androidETC2FallbackOverride: 0 82 | forceMaximumCompressionQuality_BC6H_BC7: 0 83 | - serializedVersion: 3 84 | buildTarget: Standalone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 1 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | ignorePlatformSupport: 0 94 | androidETC2FallbackOverride: 0 95 | forceMaximumCompressionQuality_BC6H_BC7: 0 96 | - serializedVersion: 3 97 | buildTarget: Server 98 | maxTextureSize: 2048 99 | resizeAlgorithm: 0 100 | textureFormat: -1 101 | textureCompression: 1 102 | compressionQuality: 50 103 | crunchedCompression: 0 104 | allowsAlphaSplitting: 0 105 | overridden: 0 106 | ignorePlatformSupport: 0 107 | androidETC2FallbackOverride: 0 108 | forceMaximumCompressionQuality_BC6H_BC7: 0 109 | spriteSheet: 110 | serializedVersion: 2 111 | sprites: [] 112 | outline: [] 113 | physicsShape: [] 114 | bones: [] 115 | spriteID: 116 | internalID: 0 117 | vertices: [] 118 | indices: 119 | edges: [] 120 | weights: [] 121 | secondaryTextures: [] 122 | nameFileIdTable: {} 123 | mipmapLimitGroupName: 124 | pSDRemoveMatte: 0 125 | userData: 126 | assetBundleName: 127 | assetBundleVariant: 128 | -------------------------------------------------------------------------------- /Assets/Screenshots/sunset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sinnwrig/URP-Atmosphere/472e0224bdb4b8eb19b84e560b207e638d0b0aed/Assets/Screenshots/sunset.png -------------------------------------------------------------------------------- /Assets/Screenshots/sunset.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 281571fd6d8d19e5a9ad0b32d6450540 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 12 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 | flipGreenChannel: 0 24 | isReadable: 0 25 | streamingMipmaps: 0 26 | streamingMipmapsPriority: 0 27 | vTOnly: 0 28 | ignoreMipmapLimit: 0 29 | grayScaleToAlpha: 0 30 | generateCubemap: 6 31 | cubemapConvolution: 0 32 | seamlessCubemap: 0 33 | textureFormat: 1 34 | maxTextureSize: 2048 35 | textureSettings: 36 | serializedVersion: 2 37 | filterMode: 1 38 | aniso: 1 39 | mipBias: 0 40 | wrapU: 0 41 | wrapV: 0 42 | wrapW: 0 43 | nPOTScale: 1 44 | lightmap: 0 45 | compressionQuality: 50 46 | spriteMode: 0 47 | spriteExtrude: 1 48 | spriteMeshType: 1 49 | alignment: 0 50 | spritePivot: {x: 0.5, y: 0.5} 51 | spritePixelsToUnits: 100 52 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 53 | spriteGenerateFallbackPhysicsShape: 1 54 | alphaUsage: 1 55 | alphaIsTransparency: 0 56 | spriteTessellationDetail: -1 57 | textureType: 0 58 | textureShape: 1 59 | singleChannelComponent: 0 60 | flipbookRows: 1 61 | flipbookColumns: 1 62 | maxTextureSizeSet: 0 63 | compressionQualitySet: 0 64 | textureFormatSet: 0 65 | ignorePngGamma: 0 66 | applyGammaDecoding: 0 67 | swizzle: 50462976 68 | cookieLightType: 0 69 | platformSettings: 70 | - serializedVersion: 3 71 | buildTarget: DefaultTexturePlatform 72 | maxTextureSize: 2048 73 | resizeAlgorithm: 0 74 | textureFormat: -1 75 | textureCompression: 1 76 | compressionQuality: 50 77 | crunchedCompression: 0 78 | allowsAlphaSplitting: 0 79 | overridden: 0 80 | ignorePlatformSupport: 0 81 | androidETC2FallbackOverride: 0 82 | forceMaximumCompressionQuality_BC6H_BC7: 0 83 | - serializedVersion: 3 84 | buildTarget: Standalone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 1 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | ignorePlatformSupport: 0 94 | androidETC2FallbackOverride: 0 95 | forceMaximumCompressionQuality_BC6H_BC7: 0 96 | - serializedVersion: 3 97 | buildTarget: Server 98 | maxTextureSize: 2048 99 | resizeAlgorithm: 0 100 | textureFormat: -1 101 | textureCompression: 1 102 | compressionQuality: 50 103 | crunchedCompression: 0 104 | allowsAlphaSplitting: 0 105 | overridden: 0 106 | ignorePlatformSupport: 0 107 | androidETC2FallbackOverride: 0 108 | forceMaximumCompressionQuality_BC6H_BC7: 0 109 | spriteSheet: 110 | serializedVersion: 2 111 | sprites: [] 112 | outline: [] 113 | physicsShape: [] 114 | bones: [] 115 | spriteID: 116 | internalID: 0 117 | vertices: [] 118 | indices: 119 | edges: [] 120 | weights: [] 121 | secondaryTextures: [] 122 | nameFileIdTable: {} 123 | mipmapLimitGroupName: 124 | pSDRemoveMatte: 0 125 | userData: 126 | assetBundleName: 127 | assetBundleVariant: 128 | -------------------------------------------------------------------------------- /Assets/URP Settings.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 709f11a7f3c4041caa4ef136ea32d874 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/URP Settings/DefaultProfile.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a6560a915ef98420e9faacc1c7438823 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/URP Settings/Renderer.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &-2436493679125178884 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: 1d6148c50694dd2a69649be44606f485, type: 3} 13 | m_Name: DepthStackRenderFeature 14 | m_EditorClassIdentifier: 15 | m_Active: 1 16 | --- !u!114 &-1953236000842979113 17 | MonoBehaviour: 18 | m_ObjectHideFlags: 0 19 | m_CorrespondingSourceObject: {fileID: 0} 20 | m_PrefabInstance: {fileID: 0} 21 | m_PrefabAsset: {fileID: 0} 22 | m_GameObject: {fileID: 0} 23 | m_Enabled: 1 24 | m_EditorHideFlags: 0 25 | m_Script: {fileID: 11500000, guid: c43de4e304f0b7dad8491c3bdee012d3, type: 3} 26 | m_Name: AtmosphereRenderFeature 27 | m_EditorClassIdentifier: 28 | m_Active: 1 29 | --- !u!114 &11400000 30 | MonoBehaviour: 31 | m_ObjectHideFlags: 0 32 | m_CorrespondingSourceObject: {fileID: 0} 33 | m_PrefabInstance: {fileID: 0} 34 | m_PrefabAsset: {fileID: 0} 35 | m_GameObject: {fileID: 0} 36 | m_Enabled: 1 37 | m_EditorHideFlags: 0 38 | m_Script: {fileID: 11500000, guid: de640fe3d0db1804a85f9fc8f5cadab6, type: 3} 39 | m_Name: Renderer 40 | m_EditorClassIdentifier: 41 | debugShaders: 42 | debugReplacementPS: {fileID: 4800000, guid: cf852408f2e174538bcd9b7fda1c5ae7, 43 | type: 3} 44 | hdrDebugViewPS: {fileID: 4800000, guid: 573620ae32aec764abd4d728906d2587, type: 3} 45 | m_RendererFeatures: 46 | - {fileID: -2436493679125178884} 47 | - {fileID: -1953236000842979113} 48 | m_RendererFeatureMap: fc55426ee8d52fded7e83fb734b6e4e4 49 | m_UseNativeRenderPass: 0 50 | postProcessData: {fileID: 11400000, guid: 41439944d30ece34e96484bdb6645b55, type: 2} 51 | shaders: 52 | blitPS: {fileID: 4800000, guid: c17132b1f77d20942aa75f8429c0f8bc, type: 3} 53 | copyDepthPS: {fileID: 4800000, guid: d6dae50ee9e1bfa4db75f19f99355220, type: 3} 54 | screenSpaceShadowPS: {fileID: 0} 55 | samplingPS: {fileID: 4800000, guid: 04c410c9937594faa893a11dceb85f7e, type: 3} 56 | stencilDeferredPS: {fileID: 4800000, guid: e9155b26e1bc55942a41e518703fe304, type: 3} 57 | fallbackErrorPS: {fileID: 4800000, guid: e6e9a19c3678ded42a3bc431ebef7dbd, type: 3} 58 | fallbackLoadingPS: {fileID: 4800000, guid: 7f888aff2ac86494babad1c2c5daeee2, type: 3} 59 | materialErrorPS: {fileID: 4800000, guid: 5fd9a8feb75a4b5894c241777f519d4e, type: 3} 60 | coreBlitPS: {fileID: 4800000, guid: 93446b5c5339d4f00b85c159e1159b7c, type: 3} 61 | coreBlitColorAndDepthPS: {fileID: 4800000, guid: d104b2fc1ca6445babb8e90b0758136b, 62 | type: 3} 63 | blitHDROverlay: {fileID: 4800000, guid: a89bee29cffa951418fc1e2da94d1959, type: 3} 64 | cameraMotionVector: {fileID: 4800000, guid: c56b7e0d4c7cb484e959caeeedae9bbf, 65 | type: 3} 66 | objectMotionVector: {fileID: 4800000, guid: 7b3ede40266cd49a395def176e1bc486, 67 | type: 3} 68 | dataDrivenLensFlare: {fileID: 4800000, guid: 6cda457ac28612740adb23da5d39ea92, 69 | type: 3} 70 | m_AssetVersion: 2 71 | m_OpaqueLayerMask: 72 | serializedVersion: 2 73 | m_Bits: 4294967295 74 | m_TransparentLayerMask: 75 | serializedVersion: 2 76 | m_Bits: 4294967295 77 | m_DefaultStencilState: 78 | overrideStencilState: 0 79 | stencilReference: 0 80 | stencilCompareFunction: 8 81 | passOperation: 2 82 | failOperation: 0 83 | zFailOperation: 0 84 | m_ShadowTransparentReceive: 1 85 | m_RenderingMode: 0 86 | m_DepthPrimingMode: 0 87 | m_CopyDepthMode: 1 88 | m_AccurateGbufferNormals: 0 89 | m_IntermediateTextureMode: 1 90 | --- !u!114 &5718125477168982874 91 | MonoBehaviour: 92 | m_ObjectHideFlags: 0 93 | m_CorrespondingSourceObject: {fileID: 0} 94 | m_PrefabInstance: {fileID: 0} 95 | m_PrefabAsset: {fileID: 0} 96 | m_GameObject: {fileID: 0} 97 | m_Enabled: 1 98 | m_EditorHideFlags: 0 99 | m_Script: {fileID: 11500000, guid: e1d6fd3ec0526f14fb414f8f4a0914a6, type: 3} 100 | m_Name: VolumetricRendering 101 | m_EditorClassIdentifier: 102 | m_Active: 1 103 | settings: {cloudRenderer: {fileID: 2100000, guid: 69dec4d7d6b0c5044b04ade07d2d8234, 104 | type: 2}, denoiseMaterial: {fileID: 2100000, guid: a850461752a18dc4d9164474b3a23829, 105 | type: 2}, combineTexture: {fileID: 2100000, guid: b477e7652d80bd14e9a09b7ea41cd2ab, 106 | type: 2}, materialPassIndex: -1} 107 | -------------------------------------------------------------------------------- /Assets/URP Settings/Renderer.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e706937f20deb4fadbcea6f4b3092934 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/URP Settings/URP-Default.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-Default 14 | m_EditorClassIdentifier: 15 | k_AssetVersion: 11 16 | k_AssetPreviousVersion: 11 17 | m_RendererType: 1 18 | m_RendererData: {fileID: 0} 19 | m_RendererDataList: 20 | - {fileID: 11400000, guid: e706937f20deb4fadbcea6f4b3092934, type: 2} 21 | m_DefaultRendererIndex: 0 22 | m_RequireDepthTexture: 1 23 | m_RequireOpaqueTexture: 0 24 | m_OpaqueDownsampling: 1 25 | m_SupportsTerrainHoles: 0 26 | m_SupportsHDR: 1 27 | m_HDRColorBufferPrecision: 0 28 | m_MSAA: 1 29 | m_RenderScale: 1 30 | m_UpscalingFilter: 3 31 | m_FsrOverrideSharpness: 0 32 | m_FsrSharpness: 0.92 33 | m_EnableLODCrossFade: 1 34 | m_LODCrossFadeDitheringType: 0 35 | m_ShEvalMode: 0 36 | m_MainLightRenderingMode: 1 37 | m_MainLightShadowsSupported: 1 38 | m_MainLightShadowmapResolution: 2048 39 | m_AdditionalLightsRenderingMode: 1 40 | m_AdditionalLightsPerObjectLimit: 6 41 | m_AdditionalLightShadowsSupported: 1 42 | m_AdditionalLightsShadowmapResolution: 1024 43 | m_AdditionalLightsShadowResolutionTierLow: 128 44 | m_AdditionalLightsShadowResolutionTierMedium: 256 45 | m_AdditionalLightsShadowResolutionTierHigh: 512 46 | m_ReflectionProbeBlending: 1 47 | m_ReflectionProbeBoxProjection: 1 48 | m_ShadowDistance: 100 49 | m_ShadowCascadeCount: 4 50 | m_Cascade2Split: 0.25 51 | m_Cascade3Split: {x: 0.1, y: 0.3} 52 | m_Cascade4Split: {x: 0.049999993, y: 0.19999997, z: 0.5} 53 | m_CascadeBorder: 0.16 54 | m_ShadowDepthBias: 0.45 55 | m_ShadowNormalBias: 0.1 56 | m_AnyShadowsSupported: 1 57 | m_SoftShadowsSupported: 0 58 | m_ConservativeEnclosingSphere: 0 59 | m_NumIterationsEnclosingSphere: 64 60 | m_SoftShadowQuality: 3 61 | m_AdditionalLightsCookieResolution: 1024 62 | m_AdditionalLightsCookieFormat: 4 63 | m_UseSRPBatcher: 1 64 | m_SupportsDynamicBatching: 0 65 | m_MixedLightingSupported: 1 66 | m_SupportsLightCookies: 1 67 | m_SupportsLightLayers: 0 68 | m_DebugLevel: 0 69 | m_StoreActionsOptimization: 0 70 | m_EnableRenderGraph: 0 71 | m_UseAdaptivePerformance: 1 72 | m_ColorGradingMode: 1 73 | m_ColorGradingLutSize: 32 74 | m_UseFastSRGBLinearConversion: 0 75 | m_SupportDataDrivenLensFlare: 1 76 | m_ShadowType: 1 77 | m_LocalShadowsSupported: 0 78 | m_LocalShadowsAtlasResolution: 256 79 | m_MaxPixelLights: 0 80 | m_ShadowAtlasResolution: 256 81 | m_VolumeFrameworkUpdateMode: 0 82 | m_Textures: 83 | blueNoise64LTex: {fileID: 2800000, guid: e3d24661c1e055f45a7560c033dbb837, type: 3} 84 | bayerMatrixTex: {fileID: 2800000, guid: f9ee4ed84c1d10c49aabb9b210b0fc44, type: 3} 85 | m_PrefilteringModeMainLightShadows: 3 86 | m_PrefilteringModeAdditionalLight: 0 87 | m_PrefilteringModeAdditionalLightShadows: 2 88 | m_PrefilterXRKeywords: 1 89 | m_PrefilteringModeForwardPlus: 2 90 | m_PrefilteringModeDeferredRendering: 0 91 | m_PrefilteringModeScreenSpaceOcclusion: 0 92 | m_PrefilterDebugKeywords: 1 93 | m_PrefilterWriteRenderingLayers: 1 94 | m_PrefilterHDROutput: 1 95 | m_PrefilterSSAODepthNormals: 1 96 | m_PrefilterSSAOSourceDepthLow: 1 97 | m_PrefilterSSAOSourceDepthMedium: 1 98 | m_PrefilterSSAOSourceDepthHigh: 1 99 | m_PrefilterSSAOInterleaved: 1 100 | m_PrefilterSSAOBlueNoise: 1 101 | m_PrefilterSSAOSampleCountLow: 1 102 | m_PrefilterSSAOSampleCountMedium: 1 103 | m_PrefilterSSAOSampleCountHigh: 1 104 | m_PrefilterDBufferMRT1: 1 105 | m_PrefilterDBufferMRT2: 1 106 | m_PrefilterDBufferMRT3: 1 107 | m_PrefilterScreenCoord: 1 108 | m_PrefilterNativeRenderPass: 1 109 | m_ShaderVariantLogLevel: 0 110 | m_ShadowCascades: 1 111 | -------------------------------------------------------------------------------- /Assets/URP Settings/URP-Default.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7b7fd9122c28c4d15b667c7040e3b3fd 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/URP Settings/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 | m_ShaderVariantLogLevel: 0 16 | m_ExportShaderVariants: 1 17 | k_AssetVersion: 3 18 | m_RenderingLayerNames: 19 | - Light Layer default 20 | - Light Layer 1 21 | - Light Layer 2 22 | - Light Layer 3 23 | - Light Layer 4 24 | - Light Layer 5 25 | - Light Layer 6 26 | - Light Layer 7 27 | m_ValidRenderingLayers: 255 28 | lightLayerName0: Light Layer default 29 | lightLayerName1: Light Layer 1 30 | lightLayerName2: Light Layer 2 31 | lightLayerName3: Light Layer 3 32 | lightLayerName4: Light Layer 4 33 | lightLayerName5: Light Layer 5 34 | lightLayerName6: Light Layer 6 35 | lightLayerName7: Light Layer 7 36 | m_StripDebugVariants: 1 37 | m_StripUnusedPostProcessingVariants: 1 38 | m_StripUnusedVariants: 1 39 | m_StripUnusedLODCrossFadeVariants: 1 40 | m_StripScreenCoordOverrideVariants: 1 41 | supportRuntimeDebugDisplay: 0 42 | -------------------------------------------------------------------------------- /Assets/URP Settings/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) 2023 Kai Angulo 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. 22 | -------------------------------------------------------------------------------- /Packages/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "com.unity.ide.vscode": "1.2.5", 4 | "com.unity.render-pipelines.universal": "14.0.8", 5 | "com.unity.toolchain.linux-x86_64": "2.0.6", 6 | "com.unity.ugui": "1.0.0", 7 | "com.unity.modules.ai": "1.0.0", 8 | "com.unity.modules.androidjni": "1.0.0", 9 | "com.unity.modules.animation": "1.0.0", 10 | "com.unity.modules.assetbundle": "1.0.0", 11 | "com.unity.modules.audio": "1.0.0", 12 | "com.unity.modules.cloth": "1.0.0", 13 | "com.unity.modules.director": "1.0.0", 14 | "com.unity.modules.imageconversion": "1.0.0", 15 | "com.unity.modules.imgui": "1.0.0", 16 | "com.unity.modules.jsonserialize": "1.0.0", 17 | "com.unity.modules.particlesystem": "1.0.0", 18 | "com.unity.modules.physics": "1.0.0", 19 | "com.unity.modules.physics2d": "1.0.0", 20 | "com.unity.modules.screencapture": "1.0.0", 21 | "com.unity.modules.terrain": "1.0.0", 22 | "com.unity.modules.terrainphysics": "1.0.0", 23 | "com.unity.modules.tilemap": "1.0.0", 24 | "com.unity.modules.ui": "1.0.0", 25 | "com.unity.modules.uielements": "1.0.0", 26 | "com.unity.modules.umbra": "1.0.0", 27 | "com.unity.modules.unityanalytics": "1.0.0", 28 | "com.unity.modules.unitywebrequest": "1.0.0", 29 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0", 30 | "com.unity.modules.unitywebrequestaudio": "1.0.0", 31 | "com.unity.modules.unitywebrequesttexture": "1.0.0", 32 | "com.unity.modules.unitywebrequestwww": "1.0.0", 33 | "com.unity.modules.vehicles": "1.0.0", 34 | "com.unity.modules.video": "1.0.0", 35 | "com.unity.modules.wind": "1.0.0" 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /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_EnableOutputSuspension: 1 16 | m_SpatializerPlugin: 17 | m_AmbisonicDecoderPlugin: 18 | m_DisableAudio: 1 19 | m_VirtualizeEffects: 1 20 | m_RequestedDSPBufferSize: 1024 21 | -------------------------------------------------------------------------------- /ProjectSettings/BurstAotSettings_StandaloneLinux64.json: -------------------------------------------------------------------------------- 1 | { 2 | "MonoBehaviour": { 3 | "Version": 4, 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 | "CpuTargetsX64": 72, 14 | "OptimizeFor": 0 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /ProjectSettings/BurstAotSettings_StandaloneWindows.json: -------------------------------------------------------------------------------- 1 | { 2 | "MonoBehaviour": { 3 | "Version": 4, 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 | "OptimizeFor": 0 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /ProjectSettings/ClusterInputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!236 &1 4 | ClusterInputManager: 5 | m_ObjectHideFlags: 0 6 | m_Inputs: [] 7 | -------------------------------------------------------------------------------- /ProjectSettings/CommonBurstAotSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "MonoBehaviour": { 3 | "Version": 4, 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_DefaultMaxDepenetrationVelocity: 10 11 | m_SleepThreshold: 0.005 12 | m_DefaultContactOffset: 0.01 13 | m_DefaultSolverIterations: 6 14 | m_DefaultSolverVelocityIterations: 1 15 | m_QueriesHitBackfaces: 0 16 | m_QueriesHitTriggers: 1 17 | m_EnableAdaptiveForce: 0 18 | m_ClothInterCollisionDistance: 0 19 | m_ClothInterCollisionStiffness: 0 20 | m_ContactsGeneration: 1 21 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 22 | m_AutoSimulation: 1 23 | m_AutoSyncTransforms: 0 24 | m_ReuseCollisionCallbacks: 1 25 | m_ClothInterCollisionSettingsToggle: 0 26 | m_ClothGravity: {x: 0, y: -9.81, z: 0} 27 | m_ContactPairsMode: 0 28 | m_BroadphaseType: 0 29 | m_WorldBounds: 30 | m_Center: {x: 0, y: 0, z: 0} 31 | m_Extent: {x: 250, y: 250, z: 250} 32 | m_WorldSubdivisions: 8 33 | m_FrictionType: 0 34 | m_EnableEnhancedDeterminism: 0 35 | m_EnableUnifiedHeightmaps: 1 36 | m_ImprovedPatchFriction: 0 37 | m_SolverType: 0 38 | m_DefaultMaxAngularSpeed: 7 39 | -------------------------------------------------------------------------------- /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/Atmosphere/Examples/Atmosphere Example.unity 10 | guid: 5d852d3854dbf90d3bd5a4a0ef9a4a53 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: 7 7 | m_ExternalVersionControlSupport: Visible Meta Files 8 | m_SerializationMode: 2 9 | m_LineEndingsForNewScripts: 2 10 | m_DefaultBehaviorMode: 0 11 | m_SpritePackerMode: 0 12 | m_SpritePackerPaddingPower: 1 13 | m_EtcTextureCompressorBehavior: 1 14 | m_EtcTextureFastCompressor: 1 15 | m_EtcTextureNormalCompressor: 2 16 | m_EtcTextureBestCompressor: 4 17 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd 18 | m_ProjectGenerationRootNamespace: 19 | m_UserGeneratedProjectSuffix: 20 | m_CollabEditorSettings: 21 | inProgressEnabled: 1 22 | -------------------------------------------------------------------------------- /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: 15 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_DepthNormals: 17 | m_Mode: 1 18 | m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0} 19 | m_MotionVectors: 20 | m_Mode: 1 21 | m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0} 22 | m_LightHalo: 23 | m_Mode: 1 24 | m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0} 25 | m_LensFlare: 26 | m_Mode: 1 27 | m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0} 28 | m_VideoShadersIncludeMode: 1 29 | m_AlwaysIncludedShaders: 30 | - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} 31 | - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0} 32 | - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0} 33 | - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} 34 | - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0} 35 | - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} 36 | - {fileID: 10783, guid: 0000000000000000f000000000000000, type: 0} 37 | - {fileID: 16000, guid: 0000000000000000f000000000000000, type: 0} 38 | - {fileID: 17000, guid: 0000000000000000f000000000000000, type: 0} 39 | - {fileID: 4800000, guid: d990ae772bb94170d9e1d6bac2930dcf, type: 3} 40 | - {fileID: 4800000, guid: e5c9adc680af74e8fb0b8d63fb518c0a, type: 3} 41 | m_PreloadedShaders: [] 42 | m_PreloadShadersBatchTimeLimit: -1 43 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, 44 | type: 0} 45 | m_CustomRenderPipeline: {fileID: 11400000, guid: 7b7fd9122c28c4d15b667c7040e3b3fd, 46 | type: 2} 47 | m_TransparencySortMode: 0 48 | m_TransparencySortAxis: {x: 0, y: 0, z: 1} 49 | m_DefaultRenderingPath: 1 50 | m_DefaultMobileRenderingPath: 1 51 | m_TierSettings: [] 52 | m_LightmapStripping: 0 53 | m_FogStripping: 0 54 | m_InstancingStripping: 0 55 | m_BrgStripping: 0 56 | m_LightmapKeepPlain: 1 57 | m_LightmapKeepDirCombined: 1 58 | m_LightmapKeepDynamicPlain: 1 59 | m_LightmapKeepDynamicDirCombined: 1 60 | m_LightmapKeepShadowMask: 1 61 | m_LightmapKeepSubtractive: 1 62 | m_FogKeepLinear: 1 63 | m_FogKeepExp: 1 64 | m_FogKeepExp2: 1 65 | m_AlbedoSwatchInfos: [] 66 | m_LightsUseLinearIntensity: 1 67 | m_LightsUseColorTemperature: 1 68 | m_DefaultRenderingLayerMask: 1 69 | m_LogWhenShaderIsCompiled: 0 70 | m_SRPDefaultSettings: 71 | UnityEngine.Rendering.Universal.UniversalRenderPipeline: {fileID: 11400000, guid: 18dc0cd2c080841dea60987a38ce93fa, 72 | type: 2} 73 | m_LightProbeOutsideHullStrategy: 0 74 | m_CameraRelativeLightCulling: 0 75 | m_CameraRelativeShadowCulling: 0 76 | -------------------------------------------------------------------------------- /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_EnablePreviewPackages: 0 16 | m_EnablePackageDependencies: 0 17 | m_AdvancedSettingsExpanded: 1 18 | m_ScopedRegistriesSettingsExpanded: 1 19 | oneTimeWarningShown: 0 20 | m_Registries: 21 | - m_Id: main 22 | m_Name: 23 | m_Url: https://packages.unity.com 24 | m_Scopes: [] 25 | m_IsDefault: 1 26 | m_Capabilities: 7 27 | m_UserSelectedRegistryName: 28 | m_UserAddingNewScopedRegistry: 0 29 | m_RegistryInfoDraft: 30 | m_ErrorMessage: 31 | m_Original: 32 | m_Id: 33 | m_Name: 34 | m_Url: 35 | m_Scopes: [] 36 | m_IsDefault: 0 37 | m_Capabilities: 0 38 | m_Modified: 0 39 | m_Name: 40 | m_Url: 41 | m_Scopes: 42 | - 43 | m_SelectedScopeIndex: 0 44 | -------------------------------------------------------------------------------- /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_AutoSimulation: 1 23 | m_QueriesHitTriggers: 1 24 | m_QueriesStartInColliders: 1 25 | m_ChangeStopsCallbacks: 0 26 | m_CallbacksOnDisable: 1 27 | m_ReuseCollisionCallbacks: 1 28 | m_AutoSyncTransforms: 0 29 | m_AlwaysShowColliders: 0 30 | m_ShowColliderSleep: 1 31 | m_ShowColliderContacts: 0 32 | m_ShowColliderAABB: 0 33 | m_ContactArrowScale: 0.2 34 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412} 35 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432} 36 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745} 37 | m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804} 38 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 39 | -------------------------------------------------------------------------------- /ProjectSettings/PresetManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1386491679 &1 4 | PresetManager: 5 | m_ObjectHideFlags: 0 6 | m_DefaultList: 7 | - type: 8 | m_NativeTypeID: 108 9 | m_ManagedTypePPtr: {fileID: 0} 10 | m_ManagedTypeFallback: 11 | defaultPresets: 12 | - m_Preset: {fileID: 2655988077585873504, guid: c1cf8506f04ef2c4a88b64b6c4202eea, 13 | type: 2} 14 | - type: 15 | m_NativeTypeID: 1020 16 | m_ManagedTypePPtr: {fileID: 0} 17 | m_ManagedTypeFallback: 18 | defaultPresets: 19 | - m_Preset: {fileID: 2655988077585873504, guid: 0cd792cc87e492d43b4e95b205fc5cc6, 20 | type: 2} 21 | - type: 22 | m_NativeTypeID: 1006 23 | m_ManagedTypePPtr: {fileID: 0} 24 | m_ManagedTypeFallback: 25 | defaultPresets: 26 | - m_Preset: {fileID: 2655988077585873504, guid: 7a99f8aa944efe94cb9bd74562b7d5f9, 27 | type: 2} 28 | -------------------------------------------------------------------------------- /ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 2022.3.10f1 2 | m_EditorVersionWithRevision: 2022.3.10f1 (ff3792e53c62) 3 | -------------------------------------------------------------------------------- /ProjectSettings/ProjectVersion.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0000000000000000e100000000000000 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: 0 8 | m_QualitySettings: 9 | - serializedVersion: 3 10 | name: Default 11 | pixelLightCount: 4 12 | shadows: 2 13 | shadowResolution: 2 14 | shadowProjection: 1 15 | shadowCascades: 4 16 | shadowDistance: 150 17 | shadowNearPlaneOffset: 3 18 | shadowCascade2Split: 0.33333334 19 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 20 | shadowmaskMode: 1 21 | skinWeights: 4 22 | globalTextureMipmapLimit: 0 23 | textureMipmapLimitSettings: [] 24 | anisotropicTextures: 2 25 | antiAliasing: 0 26 | softParticles: 1 27 | softVegetation: 1 28 | realtimeReflectionProbes: 1 29 | billboardsFaceCameraPosition: 1 30 | useLegacyDetailDistribution: 1 31 | vSyncCount: 1 32 | realtimeGICPUUsage: 25 33 | lodBias: 1.5 34 | maximumLODLevel: 0 35 | enableLODCrossFade: 1 36 | streamingMipmapsActive: 0 37 | streamingMipmapsAddAllCameras: 1 38 | streamingMipmapsMemoryBudget: 512 39 | streamingMipmapsRenderersPerFrame: 512 40 | streamingMipmapsMaxLevelReduction: 2 41 | streamingMipmapsMaxFileIORequests: 1024 42 | particleRaycastBudget: 4096 43 | asyncUploadTimeSlice: 2 44 | asyncUploadBufferSize: 16 45 | asyncUploadPersistentBuffer: 1 46 | resolutionScalingFixedDPIFactor: 1 47 | customRenderPipeline: {fileID: 11400000, guid: 7b7fd9122c28c4d15b667c7040e3b3fd, 48 | type: 2} 49 | terrainQualityOverrides: 0 50 | terrainPixelError: 1 51 | terrainDetailDensityScale: 1 52 | terrainBasemapDistance: 1000 53 | terrainDetailDistance: 80 54 | terrainTreeDistance: 5000 55 | terrainBillboardStart: 50 56 | terrainFadeLength: 5 57 | terrainMaxTrees: 50 58 | excludedTargetPlatforms: [] 59 | m_TextureMipmapLimitGroupNames: [] 60 | m_PerPlatformDefaultQuality: 61 | Android: 0 62 | Nintendo 3DS: 0 63 | Nintendo Switch: 0 64 | PS4: 0 65 | PSP2: 0 66 | Server: 0 67 | Standalone: 0 68 | Tizen: 0 69 | WebGL: 0 70 | WiiU: 0 71 | Windows Store Apps: 0 72 | XboxOne: 0 73 | iPhone: 0 74 | tvOS: 0 75 | -------------------------------------------------------------------------------- /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 | - NavRoot 8 | - Zero 9 | - PhysicsBuilding 10 | - NestedRelocatableNode 11 | - NestedRelocatablenode2 12 | - inventory 13 | - landingRamp 14 | - AboveBlackSphere 15 | - FirstRelocNode 16 | - StartScreenCam 17 | - shootPoint 18 | - FullGlobe 19 | - CFO3PCam 20 | - PlayerHead 21 | - playerYellow 22 | - face 23 | - Notification 24 | - randomNotes 25 | - Tutorial 26 | - Notifications 27 | - SecondCamera 28 | - CFOPlayerCapsule 29 | - playerRed 30 | - CFOMainCam 31 | - playerBlueWH 32 | - playerIndigo 33 | - box 34 | - playerGreen 35 | - graticule 36 | - JauntyJaloppy 37 | - frontLeftW 38 | - frontRightW 39 | - backRightW 40 | - backLeftW 41 | layers: 42 | - Default 43 | - TransparentFX 44 | - Ignore Raycast 45 | - 46 | - Water 47 | - UI 48 | - 49 | - 50 | - 51 | - 52 | - 53 | - 54 | - 55 | - 56 | - 57 | - 58 | - 59 | - 60 | - 61 | - 62 | - 63 | - 64 | - 65 | - 66 | - 67 | - 68 | - 69 | - 70 | - 71 | - 72 | - 73 | - 74 | m_SortingLayers: 75 | - name: Default 76 | uniqueID: 0 77 | locked: 0 78 | - name: distant 79 | uniqueID: 1863504491 80 | locked: 0 81 | -------------------------------------------------------------------------------- /ProjectSettings/TimeManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!5 &1 4 | TimeManager: 5 | m_ObjectHideFlags: 0 6 | Fixed Timestep: 0.02 7 | Maximum Allowed Timestep: 0.1 8 | m_TimeScale: 1 9 | Maximum Particle Timestep: 0.03 10 | -------------------------------------------------------------------------------- /ProjectSettings/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: 7 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_TestInitMode: 0 13 | CrashReportingSettings: 14 | m_EventUrl: https://perf-events.cloud.unity3d.com 15 | m_Enabled: 0 16 | m_LogBufferSize: 10 17 | m_CaptureEditorExceptions: 1 18 | UnityPurchasingSettings: 19 | m_Enabled: 0 20 | m_TestMode: 0 21 | UnityAnalyticsSettings: 22 | m_Enabled: 0 23 | m_TestMode: 0 24 | m_InitializeOnStartup: 1 25 | UnityAdsSettings: 26 | m_Enabled: 0 27 | m_InitializeOnStartup: 1 28 | m_TestMode: 0 29 | m_IosGameId: 30 | m_AndroidGameId: 31 | m_GameIds: {} 32 | m_GameId: 33 | PerformanceReportingSettings: 34 | m_Enabled: 0 35 | -------------------------------------------------------------------------------- /ProjectSettings/VFXManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!937362698 &1 4 | VFXManager: 5 | m_ObjectHideFlags: 0 6 | m_IndirectShader: {fileID: 0} 7 | m_CopyBufferShader: {fileID: 0} 8 | m_SortShader: {fileID: 0} 9 | m_RenderPipeSettingsPath: 10 | m_FixedTimeStep: 0.016666668 11 | m_MaxDeltaTime: 0.05 12 | -------------------------------------------------------------------------------- /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 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Atmospheric Scattering For Unity's Universal RP 2 | 3 | Open Source (MIT) implementation of an atmospheric scattering shadertoy : https://www.shadertoy.com/view/wlBXWK. 4 | 5 | Ported to HLSL and Unity's Universal RP. 6 | 7 | ### Features 8 | * Atmospheric Scattering Render Feature. 9 | * Atmospheric Scattering Settings ScriptbleObject. 10 | * Atmospheric Scattering Effect Behaviour. 11 | * Modified to work with Baked Optical Depth, inspired by Sebastian Lague's video on Atmospheric Rendering found here: https://www.youtube.com/watch?v=DxfEbulyFcY. 12 | 13 | ### Usage 14 | 15 | * Download the complete project repository from GitHub or download only the UnityPackage found in Assets/Atmosphere 16 | * Add the Atmosphere Render Feature to the current active renderer. 17 | * Create a new AtmosphereSettings scriptableObject by right-clicking/Create/Atmosphere/Atmosphere Profile. 18 | * Add an AtmosphereEffect component to an object in your scene. 19 | * Assign the Atmosphere Settings created earlier to the Atmosphere Effect component. 20 | * Tweak the planet/ocean radius and atmosphere scale to appropriate values. Use the example scene as reference for working values. 21 | 22 | There is currently no hard limit on amount of active effects allowed in any given scene, but it is best to reduce the amount as much as possible 23 | 24 | ### Optional 25 | 26 | If the scene is using a URP camera stack with the explicit purpose of increasing view distance/maintaining depth precision: 27 | * Add the Depth Stack render feature to your current active renderer. 28 | * Make sure your overlay camera is set to clear depth. 29 | * Atmosphere will automatically use the far camera's depth buffer when needed, increasing the effect's render distance. 30 | 31 | ### Potential issues/Requirements 32 | * Not tested with VR/AR. 33 | * Earlier versions of URP have shown issues with the Depth Stack not working properly. 34 | * Requires compute shader support on active platform. 35 | * Attempts to pre-bake Optical Depth values into Texture3D's on the CPU did not work in shader. 36 | * Tested on Linux and Windows machines with Unity 2022. Mac, Mobile, and other platforms are untested. 37 | * Orthographic cameras do not work. 38 | 39 | ### Limitations 40 | * Each active effect supports only one main light. Can be modified to use more lights, potentially for multiple suns/moons. 41 | 42 | 43 | ### Example Scene with Default Earthlike profile 44 | * Atmosphere at daytime- default profile with point light added for faux ambient lighting 45 | ![Atmosphere at daytime](Assets/Screenshots/daytime.png)
46 | * Atmosphere at sunset- tweaked absorbtion values to look redder 47 | ![Atmosphere at sunset](Assets/Screenshots/sunset.png)
48 | * Atmosphere at near-nighttime- tweaked absorbtion values to look redder 49 | ![Atmosphere at nighttime](Assets/Screenshots/night.png)
50 | * Atmosphere from space- side view with default profile 51 | ![Atmosphere from space](Assets/Screenshots/space.png)
52 | * Atmosphere and planet forming eclipse- default profile showing some mie glow along the edge 53 | ![Atmosphere from space-again](Assets/Screenshots/space2.png)
54 | 55 | ### Example Scene with Exoplanet Atmosphere profile 56 | * Exoplanet atmosphere at daytime 57 | ![Goofy colored atmosphere](Assets/Screenshots/exoplanet.png)
58 | * Exoplanet atmosphere from space 59 | ![Goofy colored atmosphere from space](Assets/Screenshots/exoplanet-space.png)
60 | * Exoplanet forming eclipse 61 | ![Goofy colored atmosphere from space again](Assets/Screenshots/exoplanet-space2.png)
62 | --------------------------------------------------------------------------------