├── .gitignore ├── Assets ├── kode80.meta └── kode80 │ ├── Clouds.meta │ ├── Clouds │ ├── AssetVersion.xml │ ├── AssetVersion.xml.meta │ ├── ChangeLog.txt │ ├── ChangeLog.txt.meta │ ├── Docs.meta │ ├── Docs │ │ ├── kode80Clouds.epub │ │ ├── kode80Clouds.epub.meta │ │ ├── kode80Clouds.pdf │ │ └── kode80Clouds.pdf.meta │ ├── Editor.meta │ ├── Editor │ │ ├── CloudsEditor.cs │ │ ├── CloudsEditor.cs.meta │ │ ├── CubemapExporter.cs │ │ ├── CubemapExporter.cs.meta │ │ ├── TimeOfDayEditor.cs │ │ ├── TimeOfDayEditor.cs.meta │ │ ├── gui.meta │ │ └── gui │ │ │ ├── button_camera.png │ │ │ ├── button_camera.png.meta │ │ │ ├── button_clearmap.png │ │ │ ├── button_clearmap.png.meta │ │ │ ├── button_coverage.png │ │ │ ├── button_coverage.png.meta │ │ │ ├── button_cubemap.png │ │ │ ├── button_cubemap.png.meta │ │ │ ├── button_new.png │ │ │ ├── button_new.png.meta │ │ │ ├── button_properties.png │ │ │ ├── button_properties.png.meta │ │ │ ├── button_save.png │ │ │ ├── button_save.png.meta │ │ │ ├── button_saveas.png │ │ │ ├── button_saveas.png.meta │ │ │ ├── button_type.png │ │ │ └── button_type.png.meta │ ├── Examples.meta │ ├── Examples │ │ ├── Demo.meta │ │ └── Demo │ │ │ ├── Materials.meta │ │ │ ├── Materials │ │ │ ├── kode80CloudsDemoSkybox.mat │ │ │ └── kode80CloudsDemoSkybox.mat.meta │ │ │ ├── Models.meta │ │ │ ├── Models │ │ │ ├── kode80CloudsDemoTerrain.asset │ │ │ └── kode80CloudsDemoTerrain.asset.meta │ │ │ ├── Scripts.meta │ │ │ ├── Scripts │ │ │ ├── FlyCamera.cs │ │ │ └── FlyCamera.cs.meta │ │ │ ├── Textures.meta │ │ │ ├── Textures │ │ │ ├── CliffAlbedoSpecular.tif │ │ │ ├── CliffAlbedoSpecular.tif.meta │ │ │ ├── CliffNormals.tif │ │ │ ├── CliffNormals.tif.meta │ │ │ ├── Coverage.png │ │ │ ├── Coverage.png.meta │ │ │ ├── GrassHillAlbedo.tif │ │ │ ├── GrassHillAlbedo.tif.meta │ │ │ ├── Moss_03_A.tif │ │ │ ├── Moss_03_A.tif.meta │ │ │ ├── Moss_03_N.tif │ │ │ ├── Moss_03_N.tif.meta │ │ │ ├── Soil_Mud01_d.tif │ │ │ ├── Soil_Mud01_d.tif.meta │ │ │ ├── Soil_Mud_Floor_39c246142130_large_nd.tif │ │ │ ├── Soil_Mud_Floor_39c246142130_large_nd.tif.meta │ │ │ ├── rock_d.tif │ │ │ ├── rock_d.tif.meta │ │ │ ├── rock_n.tif │ │ │ └── rock_n.tif.meta │ │ │ ├── kode80CloudsDemoScene.unity │ │ │ └── kode80CloudsDemoScene.unity.meta │ ├── Resources.meta │ ├── Resources │ │ ├── kode80Clouds.meta │ │ └── kode80Clouds │ │ │ ├── CloudBlender.shader │ │ │ ├── CloudBlender.shader.meta │ │ │ ├── CloudBlenderEditor.shader │ │ │ ├── CloudBlenderEditor.shader.meta │ │ │ ├── CloudCombiner.shader │ │ │ ├── CloudCombiner.shader.meta │ │ │ ├── CloudShadowPass.shader │ │ │ ├── CloudShadowPass.shader.meta │ │ │ ├── CloudsCrepuscularRays.shader │ │ │ ├── CloudsCrepuscularRays.shader.meta │ │ │ ├── CurlNoise.png │ │ │ ├── CurlNoise.png.meta │ │ │ ├── TextureBrush.shader │ │ │ ├── TextureBrush.shader.meta │ │ │ ├── VolumeClouds.shader │ │ │ ├── VolumeClouds.shader.meta │ │ │ ├── VolumeCloudsCommon.cginc │ │ │ ├── VolumeCloudsCommon.cginc.meta │ │ │ ├── noise.bytes │ │ │ ├── noise.bytes.meta │ │ │ ├── noise_detail.bytes │ │ │ └── noise_detail.bytes.meta │ ├── Scripts.meta │ ├── Scripts │ │ ├── BehaviorStateStore.cs │ │ ├── BehaviorStateStore.cs.meta │ │ ├── CrepuscularRays.cs │ │ ├── CrepuscularRays.cs.meta │ │ ├── EditorState.cs │ │ ├── EditorState.cs.meta │ │ ├── FullScreenQuad.cs │ │ ├── FullScreenQuad.cs.meta │ │ ├── RenderSettings.cs │ │ ├── RenderSettings.cs.meta │ │ ├── SharedProperties.cs │ │ ├── SharedProperties.cs.meta │ │ ├── TexturePainter.cs │ │ ├── TexturePainter.cs.meta │ │ ├── TimeOfDay.cs │ │ ├── TimeOfDay.cs.meta │ │ ├── TimeOfDayKeyFrame.cs │ │ ├── TimeOfDayKeyFrame.cs.meta │ │ ├── kode80CloudShadows.cs │ │ ├── kode80CloudShadows.cs.meta │ │ ├── kode80Clouds.cs │ │ └── kode80Clouds.cs.meta │ ├── kode80CloudsNonCommercialLicense.html │ └── kode80CloudsNonCommercialLicense.html.meta │ ├── Editor.meta │ ├── Editor │ ├── Localization.meta │ ├── Localization │ │ ├── Localize.cs │ │ └── Localize.cs.meta │ ├── Utils.meta │ └── Utils │ │ ├── ScriptableObjectUtility.cs │ │ ├── ScriptableObjectUtility.cs.meta │ │ ├── UnityFileUtility.cs │ │ └── UnityFileUtility.cs.meta │ ├── Effects.meta │ ├── Effects │ ├── Resources.meta │ ├── Resources │ │ ├── FilmicTonemapping.shader │ │ └── FilmicTonemapping.shader.meta │ ├── Scripts.meta │ └── Scripts │ │ ├── FilmicTonemapping.cs │ │ └── FilmicTonemapping.cs.meta │ ├── UnityTools.meta │ └── UnityTools │ ├── AssetVersion.xml │ ├── AssetVersion.xml.meta │ ├── EditorTools.meta │ ├── EditorTools │ ├── Editor.meta │ ├── Editor │ │ ├── ComponentContextMenu.cs │ │ ├── ComponentContextMenu.cs.meta │ │ ├── ComponentList.cs │ │ ├── ComponentList.cs.meta │ │ ├── RecordVideoWindow.cs │ │ └── RecordVideoWindow.cs.meta │ ├── Scripts.meta │ └── Scripts │ │ ├── RecordVideo.cs │ │ └── RecordVideo.cs.meta │ ├── GUIWrapper.meta │ ├── GUIWrapper │ ├── Editor.meta │ └── Editor │ │ ├── GUIBase.cs │ │ ├── GUIBase.cs.meta │ │ ├── GUIBaseContainer.cs │ │ ├── GUIBaseContainer.cs.meta │ │ ├── GUIButton.cs │ │ ├── GUIButton.cs.meta │ │ ├── GUIColorField.cs │ │ ├── GUIColorField.cs.meta │ │ ├── GUIDefaultInspector.cs │ │ ├── GUIDefaultInspector.cs.meta │ │ ├── GUIDelayedIntField.cs │ │ ├── GUIDelayedIntField.cs.meta │ │ ├── GUIEnumPopup.cs │ │ ├── GUIEnumPopup.cs.meta │ │ ├── GUIFoldout.cs │ │ ├── GUIFoldout.cs.meta │ │ ├── GUIHorizontal.cs │ │ ├── GUIHorizontal.cs.meta │ │ ├── GUIIntSlider.cs │ │ ├── GUIIntSlider.cs.meta │ │ ├── GUILabel.cs │ │ ├── GUILabel.cs.meta │ │ ├── GUIObjectField.cs │ │ ├── GUIObjectField.cs.meta │ │ ├── GUIPopup.cs │ │ ├── GUIPopup.cs.meta │ │ ├── GUIScrollView.cs │ │ ├── GUIScrollView.cs.meta │ │ ├── GUISlider.cs │ │ ├── GUISlider.cs.meta │ │ ├── GUISpace.cs │ │ ├── GUISpace.cs.meta │ │ ├── GUITextField.cs │ │ ├── GUITextField.cs.meta │ │ ├── GUITextureField.cs │ │ ├── GUITextureField.cs.meta │ │ ├── GUIToggle.cs │ │ ├── GUIToggle.cs.meta │ │ ├── GUIToolbar.cs │ │ ├── GUIToolbar.cs.meta │ │ ├── GUIVector3Field.cs │ │ ├── GUIVector3Field.cs.meta │ │ ├── GUIVertical.cs │ │ └── GUIVertical.cs.meta │ ├── Versioning.meta │ └── Versioning │ ├── Editor.meta │ └── Editor │ ├── AssetUpdateWindow.cs │ ├── AssetUpdateWindow.cs.meta │ ├── AssetUpdater.cs │ ├── AssetUpdater.cs.meta │ ├── AssetVersion.cs │ ├── AssetVersion.cs.meta │ ├── AssetVersionDownloader.cs │ ├── AssetVersionDownloader.cs.meta │ ├── SemanticVersion.cs │ └── SemanticVersion.cs.meta ├── ProjectSettings ├── AudioManager.asset ├── ClusterInputManager.asset ├── DynamicsManager.asset ├── EditorBuildSettings.asset ├── EditorSettings.asset ├── GraphicsSettings.asset ├── InputManager.asset ├── NavMeshAreas.asset ├── NetworkManager.asset ├── Physics2DSettings.asset ├── ProjectSettings.asset ├── ProjectVersion.txt ├── QualitySettings.asset ├── TagManager.asset ├── TimeManager.asset ├── UnityAdsSettings.asset └── UnityConnectSettings.asset ├── README.md └── kode80CloudsNonCommercialLicense.html /.gitignore: -------------------------------------------------------------------------------- 1 | # Created by https://www.gitignore.io/api/unity 2 | 3 | ### Unity ### 4 | /[Ll]ibrary/ 5 | /[Tt]emp/ 6 | /[Oo]bj/ 7 | /[Bb]uild/ 8 | 9 | # Autogenerated VS/MD solution and project files 10 | *.csproj 11 | *.unityproj 12 | *.sln 13 | *.suo 14 | *.tmp 15 | *.user 16 | *.userprefs 17 | *.pidb 18 | *.booproj 19 | 20 | # Unity3D generated meta files 21 | *.pidb.meta 22 | 23 | # Unity3D Generated File On Crash Reports 24 | sysinfo.txt 25 | VolumeClouds.app 26 | .vscode 27 | Clouds Notes.oo3 28 | ios 29 | Creative 30 | VolumeClouds_Data/ 31 | VolumeClouds.exe 32 | player_win_development_x86.pdb 33 | kode80Clouds.unitypackage 34 | -------------------------------------------------------------------------------- /Assets/kode80.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b794b5e85cd4d467abe43ef40be7a84f 3 | folderAsset: yes 4 | timeCreated: 1445521746 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e7ddc5d20950c4ad4ba5a28c14be2b98 3 | folderAsset: yes 4 | timeCreated: 1445523354 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/AssetVersion.xml: -------------------------------------------------------------------------------- 1 | 2 | kode80 Clouds 3 | kode80 4 | 1.1.1 5 | * Fixed shader compilation on < 5.3.0 6 | * Fixed GUI compilation error on < 5.3.0 7 | * Fixed draw order bug with transparent materials 8 | * Fixed clouds not displaying when Unity water is visible 9 | 10 | http://kode80.com/downloads/assets/kode80Clouds.unitypackage 11 | https://raw.github.com/kode80/kode80CloudsUnity3D/master/Assets/kode80/Clouds/AssetVersion.xml 12 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/AssetVersion.xml.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f3cff1819bf074146b7899ae1f6bb4b2 3 | timeCreated: 1460644723 4 | licenseType: Pro 5 | TextScriptImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/ChangeLog.txt: -------------------------------------------------------------------------------- 1 | kode80 Clouds ChangeLog 2 | --------------------- 3 | 4 | kode80 Clouds 1.1.1 (April 20th 2016) 5 | * Fixed shader compilation on < 5.3.0 6 | * Fixed GUI compilation error on < 5.3.0 7 | * Fixed draw order bug with transparent materials 8 | * Fixed clouds note displaying when Unity water is visible 9 | 10 | 11 | kode80 Clouds 1.1.0 (April 18th 2016): 12 | 13 | Note: before you install this version, you should remove the previous verion 14 | from your project. Certain files have been moved to fix editor conflicts 15 | and Unity's package installer does not handle moved/deleted files. 16 | 17 | * Added kode80CloudShadows component (place on directional light) 18 | * Added AssetUpdater (Window/kode80/Check for Asset Updates) 19 | * kode80Clouds now draws a gizmo for visualizing horizon/atmosphere size 20 | * kode80Clouds' transform now affects virtual skydome position in scene 21 | * Hardcoded input in demo's FlyCamera script (fixes Input Manager errors) 22 | * Fixed Coverage Editor's brush position for all atmosphere sizes 23 | * Fixed compile errors for < Unity 5.3.3 24 | * Fixed lighting when project is set to Gamma 25 | * Updated documentation -------------------------------------------------------------------------------- /Assets/kode80/Clouds/ChangeLog.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6ef367699f3bc4131b862b520b325e5d 3 | timeCreated: 1460999963 4 | licenseType: Pro 5 | TextScriptImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Docs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 060e60f7133c56d409ce06da6816a665 3 | folderAsset: yes 4 | timeCreated: 1459791575 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Docs/kode80Clouds.epub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kode80/kode80CloudsUnity3D/930adf5d0f096e680be84b7c19498bdd57f32ee3/Assets/kode80/Clouds/Docs/kode80Clouds.epub -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Docs/kode80Clouds.epub.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 926b5d61ae9f2fe45a408850b8d353fa 3 | timeCreated: 1459791575 4 | licenseType: Pro 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Docs/kode80Clouds.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kode80/kode80CloudsUnity3D/930adf5d0f096e680be84b7c19498bdd57f32ee3/Assets/kode80/Clouds/Docs/kode80Clouds.pdf -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Docs/kode80Clouds.pdf.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 88aa633dd152c2245bffefeafc0968af 3 | timeCreated: 1460393386 4 | licenseType: Pro 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 73167667c1687492a84a05746d30f283 3 | folderAsset: yes 4 | timeCreated: 1445523375 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Editor/CloudsEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1e3dbafc7c6c64285853581875da6511 3 | timeCreated: 1443389596 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Editor/CubemapExporter.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9b0a05a5651914bd2983037a5fe7da17 3 | timeCreated: 1445110432 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Editor/TimeOfDayEditor.cs: -------------------------------------------------------------------------------- 1 | //*************************************************** 2 | // 3 | // Author: Ben Hopkins 4 | // Copyright (C) 2016 kode80 LLC, 5 | // all rights reserved 6 | // 7 | // Free to use for non-commercial purposes, 8 | // see full license in project root: 9 | // kode80CloudsNonCommercialLicense.html 10 | // 11 | // Commercial licenses available for purchase from: 12 | // http://kode80.com/ 13 | // 14 | //*************************************************** 15 | 16 | using UnityEngine; 17 | using UnityEditor; 18 | using System.Collections; 19 | using kode80.Clouds; 20 | 21 | [CustomEditor( typeof(TimeOfDay))] 22 | public class TimeOfDayEditor : Editor 23 | { 24 | public override void OnInspectorGUI() 25 | { 26 | TimeOfDay timeOfDay = (TimeOfDay)target; 27 | 28 | DrawDefaultInspector(); 29 | if( GUILayout.Button( "Sort Key Frames")) 30 | { 31 | timeOfDay.SortKeyFrames(); 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Editor/TimeOfDayEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f17d86ff986754c63ba16558b81e50a2 3 | timeCreated: 1449867927 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Editor/gui.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 964fa01ba138e4944a253d0bfe4b32c2 3 | folderAsset: yes 4 | timeCreated: 1447024476 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Editor/gui/button_camera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kode80/kode80CloudsUnity3D/930adf5d0f096e680be84b7c19498bdd57f32ee3/Assets/kode80/Clouds/Editor/gui/button_camera.png -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Editor/gui/button_camera.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8da740581a6e3cd4d884e26e8dd6430b 3 | timeCreated: 1447034235 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 1 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 8 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -2 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: 1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | allowsAlphaSplitting: 0 41 | spriteMode: 0 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 47 | spritePixelsToUnits: 100 48 | alphaIsTransparency: 1 49 | textureType: 2 50 | buildTargetSettings: [] 51 | spriteSheet: 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Editor/gui/button_clearmap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kode80/kode80CloudsUnity3D/930adf5d0f096e680be84b7c19498bdd57f32ee3/Assets/kode80/Clouds/Editor/gui/button_clearmap.png -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Editor/gui/button_clearmap.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 900d6eb80b865c942adaaf7541416531 3 | timeCreated: 1447600185 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 1 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 8 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -2 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: 1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | allowsAlphaSplitting: 0 41 | spriteMode: 0 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 47 | spritePixelsToUnits: 100 48 | alphaIsTransparency: 1 49 | textureType: 2 50 | buildTargetSettings: [] 51 | spriteSheet: 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Editor/gui/button_coverage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kode80/kode80CloudsUnity3D/930adf5d0f096e680be84b7c19498bdd57f32ee3/Assets/kode80/Clouds/Editor/gui/button_coverage.png -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Editor/gui/button_coverage.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: aac36b96f6ffb1543a6ac2ef13f3ca26 3 | timeCreated: 1447600185 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 1 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 8 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -2 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: 1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | allowsAlphaSplitting: 0 41 | spriteMode: 0 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 47 | spritePixelsToUnits: 100 48 | alphaIsTransparency: 1 49 | textureType: 2 50 | buildTargetSettings: [] 51 | spriteSheet: 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Editor/gui/button_cubemap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kode80/kode80CloudsUnity3D/930adf5d0f096e680be84b7c19498bdd57f32ee3/Assets/kode80/Clouds/Editor/gui/button_cubemap.png -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Editor/gui/button_cubemap.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0eea583336ca9764687d44c78d4c1301 3 | timeCreated: 1447600185 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 1 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 8 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -2 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: 1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | allowsAlphaSplitting: 0 41 | spriteMode: 0 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 47 | spritePixelsToUnits: 100 48 | alphaIsTransparency: 1 49 | textureType: 2 50 | buildTargetSettings: [] 51 | spriteSheet: 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Editor/gui/button_new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kode80/kode80CloudsUnity3D/930adf5d0f096e680be84b7c19498bdd57f32ee3/Assets/kode80/Clouds/Editor/gui/button_new.png -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Editor/gui/button_new.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: eb8cd47faf4b75f4b9e63c4fc731c4d3 3 | timeCreated: 1447564310 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 1 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 8 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -2 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: 1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | allowsAlphaSplitting: 0 41 | spriteMode: 0 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 47 | spritePixelsToUnits: 100 48 | alphaIsTransparency: 1 49 | textureType: 2 50 | buildTargetSettings: [] 51 | spriteSheet: 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Editor/gui/button_properties.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kode80/kode80CloudsUnity3D/930adf5d0f096e680be84b7c19498bdd57f32ee3/Assets/kode80/Clouds/Editor/gui/button_properties.png -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Editor/gui/button_properties.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7aef4289403f7d248b973c130d1088fa 3 | timeCreated: 1447564310 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 1 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 8 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -2 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: 1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | allowsAlphaSplitting: 0 41 | spriteMode: 0 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 47 | spritePixelsToUnits: 100 48 | alphaIsTransparency: 1 49 | textureType: 2 50 | buildTargetSettings: [] 51 | spriteSheet: 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Editor/gui/button_save.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kode80/kode80CloudsUnity3D/930adf5d0f096e680be84b7c19498bdd57f32ee3/Assets/kode80/Clouds/Editor/gui/button_save.png -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Editor/gui/button_save.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 26e608e6c603c21418b73f96789b3851 3 | timeCreated: 1447564310 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 1 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 8 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -2 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: 1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | allowsAlphaSplitting: 0 41 | spriteMode: 0 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 47 | spritePixelsToUnits: 100 48 | alphaIsTransparency: 1 49 | textureType: 2 50 | buildTargetSettings: [] 51 | spriteSheet: 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Editor/gui/button_saveas.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kode80/kode80CloudsUnity3D/930adf5d0f096e680be84b7c19498bdd57f32ee3/Assets/kode80/Clouds/Editor/gui/button_saveas.png -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Editor/gui/button_saveas.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 871589d05fde3b04e86004ed4b766dd1 3 | timeCreated: 1447564310 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 1 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 8 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -2 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: 1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | allowsAlphaSplitting: 0 41 | spriteMode: 0 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 47 | spritePixelsToUnits: 100 48 | alphaIsTransparency: 1 49 | textureType: 2 50 | buildTargetSettings: [] 51 | spriteSheet: 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Editor/gui/button_type.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kode80/kode80CloudsUnity3D/930adf5d0f096e680be84b7c19498bdd57f32ee3/Assets/kode80/Clouds/Editor/gui/button_type.png -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Editor/gui/button_type.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 66c02ced459fd99428006c4aff9733d6 3 | timeCreated: 1447600185 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 1 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 8 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -2 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: 1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | allowsAlphaSplitting: 0 41 | spriteMode: 0 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 47 | spritePixelsToUnits: 100 48 | alphaIsTransparency: 1 49 | textureType: 2 50 | buildTargetSettings: [] 51 | spriteSheet: 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Examples.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 12aba53dbbc6f412f95abca5860a64b1 3 | folderAsset: yes 4 | timeCreated: 1449552770 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Examples/Demo.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4e2005793f492fe4785ced50403d8972 3 | folderAsset: yes 4 | timeCreated: 1460138858 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Examples/Demo/Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a4e74383b7c860b489773146d6bd5988 3 | folderAsset: yes 4 | timeCreated: 1449716614 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Examples/Demo/Materials/kode80CloudsDemoSkybox.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3cd4c2288b481be48b545b8dc5fdf8cb 3 | timeCreated: 1441318663 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Examples/Demo/Models.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d68e2e1cacee8b243b754b9c5274a36d 3 | folderAsset: yes 4 | timeCreated: 1449716614 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Examples/Demo/Models/kode80CloudsDemoTerrain.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kode80/kode80CloudsUnity3D/930adf5d0f096e680be84b7c19498bdd57f32ee3/Assets/kode80/Clouds/Examples/Demo/Models/kode80CloudsDemoTerrain.asset -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Examples/Demo/Models/kode80CloudsDemoTerrain.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 62232a1ba642a42409c4f5b9f381cba5 3 | timeCreated: 1449592532 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Examples/Demo/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2a51b32558b3c3c41a4edb9fb7b0f198 3 | folderAsset: yes 4 | timeCreated: 1459294788 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Examples/Demo/Scripts/FlyCamera.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 71038ce8c385e5445b893835a42597bb 3 | timeCreated: 1459294749 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Examples/Demo/Textures.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1f6d9838d44dd1444ba8044835c47c23 3 | folderAsset: yes 4 | timeCreated: 1449716614 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Examples/Demo/Textures/CliffAlbedoSpecular.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kode80/kode80CloudsUnity3D/930adf5d0f096e680be84b7c19498bdd57f32ee3/Assets/kode80/Clouds/Examples/Demo/Textures/CliffAlbedoSpecular.tif -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Examples/Demo/Textures/CliffAlbedoSpecular.tif.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8c01b79bf6645a7468203bc0159771fa 3 | timeCreated: 1449715268 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 1 11 | linearTexture: 0 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 8 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -1 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapMode: 0 36 | nPOTScale: 1 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | allowsAlphaSplitting: 0 41 | spriteMode: 0 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 47 | spritePixelsToUnits: 100 48 | alphaIsTransparency: 0 49 | textureType: -1 50 | buildTargetSettings: [] 51 | spriteSheet: 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Examples/Demo/Textures/CliffNormals.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kode80/kode80CloudsUnity3D/930adf5d0f096e680be84b7c19498bdd57f32ee3/Assets/kode80/Clouds/Examples/Demo/Textures/CliffNormals.tif -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Examples/Demo/Textures/CliffNormals.tif.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7af412ec2b275804f8ad45e353c7f6b6 3 | timeCreated: 1449715266 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 1 11 | linearTexture: 1 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 1 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 8 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -1 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapMode: 0 36 | nPOTScale: 1 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | allowsAlphaSplitting: 0 41 | spriteMode: 0 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 47 | spritePixelsToUnits: 100 48 | alphaIsTransparency: 0 49 | textureType: 1 50 | buildTargetSettings: [] 51 | spriteSheet: 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Examples/Demo/Textures/Coverage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kode80/kode80CloudsUnity3D/930adf5d0f096e680be84b7c19498bdd57f32ee3/Assets/kode80/Clouds/Examples/Demo/Textures/Coverage.png -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Examples/Demo/Textures/Coverage.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4b24d93884f19cf488a5ad4d87db6222 3 | timeCreated: 1441643412 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 1 11 | linearTexture: 1 12 | correctGamma: 1 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 8 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -2 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: 2 33 | aniso: -1 34 | mipBias: -1 35 | wrapMode: 0 36 | nPOTScale: 1 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | allowsAlphaSplitting: 0 41 | spriteMode: 0 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 47 | spritePixelsToUnits: 100 48 | alphaIsTransparency: 0 49 | textureType: 5 50 | buildTargetSettings: 51 | - buildTarget: Standalone 52 | maxTextureSize: 2048 53 | textureFormat: 3 54 | compressionQuality: 50 55 | allowsAlphaSplitting: 0 56 | spriteSheet: 57 | sprites: [] 58 | outline: [] 59 | spritePackingTag: 60 | userData: 61 | assetBundleName: 62 | assetBundleVariant: 63 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Examples/Demo/Textures/GrassHillAlbedo.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kode80/kode80CloudsUnity3D/930adf5d0f096e680be84b7c19498bdd57f32ee3/Assets/kode80/Clouds/Examples/Demo/Textures/GrassHillAlbedo.tif -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Examples/Demo/Textures/GrassHillAlbedo.tif.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2e07de2a070d4214a94c4e2b275131b0 3 | timeCreated: 1449715266 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 1 11 | linearTexture: 0 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 8 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -1 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapMode: 0 36 | nPOTScale: 1 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | allowsAlphaSplitting: 0 41 | spriteMode: 0 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 47 | spritePixelsToUnits: 100 48 | alphaIsTransparency: 0 49 | textureType: -1 50 | buildTargetSettings: [] 51 | spriteSheet: 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Examples/Demo/Textures/Moss_03_A.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kode80/kode80CloudsUnity3D/930adf5d0f096e680be84b7c19498bdd57f32ee3/Assets/kode80/Clouds/Examples/Demo/Textures/Moss_03_A.tif -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Examples/Demo/Textures/Moss_03_A.tif.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5c787a1f34b20fe449f4eb3d0c5d56d0 3 | timeCreated: 1449715265 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 1 11 | linearTexture: 0 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 8 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -1 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapMode: 0 36 | nPOTScale: 1 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | allowsAlphaSplitting: 0 41 | spriteMode: 0 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 47 | spritePixelsToUnits: 100 48 | alphaIsTransparency: 0 49 | textureType: -1 50 | buildTargetSettings: [] 51 | spriteSheet: 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Examples/Demo/Textures/Moss_03_N.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kode80/kode80CloudsUnity3D/930adf5d0f096e680be84b7c19498bdd57f32ee3/Assets/kode80/Clouds/Examples/Demo/Textures/Moss_03_N.tif -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Examples/Demo/Textures/Moss_03_N.tif.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8431ce704ee7f5c4ab61e8e025d4dbca 3 | timeCreated: 1449715269 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 1 11 | linearTexture: 1 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 1 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 8 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -1 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapMode: -1 36 | nPOTScale: 1 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | allowsAlphaSplitting: 0 41 | spriteMode: 0 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 47 | spritePixelsToUnits: 100 48 | alphaIsTransparency: 0 49 | textureType: 1 50 | buildTargetSettings: [] 51 | spriteSheet: 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Examples/Demo/Textures/Soil_Mud01_d.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kode80/kode80CloudsUnity3D/930adf5d0f096e680be84b7c19498bdd57f32ee3/Assets/kode80/Clouds/Examples/Demo/Textures/Soil_Mud01_d.tif -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Examples/Demo/Textures/Soil_Mud01_d.tif.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c522907a94f627747949006ab91482a2 3 | timeCreated: 1431970219 4 | licenseType: Store 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 1 11 | linearTexture: 0 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 8 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -1 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapMode: 0 36 | nPOTScale: 1 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | allowsAlphaSplitting: 0 41 | spriteMode: 0 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 47 | spritePixelsToUnits: 100 48 | alphaIsTransparency: 0 49 | textureType: -1 50 | buildTargetSettings: [] 51 | spriteSheet: 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: 55 | userData: 56 | assetBundleName: cloudspromodemoassets 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Examples/Demo/Textures/Soil_Mud_Floor_39c246142130_large_nd.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kode80/kode80CloudsUnity3D/930adf5d0f096e680be84b7c19498bdd57f32ee3/Assets/kode80/Clouds/Examples/Demo/Textures/Soil_Mud_Floor_39c246142130_large_nd.tif -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Examples/Demo/Textures/Soil_Mud_Floor_39c246142130_large_nd.tif.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 31c04c1b53f70e542bf76b63e7ceab14 3 | timeCreated: 1449715268 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 1 11 | linearTexture: 1 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 1 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 8 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -1 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapMode: 0 36 | nPOTScale: 1 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | allowsAlphaSplitting: 0 41 | spriteMode: 0 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 47 | spritePixelsToUnits: 100 48 | alphaIsTransparency: 0 49 | textureType: 1 50 | buildTargetSettings: [] 51 | spriteSheet: 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Examples/Demo/Textures/rock_d.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kode80/kode80CloudsUnity3D/930adf5d0f096e680be84b7c19498bdd57f32ee3/Assets/kode80/Clouds/Examples/Demo/Textures/rock_d.tif -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Examples/Demo/Textures/rock_d.tif.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5711ea88c34033842a48fd9cd34bf464 3 | timeCreated: 1432467035 4 | licenseType: Store 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 1 11 | linearTexture: 0 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 8 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -1 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapMode: 0 36 | nPOTScale: 1 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | allowsAlphaSplitting: 0 41 | spriteMode: 0 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 47 | spritePixelsToUnits: 100 48 | alphaIsTransparency: 0 49 | textureType: -1 50 | buildTargetSettings: [] 51 | spriteSheet: 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: 55 | userData: 56 | assetBundleName: cloudspromodemoassets 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Examples/Demo/Textures/rock_n.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kode80/kode80CloudsUnity3D/930adf5d0f096e680be84b7c19498bdd57f32ee3/Assets/kode80/Clouds/Examples/Demo/Textures/rock_n.tif -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Examples/Demo/Textures/rock_n.tif.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 27867ec308b5e9b459fe432cf973b2e0 3 | timeCreated: 1449715266 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 1 11 | linearTexture: 1 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 1 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 8 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -1 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapMode: 0 36 | nPOTScale: 1 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | allowsAlphaSplitting: 0 41 | spriteMode: 0 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 47 | spritePixelsToUnits: 100 48 | alphaIsTransparency: 0 49 | textureType: 1 50 | buildTargetSettings: [] 51 | spriteSheet: 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Examples/Demo/kode80CloudsDemoScene.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9483a6b69c965034b8f1f4656d72785e 3 | timeCreated: 1460140168 4 | licenseType: Pro 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ea5254d5dea074242b8fda35b886d19b 3 | folderAsset: yes 4 | timeCreated: 1445523386 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Resources/kode80Clouds.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 88520888f35bb4c08a0619ccb3da05eb 3 | folderAsset: yes 4 | timeCreated: 1459296734 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Resources/kode80Clouds/CloudBlender.shader: -------------------------------------------------------------------------------- 1 | //*************************************************** 2 | // 3 | // Author: Ben Hopkins 4 | // Copyright (C) 2016 kode80 LLC, 5 | // all rights reserved 6 | // 7 | // Free to use for non-commercial purposes, 8 | // see full license in project root: 9 | // kode80CloudsNonCommercialLicense.html 10 | // 11 | // Commercial licenses available for purchase from: 12 | // http://kode80.com/ 13 | // 14 | //*************************************************** 15 | 16 | Shader "Hidden/kode80/CloudBlender" 17 | { 18 | Properties 19 | { 20 | _MainTex ("Base (RGB)", 2D) = "white" {} 21 | } 22 | SubShader 23 | { 24 | Tags { "Queue" = "Transparent" "RenderType"="Transparent" } 25 | 26 | Pass 27 | { 28 | Cull Off 29 | ZWrite Off 30 | Ztest LEqual 31 | //LOD 200 32 | Blend One OneMinusSrcAlpha 33 | 34 | CGPROGRAM 35 | 36 | #pragma vertex vert 37 | #pragma fragment frag 38 | #pragma target 3.0 39 | #include "UnityCG.cginc" 40 | 41 | sampler2D _MainTex; 42 | bool _IsGamma; 43 | 44 | struct v2f { 45 | float4 position : SV_POSITION; 46 | float2 uv : TEXCOORD0; 47 | }; 48 | 49 | v2f vert(appdata_base v) 50 | { 51 | v2f o; 52 | o.position = float4(v.vertex.xyz, 1.0); 53 | o.uv = v.texcoord; 54 | 55 | if( _ProjectionParams.x < 0) { 56 | o.uv.y = 1-o.uv.y; 57 | } 58 | 59 | return o; 60 | } 61 | 62 | half4 frag (v2f input) : COLOR 63 | { 64 | half4 output = tex2D( _MainTex, input.uv); 65 | 66 | // IsGamma() not available in Unity 5.2.4 67 | return _IsGamma ? output : pow( output, 2.2); 68 | } 69 | 70 | ENDCG 71 | } 72 | } 73 | } 74 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Resources/kode80Clouds/CloudBlender.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 49ddaec72de8a43c8b3689886ff2c19e 3 | timeCreated: 1442302568 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Resources/kode80Clouds/CloudBlenderEditor.shader: -------------------------------------------------------------------------------- 1 | //*************************************************** 2 | // 3 | // Author: Ben Hopkins 4 | // Copyright (C) 2016 kode80 LLC, 5 | // all rights reserved 6 | // 7 | // Free to use for non-commercial purposes, 8 | // see full license in project root: 9 | // kode80CloudsNonCommercialLicense.html 10 | // 11 | // Commercial licenses available for purchase from: 12 | // http://kode80.com/ 13 | // 14 | //*************************************************** 15 | 16 | Shader "Hidden/kode80/CloudBlenderEditor" 17 | { 18 | Properties 19 | { 20 | _MainTex ("Base (RGB)", 2D) = "white" {} 21 | } 22 | SubShader 23 | { 24 | Tags { "Queue" = "Transparent" "RenderType"="Transparent" } 25 | 26 | Pass 27 | { 28 | Cull Off 29 | ZWrite Off 30 | Ztest LEqual 31 | //LOD 200 32 | Blend One OneMinusSrcAlpha 33 | 34 | CGPROGRAM 35 | 36 | #pragma vertex vert 37 | #pragma fragment frag 38 | #pragma target 3.0 39 | #include "UnityCG.cginc" 40 | #include "VolumeCloudsCommon.cginc" 41 | 42 | 43 | sampler2D _MainTex; 44 | sampler2D _Coverage; 45 | float _DrawCoverage; 46 | float _DrawType; 47 | float _DrawCursor; 48 | float3 _Cursor; 49 | float _CursorRadius; 50 | bool _IsGamma; 51 | 52 | float4 _MainTex_TexelSize; 53 | 54 | clouds_v2f vert(appdata_base v) 55 | { 56 | clouds_v2f o; 57 | o.position = float4(v.vertex.xyz, 1.0); 58 | o.uv = v.texcoord.xy; 59 | 60 | if( _ProjectionParams.x < 0) { 61 | o.uv.y = 1-o.uv.y; 62 | } 63 | 64 | o.cameraRay = UVToCameraRay( o.uv); 65 | 66 | return o; 67 | } 68 | 69 | half4 frag( clouds_v2f input) : COLOR 70 | { 71 | half4 color = tex2D( _MainTex, input.uv); 72 | float3 rayDirection = normalize( input.cameraRay); 73 | float2 uv = input.uv; 74 | float3 midIntersect = InternalRaySphereIntersect( _EarthRadius + _StartHeight, _CameraPosition, rayDirection); 75 | float3 maxIntersect = InternalRaySphereIntersect( _EarthRadius + _EndHeight, _CameraPosition, rayDirection); 76 | 77 | float2 bPos = float2( _Cursor.x, _Cursor.z); 78 | float2 v0 = float2( 0.0, 0.0); 79 | float2 v1 = maxIntersect.xz; 80 | 81 | float bA = 0.5; 82 | float3 bC = float3( 1.0, 0.0, 0.0); 83 | 84 | float innerR = _MaxDistance * _Cursor.y; 85 | float outerR = innerR + (_MaxDistance / 256.0 * 4.0); 86 | float rL = distance( _Cursor.xz, maxIntersect.xz); 87 | 88 | 89 | float2 coverageUV = (maxIntersect.xz / _MaxDistance) * 0.5 + 0.5; 90 | half4 coverage = tex2D( _Coverage, coverageUV); 91 | 92 | if( rayDirection.y >= 0.0) 93 | { 94 | if( _DrawCursor && distance( bPos, maxIntersect.xz) <= _CursorRadius) 95 | { 96 | bC = float3( 1.0, 0.0, 0.0); 97 | bA = 0.85; 98 | 99 | color.rgb *= 0.95; 100 | color.a *= 0.95; 101 | 102 | color.rgb = (bC * bA) * (1.0 - color.a) + color.rgb; 103 | color.a += bA * (1.0 - color.a); 104 | 105 | 106 | //color.rgb *= 1.0 - bA; 107 | //color.rgb += bC * bA; 108 | //color.a += bA * (1.0 - color.a); 109 | } 110 | 111 | if( _DrawCursor && distance( bPos, midIntersect.xz) <= _CursorRadius) 112 | { 113 | bC = float3( 1.0, 1.0, 0.0); 114 | bA = 0.5; 115 | 116 | color.rgb *= 1.0 - bA; 117 | color.rgb += bC * bA; 118 | color.a += bA * (1.0 - color.a); 119 | } 120 | 121 | if( _DrawCoverage == 1.0) 122 | { 123 | color.rgb += half3( coverage.r, coverage.r, coverage.r) * (1.0 - color.a); 124 | color.a = 1.0; 125 | } 126 | } 127 | 128 | // IsGamma() not available in Unity 5.2.4 129 | return _IsGamma ? color : pow( color, 2.2); 130 | } 131 | 132 | ENDCG 133 | } 134 | } 135 | } 136 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Resources/kode80Clouds/CloudBlenderEditor.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3ab82a1cbb20e4dfea6f946cbd08af7f 3 | timeCreated: 1443579536 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Resources/kode80Clouds/CloudCombiner.shader: -------------------------------------------------------------------------------- 1 | //*************************************************** 2 | // 3 | // Author: Ben Hopkins 4 | // Copyright (C) 2016 kode80 LLC, 5 | // all rights reserved 6 | // 7 | // Free to use for non-commercial purposes, 8 | // see full license in project root: 9 | // kode80CloudsNonCommercialLicense.html 10 | // 11 | // Commercial licenses available for purchase from: 12 | // http://kode80.com/ 13 | // 14 | //*************************************************** 15 | 16 | Shader "Hidden/kode80/CloudCombiner" 17 | { 18 | Properties 19 | { 20 | _MainTex ("Base (RGB)", 2D) = "white" {} 21 | } 22 | SubShader 23 | { 24 | Pass 25 | { 26 | Tags { "RenderType"="Opaque" } 27 | LOD 200 28 | Cull Off 29 | ZWrite Off 30 | Ztest LEqual 31 | 32 | CGPROGRAM 33 | 34 | #pragma vertex vert 35 | #pragma fragment frag 36 | #pragma target 3.0 37 | #include "UnityCG.cginc" 38 | #include "VolumeCloudsCommon.cginc" 39 | 40 | sampler2D _MainTex; 41 | sampler2D _SubFrame; 42 | sampler2D _PrevFrame; 43 | 44 | 45 | struct v2f { 46 | float4 position : SV_POSITION; 47 | float2 uv : TEXCOORD0; 48 | }; 49 | 50 | v2f vert(appdata_img v) 51 | { 52 | v2f o; 53 | o.position = mul( UNITY_MATRIX_MVP, v.vertex); 54 | o.uv = v.texcoord; 55 | 56 | return o; 57 | } 58 | 59 | half4 frag (v2f input) : COLOR 60 | { 61 | float2 uv = floor(input.uv * _FrameSize); 62 | float2 uv2 = (floor(input.uv * _SubFrameSize) + 0.5) / _SubFrameSize; 63 | 64 | float x = fmod( uv.x, _SubPixelSize); 65 | float y = fmod( uv.y, _SubPixelSize); 66 | float frame = y * _SubPixelSize + x; 67 | float4 cloud; 68 | 69 | if( frame == _SubFrameNumber) 70 | { 71 | cloud = tex2D( _SubFrame, uv2); 72 | } 73 | else 74 | { 75 | float4 prevPos = float4( input.uv * 2.0 - 1.0, 1.0, 1.0); 76 | prevPos = mul( _InverseProjection, prevPos); 77 | prevPos = prevPos / prevPos.w; 78 | prevPos.xyz = mul( (float3x3)_InverseRotation, prevPos.xyz); 79 | prevPos.xyz = mul( (float3x3)_PreviousRotation, prevPos.xyz); 80 | float4 reproj = mul( _Projection, prevPos); 81 | reproj /= reproj.w; 82 | reproj.xy = reproj.xy * 0.5 + 0.5; 83 | 84 | if( reproj.y < 0.0 || reproj.y > 1.0 || reproj.x < 0.0 || reproj.x > 1.0) 85 | { 86 | //cloud = float4( 1.0, 0.0, 0.0, 1.0); 87 | cloud = tex2D( _SubFrame, input.uv); 88 | } 89 | else 90 | { 91 | cloud = tex2D( _PrevFrame, reproj.xy); 92 | } 93 | } 94 | 95 | return cloud; 96 | } 97 | 98 | ENDCG 99 | } 100 | } 101 | } 102 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Resources/kode80Clouds/CloudCombiner.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f23b8e236431b4f0791fbd350b408175 3 | timeCreated: 1442257477 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Resources/kode80Clouds/CloudShadowPass.shader: -------------------------------------------------------------------------------- 1 | //*************************************************** 2 | // 3 | // Author: Ben Hopkins 4 | // Copyright (C) 2016 kode80 LLC, 5 | // all rights reserved 6 | // 7 | // Free to use for non-commercial purposes, 8 | // see full license in project root: 9 | // kode80CloudsNonCommercialLicense.html 10 | // 11 | // Commercial licenses available for purchase from: 12 | // http://kode80.com/ 13 | // 14 | //*************************************************** 15 | 16 | Shader "Hidden/kode80/CloudShadowPass" 17 | { 18 | Properties 19 | { 20 | _MainTex ("Texture", 2D) = "white" {} 21 | } 22 | SubShader 23 | { 24 | Cull Off ZWrite Off ZTest Always 25 | Blend DstColor Zero 26 | 27 | Pass 28 | { 29 | CGPROGRAM 30 | #pragma vertex vert 31 | #pragma fragment frag 32 | 33 | #include "UnityCG.cginc" 34 | #include "VolumeCloudsCommon.cginc" 35 | 36 | 37 | struct appdata { 38 | float4 vertex : POSITION; 39 | float2 texcoord : TEXCOORD0; 40 | }; 41 | 42 | struct v2f 43 | { 44 | float2 uv : TEXCOORD0; 45 | float4 vertex : SV_POSITION; 46 | float3 ray : TEXCOORD1; 47 | }; 48 | 49 | 50 | sampler2D _MainTex; 51 | sampler2D _CloudCoverage; 52 | sampler2D_float _CameraDepthTexture; 53 | float4x4 _InvCamera; 54 | float4x4 _InvProjection; 55 | float3 _Offset; 56 | float _CoverageScale; 57 | float2 _CoverageOffset; 58 | float3 _LightDirection; 59 | float _ShadowStrength; 60 | 61 | v2f vert (appdata v) 62 | { 63 | v2f o; 64 | o.vertex = mul(UNITY_MATRIX_MVP, v.vertex); 65 | o.uv = v.texcoord; 66 | 67 | float4 cameraRay = float4( v.texcoord * 2.0 - 1.0, 1.0, 1.0); 68 | cameraRay = mul( _InvProjection, cameraRay); 69 | cameraRay = cameraRay / cameraRay.w; 70 | o.ray = cameraRay.xyz; 71 | 72 | return o; 73 | } 74 | 75 | fixed4 frag (v2f i) : SV_Target 76 | { 77 | fixed4 pixel = tex2D( _MainTex, i.uv); 78 | float depth = SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, i.uv); 79 | depth = Linear01Depth( depth); 80 | float3 ray = i.ray * depth; 81 | float3 pos = mul( _InvCamera, float4( ray, 1.0)).xyz; 82 | pos.y += _EarthRadius; 83 | float3 intersect = InternalRaySphereIntersect(_EarthRadius + _StartHeight, pos, -_LightDirection); 84 | 85 | float2 unit = intersect.xz * _CoverageScale; 86 | float2 coverageUV = unit * 0.5 + 0.5; 87 | coverageUV += _CoverageOffset; 88 | 89 | float4 coverage = tex2D( _CloudCoverage, coverageUV); 90 | half cloudShadow = coverage.r; 91 | cloudShadow *= _ShadowStrength; 92 | cloudShadow = 1.0 - cloudShadow; 93 | 94 | // TEST PATTERN 95 | //return fmod( round(abs(pos.x)), 2.0) * fmod( round(abs(pos.z)), 2.0); 96 | 97 | return cloudShadow; 98 | } 99 | ENDCG 100 | } 101 | } 102 | } 103 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Resources/kode80Clouds/CloudShadowPass.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 447d8eab8cebb4cfa830a98b27ffe6ff 3 | timeCreated: 1442853546 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Resources/kode80Clouds/CloudsCrepuscularRays.shader: -------------------------------------------------------------------------------- 1 | //*************************************************** 2 | // 3 | // Author: Ben Hopkins 4 | // Copyright (C) 2016 kode80 LLC, 5 | // all rights reserved 6 | // 7 | // Free to use for non-commercial purposes, 8 | // see full license in project root: 9 | // kode80CloudsNonCommercialLicense.html 10 | // 11 | // Commercial licenses available for purchase from: 12 | // http://kode80.com/ 13 | // 14 | //*************************************************** 15 | 16 | Shader "Hidden/kode80/CloudsCrepuscularRays" 17 | { 18 | Properties 19 | { 20 | _MainTex ("Texture", 2D) = "white" {} 21 | } 22 | SubShader 23 | { 24 | // No culling or depth 25 | Cull Off ZWrite Off ZTest Always 26 | 27 | Pass 28 | { 29 | CGPROGRAM 30 | #pragma vertex vert 31 | #pragma fragment frag 32 | #pragma target 3.0 33 | 34 | #include "UnityCG.cginc" 35 | 36 | sampler2D _MainTex; 37 | sampler2D _Clouds; 38 | sampler2D _CameraDepthTexture; 39 | 40 | float2 _SunScreenSpace; 41 | float _SampleCount; 42 | float _Density; 43 | float _Decay; 44 | float _Weight; 45 | float _Exposure; 46 | 47 | struct appdata 48 | { 49 | float4 vertex : POSITION; 50 | float2 uv : TEXCOORD0; 51 | }; 52 | 53 | struct v2f 54 | { 55 | float2 uv : TEXCOORD0; 56 | float4 vertex : SV_POSITION; 57 | }; 58 | 59 | v2f vert (appdata v) 60 | { 61 | v2f o; 62 | o.vertex = mul(UNITY_MATRIX_MVP, v.vertex); 63 | o.uv = v.uv; 64 | return o; 65 | } 66 | 67 | inline float SampleSun( float2 uv) 68 | { 69 | return smoothstep( 0.035, 0.0, distance( uv, _SunScreenSpace)) * 0.41; 70 | } 71 | 72 | inline half SampleLight( float2 uv) 73 | { 74 | float4 uvLOD = float4( uv, 0.0, 0.0); 75 | float depth = Linear01Depth( tex2Dlod( _CameraDepthTexture, uvLOD).r); 76 | float cloud = 1.0 - tex2Dlod( _Clouds, uvLOD).a; 77 | float occlusion = smoothstep( 0.5, 1.0, cloud) * step( 1.0, depth); 78 | 79 | return occlusion * SampleSun( uv); 80 | } 81 | 82 | fixed4 frag (v2f i) : SV_Target 83 | { 84 | fixed4 pixel = tex2D( _MainTex, i.uv); 85 | fixed4 cloud = tex2D( _Clouds, i.uv); 86 | 87 | float2 texCoord = i.uv; 88 | half2 deltaTexCoord = (texCoord - _SunScreenSpace); 89 | deltaTexCoord *= 1.0f / _SampleCount * _Density; 90 | 91 | half light = SampleLight( texCoord); 92 | half origLight = light; 93 | half illuminationDecay = 1.0f; 94 | for (int i = 0; i < _SampleCount; i++) 95 | { 96 | texCoord -= deltaTexCoord; 97 | half sample = SampleLight( texCoord); 98 | sample *= illuminationDecay * _Weight; 99 | light += sample; 100 | illuminationDecay *= _Decay; 101 | } 102 | 103 | return pixel + light * _Exposure; 104 | } 105 | ENDCG 106 | } 107 | } 108 | } 109 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Resources/kode80Clouds/CloudsCrepuscularRays.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1890117d770a7423eb5312767674aadb 3 | timeCreated: 1445616498 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Resources/kode80Clouds/CurlNoise.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kode80/kode80CloudsUnity3D/930adf5d0f096e680be84b7c19498bdd57f32ee3/Assets/kode80/Clouds/Resources/kode80Clouds/CurlNoise.png -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Resources/kode80Clouds/CurlNoise.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4df748612329045369fcc9f31afbabe6 3 | timeCreated: 1443203279 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 1 11 | linearTexture: 1 12 | correctGamma: 1 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 8 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -3 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapMode: -1 36 | nPOTScale: 1 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | allowsAlphaSplitting: 0 41 | spriteMode: 0 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 47 | spritePixelsToUnits: 100 48 | alphaIsTransparency: 0 49 | textureType: 5 50 | buildTargetSettings: 51 | - buildTarget: Standalone 52 | maxTextureSize: 2048 53 | textureFormat: 3 54 | compressionQuality: 50 55 | allowsAlphaSplitting: 0 56 | spriteSheet: 57 | sprites: [] 58 | outline: [] 59 | spritePackingTag: 60 | userData: 61 | assetBundleName: 62 | assetBundleVariant: 63 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Resources/kode80Clouds/TextureBrush.shader: -------------------------------------------------------------------------------- 1 | //*************************************************** 2 | // 3 | // Author: Ben Hopkins 4 | // Copyright (C) 2016 kode80 LLC, 5 | // all rights reserved 6 | // 7 | // Free to use for non-commercial purposes, 8 | // see full license in project root: 9 | // kode80CloudsNonCommercialLicense.html 10 | // 11 | // Commercial licenses available for purchase from: 12 | // http://kode80.com/ 13 | // 14 | //*************************************************** 15 | 16 | Shader "Hidden/kode80/TextureBrush" 17 | { 18 | Properties 19 | { 20 | _MainTex ("Base (RGB)", 2D) = "white" {} 21 | } 22 | SubShader 23 | { 24 | //Tags { "Queue" = "Background+1" } 25 | 26 | Pass 27 | { 28 | Cull Off 29 | ZWrite Off 30 | Ztest Always 31 | //LOD 200 32 | 33 | CGPROGRAM 34 | 35 | #pragma vertex vert 36 | #pragma fragment frag 37 | #pragma target 3.0 38 | #include "UnityCG.cginc" 39 | 40 | sampler2D _MainTex; 41 | sampler2D _BrushTexture; 42 | float _BrushTextureAlpha; 43 | float _CoverageOpacity; 44 | float _TypeOpacity; 45 | float _ShouldDrawCoverage; 46 | float _ShouldDrawType; 47 | float _ShouldBlendValues; 48 | 49 | struct brush_v { 50 | float4 vertex : POSITION; 51 | float2 texcoord : TEXCOORD0; 52 | float2 texcoord2 : TEXCOORD1; 53 | }; 54 | 55 | struct v2f { 56 | float4 position : SV_POSITION; 57 | float2 uv : TEXCOORD0; 58 | float2 uv2 : TEXCOORD1; 59 | }; 60 | 61 | v2f vert( brush_v v) 62 | { 63 | v2f o; 64 | o.position = mul( UNITY_MATRIX_MVP, v.vertex); 65 | o.uv = v.texcoord; 66 | o.uv2 = v.texcoord2; 67 | return o; 68 | } 69 | 70 | half4 frag (v2f input) : COLOR 71 | { 72 | half4 background = tex2D( _MainTex, input.uv2); 73 | float brush = lerp( 1.0, tex2D( _BrushTexture, input.uv).r, _BrushTextureAlpha); 74 | float a = 1.0 - min( 1.0, length( input.uv * 2.0 - 1.0)); 75 | a *= brush; 76 | 77 | half4 result = background; 78 | 79 | UNITY_BRANCH 80 | if( _ShouldBlendValues == 1.0) 81 | { 82 | result.r = saturate( result.r + a * _CoverageOpacity * _ShouldDrawCoverage); 83 | result.b = saturate( result.b + a * _TypeOpacity * _ShouldDrawType); 84 | } 85 | else 86 | { 87 | result.r = lerp( result.r, _CoverageOpacity, a * _ShouldDrawCoverage); 88 | result.b = lerp( result.b, _TypeOpacity, a * _ShouldDrawType); 89 | } 90 | 91 | return result; 92 | } 93 | 94 | ENDCG 95 | } 96 | } 97 | } 98 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Resources/kode80Clouds/TextureBrush.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0cecca6cb28b64a1ca773fbe021667ee 3 | timeCreated: 1443736442 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Resources/kode80Clouds/VolumeClouds.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0f6221ec7db614cf3a54c2bd4d87bd61 3 | timeCreated: 1441226047 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Resources/kode80Clouds/VolumeCloudsCommon.cginc: -------------------------------------------------------------------------------- 1 | //*************************************************** 2 | // 3 | // Author: Ben Hopkins 4 | // Copyright (C) 2016 kode80 LLC, 5 | // all rights reserved 6 | // 7 | // Free to use for non-commercial purposes, 8 | // see full license in project root: 9 | // kode80CloudsNonCommercialLicense.html 10 | // 11 | // Commercial licenses available for purchase from: 12 | // http://kode80.com/ 13 | // 14 | //*************************************************** 15 | 16 | #ifndef VOLUME_CLOUDS_COMMON 17 | #define VOLUME_CLOUDS_COMMON 18 | 19 | float _EarthRadius; 20 | float _StartHeight; 21 | float _EndHeight; 22 | float _AtmosphereThickness; 23 | float3 _CameraPosition; 24 | float _MaxDistance; 25 | float4x4 _PreviousProjection; 26 | float4x4 _PreviousInverseProjection; 27 | float4x4 _PreviousRotation; 28 | float4x4 _PreviousInverseRotation; 29 | float4x4 _Projection; 30 | float4x4 _InverseProjection; 31 | float4x4 _Rotation; 32 | float4x4 _InverseRotation; 33 | float _SubFrameNumber; 34 | float _SubPixelSize; 35 | float2 _SubFrameSize; 36 | float2 _FrameSize; 37 | 38 | struct clouds_v2f { 39 | float4 position : SV_POSITION; 40 | float2 uv : TEXCOORD0; 41 | float3 cameraRay : TEXCOORD2; 42 | }; 43 | 44 | 45 | inline float3 UVToCameraRay( float2 uv) 46 | { 47 | float4 cameraRay = float4( uv * 2.0 - 1.0, 1.0, 1.0); 48 | cameraRay = mul( _InverseProjection, cameraRay); 49 | cameraRay = cameraRay / cameraRay.w; 50 | 51 | return mul( (float3x3)_InverseRotation, cameraRay.xyz); 52 | } 53 | 54 | inline float3 InternalRaySphereIntersect( float sphereRadius, float3 origin, float3 direction) 55 | { 56 | float a0 = sphereRadius * sphereRadius - dot( origin, origin); 57 | float a1 = dot( origin, direction); 58 | float result = sqrt(a1 * a1 + a0) - a1; 59 | 60 | return origin + direction * result; 61 | } 62 | 63 | #endif -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Resources/kode80Clouds/VolumeCloudsCommon.cginc.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4784307c61de049049f54ad43018ba02 3 | timeCreated: 1443723111 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Resources/kode80Clouds/noise.bytes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kode80/kode80CloudsUnity3D/930adf5d0f096e680be84b7c19498bdd57f32ee3/Assets/kode80/Clouds/Resources/kode80Clouds/noise.bytes -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Resources/kode80Clouds/noise.bytes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ca7ccccde4fb145358056d560702ad60 3 | timeCreated: 1441558231 4 | licenseType: Pro 5 | TextScriptImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Resources/kode80Clouds/noise_detail.bytes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kode80/kode80CloudsUnity3D/930adf5d0f096e680be84b7c19498bdd57f32ee3/Assets/kode80/Clouds/Resources/kode80Clouds/noise_detail.bytes -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Resources/kode80Clouds/noise_detail.bytes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5091eb6f134ce4b4d977ee337c0d67c2 3 | timeCreated: 1441982241 4 | licenseType: Pro 5 | TextScriptImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 756cc574ea765416abed6fa5cfc714ee 3 | folderAsset: yes 4 | timeCreated: 1445523380 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Scripts/BehaviorStateStore.cs: -------------------------------------------------------------------------------- 1 | //*************************************************** 2 | // 3 | // Author: Ben Hopkins 4 | // Copyright (C) 2016 kode80 LLC, 5 | // all rights reserved 6 | // 7 | // Free to use for non-commercial purposes, 8 | // see full license in project root: 9 | // kode80CloudsNonCommercialLicense.html 10 | // 11 | // Commercial licenses available for purchase from: 12 | // http://kode80.com/ 13 | // 14 | //*************************************************** 15 | 16 | using UnityEngine; 17 | using System; 18 | using System.Collections; 19 | using System.Linq; 20 | 21 | namespace kode80.Clouds 22 | { 23 | [Serializable] 24 | public class BehaviorStateStore 25 | { 26 | [SerializeField] 27 | private string[] _names; 28 | [SerializeField] 29 | private bool[] _enabledStates; 30 | 31 | public void StoreStates( MonoBehaviour[] behaviors) 32 | { 33 | _names = behaviors.Select( x => x.GetType().Name).ToArray(); 34 | _enabledStates = behaviors.Select( x => x.enabled).ToArray(); 35 | } 36 | 37 | public void ApplyStates( MonoBehaviour[] behaviors) 38 | { 39 | if( _names == null || _enabledStates == null) { return; } 40 | 41 | int notFound = _names.GetLowerBound(0) - 1; 42 | 43 | foreach( MonoBehaviour behavior in behaviors) 44 | { 45 | int i = Array.IndexOf( _names, behavior.GetType().Name); 46 | if( i > notFound) 47 | { 48 | behavior.enabled = _enabledStates[ i]; 49 | } 50 | } 51 | } 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Scripts/BehaviorStateStore.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2f05de1868e10430ca6904d2915ffc0e 3 | timeCreated: 1450976624 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Scripts/CrepuscularRays.cs: -------------------------------------------------------------------------------- 1 | //*************************************************** 2 | // 3 | // Author: Ben Hopkins 4 | // Copyright (C) 2016 kode80 LLC, 5 | // all rights reserved 6 | // 7 | // Free to use for non-commercial purposes, 8 | // see full license in project root: 9 | // kode80CloudsNonCommercialLicense.html 10 | // 11 | // Commercial licenses available for purchase from: 12 | // http://kode80.com/ 13 | // 14 | //*************************************************** 15 | 16 | using UnityEngine; 17 | using System.Collections; 18 | 19 | namespace kode80.Clouds 20 | { 21 | [ExecuteInEditMode] 22 | public class CrepuscularRays : MonoBehaviour 23 | { 24 | public kode80Clouds clouds; 25 | public float sampleCount = 20.0f; 26 | [Range( 0.0f, 1.0f)] 27 | public float density = 0.813f; 28 | [Range(0.0f, 1.0f)] 29 | public float decay = 1.0f; 30 | [Range(0.0f, 1.0f)] 31 | public float weight = 1.0f; 32 | public float exposure = 3.0f; 33 | 34 | private Material _material; 35 | 36 | 37 | void OnEnable() 38 | { 39 | CreateMaterialsIfNeeded(); 40 | } 41 | 42 | void OnDisable() 43 | { 44 | DestroyMaterials(); 45 | } 46 | 47 | void Reset () 48 | { 49 | CreateMaterialsIfNeeded(); 50 | } 51 | 52 | void Start () 53 | { 54 | CreateMaterialsIfNeeded(); 55 | clouds = GameObject.FindObjectOfType(); 56 | } 57 | 58 | // Update is called once per frame 59 | void Update () { 60 | 61 | } 62 | 63 | public void OnRenderImage( RenderTexture src, RenderTexture dst) 64 | { 65 | if( clouds == null) { 66 | Graphics.Blit(src, dst); 67 | return; 68 | } 69 | 70 | CreateMaterialsIfNeeded(); 71 | 72 | Vector3 sunScreenSpace = clouds.targetCamera.WorldToScreenPoint( clouds.sunLight.transform.forward * -100000.0f); 73 | sunScreenSpace.x /= clouds.targetCamera.pixelWidth; 74 | sunScreenSpace.y /= clouds.targetCamera.pixelHeight; 75 | 76 | _material.SetTexture( "_Clouds", clouds.currentFrame); 77 | _material.SetVector("_SunScreenSpace", sunScreenSpace); 78 | _material.SetFloat("_SampleCount", sampleCount); 79 | _material.SetFloat("_Density", density); 80 | _material.SetFloat("_Decay", decay); 81 | _material.SetFloat("_Weight", weight); 82 | _material.SetFloat("_Exposure", exposure); 83 | 84 | Graphics.Blit( src, dst, _material); 85 | } 86 | 87 | private void CreateMaterialsIfNeeded() 88 | { 89 | if( _material == null) 90 | { 91 | _material = new Material( Shader.Find( "Hidden/kode80/CloudsCrepuscularRays")); 92 | _material.hideFlags = HideFlags.HideAndDontSave; 93 | } 94 | } 95 | 96 | private void DestroyMaterials() 97 | { 98 | DestroyImmediate( _material); 99 | _material = null; 100 | } 101 | } 102 | } -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Scripts/CrepuscularRays.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 806deac41c98743dd959f3a94347cc67 3 | timeCreated: 1445622266 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Scripts/EditorState.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 58ed9c21db5b9450c9331d03cc3b38b1 3 | timeCreated: 1446419342 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Scripts/FullScreenQuad.cs: -------------------------------------------------------------------------------- 1 | //*************************************************** 2 | // 3 | // Author: Ben Hopkins 4 | // Copyright (C) 2016 kode80 LLC, 5 | // all rights reserved 6 | // 7 | // Free to use for non-commercial purposes, 8 | // see full license in project root: 9 | // kode80CloudsNonCommercialLicense.html 10 | // 11 | // Commercial licenses available for purchase from: 12 | // http://kode80.com/ 13 | // 14 | //*************************************************** 15 | 16 | using UnityEngine; 17 | 18 | namespace kode80.Clouds 19 | { 20 | [ExecuteInEditMode] 21 | public class FullScreenQuad : MonoBehaviour 22 | { 23 | public Material material; 24 | public bool renderWhenPlaying; 25 | public Camera targetCamera; 26 | private Mesh _mesh; 27 | private MeshFilter _filter; 28 | private MeshRenderer _renderer; 29 | 30 | void Awake() 31 | { 32 | _mesh = new Mesh(); 33 | _mesh.hideFlags = HideFlags.HideAndDontSave; 34 | Vector3 v0 = new Vector3(-1.0f, -1.0f, 1.0f); 35 | Vector3 v1 = new Vector3(1.0f, -1.0f, 1.0f); 36 | Vector3 v2 = new Vector3(1.0f, 1.0f, 1.0f); 37 | Vector3 v3 = new Vector3(-1.0f, 1.0f, 1.0f); 38 | 39 | Vector2 uv0 = new Vector2(0.0f, 0.0f); 40 | Vector2 uv1 = new Vector2(1.0f, 0.0f); 41 | Vector2 uv2 = new Vector2(1.0f, 1.0f); 42 | Vector2 uv3 = new Vector2(0.0f, 1.0f); 43 | 44 | _mesh.vertices = new Vector3[] { v0, v1, v2, v3 }; 45 | _mesh.uv = new Vector2[] { uv0, uv1, uv2, uv3 }; 46 | _mesh.triangles = new int[] { 0, 1, 2, 47 | 2, 3, 0}; 48 | _mesh.bounds = new Bounds(Vector3.zero, new Vector3(float.MaxValue, float.MaxValue, float.MaxValue)); 49 | 50 | _renderer = gameObject.AddComponent(); 51 | _renderer.hideFlags = HideFlags.HideAndDontSave; 52 | 53 | _filter = gameObject.AddComponent(); 54 | _filter.hideFlags = HideFlags.HideAndDontSave; 55 | _filter.sharedMesh = _mesh; 56 | } 57 | 58 | void Start () { 59 | } 60 | 61 | void OnEnable() 62 | { 63 | Camera.onPreCull += QuadPreCull; 64 | } 65 | 66 | void OnDisable() 67 | { 68 | Camera.onPreCull -= QuadPreCull; 69 | } 70 | 71 | void LateUpdate() 72 | { 73 | _renderer.enabled = true; 74 | _renderer.sharedMaterial = material; 75 | } 76 | 77 | void QuadPreCull( Camera camera) 78 | { 79 | Camera target = targetCamera ?? Camera.main; 80 | _renderer.enabled = camera == target; 81 | } 82 | } 83 | } -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Scripts/FullScreenQuad.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 140bcd91cc66043dd9c4f70b27ab4461 3 | timeCreated: 1442893964 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Scripts/RenderSettings.cs: -------------------------------------------------------------------------------- 1 | //*************************************************** 2 | // 3 | // Author: Ben Hopkins 4 | // Copyright (C) 2016 kode80 LLC, 5 | // all rights reserved 6 | // 7 | // Free to use for non-commercial purposes, 8 | // see full license in project root: 9 | // kode80CloudsNonCommercialLicense.html 10 | // 11 | // Commercial licenses available for purchase from: 12 | // http://kode80.com/ 13 | // 14 | //*************************************************** 15 | 16 | using UnityEngine; 17 | using System.Collections; 18 | 19 | namespace kode80.Clouds 20 | { 21 | public class RenderSettings : ScriptableObject 22 | { 23 | [HeaderAttribute("Sun")] 24 | public Vector3 sunDirection; 25 | public Color sunColor; 26 | 27 | [HeaderAttribute("Lighting")] 28 | public Color cloudBaseColor; 29 | public Color cloudTopColor; 30 | 31 | // [MenuItem("Assets/Create/kode80/Clouds/RenderSettings")] 32 | // public static void CreateAsset() 33 | // { 34 | // ScriptableObjectUtility.CreateAsset( "CloudsRenderSettings"); 35 | // } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Scripts/RenderSettings.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: eaa374ed8b89d43d29071c9e4c48189a 3 | timeCreated: 1447621860 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Scripts/SharedProperties.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 38fe2140c4eb944dab6b0029d120b56f 3 | timeCreated: 1443644631 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Scripts/TexturePainter.cs: -------------------------------------------------------------------------------- 1 | //*************************************************** 2 | // 3 | // Author: Ben Hopkins 4 | // Copyright (C) 2016 kode80 LLC, 5 | // all rights reserved 6 | // 7 | // Free to use for non-commercial purposes, 8 | // see full license in project root: 9 | // kode80CloudsNonCommercialLicense.html 10 | // 11 | // Commercial licenses available for purchase from: 12 | // http://kode80.com/ 13 | // 14 | //*************************************************** 15 | 16 | using UnityEngine; 17 | using System.Collections; 18 | 19 | namespace kode80.Clouds 20 | { 21 | public class TexturePainter : ScriptableObject 22 | { 23 | private Material _material; 24 | 25 | void OnEnable() 26 | { 27 | _material = new Material( Shader.Find( "Hidden/kode80/TextureBrush")); 28 | _material.hideFlags = HideFlags.HideAndDontSave; 29 | } 30 | 31 | void OnDisable() 32 | { 33 | DestroyImmediate( _material); 34 | _material = null; 35 | } 36 | 37 | public void Render( Vector2 point, 38 | float radius, 39 | float coverageOpacity, 40 | float typeOpacity, 41 | bool drawCoverage, 42 | bool drawType, 43 | bool blendValues, 44 | RenderTexture target, 45 | Texture2D brushTexture = null) 46 | { 47 | point.x *= target.width; 48 | point.y *= target.height; 49 | 50 | RenderTexture previous = RenderTexture.active; 51 | RenderTexture buffer = RenderTexture.GetTemporary( target.width, target.height, target.depth, target.format, RenderTextureReadWrite.Linear); 52 | 53 | Graphics.Blit( target, buffer); 54 | RenderTexture.active = buffer; 55 | 56 | 57 | float tw = target.width; 58 | float th = target.height; 59 | float h = radius; 60 | float w = radius; 61 | float z = 0.0f; 62 | 63 | _material.SetTexture( "_MainTex", target); 64 | _material.SetFloat( "_CoverageOpacity", coverageOpacity); 65 | _material.SetFloat( "_TypeOpacity", typeOpacity); 66 | _material.SetFloat( "_ShouldDrawCoverage", drawCoverage ? 1.0f : 0.0f); 67 | _material.SetFloat( "_ShouldDrawType", drawType ? 1.0f : 0.0f); 68 | _material.SetFloat( "_ShouldBlendValues", blendValues ? 1.0f : 0.0f); 69 | 70 | if( brushTexture != null) 71 | { 72 | _material.SetTexture( "_BrushTexture", brushTexture); 73 | } 74 | _material.SetFloat( "_BrushTextureAlpha", brushTexture == null ? 0.0f : 1.0f); 75 | 76 | GL.PushMatrix(); 77 | _material.SetPass( 0); 78 | GL.LoadIdentity(); 79 | GL.LoadPixelMatrix( 0.0f, target.width, 0.0f, target.height); 80 | GL.Begin( GL.QUADS); 81 | 82 | GL.MultiTexCoord2( 0, 0.0f, 0.0f); 83 | GL.MultiTexCoord2( 1, (point.x - w) / tw, (point.y - h) / th); 84 | GL.Vertex( new Vector3( point.x - w, point.y - h, z)); 85 | 86 | GL.MultiTexCoord2( 0, 1.0f, 0.0f); 87 | GL.MultiTexCoord2( 1, (point.x + w) / tw, (point.y - h) / th); 88 | GL.Vertex( new Vector3( point.x + w, point.y - h, z)); 89 | 90 | GL.MultiTexCoord2( 0, 1.0f, 1.0f); 91 | GL.MultiTexCoord2( 1, (point.x + w) / tw, (point.y + h) / th); 92 | GL.Vertex( new Vector3( point.x + w, point.y + h, z)); 93 | 94 | GL.MultiTexCoord2( 0, 0.0f, 1.0f); 95 | GL.MultiTexCoord2( 1, (point.x - w) / tw, (point.y + h) / th); 96 | GL.Vertex( new Vector3( point.x - w, point.y + h, z)); 97 | 98 | GL.End(); 99 | GL.PopMatrix(); 100 | 101 | 102 | Graphics.Blit( buffer, target); 103 | 104 | RenderTexture.ReleaseTemporary( buffer); 105 | RenderTexture.active = previous; 106 | } 107 | 108 | public void Clear( RenderTexture target) 109 | { 110 | RenderTexture previous = RenderTexture.active; 111 | RenderTexture.active = target; 112 | GL.Clear( true, true, Color.black); 113 | RenderTexture.active = previous; 114 | } 115 | } 116 | } -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Scripts/TexturePainter.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dde4cd12a77ec4fb38f6160f7eb61ef3 3 | timeCreated: 1443734457 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Scripts/TimeOfDay.cs: -------------------------------------------------------------------------------- 1 | //*************************************************** 2 | // 3 | // Author: Ben Hopkins 4 | // Copyright (C) 2016 kode80 LLC, 5 | // all rights reserved 6 | // 7 | // Free to use for non-commercial purposes, 8 | // see full license in project root: 9 | // kode80CloudsNonCommercialLicense.html 10 | // 11 | // Commercial licenses available for purchase from: 12 | // http://kode80.com/ 13 | // 14 | //*************************************************** 15 | 16 | using UnityEngine; 17 | using System; 18 | using System.Collections; 19 | 20 | namespace kode80.Clouds 21 | { 22 | [ExecuteInEditMode] 23 | public class TimeOfDay : MonoBehaviour 24 | { 25 | public Material proceduralSkybox; 26 | public kode80Clouds clouds; 27 | public Light sun; 28 | 29 | public TimeOfDayKeyFrame[] keyFrames; 30 | 31 | void Awake() 32 | { 33 | SortKeyFrames(); 34 | } 35 | 36 | void Start () 37 | { 38 | SortKeyFrames(); 39 | } 40 | 41 | void Update () 42 | { 43 | if( keyFrames.Length < 1) 44 | { 45 | return; 46 | } 47 | 48 | float angle = sun.transform.localEulerAngles.x; 49 | TimeOfDayKeyFrame keyFrameA = KeyFrameBelowAngle( angle); 50 | TimeOfDayKeyFrame keyFrameB = KeyFrameAboveAngle( angle); 51 | float delta = keyFrameB.angle - keyFrameA.angle; 52 | float alpha = delta == 0.0f ? 0.5f : (angle - keyFrameA.angle) / delta; 53 | 54 | UnityEngine.RenderSettings.fogColor = Color.Lerp( keyFrameA.fogColor, keyFrameB.fogColor, alpha); 55 | 56 | if( sun != null) 57 | { 58 | sun.color = Color.Lerp( keyFrameA.sunColor, keyFrameB.sunColor, alpha); 59 | } 60 | 61 | if( clouds != null) 62 | { 63 | clouds.cloudBaseColor = Color.Lerp( keyFrameA.bottomColor, keyFrameB.bottomColor, alpha); 64 | clouds.cloudTopColor = Color.Lerp( keyFrameA.topColor, keyFrameB.topColor, alpha); 65 | } 66 | 67 | if( proceduralSkybox) 68 | { 69 | proceduralSkybox.SetFloat( "_SunSize", Mathf.Lerp( keyFrameA.sunSize, 70 | keyFrameB.sunSize, alpha)); 71 | proceduralSkybox.SetFloat( "_AtmosphereThickness", Mathf.Lerp( keyFrameA.atmosphereThickness, 72 | keyFrameB.atmosphereThickness, alpha)); 73 | } 74 | } 75 | 76 | public void SortKeyFrames() 77 | { 78 | Array.Sort( keyFrames, delegate( TimeOfDayKeyFrame a, TimeOfDayKeyFrame b) { 79 | return a.angle.CompareTo( b.angle); 80 | }); 81 | } 82 | 83 | private TimeOfDayKeyFrame KeyFrameBelowAngle( float angle) 84 | { 85 | return KeyFrameForAngle( angle, false); 86 | } 87 | 88 | private TimeOfDayKeyFrame KeyFrameAboveAngle( float angle) 89 | { 90 | return KeyFrameForAngle( angle, true); 91 | } 92 | 93 | private TimeOfDayKeyFrame KeyFrameForAngle( float angle, bool findGreaterThan) 94 | { 95 | if( keyFrames.Length > 0) 96 | { 97 | TimeOfDayKeyFrame keyFrameA = keyFrames[ 0]; 98 | TimeOfDayKeyFrame keyFrameB = keyFrames[ keyFrames.Length - 1]; 99 | 100 | // Clamp boundaries 101 | if( angle <= keyFrameA.angle) { return keyFrameA; } 102 | else if( angle >= keyFrameB.angle) { return keyFrameB; } 103 | 104 | for( int i=0; i= keyFrameA.angle && 110 | angle <= keyFrameB.angle) 111 | { 112 | return findGreaterThan ? keyFrameB : keyFrameA; 113 | } 114 | } 115 | } 116 | 117 | return null; 118 | } 119 | } 120 | } 121 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Scripts/TimeOfDay.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 95e9c0860b8864b6792ccabc7082504f 3 | timeCreated: 1449866849 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Scripts/TimeOfDayKeyFrame.cs: -------------------------------------------------------------------------------- 1 | //*************************************************** 2 | // 3 | // Author: Ben Hopkins 4 | // Copyright (C) 2016 kode80 LLC, 5 | // all rights reserved 6 | // 7 | // Free to use for non-commercial purposes, 8 | // see full license in project root: 9 | // kode80CloudsNonCommercialLicense.html 10 | // 11 | // Commercial licenses available for purchase from: 12 | // http://kode80.com/ 13 | // 14 | //*************************************************** 15 | 16 | using UnityEngine; 17 | using System.Collections; 18 | 19 | namespace kode80.Clouds 20 | { 21 | [System.Serializable] 22 | public class TimeOfDayKeyFrame 23 | { 24 | public float angle; 25 | public float sunSize; 26 | public float atmosphereThickness; 27 | public Color fogColor; 28 | public Color sunColor; 29 | public Color bottomColor; 30 | public Color topColor; 31 | } 32 | } -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Scripts/TimeOfDayKeyFrame.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e40734118078347d1b0c5ba01e2f6d4a 3 | timeCreated: 1449866980 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Scripts/kode80CloudShadows.cs: -------------------------------------------------------------------------------- 1 | //*************************************************** 2 | // 3 | // Author: Ben Hopkins 4 | // Copyright (C) 2016 kode80 LLC, 5 | // all rights reserved 6 | // 7 | // Free to use for non-commercial purposes, 8 | // see full license in project root: 9 | // kode80CloudsNonCommercialLicense.html 10 | // 11 | // Commercial licenses available for purchase from: 12 | // http://kode80.com/ 13 | // 14 | //*************************************************** 15 | 16 | using UnityEngine; 17 | using UnityEngine.Rendering; 18 | using System.Collections; 19 | 20 | namespace kode80.Clouds 21 | { 22 | [ExecuteInEditMode] 23 | public class kode80CloudShadows : MonoBehaviour 24 | { 25 | public kode80Clouds clouds; 26 | 27 | private Light _light; 28 | private CommandBuffer _commandBuffer; 29 | private Material _material; 30 | 31 | void Start() 32 | { 33 | 34 | } 35 | 36 | void ShadowsPreCull( Camera camera) 37 | { 38 | UpdateShadows(); 39 | } 40 | 41 | public void UpdateShadows() 42 | { 43 | if( clouds == null || _light == null) { return; } 44 | 45 | _material.SetTexture("_CloudCoverage", clouds.cloudCoverage); 46 | _material.SetMatrix("_InvCamera", clouds.targetCamera.cameraToWorldMatrix); 47 | _material.SetMatrix("_InvProjection", clouds.targetCamera.projectionMatrix.inverse); 48 | _material.SetVector("_Offset", Vector3.zero); 49 | _material.SetFloat("_CoverageScale", 1.0f / clouds.cloudsSharedProperties.maxDistance); 50 | _material.SetVector("_CoverageOffset", clouds.coverageOffset); 51 | _material.SetVector("_LightDirection", clouds.sunLight.transform.forward); 52 | _material.SetFloat("_ShadowStrength", _light.shadowStrength); 53 | clouds.cloudsSharedProperties.ApplyToMaterial(_material); 54 | } 55 | 56 | void OnEnable() 57 | { 58 | _light = GetComponent(); 59 | if( _light == null && _light.type != LightType.Directional) 60 | { 61 | Debug.LogWarning("kode80CloudShadows component must be on a directional light"); 62 | enabled = false; 63 | return; 64 | } 65 | 66 | if( _material == null) 67 | { 68 | _material = new Material(Shader.Find("Hidden/kode80/CloudShadowPass")); 69 | _material.hideFlags = HideFlags.HideAndDontSave; 70 | } 71 | 72 | if( _commandBuffer == null) 73 | { 74 | _commandBuffer = new CommandBuffer(); 75 | _commandBuffer.name = "kode80 Clouds Shadow Pass"; 76 | _commandBuffer.Blit( BuiltinRenderTextureType.None, BuiltinRenderTextureType.CurrentActive, _material); 77 | _light.AddCommandBuffer( LightEvent.AfterScreenspaceMask, _commandBuffer); 78 | } 79 | 80 | Camera.onPreCull += ShadowsPreCull; 81 | } 82 | 83 | void OnDisable() 84 | { 85 | Camera.onPreCull -= ShadowsPreCull; 86 | 87 | if ( _commandBuffer != null) 88 | { 89 | _light.RemoveCommandBuffer( LightEvent.AfterScreenspaceMask, _commandBuffer); 90 | _commandBuffer = null; 91 | } 92 | 93 | if( _material != null) 94 | { 95 | DestroyImmediate(_material); 96 | _material = null; 97 | } 98 | } 99 | } 100 | } 101 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Scripts/kode80CloudShadows.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5d0d5672c1087b846a697cadc9ecbd96 3 | timeCreated: 1460925770 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/Scripts/kode80Clouds.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 26383b859edb0456fa49f00332e8b67c 3 | timeCreated: 1441224941 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/kode80/Clouds/kode80CloudsNonCommercialLicense.html.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 414d6dabe8209d34198c1600e5219c32 3 | timeCreated: 1460393386 4 | licenseType: Pro 5 | TextScriptImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/kode80/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bb876b0690adf4c5b95a370e2e652db8 3 | folderAsset: yes 4 | timeCreated: 1460667572 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/kode80/Editor/Localization.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f30212d7c283e4284b270d39413be87b 3 | folderAsset: yes 4 | timeCreated: 1447169092 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/kode80/Editor/Localization/Localize.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEditor; 3 | using System.Collections; 4 | 5 | namespace kode80.Localization 6 | { 7 | public sealed class Localize 8 | { 9 | #region Public 10 | 11 | public static GUIContent GUI( string text, string toolTip=null, string imagePath=null) 12 | { 13 | if( imagePath != null) 14 | { 15 | return new GUIContent( text, AssetDatabase.LoadAssetAtPath( imagePath), toolTip); 16 | } 17 | 18 | return new GUIContent( text, toolTip); 19 | } 20 | 21 | public static string STR( string text, string description=null) 22 | { 23 | return text; 24 | } 25 | 26 | public static Texture2D IMG( string imagePath, string description=null) 27 | { 28 | return AssetDatabase.LoadAssetAtPath( imagePath); 29 | } 30 | 31 | #endregion 32 | 33 | 34 | #region Private 35 | 36 | private static Localize _instance; 37 | private static Localize instance { 38 | get { 39 | if (_instance == null) { 40 | _instance = new Localize (); 41 | } 42 | return _instance; 43 | } 44 | } 45 | 46 | private Localize () 47 | { 48 | } 49 | 50 | #endregion 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /Assets/kode80/Editor/Localization/Localize.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fe314cccb475b46b09274d3244bcb8f7 3 | timeCreated: 1447169421 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/kode80/Editor/Utils.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 69dc7c8e01c024869878e0c677010b8a 3 | folderAsset: yes 4 | timeCreated: 1447622963 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/kode80/Editor/Utils/ScriptableObjectUtility.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEditor; 3 | using System.IO; 4 | 5 | namespace kode80.Utils 6 | { 7 | public class ScriptableObjectUtility 8 | { 9 | public static void CreateAsset( string fileTypeName = null) where T : ScriptableObject 10 | { 11 | T asset = ScriptableObject.CreateInstance (); 12 | 13 | string path = AssetDatabase.GetAssetPath (Selection.activeObject); 14 | if (path == "") 15 | { 16 | path = "Assets"; 17 | } 18 | else if (Path.GetExtension (path) != "") 19 | { 20 | path = path.Replace (Path.GetFileName (AssetDatabase.GetAssetPath (Selection.activeObject)), ""); 21 | } 22 | 23 | fileTypeName = fileTypeName ?? typeof(T).ToString(); 24 | string assetPathAndName = AssetDatabase.GenerateUniqueAssetPath (path + "/New " + fileTypeName + ".asset"); 25 | 26 | ProjectWindowUtil.CreateAsset( asset, assetPathAndName); 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /Assets/kode80/Editor/Utils/ScriptableObjectUtility.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9e9422762822e433b9d44143f320a346 3 | timeCreated: 1447622976 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/kode80/Editor/Utils/UnityFileUtility.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System.Collections; 3 | 4 | namespace kode80.Utils 5 | { 6 | public class UnityFileUtility 7 | { 8 | public static string AssetRelativePath( string absolutePath) 9 | { 10 | string relativePath = null; 11 | string dataPath = Application.dataPath; 12 | 13 | if( absolutePath.StartsWith( dataPath)) 14 | { 15 | relativePath = "Assets" + absolutePath.Substring( dataPath.Length); 16 | } 17 | 18 | return relativePath; 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Assets/kode80/Editor/Utils/UnityFileUtility.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dbbef7e82dea84c2182173891019e669 3 | timeCreated: 1447776162 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/kode80/Effects.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: de0c546c45efe402d9467a81fadca985 3 | folderAsset: yes 4 | timeCreated: 1459295873 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/kode80/Effects/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2a7bd5805522b4982b670f219f4cec23 3 | folderAsset: yes 4 | timeCreated: 1457718224 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/kode80/Effects/Resources/FilmicTonemapping.shader: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016, Ben Hopkins (kode80) 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without modification, 5 | // are permitted provided that the following conditions are met: 6 | // 7 | // 1. Redistributions of source code must retain the above copyright notice, 8 | // this list of conditions and the following disclaimer. 9 | // 10 | // 2. Redistributions in binary form must reproduce the above copyright notice, 11 | // this list of conditions and the following disclaimer in the documentation 12 | // and/or other materials provided with the distribution. 13 | // 14 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 15 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 16 | // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 17 | // THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 18 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT 19 | // OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20 | // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 22 | // EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 | 24 | Shader "Hidden/kode80/Effects/FilmicTonemapping" 25 | { 26 | Properties 27 | { 28 | _MainTex ("Texture", 2D) = "white" {} 29 | _Exposure ("Exposure", Range( 0.0, 16.0)) = 1.5 30 | } 31 | SubShader 32 | { 33 | // No culling or depth 34 | Cull Off ZWrite Off ZTest Always 35 | 36 | Pass 37 | { 38 | CGPROGRAM 39 | #pragma vertex vert 40 | #pragma fragment frag 41 | 42 | #include "UnityCG.cginc" 43 | 44 | struct appdata 45 | { 46 | float4 vertex : POSITION; 47 | float2 uv : TEXCOORD0; 48 | }; 49 | 50 | struct v2f 51 | { 52 | float2 uv : TEXCOORD0; 53 | float4 vertex : SV_POSITION; 54 | }; 55 | 56 | sampler2D _MainTex; 57 | float _Exposure; 58 | 59 | v2f vert (appdata v) 60 | { 61 | v2f o; 62 | o.vertex = mul(UNITY_MATRIX_MVP, v.vertex); 63 | o.uv = v.uv; 64 | return o; 65 | } 66 | 67 | // Uncharted 2 tonemap from http://filmicgames.com/archives/75 68 | inline float3 FilmicTonemap( float3 x) 69 | { 70 | // Consts need to be defined locally due to Unity bug 71 | // global consts result in black screen for some reason 72 | 73 | const float A = 0.15; 74 | const float B = 0.50; 75 | const float C = 0.10; 76 | const float D = 0.20; 77 | const float E = 0.02; 78 | const float F = 0.30; 79 | 80 | return ((x*(A*x + C*B) + D*E) / (x*(A*x + B) + D*F)) - E / F; 81 | } 82 | 83 | float4 frag (v2f i) : SV_Target 84 | { 85 | const float W = 11.2; 86 | 87 | float3 texColor = tex2D( _MainTex, i.uv).rgb; 88 | texColor *= _Exposure; 89 | float ExposureBias = 2.0f; 90 | 91 | float3 curr = FilmicTonemap( ExposureBias * texColor); 92 | 93 | float3 whiteScale = 1.0f / FilmicTonemap( W); 94 | float3 color = curr * whiteScale; 95 | 96 | return float4( color,1); 97 | } 98 | ENDCG 99 | } 100 | } 101 | Fallback off 102 | } 103 | -------------------------------------------------------------------------------- /Assets/kode80/Effects/Resources/FilmicTonemapping.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 357770cb365944ae2879f9b084d22151 3 | timeCreated: 1457718226 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/kode80/Effects/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3c5e9585adf414745a2812998e5a3499 3 | folderAsset: yes 4 | timeCreated: 1457718224 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/kode80/Effects/Scripts/FilmicTonemapping.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016, Ben Hopkins (kode80) 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without modification, 5 | // are permitted provided that the following conditions are met: 6 | // 7 | // 1. Redistributions of source code must retain the above copyright notice, 8 | // this list of conditions and the following disclaimer. 9 | // 10 | // 2. Redistributions in binary form must reproduce the above copyright notice, 11 | // this list of conditions and the following disclaimer in the documentation 12 | // and/or other materials provided with the distribution. 13 | // 14 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 15 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 16 | // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 17 | // THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 18 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT 19 | // OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20 | // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 22 | // EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 | 24 | using UnityEngine; 25 | using System.Collections; 26 | 27 | namespace kode80.Effects 28 | { 29 | [ExecuteInEditMode] 30 | public class FilmicTonemapping : MonoBehaviour 31 | { 32 | [Range( 0.0f, 16.0f)] 33 | public float exposure = 1.5f; 34 | 35 | private Material _material; 36 | 37 | // Use this for initialization 38 | void Start () { 39 | 40 | } 41 | 42 | // Update is called once per frame 43 | void Update () { 44 | 45 | } 46 | 47 | [ImageEffectTransformsToLDR] 48 | void OnRenderImage( RenderTexture source, RenderTexture destination) 49 | { 50 | if( _material == null) 51 | { 52 | _material = new Material( Shader.Find( "Hidden/kode80/Effects/FilmicTonemapping")); 53 | _material.hideFlags = HideFlags.HideAndDontSave; 54 | } 55 | 56 | _material.SetFloat( "_Exposure", exposure); 57 | 58 | Graphics.Blit( source, destination, _material); 59 | } 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /Assets/kode80/Effects/Scripts/FilmicTonemapping.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 751f35967aeee4893bcab85365c2b258 3 | timeCreated: 1457718226 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e53969dba4e084b63a68384f39e0267e 3 | folderAsset: yes 4 | timeCreated: 1460664231 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/AssetVersion.xml: -------------------------------------------------------------------------------- 1 | 2 | Unity Tools 3 | kode80 4 | 1.2.1 5 | * Fixed https uri's failing on Windows 6 | 7 | https://raw.github.com/kode80/UnityTools/master/kode80UnityTools.unitypackage 8 | https://raw.github.com/kode80/UnityTools/master/Assets/kode80/UnityTools/AssetVersion.xml 9 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/AssetVersion.xml.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 34ba106d951964c4e8aaaedd4fae7fac 3 | timeCreated: 1460664444 4 | licenseType: Pro 5 | TextScriptImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/EditorTools.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e5744d0762e654ec9b2ebe60ae00f259 3 | folderAsset: yes 4 | timeCreated: 1452784135 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/EditorTools/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d640ca3d05bf3433db66c97281ebc1a6 3 | folderAsset: yes 4 | timeCreated: 1452784146 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/EditorTools/Editor/ComponentContextMenu.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016, Ben Hopkins (kode80) 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without modification, 5 | // are permitted provided that the following conditions are met: 6 | // 7 | // 1. Redistributions of source code must retain the above copyright notice, 8 | // this list of conditions and the following disclaimer. 9 | // 10 | // 2. Redistributions in binary form must reproduce the above copyright notice, 11 | // this list of conditions and the following disclaimer in the documentation 12 | // and/or other materials provided with the distribution. 13 | // 14 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 15 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 16 | // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 17 | // THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 18 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT 19 | // OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20 | // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 22 | // EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 | 24 | using UnityEngine; 25 | using UnityEditor; 26 | 27 | namespace kode80.EditorTools 28 | { 29 | public static class ComponentContextMenu 30 | { 31 | [MenuItem("CONTEXT/Component/Open Component List")] 32 | static void OpenComponentList( MenuCommand menuCommand) 33 | { 34 | ComponentList.Init(); 35 | } 36 | 37 | [MenuItem("CONTEXT/Component/Move To Top")] 38 | static void MoveComponentToTop( MenuCommand menuCommand) 39 | { 40 | Component component = menuCommand.context as Component; 41 | while( UnityEditorInternal.ComponentUtility.MoveComponentUp(component)) {} 42 | } 43 | 44 | [MenuItem("CONTEXT/Component/Move To Bottom")] 45 | static void MoveComponentToBottom( MenuCommand menuCommand) 46 | { 47 | Component component = menuCommand.context as Component; 48 | while( UnityEditorInternal.ComponentUtility.MoveComponentDown(component)) {} 49 | } 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/EditorTools/Editor/ComponentContextMenu.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3e0b6dcf46dc6461bb68141d972570be 3 | timeCreated: 1452794524 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/EditorTools/Editor/ComponentList.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 85ebb3772facb4b5bad076626d661a6a 3 | timeCreated: 1452784202 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/EditorTools/Editor/RecordVideoWindow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7f756ab13f8ff40ec863d678fe289ef9 3 | timeCreated: 1453258049 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/EditorTools/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3d20b0f4c20454c57b929f958ff8fa9f 3 | folderAsset: yes 4 | timeCreated: 1453259498 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/EditorTools/Scripts/RecordVideo.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016, Ben Hopkins (kode80) 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without modification, 5 | // are permitted provided that the following conditions are met: 6 | // 7 | // 1. Redistributions of source code must retain the above copyright notice, 8 | // this list of conditions and the following disclaimer. 9 | // 10 | // 2. Redistributions in binary form must reproduce the above copyright notice, 11 | // this list of conditions and the following disclaimer in the documentation 12 | // and/or other materials provided with the distribution. 13 | // 14 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 15 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 16 | // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 17 | // THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 18 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT 19 | // OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20 | // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 22 | // EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 | 24 | using UnityEngine; 25 | using System.IO; 26 | using System.Collections; 27 | 28 | namespace kode80.EditorTools 29 | { 30 | // The RecordVideo component is used by RecordVideoWindow 31 | // to record frames during play mode and should't be added 32 | // manually by the user, so hide it from the component menu. 33 | [AddComponentMenu("")] 34 | public class RecordVideo : MonoBehaviour 35 | { 36 | public int captureFramerate = 60; 37 | public int superSize = 1; 38 | public string folderPath; 39 | 40 | private bool _isRecording = false; 41 | public bool isRecording { get { return _isRecording; } } 42 | 43 | private int _sceneNumber = 0; 44 | public int sceneNumber { get { return _sceneNumber; } } 45 | 46 | private int _frameNumber = 0; 47 | 48 | void Start () 49 | { 50 | Time.captureFramerate = captureFramerate; 51 | } 52 | 53 | void Update () 54 | { 55 | if( _isRecording) 56 | { 57 | string path = string.Format("{0}/Scene{1:D03}Frame{2:D08}.png", folderPath, _sceneNumber, _frameNumber ); 58 | Application.CaptureScreenshot( path, superSize); 59 | _frameNumber++; 60 | } 61 | } 62 | 63 | public bool StartRecording() 64 | { 65 | if( _isRecording == false && Directory.Exists( folderPath)) 66 | { 67 | _isRecording = true; 68 | } 69 | 70 | return _isRecording; 71 | } 72 | 73 | public void StopRecording() 74 | { 75 | if( _isRecording == true) 76 | { 77 | _isRecording = false; 78 | _sceneNumber++; 79 | _frameNumber = 0; 80 | } 81 | } 82 | } 83 | } 84 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/EditorTools/Scripts/RecordVideo.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cdcf2273df2d8488c92c0f8e99cda3a2 3 | timeCreated: 1453259510 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/GUIWrapper.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 74b9d49fbf56347ae989174f0f6c8d44 3 | folderAsset: yes 4 | timeCreated: 1452785562 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/GUIWrapper/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7476d8292f4f149ae834c0fcda3218a6 3 | folderAsset: yes 4 | timeCreated: 1452785568 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/GUIWrapper/Editor/GUIBase.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016, Ben Hopkins (kode80) 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without modification, 5 | // are permitted provided that the following conditions are met: 6 | // 7 | // 1. Redistributions of source code must retain the above copyright notice, 8 | // this list of conditions and the following disclaimer. 9 | // 10 | // 2. Redistributions in binary form must reproduce the above copyright notice, 11 | // this list of conditions and the following disclaimer in the documentation 12 | // and/or other materials provided with the distribution. 13 | // 14 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 15 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 16 | // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 17 | // THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 18 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT 19 | // OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20 | // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 22 | // EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 | 24 | using UnityEngine; 25 | using System.Collections; 26 | 27 | namespace kode80.GUIWrapper 28 | { 29 | public class GUIBase 30 | { 31 | public delegate void OnGUIPreAction( GUIBase sender); 32 | public OnGUIPreAction onGUIPreAction; 33 | 34 | public delegate void OnGUIAction( GUIBase sender); 35 | public OnGUIAction onGUIAction; 36 | 37 | public bool isHidden; 38 | public bool isEnabled; 39 | public bool shouldStoreLastRect; 40 | public int tag; 41 | public string controlName; 42 | 43 | private Rect _lastRect; 44 | public Rect lastRect { get { return _lastRect; } } 45 | 46 | public GUIBase() 47 | { 48 | isEnabled = true; 49 | } 50 | 51 | public void OnGUI() 52 | { 53 | if( isHidden == false) 54 | { 55 | bool oldGUIEnabled = GUI.enabled; 56 | GUI.enabled = isEnabled; 57 | if( controlName != null && controlName.Length > 0) 58 | { 59 | GUI.SetNextControlName( controlName); 60 | } 61 | CustomOnGUI(); 62 | GUI.enabled = oldGUIEnabled; 63 | 64 | if( shouldStoreLastRect && Event.current.type == EventType.Repaint) 65 | { 66 | _lastRect = GUILayoutUtility.GetLastRect(); 67 | } 68 | } 69 | } 70 | 71 | protected virtual void CustomOnGUI() 72 | { 73 | // Subclasses override this to implement OnGUI 74 | } 75 | 76 | protected void CallGUIPreAction() 77 | { 78 | if( onGUIPreAction != null) 79 | { 80 | onGUIPreAction( this); 81 | } 82 | } 83 | 84 | protected void CallGUIAction() 85 | { 86 | if( onGUIAction != null) 87 | { 88 | onGUIAction( this); 89 | } 90 | } 91 | } 92 | } -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/GUIWrapper/Editor/GUIBase.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a8c92d14d5f9f4e958b69e6f16324c46 3 | timeCreated: 1452785595 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/GUIWrapper/Editor/GUIBaseContainer.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016, Ben Hopkins (kode80) 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without modification, 5 | // are permitted provided that the following conditions are met: 6 | // 7 | // 1. Redistributions of source code must retain the above copyright notice, 8 | // this list of conditions and the following disclaimer. 9 | // 10 | // 2. Redistributions in binary form must reproduce the above copyright notice, 11 | // this list of conditions and the following disclaimer in the documentation 12 | // and/or other materials provided with the distribution. 13 | // 14 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 15 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 16 | // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 17 | // THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 18 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT 19 | // OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20 | // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 22 | // EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 | 24 | using UnityEngine; 25 | using System.Collections; 26 | using System.Collections.Generic; 27 | 28 | namespace kode80.GUIWrapper 29 | { 30 | public class GUIBaseContainer : GUIBase 31 | { 32 | private List _children; 33 | 34 | protected virtual bool areChildrenHidden { get { return false; } } 35 | 36 | public GUIBaseContainer() 37 | { 38 | _children = new List(); 39 | } 40 | 41 | public GUIBase Add( GUIBase child) 42 | { 43 | _children.Add( child); 44 | return child; 45 | } 46 | 47 | public void Remove( GUIBase child) 48 | { 49 | _children.Remove( child); 50 | } 51 | 52 | public void RemoveAll() 53 | { 54 | _children.Clear(); 55 | } 56 | 57 | protected override void CustomOnGUI() 58 | { 59 | BeginContainerOnGUI(); 60 | 61 | if( areChildrenHidden == false) 62 | { 63 | foreach( GUIBase gui in _children) 64 | { 65 | gui.OnGUI(); 66 | } 67 | } 68 | 69 | EndContainerOnGUI(); 70 | } 71 | 72 | protected virtual void BeginContainerOnGUI() 73 | { 74 | // Subclasses implement 'opening' container GUI code here 75 | } 76 | 77 | protected virtual void EndContainerOnGUI() 78 | { 79 | // Subclasses implement 'closing' container GUI code here 80 | } 81 | } 82 | } -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/GUIWrapper/Editor/GUIBaseContainer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b9ab6eca503ef46f286ac9960cdf77a8 3 | timeCreated: 1452785595 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/GUIWrapper/Editor/GUIButton.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016, Ben Hopkins (kode80) 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without modification, 5 | // are permitted provided that the following conditions are met: 6 | // 7 | // 1. Redistributions of source code must retain the above copyright notice, 8 | // this list of conditions and the following disclaimer. 9 | // 10 | // 2. Redistributions in binary form must reproduce the above copyright notice, 11 | // this list of conditions and the following disclaimer in the documentation 12 | // and/or other materials provided with the distribution. 13 | // 14 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 15 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 16 | // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 17 | // THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 18 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT 19 | // OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20 | // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 22 | // EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 | 24 | using UnityEngine; 25 | using UnityEditor; 26 | using System.Collections; 27 | 28 | namespace kode80.GUIWrapper 29 | { 30 | public class GUIButton : GUIBase 31 | { 32 | private GUIContent _content; 33 | public GUIContent content { get { return _content; } } 34 | 35 | public GUIButton( GUIContent content, OnGUIAction action=null) 36 | { 37 | _content = content; 38 | if( action != null) 39 | { 40 | onGUIAction += action; 41 | } 42 | } 43 | 44 | protected override void CustomOnGUI () 45 | { 46 | if( GUILayout.Button( content)) 47 | { 48 | CallGUIAction(); 49 | } 50 | } 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/GUIWrapper/Editor/GUIButton.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9124c0d1fa5d64a189f9705dbeb634ba 3 | timeCreated: 1452785595 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/GUIWrapper/Editor/GUIColorField.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016, Ben Hopkins (kode80) 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without modification, 5 | // are permitted provided that the following conditions are met: 6 | // 7 | // 1. Redistributions of source code must retain the above copyright notice, 8 | // this list of conditions and the following disclaimer. 9 | // 10 | // 2. Redistributions in binary form must reproduce the above copyright notice, 11 | // this list of conditions and the following disclaimer in the documentation 12 | // and/or other materials provided with the distribution. 13 | // 14 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 15 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 16 | // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 17 | // THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 18 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT 19 | // OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20 | // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 22 | // EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 | 24 | using UnityEngine; 25 | using UnityEditor; 26 | using System.Collections; 27 | 28 | namespace kode80.GUIWrapper 29 | { 30 | public class GUIColorField : GUIBase 31 | { 32 | public Color color; 33 | 34 | private GUIContent _content; 35 | public GUIContent content { get { return _content; } } 36 | 37 | public GUIColorField( GUIContent content, OnGUIAction action=null) 38 | { 39 | _content = content; 40 | if( action != null) 41 | { 42 | onGUIAction += action; 43 | } 44 | } 45 | 46 | protected override void CustomOnGUI () 47 | { 48 | Color newColor = _content == null ? EditorGUILayout.ColorField( color) : 49 | EditorGUILayout.ColorField( _content, color); 50 | if( newColor != color) 51 | { 52 | color = newColor; 53 | CallGUIAction(); 54 | } 55 | } 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/GUIWrapper/Editor/GUIColorField.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 94d81d7c1bfbe4f57a4df5e879551bd6 3 | timeCreated: 1452785595 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/GUIWrapper/Editor/GUIDefaultInspector.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016, Ben Hopkins (kode80) 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without modification, 5 | // are permitted provided that the following conditions are met: 6 | // 7 | // 1. Redistributions of source code must retain the above copyright notice, 8 | // this list of conditions and the following disclaimer. 9 | // 10 | // 2. Redistributions in binary form must reproduce the above copyright notice, 11 | // this list of conditions and the following disclaimer in the documentation 12 | // and/or other materials provided with the distribution. 13 | // 14 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 15 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 16 | // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 17 | // THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 18 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT 19 | // OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20 | // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 22 | // EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 | 24 | using UnityEngine; 25 | using UnityEditor; 26 | using System.Collections; 27 | 28 | namespace kode80.GUIWrapper 29 | { 30 | public class GUIDefaultInspector : GUIBase 31 | { 32 | Object target; 33 | 34 | public GUIDefaultInspector( Object target) 35 | { 36 | this.target = target; 37 | } 38 | 39 | protected override void CustomOnGUI () 40 | { 41 | UnityEditor.Editor editor = null; 42 | UnityEditor.Editor.CreateCachedEditor( target, null, ref editor); 43 | editor.DrawDefaultInspector(); 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/GUIWrapper/Editor/GUIDefaultInspector.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0b32ce99e3fc6410ab0753542c830acd 3 | timeCreated: 1452785595 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/GUIWrapper/Editor/GUIDelayedIntField.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016, Ben Hopkins (kode80) 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without modification, 5 | // are permitted provided that the following conditions are met: 6 | // 7 | // 1. Redistributions of source code must retain the above copyright notice, 8 | // this list of conditions and the following disclaimer. 9 | // 10 | // 2. Redistributions in binary form must reproduce the above copyright notice, 11 | // this list of conditions and the following disclaimer in the documentation 12 | // and/or other materials provided with the distribution. 13 | // 14 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 15 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 16 | // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 17 | // THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 18 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT 19 | // OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20 | // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 22 | // EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 | 24 | using UnityEngine; 25 | using UnityEditor; 26 | using System.Collections; 27 | 28 | namespace kode80.GUIWrapper 29 | { 30 | public class GUIDelayedIntField : GUIBase 31 | { 32 | private int _previousValue; 33 | public int previousValue { get { return _previousValue; } } 34 | public int value; 35 | public int minValue; 36 | public int maxValue; 37 | 38 | private GUIContent _content; 39 | public GUIContent content { get { return _content; } } 40 | 41 | public GUIDelayedIntField( GUIContent content, int value=0, int minValue=0, int maxValue=0, OnGUIAction action=null) 42 | { 43 | this.value = value; 44 | _previousValue = value; 45 | this.minValue = minValue; 46 | this.maxValue = maxValue; 47 | 48 | _content = content; 49 | if( action != null) 50 | { 51 | onGUIAction += action; 52 | } 53 | } 54 | 55 | protected override void CustomOnGUI () 56 | { 57 | #if UNITY_5_3 || UNITY_5_3_OR_NEWER 58 | int newValue = EditorGUILayout.DelayedIntField( _content, value); 59 | #else 60 | int newValue = EditorGUILayout.IntField( _content, value); 61 | #endif 62 | 63 | 64 | if( newValue != value && newValue >= minValue && newValue <= maxValue) 65 | { 66 | _previousValue = value; 67 | value = newValue; 68 | CallGUIAction(); 69 | } 70 | } 71 | } 72 | } 73 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/GUIWrapper/Editor/GUIDelayedIntField.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c5ae77b1220b244a289363aca3765900 3 | timeCreated: 1452789406 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/GUIWrapper/Editor/GUIEnumPopup.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016, Ben Hopkins (kode80) 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without modification, 5 | // are permitted provided that the following conditions are met: 6 | // 7 | // 1. Redistributions of source code must retain the above copyright notice, 8 | // this list of conditions and the following disclaimer. 9 | // 10 | // 2. Redistributions in binary form must reproduce the above copyright notice, 11 | // this list of conditions and the following disclaimer in the documentation 12 | // and/or other materials provided with the distribution. 13 | // 14 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 15 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 16 | // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 17 | // THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 18 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT 19 | // OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20 | // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 22 | // EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 | 24 | using UnityEngine; 25 | using UnityEditor; 26 | using System.Collections; 27 | 28 | namespace kode80.GUIWrapper 29 | { 30 | public class GUIEnumPopup : GUIBase 31 | { 32 | public System.Enum value; 33 | 34 | private GUIContent _content; 35 | public GUIContent content { get { return _content; } } 36 | 37 | public GUIEnumPopup( GUIContent content, System.Enum value, OnGUIAction action=null) 38 | { 39 | this.value = value; 40 | 41 | _content = content; 42 | if( action != null) 43 | { 44 | onGUIAction += action; 45 | } 46 | } 47 | 48 | protected override void CustomOnGUI () 49 | { 50 | System.Enum newValue = EditorGUILayout.EnumPopup( _content, value); 51 | if( newValue != value) 52 | { 53 | value = newValue; 54 | CallGUIAction(); 55 | } 56 | } 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/GUIWrapper/Editor/GUIEnumPopup.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 144ad79517d6b4ba9b8ca10041aebfea 3 | timeCreated: 1453317247 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/GUIWrapper/Editor/GUIFoldout.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016, Ben Hopkins (kode80) 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without modification, 5 | // are permitted provided that the following conditions are met: 6 | // 7 | // 1. Redistributions of source code must retain the above copyright notice, 8 | // this list of conditions and the following disclaimer. 9 | // 10 | // 2. Redistributions in binary form must reproduce the above copyright notice, 11 | // this list of conditions and the following disclaimer in the documentation 12 | // and/or other materials provided with the distribution. 13 | // 14 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 15 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 16 | // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 17 | // THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 18 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT 19 | // OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20 | // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 22 | // EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 | 24 | using UnityEngine; 25 | using UnityEditor; 26 | using System.Collections; 27 | 28 | namespace kode80.GUIWrapper 29 | { 30 | public class GUIFoldout : GUIBaseContainer 31 | { 32 | public bool isOpen; 33 | 34 | private GUIContent _content; 35 | public GUIContent content { get { return _content; } } 36 | 37 | protected override bool areChildrenHidden { get { return isOpen == false; } } 38 | 39 | public GUIFoldout( GUIContent content) 40 | { 41 | _content = content; 42 | } 43 | 44 | protected override void BeginContainerOnGUI() 45 | { 46 | isOpen = EditorGUILayout.Foldout( isOpen, _content); 47 | if( isOpen) 48 | { 49 | EditorGUILayout.BeginVertical(); 50 | EditorGUI.indentLevel++; 51 | } 52 | } 53 | 54 | protected override void EndContainerOnGUI() 55 | { 56 | if( isOpen) 57 | { 58 | EditorGUI.indentLevel--; 59 | EditorGUILayout.EndHorizontal(); 60 | } 61 | } 62 | } 63 | } -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/GUIWrapper/Editor/GUIFoldout.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 72b64208853f44ce5a5d8d194f5b15ab 3 | timeCreated: 1452785595 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/GUIWrapper/Editor/GUIHorizontal.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016, Ben Hopkins (kode80) 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without modification, 5 | // are permitted provided that the following conditions are met: 6 | // 7 | // 1. Redistributions of source code must retain the above copyright notice, 8 | // this list of conditions and the following disclaimer. 9 | // 10 | // 2. Redistributions in binary form must reproduce the above copyright notice, 11 | // this list of conditions and the following disclaimer in the documentation 12 | // and/or other materials provided with the distribution. 13 | // 14 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 15 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 16 | // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 17 | // THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 18 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT 19 | // OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20 | // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 22 | // EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 | 24 | using UnityEngine; 25 | using UnityEditor; 26 | using System.Collections; 27 | 28 | namespace kode80.GUIWrapper 29 | { 30 | public class GUIHorizontal : GUIBaseContainer 31 | { 32 | public GUILayoutOption[] layoutOptions; 33 | public GUIStyle style; 34 | 35 | public GUIHorizontal( GUIStyle style, params GUILayoutOption[] options) 36 | { 37 | layoutOptions = options; 38 | this.style = style; 39 | } 40 | 41 | public GUIHorizontal( params GUILayoutOption[] options) 42 | { 43 | layoutOptions = options; 44 | this.style = new GUIStyle(); 45 | } 46 | protected override void BeginContainerOnGUI() 47 | { 48 | EditorGUILayout.BeginHorizontal( style, layoutOptions); 49 | } 50 | 51 | protected override void EndContainerOnGUI() 52 | { 53 | EditorGUILayout.EndHorizontal(); 54 | } 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/GUIWrapper/Editor/GUIHorizontal.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d6f98dc733fa047f286a0172c7713013 3 | timeCreated: 1452785595 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/GUIWrapper/Editor/GUIIntSlider.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016, Ben Hopkins (kode80) 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without modification, 5 | // are permitted provided that the following conditions are met: 6 | // 7 | // 1. Redistributions of source code must retain the above copyright notice, 8 | // this list of conditions and the following disclaimer. 9 | // 10 | // 2. Redistributions in binary form must reproduce the above copyright notice, 11 | // this list of conditions and the following disclaimer in the documentation 12 | // and/or other materials provided with the distribution. 13 | // 14 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 15 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 16 | // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 17 | // THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 18 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT 19 | // OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20 | // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 22 | // EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 | 24 | using UnityEngine; 25 | using UnityEditor; 26 | using System.Collections; 27 | 28 | namespace kode80.GUIWrapper 29 | { 30 | public class GUIIntSlider : GUIBase 31 | { 32 | public int value; 33 | public int minValue; 34 | public int maxValue; 35 | 36 | private GUIContent _content; 37 | public GUIContent content { get { return _content; } } 38 | 39 | public GUIIntSlider( GUIContent content, int value=0, int minValue=0, int maxValue=100, OnGUIAction action=null) 40 | { 41 | this.value = value; 42 | this.minValue = minValue; 43 | this.maxValue = maxValue; 44 | 45 | _content = content; 46 | if( action != null) 47 | { 48 | onGUIAction += action; 49 | } 50 | } 51 | 52 | protected override void CustomOnGUI () 53 | { 54 | int newValue = EditorGUILayout.IntSlider( _content, value, minValue, maxValue); 55 | if( newValue != value) 56 | { 57 | value = newValue; 58 | CallGUIAction(); 59 | } 60 | } 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/GUIWrapper/Editor/GUIIntSlider.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 301a715b69d17419ebd24a2becd425c6 3 | timeCreated: 1452785595 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/GUIWrapper/Editor/GUILabel.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016, Ben Hopkins (kode80) 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without modification, 5 | // are permitted provided that the following conditions are met: 6 | // 7 | // 1. Redistributions of source code must retain the above copyright notice, 8 | // this list of conditions and the following disclaimer. 9 | // 10 | // 2. Redistributions in binary form must reproduce the above copyright notice, 11 | // this list of conditions and the following disclaimer in the documentation 12 | // and/or other materials provided with the distribution. 13 | // 14 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 15 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 16 | // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 17 | // THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 18 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT 19 | // OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20 | // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 22 | // EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 | 24 | using UnityEngine; 25 | using UnityEditor; 26 | using System.Collections; 27 | 28 | namespace kode80.GUIWrapper 29 | { 30 | public class GUILabel : GUIBase 31 | { 32 | private GUIContent _content; 33 | public GUIContent content { get { return _content; } } 34 | 35 | public GUIStyle style; 36 | 37 | public GUILabel( GUIContent content) 38 | { 39 | _content = content; 40 | } 41 | 42 | protected override void CustomOnGUI () 43 | { 44 | if( style == null) { 45 | GUILayout.Label( _content); 46 | } 47 | else { 48 | GUILayout.Label( _content, style); 49 | } 50 | } 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/GUIWrapper/Editor/GUILabel.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dfb80dea3fa8140be98904621a50f963 3 | timeCreated: 1452785595 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/GUIWrapper/Editor/GUIObjectField.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016, Ben Hopkins (kode80) 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without modification, 5 | // are permitted provided that the following conditions are met: 6 | // 7 | // 1. Redistributions of source code must retain the above copyright notice, 8 | // this list of conditions and the following disclaimer. 9 | // 10 | // 2. Redistributions in binary form must reproduce the above copyright notice, 11 | // this list of conditions and the following disclaimer in the documentation 12 | // and/or other materials provided with the distribution. 13 | // 14 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 15 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 16 | // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 17 | // THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 18 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT 19 | // OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20 | // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 22 | // EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 | 24 | using UnityEngine; 25 | using UnityEditor; 26 | using System.Collections; 27 | 28 | namespace kode80.GUIWrapper 29 | { 30 | public class GUIObjectField : GUIBase where T : UnityEngine.Object 31 | { 32 | public T value; 33 | public bool allowsSceneObjects; 34 | 35 | private GUIContent _content; 36 | public GUIContent content { get { return _content; } } 37 | 38 | public GUIObjectField( GUIContent content, bool allowsSceneObjects=true, OnGUIAction action=null, OnGUIPreAction preAction=null) 39 | { 40 | _content = content; 41 | this.allowsSceneObjects = allowsSceneObjects; 42 | if( preAction != null) 43 | { 44 | onGUIPreAction += preAction; 45 | } 46 | 47 | if( action != null) 48 | { 49 | onGUIAction += action; 50 | } 51 | } 52 | 53 | protected override void CustomOnGUI () 54 | { 55 | T newValue = EditorGUILayout.ObjectField( _content, value, typeof( T), allowsSceneObjects) as T; 56 | if( newValue != value) 57 | { 58 | CallGUIPreAction(); 59 | value = newValue; 60 | CallGUIAction(); 61 | } 62 | } 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/GUIWrapper/Editor/GUIObjectField.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4e71062e57c7142ac942862ada93fe30 3 | timeCreated: 1460735285 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/GUIWrapper/Editor/GUIPopup.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016, Ben Hopkins (kode80) 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without modification, 5 | // are permitted provided that the following conditions are met: 6 | // 7 | // 1. Redistributions of source code must retain the above copyright notice, 8 | // this list of conditions and the following disclaimer. 9 | // 10 | // 2. Redistributions in binary form must reproduce the above copyright notice, 11 | // this list of conditions and the following disclaimer in the documentation 12 | // and/or other materials provided with the distribution. 13 | // 14 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 15 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 16 | // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 17 | // THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 18 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT 19 | // OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20 | // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 22 | // EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 | 24 | using UnityEngine; 25 | using UnityEditor; 26 | using System.Collections; 27 | 28 | namespace kode80.GUIWrapper 29 | { 30 | public class GUIPopup : GUIBase 31 | { 32 | public int selectedIndex; 33 | 34 | private GUIContent[] _displayedOptions; 35 | public GUIContent[] displayedOptions { 36 | get { return _displayedOptions; } 37 | set { 38 | bool valid = value != null && value.Length > 0; 39 | 40 | if( valid) { _displayedOptions = value; } 41 | else { _displayedOptions = new GUIContent[1] {new GUIContent( "None")}; } 42 | 43 | selectedIndex = 0; 44 | } 45 | } 46 | 47 | private GUIContent _content; 48 | public GUIContent content { get { return _content; } } 49 | 50 | public GUIPopup( GUIContent content, GUIContent[] displayedOptions, int selectedIndex=0, OnGUIAction action=null) 51 | { 52 | this.displayedOptions = displayedOptions; 53 | this.selectedIndex = selectedIndex; 54 | _content = content; 55 | 56 | if( action != null) 57 | { 58 | onGUIAction += action; 59 | } 60 | } 61 | 62 | protected override void CustomOnGUI () 63 | { 64 | int newIndex = EditorGUILayout.Popup( _content, selectedIndex, displayedOptions); 65 | if( newIndex != selectedIndex) 66 | { 67 | selectedIndex = newIndex; 68 | CallGUIAction(); 69 | } 70 | } 71 | } 72 | } 73 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/GUIWrapper/Editor/GUIPopup.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6259d7ccfb3754f668bb6dd71c7fd0f3 3 | timeCreated: 1460735577 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/GUIWrapper/Editor/GUIScrollView.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016, Ben Hopkins (kode80) 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without modification, 5 | // are permitted provided that the following conditions are met: 6 | // 7 | // 1. Redistributions of source code must retain the above copyright notice, 8 | // this list of conditions and the following disclaimer. 9 | // 10 | // 2. Redistributions in binary form must reproduce the above copyright notice, 11 | // this list of conditions and the following disclaimer in the documentation 12 | // and/or other materials provided with the distribution. 13 | // 14 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 15 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 16 | // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 17 | // THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 18 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT 19 | // OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20 | // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 22 | // EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 | 24 | using UnityEngine; 25 | using UnityEditor; 26 | using System.Collections; 27 | 28 | namespace kode80.GUIWrapper 29 | { 30 | public class GUIScrollView : GUIBaseContainer 31 | { 32 | public GUILayoutOption[] layoutOptions; 33 | 34 | private Vector2 _scrollPosition; 35 | 36 | public GUIScrollView( params GUILayoutOption[] options) 37 | { 38 | layoutOptions = options; 39 | } 40 | 41 | protected override void BeginContainerOnGUI() 42 | { 43 | _scrollPosition = EditorGUILayout.BeginScrollView( _scrollPosition, layoutOptions); 44 | } 45 | 46 | protected override void EndContainerOnGUI() 47 | { 48 | EditorGUILayout.EndScrollView(); 49 | } 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/GUIWrapper/Editor/GUIScrollView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5fcf341825a63468696df7d01e1c1fd1 3 | timeCreated: 1452785595 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/GUIWrapper/Editor/GUISlider.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016, Ben Hopkins (kode80) 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without modification, 5 | // are permitted provided that the following conditions are met: 6 | // 7 | // 1. Redistributions of source code must retain the above copyright notice, 8 | // this list of conditions and the following disclaimer. 9 | // 10 | // 2. Redistributions in binary form must reproduce the above copyright notice, 11 | // this list of conditions and the following disclaimer in the documentation 12 | // and/or other materials provided with the distribution. 13 | // 14 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 15 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 16 | // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 17 | // THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 18 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT 19 | // OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20 | // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 22 | // EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 | 24 | using UnityEngine; 25 | using UnityEditor; 26 | using System.Collections; 27 | 28 | namespace kode80.GUIWrapper 29 | { 30 | public class GUISlider : GUIBase 31 | { 32 | public float value; 33 | public float minValue; 34 | public float maxValue; 35 | 36 | private GUIContent _content; 37 | public GUIContent content { get { return _content; } } 38 | 39 | public GUISlider( GUIContent content, float value=0.0f, float minValue=0.0f, float maxValue=1.0f, OnGUIAction action=null) 40 | { 41 | this.value = value; 42 | this.minValue = minValue; 43 | this.maxValue = maxValue; 44 | 45 | _content = content; 46 | if( action != null) 47 | { 48 | onGUIAction += action; 49 | } 50 | } 51 | 52 | protected override void CustomOnGUI () 53 | { 54 | float newValue = EditorGUILayout.Slider( _content, value, minValue, maxValue); 55 | if( newValue != value) 56 | { 57 | value = newValue; 58 | CallGUIAction(); 59 | } 60 | } 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/GUIWrapper/Editor/GUISlider.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 41240b0cc1b9147418b91beeb23e4a18 3 | timeCreated: 1452785595 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/GUIWrapper/Editor/GUISpace.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016, Ben Hopkins (kode80) 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without modification, 5 | // are permitted provided that the following conditions are met: 6 | // 7 | // 1. Redistributions of source code must retain the above copyright notice, 8 | // this list of conditions and the following disclaimer. 9 | // 10 | // 2. Redistributions in binary form must reproduce the above copyright notice, 11 | // this list of conditions and the following disclaimer in the documentation 12 | // and/or other materials provided with the distribution. 13 | // 14 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 15 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 16 | // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 17 | // THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 18 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT 19 | // OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20 | // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 22 | // EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 | 24 | using UnityEngine; 25 | using UnityEditor; 26 | using System.Collections; 27 | 28 | namespace kode80.GUIWrapper 29 | { 30 | public class GUISpace : GUIBase 31 | { 32 | bool isFlexible; 33 | 34 | public GUISpace( bool isFlexible = false) 35 | { 36 | this.isFlexible = isFlexible; 37 | } 38 | 39 | protected override void CustomOnGUI() 40 | { 41 | if( isFlexible) 42 | { 43 | GUILayout.FlexibleSpace(); 44 | } 45 | else 46 | { 47 | GUILayout.Space( 20.0f); 48 | } 49 | } 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/GUIWrapper/Editor/GUISpace.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 76575536ddcc74a59acc6f5fde1e7584 3 | timeCreated: 1452785595 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/GUIWrapper/Editor/GUITextField.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016, Ben Hopkins (kode80) 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without modification, 5 | // are permitted provided that the following conditions are met: 6 | // 7 | // 1. Redistributions of source code must retain the above copyright notice, 8 | // this list of conditions and the following disclaimer. 9 | // 10 | // 2. Redistributions in binary form must reproduce the above copyright notice, 11 | // this list of conditions and the following disclaimer in the documentation 12 | // and/or other materials provided with the distribution. 13 | // 14 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 15 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 16 | // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 17 | // THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 18 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT 19 | // OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20 | // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 22 | // EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 | 24 | using UnityEngine; 25 | using UnityEditor; 26 | using System.Collections; 27 | 28 | namespace kode80.GUIWrapper 29 | { 30 | public class GUITextField : GUIBase 31 | { 32 | public string value; 33 | 34 | private GUIContent _content; 35 | public GUIContent content { get { return _content; } } 36 | 37 | public GUITextField( GUIContent content, string value="", OnGUIAction action=null) 38 | { 39 | this.value = value; 40 | 41 | _content = content; 42 | if( action != null) 43 | { 44 | onGUIAction += action; 45 | } 46 | } 47 | 48 | protected override void CustomOnGUI () 49 | { 50 | string newValue = EditorGUILayout.TextField( _content, value); 51 | if( newValue != value) 52 | { 53 | value = newValue; 54 | CallGUIAction(); 55 | } 56 | } 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/GUIWrapper/Editor/GUITextField.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5af576aae40d54734b1b142bc45cae67 3 | timeCreated: 1460735285 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/GUIWrapper/Editor/GUITextureField.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016, Ben Hopkins (kode80) 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without modification, 5 | // are permitted provided that the following conditions are met: 6 | // 7 | // 1. Redistributions of source code must retain the above copyright notice, 8 | // this list of conditions and the following disclaimer. 9 | // 10 | // 2. Redistributions in binary form must reproduce the above copyright notice, 11 | // this list of conditions and the following disclaimer in the documentation 12 | // and/or other materials provided with the distribution. 13 | // 14 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 15 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 16 | // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 17 | // THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 18 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT 19 | // OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20 | // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 22 | // EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 | 24 | using UnityEngine; 25 | using UnityEditor; 26 | using System.Collections; 27 | 28 | namespace kode80.GUIWrapper 29 | { 30 | public class GUITextureField : GUIBase 31 | { 32 | public Texture2D texture; 33 | 34 | private GUIContent _content; 35 | public GUIContent content { get { return _content; } } 36 | 37 | public GUITextureField( GUIContent content, OnGUIAction action=null, OnGUIPreAction preAction=null) 38 | { 39 | _content = content; 40 | if( preAction != null) 41 | { 42 | onGUIPreAction += preAction; 43 | } 44 | 45 | if( action != null) 46 | { 47 | onGUIAction += action; 48 | } 49 | } 50 | 51 | protected override void CustomOnGUI () 52 | { 53 | Texture2D newTexture = EditorGUILayout.ObjectField( _content, texture, typeof( Texture2D), false) as Texture2D; 54 | if( newTexture != texture) 55 | { 56 | CallGUIPreAction(); 57 | texture = newTexture; 58 | CallGUIAction(); 59 | } 60 | } 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/GUIWrapper/Editor/GUITextureField.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ce206ae8db3a64440a193728e967ae7a 3 | timeCreated: 1452785595 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/GUIWrapper/Editor/GUIToggle.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016, Ben Hopkins (kode80) 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without modification, 5 | // are permitted provided that the following conditions are met: 6 | // 7 | // 1. Redistributions of source code must retain the above copyright notice, 8 | // this list of conditions and the following disclaimer. 9 | // 10 | // 2. Redistributions in binary form must reproduce the above copyright notice, 11 | // this list of conditions and the following disclaimer in the documentation 12 | // and/or other materials provided with the distribution. 13 | // 14 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 15 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 16 | // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 17 | // THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 18 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT 19 | // OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20 | // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 22 | // EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 | 24 | using UnityEngine; 25 | using UnityEditor; 26 | using System.Collections; 27 | 28 | namespace kode80.GUIWrapper 29 | { 30 | public class GUIToggle : GUIBase 31 | { 32 | public bool isToggled; 33 | 34 | private GUIContent _content; 35 | public GUIContent content { get { return _content; } } 36 | 37 | public GUIToggle( GUIContent content, OnGUIAction action=null) 38 | { 39 | _content = content; 40 | if( action != null) 41 | { 42 | onGUIAction += action; 43 | } 44 | } 45 | 46 | protected override void CustomOnGUI () 47 | { 48 | bool newIsToggled = EditorGUILayout.Toggle( _content, isToggled); 49 | if( newIsToggled != isToggled) 50 | { 51 | isToggled = newIsToggled; 52 | CallGUIAction(); 53 | } 54 | } 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/GUIWrapper/Editor/GUIToggle.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ccad83b3345434afeb8fe53dbfcd89f8 3 | timeCreated: 1452785595 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/GUIWrapper/Editor/GUIToolbar.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016, Ben Hopkins (kode80) 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without modification, 5 | // are permitted provided that the following conditions are met: 6 | // 7 | // 1. Redistributions of source code must retain the above copyright notice, 8 | // this list of conditions and the following disclaimer. 9 | // 10 | // 2. Redistributions in binary form must reproduce the above copyright notice, 11 | // this list of conditions and the following disclaimer in the documentation 12 | // and/or other materials provided with the distribution. 13 | // 14 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 15 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 16 | // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 17 | // THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 18 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT 19 | // OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20 | // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 22 | // EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 | 24 | using UnityEngine; 25 | using UnityEditor; 26 | using System.Collections; 27 | 28 | namespace kode80.GUIWrapper 29 | { 30 | public class GUIToolbar : GUIBase 31 | { 32 | public int selected; 33 | public GUIContent[] itemContent; 34 | 35 | public GUIToolbar( GUIContent[] itemContent, OnGUIAction action=null) 36 | { 37 | this.itemContent = itemContent; 38 | if( action != null) 39 | { 40 | onGUIAction += action; 41 | } 42 | } 43 | 44 | protected override void CustomOnGUI () 45 | { 46 | int newSelected = GUILayout.Toolbar( selected, itemContent); 47 | if( newSelected != selected) 48 | { 49 | selected = newSelected; 50 | CallGUIAction(); 51 | } 52 | } 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/GUIWrapper/Editor/GUIToolbar.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 02e5027d0a2e84ad3baa6cdffe26ff96 3 | timeCreated: 1452785595 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/GUIWrapper/Editor/GUIVector3Field.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016, Ben Hopkins (kode80) 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without modification, 5 | // are permitted provided that the following conditions are met: 6 | // 7 | // 1. Redistributions of source code must retain the above copyright notice, 8 | // this list of conditions and the following disclaimer. 9 | // 10 | // 2. Redistributions in binary form must reproduce the above copyright notice, 11 | // this list of conditions and the following disclaimer in the documentation 12 | // and/or other materials provided with the distribution. 13 | // 14 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 15 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 16 | // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 17 | // THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 18 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT 19 | // OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20 | // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 22 | // EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 | 24 | using UnityEngine; 25 | using UnityEditor; 26 | using System.Collections; 27 | 28 | namespace kode80.GUIWrapper 29 | { 30 | public class GUIVector3Field : GUIBase 31 | { 32 | public Vector3 vector; 33 | 34 | private GUIContent _content; 35 | public GUIContent content { get { return _content; } } 36 | 37 | public GUIVector3Field( GUIContent content, OnGUIAction action=null) 38 | { 39 | _content = content; 40 | if( action != null) 41 | { 42 | onGUIAction += action; 43 | } 44 | } 45 | 46 | protected override void CustomOnGUI () 47 | { 48 | Vector3 newVector = EditorGUILayout.Vector3Field( _content, vector); 49 | if( newVector != vector) 50 | { 51 | vector = newVector; 52 | CallGUIAction(); 53 | } 54 | } 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/GUIWrapper/Editor/GUIVector3Field.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e60e828a1e6cc4730a5a7f2eb4b71319 3 | timeCreated: 1452785595 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/GUIWrapper/Editor/GUIVertical.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016, Ben Hopkins (kode80) 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without modification, 5 | // are permitted provided that the following conditions are met: 6 | // 7 | // 1. Redistributions of source code must retain the above copyright notice, 8 | // this list of conditions and the following disclaimer. 9 | // 10 | // 2. Redistributions in binary form must reproduce the above copyright notice, 11 | // this list of conditions and the following disclaimer in the documentation 12 | // and/or other materials provided with the distribution. 13 | // 14 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 15 | // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 16 | // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 17 | // THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 18 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT 19 | // OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20 | // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 22 | // EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 | 24 | using UnityEngine; 25 | using UnityEditor; 26 | using System.Collections; 27 | 28 | namespace kode80.GUIWrapper 29 | { 30 | public class GUIVertical : GUIBaseContainer 31 | { 32 | public GUILayoutOption[] layoutOptions; 33 | public GUIStyle style; 34 | 35 | public GUIVertical( GUIStyle style, params GUILayoutOption[] options) 36 | { 37 | layoutOptions = options; 38 | this.style = style; 39 | } 40 | 41 | public GUIVertical( params GUILayoutOption[] options) 42 | { 43 | layoutOptions = options; 44 | this.style = new GUIStyle(); 45 | } 46 | 47 | protected override void BeginContainerOnGUI() 48 | { 49 | EditorGUILayout.BeginVertical( style, layoutOptions); 50 | } 51 | 52 | protected override void EndContainerOnGUI() 53 | { 54 | EditorGUILayout.EndVertical(); 55 | } 56 | } 57 | } -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/GUIWrapper/Editor/GUIVertical.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5ea0fa2b336b54db6952ca3acb3656af 3 | timeCreated: 1452785595 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/Versioning.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 83c5b730d1d244e649d130622be8e581 3 | folderAsset: yes 4 | timeCreated: 1460483515 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/Versioning/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a7ac081eee01e47f994adfe37d1ec24a 3 | folderAsset: yes 4 | timeCreated: 1460483526 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/Versioning/Editor/AssetUpdateWindow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a4e5499fe69e449499563e5208436e26 3 | timeCreated: 1460475147 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/Versioning/Editor/AssetUpdater.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using System.IO; 5 | 6 | namespace kode80.Versioning 7 | { 8 | public class AssetUpdater 9 | { 10 | public delegate void RemoteVersionDownloadFinished( AssetUpdater updater, int assetIndex); 11 | public RemoteVersionDownloadFinished remoteVersionDownloadFinished; 12 | 13 | public delegate void RemoteVersionDownloadFailed( AssetUpdater updater, int assetIndex); 14 | public RemoteVersionDownloadFailed remoteVersionDownloadFailed; 15 | 16 | private static AssetUpdater _instance; 17 | public static AssetUpdater Instance { 18 | get { 19 | if( _instance == null) { 20 | _instance = new AssetUpdater(); 21 | } 22 | return _instance; 23 | } 24 | } 25 | 26 | private List _localVersions; 27 | private Dictionary _localToRemoteVersions; 28 | private AssetVersionDownloader _downloader; 29 | 30 | public int AssetCount { get { return _localVersions.Count; } } 31 | 32 | private AssetUpdater() 33 | { 34 | _localVersions = new List(); 35 | _localToRemoteVersions = new Dictionary(); 36 | } 37 | 38 | public void Refresh( bool forceRefresh = false) 39 | { 40 | List localVersions = FindLocalVersions(); 41 | if( forceRefresh || VersionListsAreEqual( localVersions, _localVersions) == false) 42 | { 43 | _localVersions = localVersions; 44 | 45 | _downloader = new AssetVersionDownloader(); 46 | _downloader.remoteVersionDownloadFinished += RemoteVersionDownloaderFinished; 47 | _downloader.remoteVersionDownloadFailed += RemoteVersionDownloaderFailed; 48 | 49 | foreach( AssetVersion local in _localVersions) { 50 | _downloader.Add( local); 51 | } 52 | } 53 | } 54 | 55 | public AssetVersion GetLocalVersion( int index) { 56 | return _localVersions[ index]; 57 | } 58 | 59 | public AssetVersion GetRemoteVersion( int index) { 60 | AssetVersion localVersion = GetLocalVersion( index); 61 | 62 | if( _localToRemoteVersions.ContainsKey( localVersion)) { 63 | return _localToRemoteVersions[ localVersion]; 64 | } 65 | 66 | return null; 67 | } 68 | 69 | #region AssetVersionDownloader delegate 70 | 71 | private void RemoteVersionDownloaderFinished( AssetVersion local, AssetVersion remote) 72 | { 73 | _localToRemoteVersions[ local] = remote; 74 | 75 | if( remoteVersionDownloadFinished != null) 76 | { 77 | remoteVersionDownloadFinished( this, _localVersions.IndexOf( local)); 78 | } 79 | } 80 | 81 | private void RemoteVersionDownloaderFailed( AssetVersion local) 82 | { 83 | if( remoteVersionDownloadFailed != null) 84 | { 85 | remoteVersionDownloadFailed( this, _localVersions.IndexOf( local)); 86 | } 87 | } 88 | 89 | #endregion 90 | 91 | private List FindLocalVersions() 92 | { 93 | List versions = new List(); 94 | string[] paths = Directory.GetFiles( Application.dataPath, "AssetVersion.xml", SearchOption.AllDirectories); 95 | 96 | foreach( string path in paths) 97 | { 98 | string localXML = File.ReadAllText( path); 99 | AssetVersion version = AssetVersion.ParseXML( localXML); 100 | 101 | if( version != null) { 102 | versions.Add( version); 103 | } 104 | } 105 | 106 | return versions; 107 | } 108 | 109 | private bool VersionListsAreEqual( List a, List b) 110 | { 111 | if( a == b) { return true; } 112 | if( a.Count != b.Count) { return false; } 113 | 114 | Dictionary hash = new Dictionary(); 115 | 116 | foreach( AssetVersion version in a) { 117 | hash[ version.ToString()] = true; 118 | } 119 | 120 | foreach( AssetVersion version in b) { 121 | if( hash.ContainsKey( version.ToString()) == false) { 122 | return false; 123 | } 124 | } 125 | 126 | return true; 127 | } 128 | } 129 | } 130 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/Versioning/Editor/AssetUpdater.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fa4a9706557db48e1ac48951075a38f7 3 | timeCreated: 1460647612 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/Versioning/Editor/AssetVersion.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System; 3 | using System.Collections; 4 | using System.Xml; 5 | 6 | namespace kode80.Versioning 7 | { 8 | public class AssetVersion 9 | { 10 | public string Name { get; private set; } 11 | public string Author { get; private set; } 12 | public SemanticVersion Version { get; private set; } 13 | public string Notes { get; private set; } 14 | public Uri packageURI { get; private set; } 15 | public Uri versionURI { get; private set; } 16 | 17 | public static AssetVersion ParseXML( string xmlString) 18 | { 19 | XmlDocument xml = new XmlDocument(); 20 | 21 | try { xml.LoadXml( xmlString); } 22 | catch( XmlException) { return null; } 23 | 24 | XmlNode name = xml.SelectSingleNode( "asset/name"); 25 | XmlNode author = xml.SelectSingleNode( "asset/author"); 26 | XmlNode version = xml.SelectSingleNode( "asset/version"); 27 | XmlNode notes = xml.SelectSingleNode( "asset/notes"); 28 | XmlNode packageURI = xml.SelectSingleNode( "asset/package-uri"); 29 | XmlNode versionURI = xml.SelectSingleNode( "asset/version-uri"); 30 | 31 | if( name == null || 32 | author == null || 33 | version == null || 34 | notes == null || 35 | packageURI == null || 36 | versionURI == null) 37 | { 38 | Debug.Log( "Error parsing Asset Version XML"); 39 | return null; 40 | } 41 | 42 | SemanticVersion semanticVersion = SemanticVersion.Parse( version.InnerText); 43 | if( semanticVersion == null) { 44 | Debug.Log( "Error parsing Semantic Version"); 45 | return null; 46 | } 47 | 48 | AssetVersion assetVersion = new AssetVersion(); 49 | assetVersion.Name = name.InnerText; 50 | assetVersion.Author = author.InnerText; 51 | assetVersion.Version = semanticVersion; 52 | assetVersion.Notes = notes.InnerText; 53 | assetVersion.packageURI = new Uri( packageURI.InnerText); 54 | assetVersion.versionURI = new Uri( versionURI.InnerText); 55 | 56 | return assetVersion; 57 | } 58 | 59 | public override string ToString() 60 | { 61 | return "Name: " + Name + "\n" + 62 | "Author: " + Author + "\n" + 63 | "Version: " + Version + "\n" + 64 | "Notes: " + Notes + "\n" + 65 | "PackageURI: " + packageURI + "\n" + 66 | "VersionURI: " + versionURI; 67 | } 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/Versioning/Editor/AssetVersion.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7587875737c4c423bbe53d48c4a8a5b8 3 | timeCreated: 1460479105 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/Versioning/Editor/AssetVersionDownloader.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEditor; 3 | using System; 4 | using System.Collections; 5 | using System.Collections.Generic; 6 | using System.Net; 7 | using System.Security.Cryptography.X509Certificates; 8 | 9 | namespace kode80.Versioning 10 | { 11 | public class AssetVersionDownloader 12 | { 13 | public delegate void RemoteVersionDownloadFinished( AssetVersion local, AssetVersion remote); 14 | public RemoteVersionDownloadFinished remoteVersionDownloadFinished; 15 | 16 | public delegate void RemoteVersionDownloadFailed( AssetVersion local); 17 | public RemoteVersionDownloadFailed remoteVersionDownloadFailed; 18 | 19 | private WebClient _webClient; 20 | private List _queue; 21 | private AssetVersion _currentLocalVersion; 22 | private List _mainThreadDelegates; 23 | 24 | public AssetVersionDownloader() 25 | { 26 | _queue = new List(); 27 | _mainThreadDelegates = new List(); 28 | EditorApplication.update += MainThreadUpdate; 29 | ServicePointManager.ServerCertificateValidationCallback += HandleServerCertificateValidation; 30 | } 31 | 32 | ~AssetVersionDownloader() 33 | { 34 | EditorApplication.update -= MainThreadUpdate; 35 | ServicePointManager.ServerCertificateValidationCallback -= HandleServerCertificateValidation; 36 | CancelAll(); 37 | } 38 | 39 | private static bool HandleServerCertificateValidation(object sender, X509Certificate cert, X509Chain chain, System.Net.Security.SslPolicyErrors error) 40 | { 41 | return true; 42 | } 43 | 44 | 45 | public void Add( AssetVersion local) 46 | { 47 | _queue.Add( local); 48 | AttemptNextDownload(); 49 | } 50 | 51 | public void CancelAll() 52 | { 53 | if( _webClient != null) { 54 | _webClient.CancelAsync(); 55 | } 56 | 57 | _queue.Clear(); 58 | } 59 | 60 | private void MainThreadUpdate() 61 | { 62 | if( _mainThreadDelegates.Count > 0) 63 | { 64 | _mainThreadDelegates[0].Invoke(); 65 | _mainThreadDelegates.RemoveAt( 0); 66 | } 67 | } 68 | 69 | private void AttemptNextDownload() 70 | { 71 | if( _webClient == null && _queue.Count > 0) 72 | { 73 | _currentLocalVersion = _queue[0]; 74 | _queue.RemoveAt( 0); 75 | 76 | using( _webClient = new WebClient()) 77 | { 78 | _webClient.DownloadStringCompleted += WebClientCompleted; 79 | 80 | try { 81 | _webClient.DownloadStringAsync( _currentLocalVersion.versionURI); 82 | } 83 | catch( Exception e) { 84 | Debug.Log("dl exception: " + e); 85 | HandleFailedDownload(); 86 | } 87 | } 88 | } 89 | } 90 | 91 | private void WebClientCompleted(object sender, DownloadStringCompletedEventArgs e) 92 | { 93 | if( e.Cancelled || e.Error != null) 94 | { 95 | if( e.Error != null) 96 | { 97 | Debug.Log("dl complete error: " + e.Error); 98 | } 99 | HandleFailedDownload(); 100 | } 101 | else 102 | { 103 | AssetVersion remote = AssetVersion.ParseXML( e.Result); 104 | if( remote == null) 105 | { 106 | HandleFailedDownload(); 107 | } 108 | else 109 | { 110 | HandleFinishedDownload( remote); 111 | } 112 | } 113 | } 114 | 115 | private void HandleFinishedDownload( AssetVersion remote) 116 | { 117 | if( remoteVersionDownloadFinished != null) { 118 | _mainThreadDelegates.Add( new Action( () => { 119 | remoteVersionDownloadFinished( _currentLocalVersion, remote); 120 | 121 | _currentLocalVersion = null; 122 | _webClient = null; 123 | AttemptNextDownload(); 124 | })); 125 | } 126 | } 127 | 128 | private void HandleFailedDownload() 129 | { 130 | if( remoteVersionDownloadFailed != null) { 131 | _mainThreadDelegates.Add( new Action( () => { 132 | remoteVersionDownloadFailed( _currentLocalVersion); 133 | 134 | _currentLocalVersion = null; 135 | _webClient = null; 136 | AttemptNextDownload(); 137 | })); 138 | } 139 | } 140 | } 141 | } 142 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/Versioning/Editor/AssetVersionDownloader.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 35583dcf603464310a43e5b963b62be6 3 | timeCreated: 1460653597 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/Versioning/Editor/SemanticVersion.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System; 3 | using System.Collections; 4 | 5 | namespace kode80.Versioning 6 | { 7 | public class SemanticVersion 8 | { 9 | public int Major { get; private set; } 10 | public int Minor { get; private set; } 11 | public int Patch { get; private set; } 12 | 13 | public SemanticVersion( int major = 0, int minor = 0, int patch = 0) 14 | { 15 | Major = major; 16 | Minor = minor; 17 | Patch = patch; 18 | } 19 | 20 | public static SemanticVersion Parse( string versionString) 21 | { 22 | string[] components = versionString.Split( '.'); 23 | int major = 0, minor = 0, patch = 0; 24 | 25 | if( components.Length < 3) { return null; } 26 | if( int.TryParse( components[0], out major) == false) { return null; } 27 | if( int.TryParse( components[1], out minor) == false) { return null; } 28 | if( int.TryParse( components[2], out patch) == false) { return null; } 29 | 30 | return new SemanticVersion( major, minor, patch); 31 | } 32 | 33 | public static bool operator <( SemanticVersion a, SemanticVersion b) 34 | { 35 | if( a.Major < b.Major) { return true; } 36 | if( a.Major > b.Major) { return false; } 37 | 38 | if( a.Minor < b.Minor) { return true; } 39 | if( a.Minor > b.Minor) { return false; } 40 | 41 | if( a.Patch < b.Patch) { return true; } 42 | 43 | return false; 44 | } 45 | 46 | public static bool operator >( SemanticVersion a, SemanticVersion b) 47 | { 48 | if( a.Major > b.Major) { return true; } 49 | if( a.Major < b.Major) { return false; } 50 | 51 | if( a.Minor > b.Minor) { return true; } 52 | if( a.Minor < b.Minor) { return false; } 53 | 54 | if( a.Patch > b.Patch) { return true; } 55 | 56 | return false; 57 | } 58 | 59 | public override string ToString() 60 | { 61 | return Major + "." + Minor + "." + Patch; 62 | } 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /Assets/kode80/UnityTools/Versioning/Editor/SemanticVersion.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0853616dd067e478fa86c6005fd25e92 3 | timeCreated: 1460480111 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ProjectSettings/AudioManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!11 &1 4 | AudioManager: 5 | m_ObjectHideFlags: 0 6 | m_Volume: 1 7 | Rolloff Scale: 1 8 | Doppler Factor: 1 9 | Default Speaker Mode: 2 10 | m_SampleRate: 0 11 | m_DSPBufferSize: 0 12 | m_VirtualVoiceCount: 512 13 | m_RealVoiceCount: 32 14 | m_SpatializerPlugin: 15 | m_DisableAudio: 0 16 | -------------------------------------------------------------------------------- /ProjectSettings/ClusterInputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!236 &1 4 | ClusterInputManager: 5 | m_ObjectHideFlags: 0 6 | m_Inputs: [] 7 | -------------------------------------------------------------------------------- /ProjectSettings/DynamicsManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!55 &1 4 | PhysicsManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Gravity: {x: 0, y: -9.81000042, z: 0} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_BounceThreshold: 2 10 | m_SleepThreshold: .00499999989 11 | m_DefaultContactOffset: .00999999978 12 | m_SolverIterationCount: 6 13 | m_QueriesHitTriggers: 1 14 | m_EnableAdaptiveForce: 0 15 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 16 | -------------------------------------------------------------------------------- /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: 0 9 | path: Assets/Scenes/test scene.unity 10 | - enabled: 1 11 | path: Assets/kode80/Clouds/Examples/Demo/kode80CloudsDemoScene.unity 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: 3 7 | m_ExternalVersionControlSupport: Visible Meta Files 8 | m_SerializationMode: 2 9 | m_WebSecurityEmulationEnabled: 0 10 | m_WebSecurityEmulationHostUrl: http://www.mydomain.com/mygame.unity3d 11 | m_DefaultBehaviorMode: 0 12 | m_SpritePackerMode: 2 13 | m_SpritePackerPaddingPower: 1 14 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd 15 | m_ProjectGenerationRootNamespace: 16 | -------------------------------------------------------------------------------- /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: 5 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_LegacyDeferred: 14 | m_Mode: 1 15 | m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0} 16 | m_AlwaysIncludedShaders: 17 | - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} 18 | - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0} 19 | - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0} 20 | - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} 21 | - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} 22 | - {fileID: 10782, guid: 0000000000000000f000000000000000, type: 0} 23 | m_PreloadedShaders: [] 24 | m_ShaderSettings: 25 | useScreenSpaceShadows: 1 26 | m_BuildTargetShaderSettings: [] 27 | m_LightmapStripping: 0 28 | m_FogStripping: 0 29 | m_LightmapKeepPlain: 1 30 | m_LightmapKeepDirCombined: 1 31 | m_LightmapKeepDirSeparate: 1 32 | m_LightmapKeepDynamicPlain: 1 33 | m_LightmapKeepDynamicDirCombined: 1 34 | m_LightmapKeepDynamicDirSeparate: 1 35 | m_FogKeepLinear: 1 36 | m_FogKeepExp: 1 37 | m_FogKeepExp2: 1 38 | -------------------------------------------------------------------------------- /ProjectSettings/InputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!13 &1 4 | InputManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Axes: 8 | - serializedVersion: 3 9 | m_Name: Fire1 10 | descriptiveName: 11 | descriptiveNegativeName: 12 | negativeButton: 13 | positiveButton: left ctrl 14 | altNegativeButton: 15 | altPositiveButton: mouse 0 16 | gravity: 1000 17 | dead: 0.001 18 | sensitivity: 1000 19 | snap: 0 20 | invert: 0 21 | type: 0 22 | axis: 0 23 | joyNum: 0 24 | - serializedVersion: 3 25 | m_Name: Fire2 26 | descriptiveName: 27 | descriptiveNegativeName: 28 | negativeButton: 29 | positiveButton: left alt 30 | altNegativeButton: 31 | altPositiveButton: mouse 1 32 | gravity: 1000 33 | dead: 0.001 34 | sensitivity: 1000 35 | snap: 0 36 | invert: 0 37 | type: 0 38 | axis: 0 39 | joyNum: 0 40 | - serializedVersion: 3 41 | m_Name: Jump 42 | descriptiveName: 43 | descriptiveNegativeName: 44 | negativeButton: 45 | positiveButton: space 46 | altNegativeButton: 47 | altPositiveButton: 48 | gravity: 1000 49 | dead: 0.001 50 | sensitivity: 1000 51 | snap: 0 52 | invert: 0 53 | type: 0 54 | axis: 0 55 | joyNum: 0 56 | -------------------------------------------------------------------------------- /ProjectSettings/NavMeshAreas.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!126 &1 4 | NavMeshAreas: 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 | -------------------------------------------------------------------------------- /ProjectSettings/NetworkManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!149 &1 4 | NetworkManager: 5 | m_ObjectHideFlags: 0 6 | m_DebugLevel: 0 7 | m_Sendrate: 15 8 | m_AssetToPrefab: {} 9 | -------------------------------------------------------------------------------- /ProjectSettings/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: 2 7 | m_Gravity: {x: 0, y: -9.81000042} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_VelocityIterations: 8 10 | m_PositionIterations: 3 11 | m_VelocityThreshold: 1 12 | m_MaxLinearCorrection: .200000003 13 | m_MaxAngularCorrection: 8 14 | m_MaxTranslationSpeed: 100 15 | m_MaxRotationSpeed: 360 16 | m_MinPenetrationForPenalty: .00999999978 17 | m_BaumgarteScale: .200000003 18 | m_BaumgarteTimeOfImpactScale: .75 19 | m_TimeToSleep: .5 20 | m_LinearSleepTolerance: .00999999978 21 | m_AngularSleepTolerance: 2 22 | m_QueriesHitTriggers: 1 23 | m_QueriesStartInColliders: 1 24 | m_ChangeStopsCallbacks: 0 25 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 26 | -------------------------------------------------------------------------------- /ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 5.3.0f4 2 | m_StandardAssetsVersion: 0 3 | -------------------------------------------------------------------------------- /ProjectSettings/TagManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!78 &1 4 | TagManager: 5 | serializedVersion: 2 6 | tags: [] 7 | layers: 8 | - Default 9 | - TransparentFX 10 | - Ignore Raycast 11 | - 12 | - Water 13 | - UI 14 | - 15 | - 16 | - 17 | - 18 | - 19 | - 20 | - 21 | - 22 | - 23 | - 24 | - 25 | - 26 | - 27 | - 28 | - 29 | - 30 | - 31 | - 32 | - 33 | - 34 | - 35 | - 36 | - 37 | - 38 | - 39 | - 40 | m_SortingLayers: 41 | - name: Default 42 | uniqueID: 0 43 | locked: 0 44 | -------------------------------------------------------------------------------- /ProjectSettings/TimeManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!5 &1 4 | TimeManager: 5 | m_ObjectHideFlags: 0 6 | Fixed Timestep: .0199999996 7 | Maximum Allowed Timestep: .333333343 8 | m_TimeScale: 1 9 | -------------------------------------------------------------------------------- /ProjectSettings/UnityAdsSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!292 &1 4 | UnityAdsSettings: 5 | m_ObjectHideFlags: 0 6 | m_Enabled: 0 7 | m_InitializeOnStartup: 1 8 | m_TestMode: 0 9 | m_EnabledPlatforms: 4294967295 10 | m_IosGameId: 11 | m_AndroidGameId: 12 | -------------------------------------------------------------------------------- /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 | UnityPurchasingSettings: 7 | m_Enabled: 0 8 | m_TestMode: 0 9 | UnityAnalyticsSettings: 10 | m_Enabled: 0 11 | m_InitializeOnStartup: 1 12 | m_TestMode: 0 13 | m_TestEventUrl: 14 | m_TestConfigUrl: 15 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # kode80CloudsUnity3D (Ver 1.1.0) 2 | kode80 Clouds is a realtime volumetric cloud rendering solution for Unity3D, offering fully dynamic, animated, 3D cloudscapes along with a custom editor for painting clouds directly into your scene. All properties; from cloud density and shape to sun and ambient lighting can be adjusted in realtime. 3 | 4 | For more info & videos, and to purchase commercial licenses, check out: [http://kode80.com/](http://kode80.com/) 5 | 6 | ## License 7 | kode80 Clouds is free to use for strictly non-commercial purposes, read kode80CloudsNonCommercialLicense.html in project root for full details. 8 | 9 | If you'd like to use kode80 Clouds for commercial purposes, or support this & future kode80 development, commercial licenses are available for purchase from my online store at: [http://kode80.com/](http://kode80.com/) 10 | 11 | ## Download Latest unitypackage 12 | The latest packaged version can be downloaded here: [kode80Clouds.unitypackage](http://kode80.com/downloads/assets/kode80Clouds.unitypackage) 13 | 14 | ## ChangeLog 15 | ### kode80 Clouds 1.1.1 (April 20th 2016): 16 | * Fixed shader compilation on < 5.3.0 17 | * Fixed GUI compilation error on < 5.3.0 18 | * Fixed draw order bug with transparent materials 19 | * Fixed clouds not displaying when Unity water is visible 20 | 21 | ### kode80 Clouds 1.1.0 (April 18th 2016): 22 | * Added kode80CloudShadows component (place on directional light) 23 | * Added AssetUpdater (Window/kode80/Check for Asset Updates) 24 | * kode80Clouds now draws a gizmo for visualizing horizon/atmosphere size 25 | * kode80Clouds' transform now affects virtual skydome position in scene 26 | * Hardcoded input in demo's FlyCamera script (fixes Input Manager errors) 27 | * Fixed Coverage Editor's brush position for all atmosphere sizes 28 | * Fixed compile errors for < Unity 5.3.3 29 | * Fixed lighting when project is set to Gamma 30 | * Updated documentation 31 | --------------------------------------------------------------------------------