├── .gitignore ├── Assets ├── ColorSuite.meta ├── ColorSuite │ ├── ColorSuite.cs │ ├── ColorSuite.cs.meta │ ├── Editor.meta │ ├── Editor │ │ ├── ColorSuiteEditor.cs │ │ └── ColorSuiteEditor.cs.meta │ ├── Shader.meta │ └── Shader │ │ ├── ColorSuite.shader │ │ └── ColorSuite.shader.meta ├── DeferredAO.meta ├── DeferredAO │ ├── DeferredAO.cs │ ├── DeferredAO.cs.meta │ ├── Editor.meta │ ├── Editor │ │ ├── DeferredAOEditor.cs │ │ └── DeferredAOEditor.cs.meta │ ├── Shader.meta │ └── Shader │ │ ├── DeferredAO.shader │ │ └── DeferredAO.shader.meta ├── InfiniteScan.meta ├── InfiniteScan │ ├── Head.fbx │ ├── Head.fbx.meta │ ├── License.txt │ ├── License.txt.meta │ ├── Materials.meta │ ├── Materials │ │ ├── Head.mat │ │ └── Head.mat.meta │ ├── Textures.meta │ └── Textures │ │ ├── bump-lowRes.png │ │ ├── bump-lowRes.png.meta │ │ ├── lambertian.jpg │ │ └── lambertian.jpg.meta ├── Kino.meta ├── Kino │ ├── Fringe.meta │ ├── Fringe │ │ ├── Editor.meta │ │ ├── Editor │ │ │ ├── FringeEditor.cs │ │ │ └── FringeEditor.cs.meta │ │ ├── Fringe.cs │ │ ├── Fringe.cs.meta │ │ ├── Shader.meta │ │ └── Shader │ │ │ ├── Fringe.shader │ │ │ └── Fringe.shader.meta │ ├── Vignette.meta │ └── Vignette │ │ ├── Editor.meta │ │ ├── Editor │ │ ├── VignetteEditor.cs │ │ └── VignetteEditor.cs.meta │ │ ├── Shader.meta │ │ ├── Shader │ │ ├── Vignette.shader │ │ └── Vignette.shader.meta │ │ ├── Vignette.cs │ │ └── Vignette.cs.meta ├── Skybox.mat ├── Skybox.mat.meta ├── Test.unity ├── Test.unity.meta ├── sIBL Archive.meta └── sIBL Archive │ ├── Acknowledgement.txt │ ├── Acknowledgement.txt.meta │ ├── Chelsea_Stairs_Env.hdr │ └── Chelsea_Stairs_Env.hdr.meta ├── InfiniteScan.unitypackage ├── ProjectSettings ├── AudioManager.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 └── UnityAnalyticsManager.asset └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | # Unity 2 | Library 3 | Temp 4 | *.pidb 5 | *.userprefs 6 | 7 | # Misc 8 | *.swp 9 | *.lnk 10 | .DS_Store 11 | Thumbs.db 12 | -------------------------------------------------------------------------------- /Assets/ColorSuite.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 92b634cb636824bfb98b32d3fc16d5c4 3 | folderAsset: yes 4 | timeCreated: 1442665568 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/ColorSuite/ColorSuite.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (C) 2014, 2015 Keijiro Takahashi 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy of 5 | // this software and associated documentation files (the "Software"), to deal in 6 | // the Software without restriction, including without limitation the rights to 7 | // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 8 | // the Software, and to permit persons to whom the Software is furnished to do so, 9 | // subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in all 12 | // copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 16 | // FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 17 | // COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 18 | // IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 19 | // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 20 | // 21 | using UnityEngine; 22 | using System.Collections; 23 | 24 | [ExecuteInEditMode] 25 | [ImageEffectTransformsToLDR] 26 | [RequireComponent(typeof(Camera))] 27 | [AddComponentMenu("Image Effects/Color Adjustments/Color Suite")] 28 | public class ColorSuite : MonoBehaviour 29 | { 30 | #region Public Properties 31 | 32 | // White balance. 33 | [SerializeField] float _colorTemp = 0.0f; 34 | [SerializeField] float _colorTint = 0.0f; 35 | 36 | public float colorTemp { 37 | get { return _colorTemp; } 38 | set { _colorTemp = value; } 39 | } 40 | public float colorTint { 41 | get { return _colorTint; } 42 | set { _colorTint = value; } 43 | } 44 | 45 | // Tone mapping. 46 | [SerializeField] bool _toneMapping = false; 47 | [SerializeField] float _exposure = 1.0f; 48 | 49 | public bool toneMapping { 50 | get { return _toneMapping; } 51 | set { _toneMapping = value; } 52 | } 53 | public float exposure { 54 | get { return _exposure; } 55 | set { _exposure = value; } 56 | } 57 | 58 | // Color saturation. 59 | [SerializeField] float _saturation = 1.0f; 60 | 61 | public float saturation { 62 | get { return _saturation; } 63 | set { _saturation = value; } 64 | } 65 | 66 | // Curves. 67 | [SerializeField] AnimationCurve _rCurve = AnimationCurve.Linear(0, 0, 1, 1); 68 | [SerializeField] AnimationCurve _gCurve = AnimationCurve.Linear(0, 0, 1, 1); 69 | [SerializeField] AnimationCurve _bCurve = AnimationCurve.Linear(0, 0, 1, 1); 70 | [SerializeField] AnimationCurve _cCurve = AnimationCurve.Linear(0, 0, 1, 1); 71 | 72 | public AnimationCurve redCurve { 73 | get { return _rCurve; } 74 | set { _rCurve = value; UpdateLUT(); } 75 | } 76 | public AnimationCurve greenCurve { 77 | get { return _gCurve; } 78 | set { _gCurve = value; UpdateLUT(); } 79 | } 80 | public AnimationCurve blueCurve { 81 | get { return _bCurve; } 82 | set { _bCurve = value; UpdateLUT(); } 83 | } 84 | public AnimationCurve rgbCurve { 85 | get { return _cCurve; } 86 | set { _cCurve = value; UpdateLUT(); } 87 | } 88 | 89 | // Dithering. 90 | public enum DitherMode { Off, Ordered, Triangular } 91 | [SerializeField] DitherMode _ditherMode = DitherMode.Off; 92 | 93 | public DitherMode ditherMode { 94 | get { return _ditherMode; } 95 | set { _ditherMode = value; } 96 | } 97 | 98 | #endregion 99 | 100 | #region Internal Properties 101 | 102 | // Reference to the shader. 103 | [SerializeField] Shader shader; 104 | 105 | // Temporary objects. 106 | Material _material; 107 | Texture2D _lutTexture; 108 | 109 | #endregion 110 | 111 | #region Local Functions 112 | 113 | // RGBM encoding. 114 | static Color EncodeRGBM(float r, float g, float b) 115 | { 116 | var a = Mathf.Max(Mathf.Max(r, g), Mathf.Max(b, 1e-6f)); 117 | a = Mathf.Ceil(a * 255) / 255; 118 | return new Color(r / a, g / a, b / a, a); 119 | } 120 | 121 | // An analytical model of chromaticity of the standard illuminant, by Judd et al. 122 | // http://en.wikipedia.org/wiki/Standard_illuminant#Illuminant_series_D 123 | // Slightly modifed to adjust it with the D65 white point (x=0.31271, y=0.32902). 124 | static float StandardIlluminantY(float x) 125 | { 126 | return 2.87f * x - 3.0f * x * x - 0.27509507f; 127 | } 128 | 129 | // CIE xy chromaticity to CAT02 LMS. 130 | // http://en.wikipedia.org/wiki/LMS_color_space#CAT02 131 | static Vector3 CIExyToLMS(float x, float y) 132 | { 133 | var Y = 1.0f; 134 | var X = Y * x / y; 135 | var Z = Y * (1.0f - x - y) / y; 136 | 137 | var L = 0.7328f * X + 0.4296f * Y - 0.1624f * Z; 138 | var M = -0.7036f * X + 1.6975f * Y + 0.0061f * Z; 139 | var S = 0.0030f * X + 0.0136f * Y + 0.9834f * Z; 140 | 141 | return new Vector3(L, M, S); 142 | } 143 | 144 | #endregion 145 | 146 | #region Private Methods 147 | 148 | // Set up the temporary assets. 149 | void Setup() 150 | { 151 | if (_material == null) 152 | { 153 | _material = new Material(shader); 154 | _material.hideFlags = HideFlags.DontSave; 155 | } 156 | 157 | if (_lutTexture == null) 158 | { 159 | _lutTexture = new Texture2D(512, 1, TextureFormat.ARGB32, false, true); 160 | _lutTexture.hideFlags = HideFlags.DontSave; 161 | _lutTexture.wrapMode = TextureWrapMode.Clamp; 162 | UpdateLUT(); 163 | } 164 | } 165 | 166 | // Update the LUT texture. 167 | void UpdateLUT() 168 | { 169 | for (var x = 0; x < _lutTexture.width; x++) 170 | { 171 | var u = 1.0f / (_lutTexture.width - 1) * x; 172 | var r = _cCurve.Evaluate(_rCurve.Evaluate(u)); 173 | var g = _cCurve.Evaluate(_gCurve.Evaluate(u)); 174 | var b = _cCurve.Evaluate(_bCurve.Evaluate(u)); 175 | _lutTexture.SetPixel(x, 0, EncodeRGBM(r, g, b)); 176 | } 177 | _lutTexture.Apply(); 178 | } 179 | 180 | // Calculate the color balance coefficients. 181 | Vector3 CalculateColorBalance() 182 | { 183 | // Get the CIE xy chromaticity of the reference white point. 184 | // Note: 0.31271 = x value on the D65 white point 185 | var x = 0.31271f - _colorTemp * (_colorTemp < 0.0f ? 0.1f : 0.05f); 186 | var y = StandardIlluminantY(x) + _colorTint * 0.05f; 187 | 188 | // Calculate the coefficients in the LMS space. 189 | var w1 = new Vector3(0.949237f, 1.03542f, 1.08728f); // D65 white point 190 | var w2 = CIExyToLMS(x, y); 191 | return new Vector3(w1.x / w2.x, w1.y / w2.y, w1.z / w2.z); 192 | } 193 | 194 | #endregion 195 | 196 | #region Monobehaviour Functions 197 | 198 | void Start() 199 | { 200 | Setup(); 201 | } 202 | 203 | void OnValidate() 204 | { 205 | Setup(); 206 | UpdateLUT(); 207 | } 208 | 209 | void Reset() 210 | { 211 | Setup(); 212 | UpdateLUT(); 213 | } 214 | 215 | void OnRenderImage(RenderTexture source, RenderTexture destination) 216 | { 217 | var linear = QualitySettings.activeColorSpace == ColorSpace.Linear; 218 | 219 | Setup(); 220 | 221 | if (linear) 222 | _material.EnableKeyword("COLORSPACE_LINEAR"); 223 | else 224 | _material.DisableKeyword("COLORSPACE_LINEAR"); 225 | 226 | if (_colorTemp != 0.0f || _colorTint != 0.0f) 227 | { 228 | _material.EnableKeyword("BALANCING_ON"); 229 | _material.SetVector("_Balance", CalculateColorBalance()); 230 | } 231 | else 232 | _material.DisableKeyword("BALANCING_ON"); 233 | 234 | if (_toneMapping && linear) 235 | { 236 | _material.EnableKeyword("TONEMAPPING_ON"); 237 | _material.SetFloat("_Exposure", _exposure); 238 | } 239 | else 240 | _material.DisableKeyword("TONEMAPPING_ON"); 241 | 242 | _material.SetTexture("_Curves", _lutTexture); 243 | _material.SetFloat("_Saturation", _saturation); 244 | 245 | if (_ditherMode == DitherMode.Ordered) 246 | { 247 | _material.EnableKeyword("DITHER_ORDERED"); 248 | _material.DisableKeyword("DITHER_TRIANGULAR"); 249 | } 250 | else if (_ditherMode == DitherMode.Triangular) 251 | { 252 | _material.DisableKeyword("DITHER_ORDERED"); 253 | _material.EnableKeyword("DITHER_TRIANGULAR"); 254 | } 255 | else 256 | { 257 | _material.DisableKeyword("DITHER_ORDERED"); 258 | _material.DisableKeyword("DITHER_TRIANGULAR"); 259 | } 260 | 261 | Graphics.Blit(source, destination, _material); 262 | } 263 | 264 | #endregion 265 | } 266 | -------------------------------------------------------------------------------- /Assets/ColorSuite/ColorSuite.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 10593b7d510b64560a297a8af1356dcb 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: 6 | - shader: {fileID: 4800000, guid: dc9775b65c52747e69fc4c854c00d696, type: 3} 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/ColorSuite/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cd386d94948a6489a9baa003c1f5b171 3 | folderAsset: yes 4 | timeCreated: 1442665568 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/ColorSuite/Editor/ColorSuiteEditor.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (C) 2014, 2015 Keijiro Takahashi 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy of 5 | // this software and associated documentation files (the "Software"), to deal in 6 | // the Software without restriction, including without limitation the rights to 7 | // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 8 | // the Software, and to permit persons to whom the Software is furnished to do so, 9 | // subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in all 12 | // copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 16 | // FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 17 | // COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 18 | // IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 19 | // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 20 | // 21 | using UnityEngine; 22 | using UnityEditor; 23 | using System.Collections; 24 | 25 | [CustomEditor(typeof(ColorSuite)), CanEditMultipleObjects] 26 | public class ColorSuiteEditor : Editor 27 | { 28 | SerializedProperty propColorTemp; 29 | SerializedProperty propColorTint; 30 | 31 | SerializedProperty propToneMapping; 32 | SerializedProperty propExposure; 33 | 34 | SerializedProperty propSaturation; 35 | 36 | SerializedProperty propRCurve; 37 | SerializedProperty propGCurve; 38 | SerializedProperty propBCurve; 39 | SerializedProperty propCCurve; 40 | 41 | SerializedProperty propDitherMode; 42 | 43 | GUIContent labelColorTemp; 44 | GUIContent labelColorTint; 45 | 46 | void OnEnable() 47 | { 48 | propColorTemp = serializedObject.FindProperty("_colorTemp"); 49 | propColorTint = serializedObject.FindProperty("_colorTint"); 50 | 51 | propToneMapping = serializedObject.FindProperty("_toneMapping"); 52 | propExposure = serializedObject.FindProperty("_exposure"); 53 | 54 | propSaturation = serializedObject.FindProperty("_saturation"); 55 | 56 | propRCurve = serializedObject.FindProperty("_rCurve"); 57 | propGCurve = serializedObject.FindProperty("_gCurve"); 58 | propBCurve = serializedObject.FindProperty("_bCurve"); 59 | propCCurve = serializedObject.FindProperty("_cCurve"); 60 | 61 | propDitherMode = serializedObject.FindProperty("_ditherMode"); 62 | 63 | labelColorTemp = new GUIContent("Color Temperature"); 64 | labelColorTint = new GUIContent("Tint (green-purple)"); 65 | } 66 | 67 | public override void OnInspectorGUI() 68 | { 69 | serializedObject.Update(); 70 | 71 | EditorGUILayout.PropertyField(propToneMapping); 72 | if (propToneMapping.hasMultipleDifferentValues || propToneMapping.boolValue) 73 | { 74 | EditorGUILayout.Slider(propExposure, 0, 5); 75 | if (QualitySettings.activeColorSpace != ColorSpace.Linear) 76 | EditorGUILayout.HelpBox("Linear space lighting should be enabled for tone mapping.", MessageType.Warning); 77 | } 78 | 79 | EditorGUILayout.Space(); 80 | 81 | EditorGUILayout.Slider(propColorTemp, -1.0f, 1.0f, labelColorTemp); 82 | EditorGUILayout.Slider(propColorTint, -1.0f, 1.0f, labelColorTint); 83 | 84 | EditorGUILayout.Space(); 85 | 86 | EditorGUILayout.Slider(propSaturation, 0, 2); 87 | 88 | EditorGUILayout.LabelField("Curves (R, G, B, Combined)"); 89 | EditorGUILayout.BeginHorizontal(); 90 | var doubleHeight = GUILayout.Height(EditorGUIUtility.singleLineHeight * 2); 91 | EditorGUILayout.PropertyField(propRCurve, GUIContent.none, doubleHeight); 92 | EditorGUILayout.PropertyField(propGCurve, GUIContent.none, doubleHeight); 93 | EditorGUILayout.PropertyField(propBCurve, GUIContent.none, doubleHeight); 94 | EditorGUILayout.PropertyField(propCCurve, GUIContent.none, doubleHeight); 95 | EditorGUILayout.EndHorizontal(); 96 | 97 | EditorGUILayout.Space(); 98 | 99 | EditorGUILayout.PropertyField(propDitherMode); 100 | 101 | serializedObject.ApplyModifiedProperties(); 102 | } 103 | } 104 | -------------------------------------------------------------------------------- /Assets/ColorSuite/Editor/ColorSuiteEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f328b8677255d426a999185016ef88f2 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/ColorSuite/Shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4911ca47559e444a8aa3e74b16a42ce1 3 | folderAsset: yes 4 | timeCreated: 1442665568 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/ColorSuite/Shader/ColorSuite.shader: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (C) 2014, 2015 Keijiro Takahashi 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy of 5 | // this software and associated documentation files (the "Software"), to deal in 6 | // the Software without restriction, including without limitation the rights to 7 | // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 8 | // the Software, and to permit persons to whom the Software is furnished to do so, 9 | // subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in all 12 | // copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 16 | // FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 17 | // COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 18 | // IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 19 | // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 20 | // 21 | 22 | Shader "Hidden/ColorSuite" 23 | { 24 | Properties 25 | { 26 | _MainTex ("-", 2D) = ""{} 27 | _Curves ("-", 2D) = ""{} 28 | _Exposure ("-", Float) = 1.0 29 | _Saturation ("-", Float) = 1.0 30 | _Balance ("-", Vector) = (1, 1, 1, 0) 31 | } 32 | 33 | CGINCLUDE 34 | 35 | // Multi-compilation options. 36 | #pragma multi_compile COLORSPACE_SRGB COLORSPACE_LINEAR 37 | #pragma multi_compile BALANCING_OFF BALANCING_ON 38 | #pragma multi_compile TONEMAPPING_OFF TONEMAPPING_ON 39 | #pragma multi_compile DITHER_OFF DITHER_ORDERED DITHER_TRIANGULAR 40 | 41 | #include "UnityCG.cginc" 42 | 43 | sampler2D _MainTex; 44 | float2 _MainTex_TexelSize; 45 | sampler2D _Curves; 46 | float _Exposure; 47 | float _Saturation; 48 | float4 _Balance; 49 | 50 | #if COLORSPACE_LINEAR 51 | 52 | // Color space conversion between sRGB and linear space. 53 | // http://chilliant.blogspot.com/2012/08/srgb-approximations-for-hlsl.html 54 | 55 | float3 srgb_to_linear(float3 c) 56 | { 57 | return c * (c * (c * 0.305306011 + 0.682171111) + 0.012522878); 58 | } 59 | 60 | float3 linear_to_srgb(float3 c) 61 | { 62 | return max(1.055 * pow(c, 0.416666667) - 0.055, 0.0); 63 | } 64 | 65 | #endif 66 | 67 | #if BALANCING_ON 68 | 69 | // Color space conversion between linear RGB and LMS 70 | // based on the CIECAM02 model (CAT02). 71 | // http://en.wikipedia.org/wiki/LMS_color_space#CAT02 72 | 73 | float3 lrgb_to_lms(float3 c) 74 | { 75 | float3x3 m = { 76 | 3.90405e-1f, 5.49941e-1f, 8.92632e-3f, 77 | 7.08416e-2f, 9.63172e-1f, 1.35775e-3f, 78 | 2.31082e-2f, 1.28021e-1f, 9.36245e-1f 79 | }; 80 | return mul(m, c); 81 | } 82 | 83 | float3 lms_to_lrgb(float3 c) 84 | { 85 | float3x3 m = { 86 | 2.85847e+0f, -1.62879e+0f, -2.48910e-2f, 87 | -2.10182e-1f, 1.15820e+0f, 3.24281e-4f, 88 | -4.18120e-2f, -1.18169e-1f, 1.06867e+0f 89 | }; 90 | return mul(m, c); 91 | } 92 | 93 | // Color balance function. 94 | // - The gamma compression/expansion equation used in this function 95 | // differs from the standard sRGB-Linear conversion. 96 | 97 | float3 apply_balance(float3 c) 98 | { 99 | #if !COLORSPACE_LINEAR 100 | // Do the gamma expansion before applying the color balance. 101 | c = pow(c, 2.2); 102 | #endif 103 | 104 | // Apply the color balance in the LMS color space. 105 | c = lms_to_lrgb(lrgb_to_lms(c) * _Balance); 106 | 107 | // It may return a minus value, which should be cropped out. 108 | c = max(c, 0.0); 109 | 110 | #if !COLORSPACE_LINEAR 111 | // Gamma compression. 112 | c = pow(c, 1.0 / 2.2); 113 | #endif 114 | 115 | return c; 116 | } 117 | 118 | #endif 119 | 120 | #if TONEMAPPING_ON 121 | 122 | // John Hable's filmic tone mapping operator. 123 | // http://filmicgames.com/archives/6 124 | 125 | float3 hable_op(float3 c) 126 | { 127 | float A = 0.15; 128 | float B = 0.50; 129 | float C = 0.10; 130 | float D = 0.20; 131 | float E = 0.02; 132 | float F = 0.30; 133 | return ((c * (c * A + B * C) + D * E) / (c * (c * A + B) + D * F)) - E / F; 134 | } 135 | 136 | float3 tone_mapping(float3 c) 137 | { 138 | c *= _Exposure * 4; 139 | c = hable_op(c) / hable_op(11.2); 140 | return pow(c, 1 / 2.2); 141 | } 142 | 143 | #endif 144 | 145 | // Color saturation. 146 | 147 | float luma(float3 c) 148 | { 149 | return 0.212 * c.r + 0.701 * c.g + 0.087 * c.b; 150 | } 151 | 152 | float3 apply_saturation(float3 c) 153 | { 154 | return lerp((float3)luma(c), c, _Saturation); 155 | } 156 | 157 | // RGB curves. 158 | 159 | float3 apply_curves(float3 c) 160 | { 161 | float4 r = tex2D(_Curves, float2(c.r, 0)); 162 | float4 g = tex2D(_Curves, float2(c.g, 0)); 163 | float4 b = tex2D(_Curves, float2(c.b, 0)); 164 | return float3(r.r * r.a, g.g * g.a, b.b * b.a); 165 | } 166 | 167 | #if DITHER_ORDERED 168 | 169 | // Interleaved gradient function from CoD AW. 170 | // http://www.iryoku.com/next-generation-post-processing-in-call-of-duty-advanced-warfare 171 | 172 | float interleaved_gradient(float2 uv) 173 | { 174 | float3 magic = float3(0.06711056, 0.00583715, 52.9829189); 175 | return frac(magic.z * frac(dot(uv, magic.xy))); 176 | } 177 | 178 | float3 dither(float2 uv) 179 | { 180 | return (float3)(interleaved_gradient(uv / _MainTex_TexelSize) / 255); 181 | } 182 | 183 | #endif 184 | 185 | #if DITHER_TRIANGULAR 186 | 187 | // Triangular PDF. 188 | 189 | float nrand(float2 uv) 190 | { 191 | return frac(sin(dot(uv, float2(12.9898, 78.233))) * 43758.5453); 192 | } 193 | 194 | float3 dither(float2 uv) 195 | { 196 | float r = nrand(uv) + nrand(uv + (float2)1.1) - 0.5; 197 | return (float3)(r / 255); 198 | } 199 | 200 | #endif 201 | 202 | float4 frag(v2f_img i) : SV_Target 203 | { 204 | float4 source = tex2D(_MainTex, i.uv); 205 | float3 rgb = source.rgb; 206 | 207 | #if BALANCING_ON 208 | rgb = apply_balance(rgb); 209 | #endif 210 | 211 | #if COLORSPACE_LINEAR 212 | #if TONEMAPPING_ON 213 | // Apply the tone mapping. 214 | rgb = tone_mapping(rgb); 215 | #else 216 | // Convert the color into the sRGB color space. 217 | rgb = linear_to_srgb(rgb); 218 | #endif 219 | #endif 220 | 221 | // Color saturation. 222 | rgb = apply_saturation(rgb); 223 | 224 | // RGB curves. 225 | rgb = apply_curves(rgb); 226 | 227 | #if !DITHER_OFF 228 | rgb += dither(i.uv); 229 | #endif 230 | 231 | #if COLORSPACE_LINEAR 232 | // Take the color back into the linear color space. 233 | rgb = srgb_to_linear(rgb); 234 | #endif 235 | 236 | return float4(rgb, source.a); 237 | } 238 | 239 | ENDCG 240 | 241 | Subshader 242 | { 243 | Pass 244 | { 245 | ZTest Always Cull Off ZWrite Off 246 | Fog { Mode off } 247 | CGPROGRAM 248 | #pragma target 3.0 249 | #pragma glsl 250 | #pragma vertex vert_img 251 | #pragma fragment frag 252 | ENDCG 253 | } 254 | } 255 | } 256 | -------------------------------------------------------------------------------- /Assets/ColorSuite/Shader/ColorSuite.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dc9775b65c52747e69fc4c854c00d696 3 | ShaderImporter: 4 | defaultTextures: [] 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/DeferredAO.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9228dd6c5f1bc426abef4bf88e9ce584 3 | folderAsset: yes 4 | timeCreated: 1435398751 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/DeferredAO/DeferredAO.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Deferred AO - SSAO image effect for deferred shading 3 | // 4 | // Copyright (C) 2015 Keijiro Takahashi 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy of 7 | // this software and associated documentation files (the "Software"), to deal in 8 | // the Software without restriction, including without limitation the rights to 9 | // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 10 | // the Software, and to permit persons to whom the Software is furnished to do so, 11 | // subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in all 14 | // copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 18 | // FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 19 | // COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 20 | // IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 21 | // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 22 | // 23 | using UnityEngine; 24 | 25 | [ExecuteInEditMode] 26 | [RequireComponent(typeof(Camera))] 27 | [AddComponentMenu("Image Effects/Rendering/Deferred AO")] 28 | public class DeferredAO : MonoBehaviour 29 | { 30 | #region Public Properties 31 | 32 | // Effect intensity 33 | 34 | [SerializeField] 35 | float _intensity = 1; 36 | 37 | public float intensity { 38 | get { return _intensity; } 39 | set { _intensity = value; } 40 | } 41 | 42 | // Sample radius 43 | 44 | [SerializeField] 45 | float _sampleRadius = 1; 46 | 47 | public float sampleRadius { 48 | get { return _sampleRadius; } 49 | set { _sampleRadius = value; } 50 | } 51 | 52 | // Range check (rejects distant samples) 53 | 54 | [SerializeField] 55 | bool _rangeCheck = true; 56 | 57 | public bool rangeCheck { 58 | get { return _rangeCheck; } 59 | set { _rangeCheck = value; } 60 | } 61 | 62 | // Fall-off distance 63 | 64 | [SerializeField] 65 | float _fallOffDistance = 100; 66 | 67 | public float fallOffDistance { 68 | get { return _fallOffDistance; } 69 | set { _fallOffDistance = value; } 70 | } 71 | 72 | // Sample count 73 | 74 | public enum SampleCount { Low, Medium, High, Overkill } 75 | 76 | [SerializeField] 77 | SampleCount _sampleCount = SampleCount.Medium; 78 | 79 | public SampleCount sampleCount { 80 | get { return _sampleCount; } 81 | set { _sampleCount = value; } 82 | } 83 | 84 | #endregion 85 | 86 | #region Private Resources 87 | 88 | [SerializeField] 89 | Shader _shader; 90 | 91 | Material _material; 92 | 93 | bool CheckDeferredShading() 94 | { 95 | var path = GetComponent().actualRenderingPath; 96 | return path == RenderingPath.DeferredShading; 97 | } 98 | 99 | #endregion 100 | 101 | #region MonoBehaviour Functions 102 | 103 | [ImageEffectOpaque] 104 | void OnRenderImage(RenderTexture source, RenderTexture destination) 105 | { 106 | if (!CheckDeferredShading()) { 107 | Graphics.Blit(source, destination); 108 | return; 109 | } 110 | 111 | if (_material == null) { 112 | _material = new Material(_shader); 113 | _material.hideFlags = HideFlags.DontSave; 114 | } 115 | 116 | _material.SetFloat("_Radius", _sampleRadius); 117 | _material.SetFloat("_Intensity", _intensity); 118 | _material.SetFloat("_FallOff", _fallOffDistance); 119 | 120 | _material.shaderKeywords = null; 121 | 122 | if (_rangeCheck) 123 | _material.EnableKeyword("_RANGE_CHECK"); 124 | 125 | if (_sampleCount == SampleCount.Medium) 126 | _material.EnableKeyword("_SAMPLE_MEDIUM"); 127 | else if (_sampleCount == SampleCount.High) 128 | _material.EnableKeyword("_SAMPLE_HIGH"); 129 | else if (_sampleCount == SampleCount.Overkill) 130 | _material.EnableKeyword("_SAMPLE_OVERKILL"); 131 | 132 | Graphics.Blit(source, destination, _material, 0); 133 | } 134 | 135 | #endregion 136 | } 137 | -------------------------------------------------------------------------------- /Assets/DeferredAO/DeferredAO.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2f6a516d891854931acf7fb785c812ec 3 | timeCreated: 1435398836 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: 8 | - _shader: {fileID: 4800000, guid: c928e16c12e994a70928a9181450d18c, type: 3} 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Assets/DeferredAO/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 86aa7a07c1e4f4d8d93c38a39c302fd2 3 | folderAsset: yes 4 | timeCreated: 1435499990 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/DeferredAO/Editor/DeferredAOEditor.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Deferred AO - SSAO image effect for deferred shading 3 | // 4 | // Copyright (C) 2015 Keijiro Takahashi 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy of 7 | // this software and associated documentation files (the "Software"), to deal in 8 | // the Software without restriction, including without limitation the rights to 9 | // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 10 | // the Software, and to permit persons to whom the Software is furnished to do so, 11 | // subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in all 14 | // copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 18 | // FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 19 | // COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 20 | // IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 21 | // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 22 | // 23 | using UnityEngine; 24 | using UnityEditor; 25 | 26 | [CanEditMultipleObjects] 27 | [CustomEditor(typeof(DeferredAO))] 28 | public class DeferredAOEditor : Editor 29 | { 30 | SerializedProperty _intensity; 31 | SerializedProperty _sampleRadius; 32 | SerializedProperty _rangeCheck; 33 | SerializedProperty _fallOffDistance; 34 | SerializedProperty _sampleCount; 35 | 36 | void OnEnable() 37 | { 38 | _intensity = serializedObject.FindProperty("_intensity"); 39 | _sampleRadius = serializedObject.FindProperty("_sampleRadius"); 40 | _rangeCheck = serializedObject.FindProperty("_rangeCheck"); 41 | _fallOffDistance = serializedObject.FindProperty("_fallOffDistance"); 42 | _sampleCount = serializedObject.FindProperty("_sampleCount"); 43 | } 44 | 45 | bool CheckDisabled() 46 | { 47 | var cam = ((DeferredAO)target).GetComponent(); 48 | return cam.actualRenderingPath != RenderingPath.DeferredShading; 49 | } 50 | 51 | public override void OnInspectorGUI() 52 | { 53 | serializedObject.Update(); 54 | 55 | if (CheckDisabled()) 56 | { 57 | var text = "To enable the effect, change Rendering Path to Deferred."; 58 | EditorGUILayout.HelpBox(text, MessageType.Warning); 59 | } 60 | else 61 | { 62 | EditorGUILayout.PropertyField(_intensity); 63 | EditorGUILayout.PropertyField(_sampleRadius); 64 | EditorGUILayout.PropertyField(_rangeCheck); 65 | EditorGUILayout.PropertyField(_fallOffDistance); 66 | EditorGUILayout.PropertyField(_sampleCount); 67 | } 68 | 69 | serializedObject.ApplyModifiedProperties(); 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /Assets/DeferredAO/Editor/DeferredAOEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bc11bf4e6f30c46d98811ebcbab0bf98 3 | timeCreated: 1435500000 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/DeferredAO/Shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6f49a98fd01d54b5893810f5bd1bcdd3 3 | folderAsset: yes 4 | timeCreated: 1435499972 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/DeferredAO/Shader/DeferredAO.shader: -------------------------------------------------------------------------------- 1 | // 2 | // Deferred AO - SSAO image effect for deferred shading 3 | // 4 | // Copyright (C) 2015 Keijiro Takahashi 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy of 7 | // this software and associated documentation files (the "Software"), to deal in 8 | // the Software without restriction, including without limitation the rights to 9 | // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 10 | // the Software, and to permit persons to whom the Software is furnished to do so, 11 | // subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in all 14 | // copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 18 | // FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 19 | // COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 20 | // IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 21 | // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 22 | // 23 | Shader "Hidden/DeferredAO" 24 | { 25 | Properties 26 | { 27 | _MainTex("-", 2D) = "" {} 28 | } 29 | CGINCLUDE 30 | 31 | #include "UnityCG.cginc" 32 | 33 | #pragma multi_compile _ _RANGE_CHECK 34 | #pragma multi_compile _SAMPLE_LOW _SAMPLE_MEDIUM _SAMPLE_HIGH _SAMPLE_OVERKILL 35 | 36 | sampler2D _MainTex; 37 | float2 _MainTex_TexelSize; 38 | 39 | sampler2D_float _CameraDepthTexture; 40 | sampler2D _CameraGBufferTexture2; 41 | float4x4 _WorldToCamera; 42 | 43 | float _Intensity; 44 | float _Radius; 45 | float _FallOff; 46 | 47 | #if _SAMPLE_LOW 48 | static const int SAMPLE_COUNT = 8; 49 | #elif _SAMPLE_MEDIUM 50 | static const int SAMPLE_COUNT = 16; 51 | #elif _SAMPLE_HIGH 52 | static const int SAMPLE_COUNT = 24; 53 | #else 54 | static const int SAMPLE_COUNT = 80; 55 | #endif 56 | 57 | float nrand(float2 uv, float dx, float dy) 58 | { 59 | uv += float2(dx, dy + _Time.x); 60 | return frac(sin(dot(uv, float2(12.9898, 78.233))) * 43758.5453); 61 | } 62 | 63 | float3 spherical_kernel(float2 uv, float index) 64 | { 65 | // Uniformaly distributed points 66 | // http://mathworld.wolfram.com/SpherePointPicking.html 67 | float u = nrand(uv, 0, index) * 2 - 1; 68 | float theta = nrand(uv, 1, index) * UNITY_PI * 2; 69 | float u2 = sqrt(1 - u * u); 70 | float3 v = float3(u2 * cos(theta), u2 * sin(theta), u); 71 | // Adjustment for distance distribution. 72 | float l = index / SAMPLE_COUNT; 73 | return v * lerp(0.1, 1.0, l * l); 74 | } 75 | 76 | half4 frag_ao(v2f_img i) : SV_Target 77 | { 78 | half4 src = tex2D(_MainTex, i.uv); 79 | 80 | // Sample a linear depth on the depth buffer. 81 | float depth_o = SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, i.uv); 82 | depth_o = LinearEyeDepth(depth_o); 83 | 84 | // This early-out flow control is not allowed in HLSL. 85 | // if (depth_o > _FallOff) return src; 86 | 87 | // Sample a view-space normal vector on the g-buffer. 88 | float3 norm_o = tex2D(_CameraGBufferTexture2, i.uv).xyz * 2 - 1; 89 | norm_o = mul((float3x3)_WorldToCamera, norm_o); 90 | 91 | // Reconstruct the view-space position. 92 | float2 p11_22 = float2(unity_CameraProjection._11, unity_CameraProjection._22); 93 | float3 pos_o = float3((i.uv * 2 - 1) / p11_22, 1) * depth_o; 94 | 95 | float3x3 proj = (float3x3)unity_CameraProjection; 96 | 97 | float occ = 0.0; 98 | for (int s = 0; s < SAMPLE_COUNT; s++) 99 | { 100 | float3 delta = spherical_kernel(i.uv, s); 101 | 102 | // Wants a sample in normal oriented hemisphere. 103 | delta *= (dot(norm_o, delta) >= 0) * 2 - 1; 104 | 105 | // Sampling point. 106 | float3 pos_s = pos_o + delta * _Radius; 107 | 108 | // Re-project the sampling point. 109 | float3 pos_sc = mul(proj, pos_s); 110 | float2 uv_s = (pos_sc.xy / pos_s.z + 1) * 0.5; 111 | 112 | // Sample a linear depth at the sampling point. 113 | float depth_s = LinearEyeDepth(SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, uv_s)); 114 | 115 | // Occlusion test. 116 | float dist = pos_s.z - depth_s; 117 | #if _RANGE_CHECK 118 | occ += (dist > 0.01 * _Radius) * (dist < _Radius); 119 | #else 120 | occ += (dist > 0.01 * _Radius); 121 | #endif 122 | } 123 | 124 | float falloff = 1.0 - depth_o / _FallOff; 125 | occ = saturate(occ * _Intensity * falloff / SAMPLE_COUNT); 126 | 127 | return half4(lerp(src.rgb, (half3)0.0, occ), src.a); 128 | } 129 | 130 | ENDCG 131 | SubShader 132 | { 133 | Pass 134 | { 135 | ZTest Always Cull Off ZWrite Off 136 | CGPROGRAM 137 | #pragma vertex vert_img 138 | #pragma fragment frag_ao 139 | #pragma target 3.0 140 | ENDCG 141 | } 142 | } 143 | } 144 | -------------------------------------------------------------------------------- /Assets/DeferredAO/Shader/DeferredAO.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c928e16c12e994a70928a9181450d18c 3 | timeCreated: 1435398831 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/InfiniteScan.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c442d1c70f0ba42d0b93e828fd16c72e 3 | folderAsset: yes 4 | timeCreated: 1442706095 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/InfiniteScan/Head.fbx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keijiro/InfiniteScan/150b6c46ebb6a011b93ed2e0fee9b612df78281b/Assets/InfiniteScan/Head.fbx -------------------------------------------------------------------------------- /Assets/InfiniteScan/Head.fbx.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c341a9ce657de4706b49faa82c5f18a8 3 | timeCreated: 1442663357 4 | licenseType: Pro 5 | ModelImporter: 6 | serializedVersion: 18 7 | fileIDToRecycleName: 8 | 100000: //RootNode 9 | 400000: //RootNode 10 | 2300000: //RootNode 11 | 3300000: //RootNode 12 | 4300000: head 13 | materials: 14 | importMaterials: 0 15 | materialName: 0 16 | materialSearch: 1 17 | animations: 18 | legacyGenerateAnimations: 4 19 | bakeSimulation: 0 20 | optimizeGameObjects: 0 21 | motionNodeName: 22 | animationImportErrors: 23 | animationImportWarnings: 24 | animationRetargetingWarnings: 25 | animationDoRetargetingWarnings: 0 26 | animationCompression: 1 27 | animationRotationError: .5 28 | animationPositionError: .5 29 | animationScaleError: .5 30 | animationWrapMode: 0 31 | extraExposedTransformPaths: [] 32 | clipAnimations: [] 33 | isReadable: 1 34 | meshes: 35 | lODScreenPercentages: [] 36 | globalScale: 100 37 | meshCompression: 0 38 | addColliders: 0 39 | importBlendShapes: 0 40 | swapUVChannels: 0 41 | generateSecondaryUV: 0 42 | useFileUnits: 1 43 | optimizeMeshForGPU: 1 44 | keepQuads: 0 45 | weldVertices: 1 46 | secondaryUVAngleDistortion: 8 47 | secondaryUVAreaDistortion: 15.000001 48 | secondaryUVHardAngle: 88 49 | secondaryUVPackMargin: 4 50 | useFileScale: 1 51 | tangentSpace: 52 | normalSmoothAngle: 60 53 | splitTangentsAcrossUV: 1 54 | normalImportMode: 0 55 | tangentImportMode: 1 56 | importAnimation: 0 57 | copyAvatar: 0 58 | humanDescription: 59 | human: [] 60 | skeleton: [] 61 | armTwist: .5 62 | foreArmTwist: .5 63 | upperLegTwist: .5 64 | legTwist: .5 65 | armStretch: .0500000007 66 | legStretch: .0500000007 67 | feetSpacing: 0 68 | rootMotionBoneName: 69 | hasTranslationDoF: 0 70 | lastHumanDescriptionAvatarSource: {instanceID: 0} 71 | animationType: 0 72 | humanoidOversampling: 1 73 | additionalBone: 0 74 | userData: 75 | assetBundleName: 76 | assetBundleVariant: 77 | -------------------------------------------------------------------------------- /Assets/InfiniteScan/License.txt: -------------------------------------------------------------------------------- 1 | Infinite Scan Head Model License 2 | ================================ 3 | 4 | All the model and image files in this directory are provided under the Creative 5 | Commons Attribution 3.0 Unported (CC BY 3.0) license. 6 | 7 | https://creativecommons.org/licenses/by/3.0/ 8 | 9 | The original scan data was created by Lee Perry-Smith. Morgan McGuire and Guedis 10 | Cardenas converted it to convenient formats. Keijiro Takahashi did some small 11 | tweaks to the model to properly import it to Unity. 12 | 13 | Please read the excerpt below from the license of the original distribution by 14 | McGuire and Cardenas. 15 | 16 | --- 17 | 18 | Creative Commons Licence 19 | Infinite, 3D Head Scan by Lee Perry-Smith is licensed under a Creative Commons Attribution 3.0 Unported License. 20 | Based on a work at www.triplegangers.com. 21 | Permissions beyond the scope of this license may be available at http://www.ir-ltd.net/ 22 | Please remember: Do what you want with the files, but always mention where you got them from... 23 | ---------------------- 24 | This distribution was created by Morgan McGuire and Guedis Cardenas 25 | http://graphics.cs.williams.edu/data/ 26 | 27 | 28 | Downloaded from: 29 | http://www.ir-ltd.net/infinite-3d-head-scan-released 30 | Then decompressed the Object and displacement maps .rar files. We renamed Map-COL.jpg to lambertian.jpg 31 | We converted the displacement file from .tif to 16-bit .png. and saved it as bump.png 32 | Then made a lowRes version of the bump map by rescaling it with sharpening in Photoshop using 33 | Autolevels to fill the dynamic range, converting 8-bit, and filling the seams with content aware fill. 34 | We saved this as bump-lowRes.png. 35 | 36 | Edited mtl file: 37 | Set up texture maps and adjusted the default glossy highlight. 38 | We added: 39 | map_bump -bm 0.001 bump-lowRes.png 40 | 41 | map_bump -bm 0.02 bump.png (high res) 42 | ks .0001 .0001 .0001 43 | Ns 5 44 | -------------------------------------------------------------------------------- /Assets/InfiniteScan/License.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5e2e62736a5ec4c87b6875905dcd2d35 3 | timeCreated: 1442707805 4 | licenseType: Pro 5 | TextScriptImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/InfiniteScan/Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a2aa27bed32f340cf97a95e91edcc0ae 3 | folderAsset: yes 4 | timeCreated: 1442663357 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/InfiniteScan/Materials/Head.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 6 6 | m_ObjectHideFlags: 0 7 | m_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: Head 10 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} 11 | m_ShaderKeywords: _NORMALMAP 12 | m_LightmapFlags: 5 13 | m_CustomRenderQueue: -1 14 | stringTagMap: {} 15 | m_SavedProperties: 16 | serializedVersion: 2 17 | m_TexEnvs: 18 | data: 19 | first: 20 | name: _MainTex 21 | second: 22 | m_Texture: {fileID: 2800000, guid: 476666b39b6b54ba7a40e3f6dace7048, type: 3} 23 | m_Scale: {x: 1, y: 1} 24 | m_Offset: {x: 0, y: 0} 25 | data: 26 | first: 27 | name: _BumpMap 28 | second: 29 | m_Texture: {fileID: 2800000, guid: f5eb892df23374acf8f7a8b934ca8acc, type: 3} 30 | m_Scale: {x: 1, y: 1} 31 | m_Offset: {x: 0, y: 0} 32 | data: 33 | first: 34 | name: _DetailNormalMap 35 | second: 36 | m_Texture: {fileID: 0} 37 | m_Scale: {x: 1, y: 1} 38 | m_Offset: {x: 0, y: 0} 39 | data: 40 | first: 41 | name: _ParallaxMap 42 | second: 43 | m_Texture: {fileID: 0} 44 | m_Scale: {x: 1, y: 1} 45 | m_Offset: {x: 0, y: 0} 46 | data: 47 | first: 48 | name: _OcclusionMap 49 | second: 50 | m_Texture: {fileID: 0} 51 | m_Scale: {x: 1, y: 1} 52 | m_Offset: {x: 0, y: 0} 53 | data: 54 | first: 55 | name: _EmissionMap 56 | second: 57 | m_Texture: {fileID: 0} 58 | m_Scale: {x: 1, y: 1} 59 | m_Offset: {x: 0, y: 0} 60 | data: 61 | first: 62 | name: _DetailMask 63 | second: 64 | m_Texture: {fileID: 0} 65 | m_Scale: {x: 1, y: 1} 66 | m_Offset: {x: 0, y: 0} 67 | data: 68 | first: 69 | name: _DetailAlbedoMap 70 | second: 71 | m_Texture: {fileID: 0} 72 | m_Scale: {x: 1, y: 1} 73 | m_Offset: {x: 0, y: 0} 74 | data: 75 | first: 76 | name: _MetallicGlossMap 77 | second: 78 | m_Texture: {fileID: 0} 79 | m_Scale: {x: 1, y: 1} 80 | m_Offset: {x: 0, y: 0} 81 | m_Floats: 82 | data: 83 | first: 84 | name: _SrcBlend 85 | second: 1 86 | data: 87 | first: 88 | name: _DstBlend 89 | second: 0 90 | data: 91 | first: 92 | name: _Cutoff 93 | second: .5 94 | data: 95 | first: 96 | name: _Parallax 97 | second: .0199999996 98 | data: 99 | first: 100 | name: _ZWrite 101 | second: 1 102 | data: 103 | first: 104 | name: _Glossiness 105 | second: .569999993 106 | data: 107 | first: 108 | name: _BumpScale 109 | second: 1 110 | data: 111 | first: 112 | name: _OcclusionStrength 113 | second: 1 114 | data: 115 | first: 116 | name: _DetailNormalMapScale 117 | second: 1 118 | data: 119 | first: 120 | name: _UVSec 121 | second: 0 122 | data: 123 | first: 124 | name: _Mode 125 | second: 0 126 | data: 127 | first: 128 | name: _Metallic 129 | second: 0 130 | m_Colors: 131 | data: 132 | first: 133 | name: _EmissionColor 134 | second: {r: 0, g: 0, b: 0, a: 1} 135 | data: 136 | first: 137 | name: _Color 138 | second: {r: .977941155, g: .977941155, b: .977941155, a: 1} 139 | -------------------------------------------------------------------------------- /Assets/InfiniteScan/Materials/Head.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a41fc718c609346ef84546eed1fed984 3 | timeCreated: 1442706370 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/InfiniteScan/Textures.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7531c82d7455942ecbeff043711e146e 3 | folderAsset: yes 4 | timeCreated: 1442706287 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/InfiniteScan/Textures/bump-lowRes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keijiro/InfiniteScan/150b6c46ebb6a011b93ed2e0fee9b612df78281b/Assets/InfiniteScan/Textures/bump-lowRes.png -------------------------------------------------------------------------------- /Assets/InfiniteScan/Textures/bump-lowRes.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f5eb892df23374acf8f7a8b934ca8acc 3 | timeCreated: 1442663342 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: 1 19 | externalNormalMap: 1 20 | heightScale: .0199999996 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: 2 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: .5, y: .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 | spritePackingTag: 54 | userData: 55 | assetBundleName: 56 | assetBundleVariant: 57 | -------------------------------------------------------------------------------- /Assets/InfiniteScan/Textures/lambertian.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keijiro/InfiniteScan/150b6c46ebb6a011b93ed2e0fee9b612df78281b/Assets/InfiniteScan/Textures/lambertian.jpg -------------------------------------------------------------------------------- /Assets/InfiniteScan/Textures/lambertian.jpg.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 476666b39b6b54ba7a40e3f6dace7048 3 | timeCreated: 1442663342 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: .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: 2 33 | aniso: 2 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: .5, y: .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 | spritePackingTag: 54 | userData: 55 | assetBundleName: 56 | assetBundleVariant: 57 | -------------------------------------------------------------------------------- /Assets/Kino.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 96d6f0c23b5b349a39907f19574573ef 3 | folderAsset: yes 4 | timeCreated: 1435811145 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Kino/Fringe.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 473406a9bb49846d4a86baa6b3bc6e45 3 | folderAsset: yes 4 | timeCreated: 1438092929 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Kino/Fringe/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 75aca1c5048c4f84fb8f74f680dba321 3 | folderAsset: yes 4 | timeCreated: 1438528237 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Kino/Fringe/Editor/FringeEditor.cs: -------------------------------------------------------------------------------- 1 | // 2 | // KinoFringe - Chromatic aberration effect 3 | // 4 | // Copyright (C) 2015 Keijiro Takahashi 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy of 7 | // this software and associated documentation files (the "Software"), to deal in 8 | // the Software without restriction, including without limitation the rights to 9 | // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 10 | // the Software, and to permit persons to whom the Software is furnished to do so, 11 | // subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in all 14 | // copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 18 | // FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 19 | // COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 20 | // IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 21 | // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 22 | // 23 | using UnityEngine; 24 | using UnityEditor; 25 | 26 | namespace Kino 27 | { 28 | [CanEditMultipleObjects, CustomEditor(typeof(Fringe))] 29 | public class FringeEditor : Editor 30 | { 31 | SerializedProperty _lateralShift; 32 | SerializedProperty _axialStrength; 33 | SerializedProperty _axialShift; 34 | SerializedProperty _axialQuality; 35 | 36 | static GUIContent _textShift = new GUIContent("Shift"); 37 | static GUIContent _textStrength = new GUIContent("Strength"); 38 | static GUIContent _textQuality = new GUIContent("Quality"); 39 | 40 | void OnEnable() 41 | { 42 | _lateralShift = serializedObject.FindProperty("_lateralShift"); 43 | _axialStrength = serializedObject.FindProperty("_axialStrength"); 44 | _axialShift = serializedObject.FindProperty("_axialShift"); 45 | _axialQuality = serializedObject.FindProperty("_axialQuality"); 46 | } 47 | 48 | public override void OnInspectorGUI() 49 | { 50 | serializedObject.Update(); 51 | 52 | EditorGUILayout.LabelField("Lateral CA", EditorStyles.boldLabel); 53 | EditorGUILayout.PropertyField(_lateralShift, _textShift); 54 | 55 | EditorGUILayout.LabelField("Axial CA (purple fringing)", EditorStyles.boldLabel); 56 | EditorGUILayout.PropertyField(_axialStrength, _textStrength); 57 | EditorGUILayout.PropertyField(_axialShift, _textShift); 58 | EditorGUILayout.PropertyField(_axialQuality, _textQuality); 59 | 60 | serializedObject.ApplyModifiedProperties(); 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /Assets/Kino/Fringe/Editor/FringeEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 671e39ebb83d76d4c947046211765e36 3 | timeCreated: 1438528250 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/Kino/Fringe/Fringe.cs: -------------------------------------------------------------------------------- 1 | // 2 | // KinoFringe - Chromatic aberration effect 3 | // 4 | // Copyright (C) 2015 Keijiro Takahashi 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy of 7 | // this software and associated documentation files (the "Software"), to deal in 8 | // the Software without restriction, including without limitation the rights to 9 | // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 10 | // the Software, and to permit persons to whom the Software is furnished to do so, 11 | // subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in all 14 | // copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 18 | // FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 19 | // COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 20 | // IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 21 | // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 22 | // 23 | using UnityEngine; 24 | 25 | namespace Kino 26 | { 27 | [ExecuteInEditMode] 28 | [RequireComponent(typeof(Camera))] 29 | [AddComponentMenu("Kino Image Effects/Fringe")] 30 | public class Fringe : MonoBehaviour 31 | { 32 | #region Public Properties 33 | 34 | // Shift amount for lateral CA 35 | [SerializeField, Range(0, 1)] 36 | float _lateralShift = 0.3f; 37 | 38 | public float lateralShift { 39 | get { return _lateralShift; } 40 | set { _lateralShift = value; } 41 | } 42 | 43 | // Axial CA strength 44 | [SerializeField, Range(0, 1)] 45 | float _axialStrength = 0.8f; 46 | 47 | public float axialStrength { 48 | get { return _axialStrength; } 49 | set { _axialStrength = value; } 50 | } 51 | 52 | // Shift amount for axial CA 53 | [SerializeField, Range(0, 1)] 54 | float _axialShift = 0.3f; 55 | 56 | public float axialShift { 57 | get { return _axialShift; } 58 | set { _axialShift = value; } 59 | } 60 | 61 | // Quality level for axial CA 62 | public enum QualityLevel { Low, High } 63 | 64 | [SerializeField] 65 | QualityLevel _axialQuality = QualityLevel.Low; 66 | 67 | public QualityLevel axialQuality { 68 | get { return _axialQuality; } 69 | set { _axialQuality = value; } 70 | } 71 | 72 | #endregion 73 | 74 | #region Private Properties 75 | 76 | [SerializeField] Shader _shader; 77 | 78 | Material _material; 79 | 80 | #endregion 81 | 82 | #region MonoBehaviour Functions 83 | 84 | void OnRenderImage(RenderTexture source, RenderTexture destination) 85 | { 86 | if (_material == null) 87 | { 88 | _material = new Material(_shader); 89 | _material.hideFlags = HideFlags.DontSave; 90 | } 91 | 92 | var cam = GetComponent(); 93 | var aspect = new Vector4(cam.aspect, 1.0f / cam.aspect, 1, 0); 94 | 95 | _material.SetVector("_CameraAspect", aspect); 96 | _material.SetFloat("_LateralShift", _lateralShift); 97 | _material.SetFloat("_AxialStrength", _axialStrength); 98 | _material.SetFloat("_AxialShift", _axialShift); 99 | 100 | if (_axialStrength == 0) 101 | { 102 | _material.DisableKeyword("AXIAL_SAMPLE_LOW"); 103 | _material.DisableKeyword("AXIAL_SAMPLE_HIGH"); 104 | } 105 | else if (_axialQuality == QualityLevel.Low) 106 | { 107 | _material.EnableKeyword("AXIAL_SAMPLE_LOW"); 108 | _material.DisableKeyword("AXIAL_SAMPLE_HIGH"); 109 | } 110 | else 111 | { 112 | _material.DisableKeyword("AXIAL_SAMPLE_LOW"); 113 | _material.EnableKeyword("AXIAL_SAMPLE_HIGH"); 114 | } 115 | 116 | Graphics.Blit(source, destination, _material, 0); 117 | } 118 | 119 | #endregion 120 | } 121 | } 122 | -------------------------------------------------------------------------------- /Assets/Kino/Fringe/Fringe.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9e11ef96a8174459fa3d231009ff28f8 3 | timeCreated: 1438093366 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: 8 | - _shader: {fileID: 4800000, guid: 4e3f6504698a346cb971f9ab5286fca9, type: 3} 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Assets/Kino/Fringe/Shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9e6a57babb8fa4b998eda0cab28b28b3 3 | folderAsset: yes 4 | timeCreated: 1438611720 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Kino/Fringe/Shader/Fringe.shader: -------------------------------------------------------------------------------- 1 | // 2 | // KinoFringe - Chromatic aberration effect 3 | // 4 | // Copyright (C) 2015 Keijiro Takahashi 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy of 7 | // this software and associated documentation files (the "Software"), to deal in 8 | // the Software without restriction, including without limitation the rights to 9 | // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 10 | // the Software, and to permit persons to whom the Software is furnished to do so, 11 | // subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in all 14 | // copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 18 | // FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 19 | // COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 20 | // IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 21 | // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 22 | // 23 | Shader "Hidden/Kino/Fringe" 24 | { 25 | Properties 26 | { 27 | _MainTex ("-", 2D) = "" {} 28 | } 29 | 30 | CGINCLUDE 31 | 32 | #pragma multi_compile _ AXIAL_SAMPLE_LOW AXIAL_SAMPLE_HIGH 33 | 34 | #include "UnityCG.cginc" 35 | 36 | sampler2D _MainTex; 37 | float4 _MainTex_TexelSize; 38 | 39 | float4 _CameraAspect; // (h/w, w/h, 1, 0) 40 | float _LateralShift; 41 | float _AxialStrength; 42 | float _AxialShift; 43 | 44 | // Poisson disk sample points 45 | #if AXIAL_SAMPLE_LOW 46 | static const uint SAMPLE_NUM = 8; 47 | static const float2 POISSON_SAMPLES[SAMPLE_NUM] = 48 | { 49 | float2( 0.373838022357f, 0.662882019975f ), 50 | float2( -0.335774814282f, -0.940070127794f ), 51 | float2( -0.9115721822f, 0.324130702404f ), 52 | float2( 0.837294074715f, -0.504677167232f ), 53 | float2( -0.0500874221246f, -0.0917990757772f ), 54 | float2( -0.358644570242f, 0.906381100284f ), 55 | float2( 0.961200130218f, 0.219135111748f ), 56 | float2( -0.896666615007f, -0.440304757692f ) 57 | }; 58 | #else 59 | static const uint SAMPLE_NUM = 16; 60 | static const float2 POISSON_SAMPLES[SAMPLE_NUM] = 61 | { 62 | float2( 0.0984258332809f, 0.918808284462f ), 63 | float2( 0.00259138629413f, -0.999838959623f ), 64 | float2( -0.987959729023f, -0.00429660140761f ), 65 | float2( 0.981234239267f, -0.140666219895f ), 66 | float2( -0.0212157973013f, -0.0443286928994f ), 67 | float2( -0.652058534734f, 0.695078086985f ), 68 | float2( -0.68090417832f, -0.681862769398f ), 69 | float2( 0.779643686501f, 0.603399060386f ), 70 | float2( 0.67941165083f, -0.731372789969f ), 71 | float2( 0.468821477499f, -0.251621416756f ), 72 | float2( 0.278991228738f, 0.39302189329f ), 73 | float2( -0.191188273806f, -0.527976638433f ), 74 | float2( -0.464789669525f, 0.216311272754f ), 75 | float2( -0.559833960421f, -0.256176089172f ), 76 | float2( 0.65988403582f, 0.170056284903f ), 77 | float2( -0.170289189543f, 0.551561042407f ) 78 | }; 79 | #endif 80 | 81 | // Poisson filter 82 | half3 poisson_filter(float2 uv) 83 | { 84 | half3 acc = 0; 85 | for (uint i = 0; i < SAMPLE_NUM; i++) 86 | { 87 | float2 disp = POISSON_SAMPLES[i]; 88 | disp *= _CameraAspect.yz * _AxialShift * 0.02; 89 | acc += tex2D(_MainTex, uv + disp).rgb; 90 | } 91 | return acc / SAMPLE_NUM; 92 | } 93 | 94 | // Rec.709 Luminance 95 | half luminance(half3 rgb) 96 | { 97 | return dot(rgb, half3(0.2126, 0.7152, 0.0722)); 98 | } 99 | 100 | // CA filter 101 | half4 frag(v2f_img i) : SV_Target 102 | { 103 | float2 spc = (i.uv - 0.5) * _CameraAspect.xz; 104 | float r2 = dot(spc, spc); 105 | 106 | float f_r = 1.0 + r2 * _LateralShift * -0.02; 107 | float f_b = 1.0 + r2 * _LateralShift * +0.02; 108 | 109 | half4 src = tex2D(_MainTex, i.uv); 110 | src.r = tex2D(_MainTex, (i.uv - 0.5) * f_r + 0.5).r; 111 | src.b = tex2D(_MainTex, (i.uv - 0.5) * f_b + 0.5).b; 112 | 113 | #if AXIAL_SAMPLE_LOW || AXIAL_SAMPLE_HIGH 114 | half3 blur = poisson_filter(i.uv); 115 | half ldiff = luminance(blur) - luminance(src.rgb); 116 | src.rb = max(src.rb, blur.rb * ldiff * _AxialStrength); 117 | #endif 118 | 119 | return src; 120 | } 121 | 122 | ENDCG 123 | 124 | SubShader 125 | { 126 | Pass 127 | { 128 | ZTest Always Cull Off ZWrite Off 129 | CGPROGRAM 130 | #pragma vertex vert_img 131 | #pragma fragment frag 132 | ENDCG 133 | } 134 | } 135 | } 136 | -------------------------------------------------------------------------------- /Assets/Kino/Fringe/Shader/Fringe.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4e3f6504698a346cb971f9ab5286fca9 3 | timeCreated: 1438093351 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Kino/Vignette.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1d43a8ab8eb36c346bdf5c760580b019 3 | folderAsset: yes 4 | timeCreated: 1439534051 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Kino/Vignette/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0ad044d970086bc48b37420227aaa504 3 | folderAsset: yes 4 | timeCreated: 1439538202 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Kino/Vignette/Editor/VignetteEditor.cs: -------------------------------------------------------------------------------- 1 | // 2 | // KinoVignette - Natural vignetting effect 3 | // 4 | // Copyright (C) 2015 Keijiro Takahashi 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy of 7 | // this software and associated documentation files (the "Software"), to deal in 8 | // the Software without restriction, including without limitation the rights to 9 | // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 10 | // the Software, and to permit persons to whom the Software is furnished to do so, 11 | // subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in all 14 | // copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 18 | // FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 19 | // COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 20 | // IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 21 | // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 22 | // 23 | using UnityEngine; 24 | using UnityEditor; 25 | 26 | namespace Kino 27 | { 28 | [CanEditMultipleObjects] 29 | [CustomEditor(typeof(Vignette))] 30 | public class VignetteEditor : Editor 31 | { 32 | SerializedProperty _falloff; 33 | 34 | void OnEnable() 35 | { 36 | _falloff = serializedObject.FindProperty("_falloff"); 37 | } 38 | 39 | public override void OnInspectorGUI() 40 | { 41 | serializedObject.Update(); 42 | 43 | EditorGUILayout.PropertyField(_falloff); 44 | 45 | serializedObject.ApplyModifiedProperties(); 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /Assets/Kino/Vignette/Editor/VignetteEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 01095d10408c28d429dcdb7841e375a5 3 | timeCreated: 1439538208 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/Kino/Vignette/Shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f8e0d748f5d5fd8479f21c06cddbc912 3 | folderAsset: yes 4 | timeCreated: 1439534088 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Kino/Vignette/Shader/Vignette.shader: -------------------------------------------------------------------------------- 1 | // 2 | // KinoVignette - Natural vignetting effect 3 | // 4 | // Copyright (C) 2015 Keijiro Takahashi 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy of 7 | // this software and associated documentation files (the "Software"), to deal in 8 | // the Software without restriction, including without limitation the rights to 9 | // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 10 | // the Software, and to permit persons to whom the Software is furnished to do so, 11 | // subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in all 14 | // copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 18 | // FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 19 | // COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 20 | // IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 21 | // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 22 | // 23 | Shader "Hidden/Kino/Vignette" 24 | { 25 | Properties 26 | { 27 | _MainTex ("-", 2D) = "" {} 28 | } 29 | 30 | CGINCLUDE 31 | 32 | #include "UnityCG.cginc" 33 | 34 | sampler2D _MainTex; 35 | float2 _Aspect; 36 | float _Falloff; 37 | 38 | half4 frag(v2f_img i) : SV_Target 39 | { 40 | float2 coord = (i.uv - 0.5) * _Aspect * 2; 41 | float rf = sqrt(dot(coord, coord)) * _Falloff; 42 | float rf2_1 = rf * rf + 1.0; 43 | float e = 1.0 / (rf2_1 * rf2_1); 44 | 45 | half4 src = tex2D(_MainTex, i.uv); 46 | return half4(src.rgb * e, src.a); 47 | } 48 | 49 | ENDCG 50 | 51 | SubShader 52 | { 53 | Pass 54 | { 55 | ZTest Always Cull Off ZWrite Off 56 | CGPROGRAM 57 | #pragma vertex vert_img 58 | #pragma fragment frag 59 | ENDCG 60 | } 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /Assets/Kino/Vignette/Shader/Vignette.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 89a223cbeee1935419811f8736c0a9b3 3 | timeCreated: 1439534076 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Kino/Vignette/Vignette.cs: -------------------------------------------------------------------------------- 1 | // 2 | // KinoVignette - Natural vignetting effect 3 | // 4 | // Copyright (C) 2015 Keijiro Takahashi 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy of 7 | // this software and associated documentation files (the "Software"), to deal in 8 | // the Software without restriction, including without limitation the rights to 9 | // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 10 | // the Software, and to permit persons to whom the Software is furnished to do so, 11 | // subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in all 14 | // copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 18 | // FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 19 | // COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 20 | // IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 21 | // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 22 | // 23 | using UnityEngine; 24 | 25 | namespace Kino 26 | { 27 | [ExecuteInEditMode] 28 | [RequireComponent(typeof(Camera))] 29 | [AddComponentMenu("Kino Image Effects/Vignette")] 30 | public class Vignette : MonoBehaviour 31 | { 32 | #region Public Properties 33 | 34 | // Natural vignetting falloff 35 | [SerializeField, Range(0.0f, 1.0f)] 36 | float _falloff = 0.5f; 37 | 38 | public float intensity { 39 | get { return _falloff; } 40 | set { _falloff = value; } 41 | } 42 | 43 | #endregion 44 | 45 | #region Private Properties 46 | 47 | [SerializeField] Shader _shader; 48 | Material _material; 49 | 50 | #endregion 51 | 52 | #region MonoBehaviour Functions 53 | 54 | void OnRenderImage(RenderTexture source, RenderTexture destination) 55 | { 56 | if (_material == null) 57 | { 58 | _material = new Material(_shader); 59 | _material.hideFlags = HideFlags.DontSave; 60 | } 61 | 62 | var cam = GetComponent(); 63 | _material.SetVector("_Aspect", new Vector2(cam.aspect, 1)); 64 | _material.SetFloat("_Falloff", _falloff); 65 | 66 | Graphics.Blit(source, destination, _material, 0); 67 | } 68 | 69 | #endregion 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /Assets/Kino/Vignette/Vignette.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6fc18a55c333d51489e5ee49b3cbff50 3 | timeCreated: 1439534795 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: 8 | - _shader: {fileID: 4800000, guid: 89a223cbeee1935419811f8736c0a9b3, type: 3} 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Assets/Skybox.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 6 6 | m_ObjectHideFlags: 0 7 | m_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: Skybox 10 | m_Shader: {fileID: 103, guid: 0000000000000000f000000000000000, type: 0} 11 | m_ShaderKeywords: 12 | m_LightmapFlags: 5 13 | m_CustomRenderQueue: 1000 14 | stringTagMap: {} 15 | m_SavedProperties: 16 | serializedVersion: 2 17 | m_TexEnvs: 18 | data: 19 | first: 20 | name: _MainTex 21 | second: 22 | m_Texture: {fileID: 0} 23 | m_Scale: {x: 1, y: 1} 24 | m_Offset: {x: 0, y: 0} 25 | data: 26 | first: 27 | name: _BumpMap 28 | second: 29 | m_Texture: {fileID: 0} 30 | m_Scale: {x: 1, y: 1} 31 | m_Offset: {x: 0, y: 0} 32 | data: 33 | first: 34 | name: _DetailNormalMap 35 | second: 36 | m_Texture: {fileID: 0} 37 | m_Scale: {x: 1, y: 1} 38 | m_Offset: {x: 0, y: 0} 39 | data: 40 | first: 41 | name: _Tex 42 | second: 43 | m_Texture: {fileID: 8900000, guid: 43dee537ee7794674be346abc1dac693, type: 3} 44 | m_Scale: {x: 1, y: 1} 45 | m_Offset: {x: 0, y: 0} 46 | data: 47 | first: 48 | name: _ParallaxMap 49 | second: 50 | m_Texture: {fileID: 0} 51 | m_Scale: {x: 1, y: 1} 52 | m_Offset: {x: 0, y: 0} 53 | data: 54 | first: 55 | name: _OcclusionMap 56 | second: 57 | m_Texture: {fileID: 0} 58 | m_Scale: {x: 1, y: 1} 59 | m_Offset: {x: 0, y: 0} 60 | data: 61 | first: 62 | name: _EmissionMap 63 | second: 64 | m_Texture: {fileID: 0} 65 | m_Scale: {x: 1, y: 1} 66 | m_Offset: {x: 0, y: 0} 67 | data: 68 | first: 69 | name: _DetailMask 70 | second: 71 | m_Texture: {fileID: 0} 72 | m_Scale: {x: 1, y: 1} 73 | m_Offset: {x: 0, y: 0} 74 | data: 75 | first: 76 | name: _DetailAlbedoMap 77 | second: 78 | m_Texture: {fileID: 0} 79 | m_Scale: {x: 1, y: 1} 80 | m_Offset: {x: 0, y: 0} 81 | data: 82 | first: 83 | name: _MetallicGlossMap 84 | second: 85 | m_Texture: {fileID: 0} 86 | m_Scale: {x: 1, y: 1} 87 | m_Offset: {x: 0, y: 0} 88 | m_Floats: 89 | data: 90 | first: 91 | name: _SrcBlend 92 | second: 1 93 | data: 94 | first: 95 | name: _DstBlend 96 | second: 0 97 | data: 98 | first: 99 | name: _Cutoff 100 | second: .5 101 | data: 102 | first: 103 | name: _Exposure 104 | second: 1 105 | data: 106 | first: 107 | name: _Parallax 108 | second: .0199999996 109 | data: 110 | first: 111 | name: _ZWrite 112 | second: 1 113 | data: 114 | first: 115 | name: _Glossiness 116 | second: .5 117 | data: 118 | first: 119 | name: _BumpScale 120 | second: 1 121 | data: 122 | first: 123 | name: _OcclusionStrength 124 | second: 1 125 | data: 126 | first: 127 | name: _DetailNormalMapScale 128 | second: 1 129 | data: 130 | first: 131 | name: _UVSec 132 | second: 0 133 | data: 134 | first: 135 | name: _Mode 136 | second: 0 137 | data: 138 | first: 139 | name: _Metallic 140 | second: 0 141 | data: 142 | first: 143 | name: _Rotation 144 | second: 237 145 | m_Colors: 146 | data: 147 | first: 148 | name: _EmissionColor 149 | second: {r: 0, g: 0, b: 0, a: 1} 150 | data: 151 | first: 152 | name: _Color 153 | second: {r: 1, g: 1, b: 1, a: 1} 154 | data: 155 | first: 156 | name: _Tint 157 | second: {r: .5, g: .5, b: .5, a: .5} 158 | -------------------------------------------------------------------------------- /Assets/Skybox.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 40085597fe2824f6e951561833c5f79e 3 | timeCreated: 1442665780 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Test.unity: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!29 &1 4 | SceneSettings: 5 | m_ObjectHideFlags: 0 6 | m_PVSData: 7 | m_PVSObjectsArray: [] 8 | m_PVSPortalsArray: [] 9 | m_OcclusionBakeSettings: 10 | smallestOccluder: 5 11 | smallestHole: .25 12 | backfaceThreshold: 100 13 | --- !u!104 &2 14 | RenderSettings: 15 | m_ObjectHideFlags: 0 16 | serializedVersion: 6 17 | m_Fog: 0 18 | m_FogColor: {r: .5, g: .5, b: .5, a: 1} 19 | m_FogMode: 3 20 | m_FogDensity: .00999999978 21 | m_LinearFogStart: 0 22 | m_LinearFogEnd: 300 23 | m_AmbientSkyColor: {r: .211999997, g: .226999998, b: .259000003, a: 1} 24 | m_AmbientEquatorColor: {r: .114, g: .125, b: .133000001, a: 1} 25 | m_AmbientGroundColor: {r: .0469999984, g: .0430000015, b: .0350000001, a: 1} 26 | m_AmbientIntensity: 1 27 | m_AmbientMode: 0 28 | m_SkyboxMaterial: {fileID: 2100000, guid: 40085597fe2824f6e951561833c5f79e, type: 2} 29 | m_HaloStrength: .5 30 | m_FlareStrength: 1 31 | m_FlareFadeSpeed: 3 32 | m_HaloTexture: {fileID: 0} 33 | m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} 34 | m_DefaultReflectionMode: 0 35 | m_DefaultReflectionResolution: 128 36 | m_ReflectionBounces: 1 37 | m_ReflectionIntensity: 1 38 | m_CustomReflection: {fileID: 0} 39 | m_Sun: {fileID: 0} 40 | --- !u!157 &3 41 | LightmapSettings: 42 | m_ObjectHideFlags: 0 43 | serializedVersion: 5 44 | m_GIWorkflowMode: 0 45 | m_LightmapsMode: 1 46 | m_GISettings: 47 | serializedVersion: 2 48 | m_BounceScale: 1 49 | m_IndirectOutputScale: 1 50 | m_AlbedoBoost: 1 51 | m_TemporalCoherenceThreshold: 1 52 | m_EnvironmentLightingMode: 0 53 | m_EnableBakedLightmaps: 1 54 | m_EnableRealtimeLightmaps: 1 55 | m_LightmapEditorSettings: 56 | serializedVersion: 3 57 | m_Resolution: 2 58 | m_BakeResolution: 40 59 | m_TextureWidth: 1024 60 | m_TextureHeight: 1024 61 | m_AOMaxDistance: 1 62 | m_Padding: 2 63 | m_CompAOExponent: 0 64 | m_LightmapParameters: {fileID: 0} 65 | m_TextureCompression: 1 66 | m_FinalGather: 0 67 | m_FinalGatherRayCount: 1024 68 | m_ReflectionCompression: 2 69 | m_LightmapSnapshot: {fileID: 0} 70 | m_RuntimeCPUUsage: 25 71 | --- !u!196 &4 72 | NavMeshSettings: 73 | serializedVersion: 2 74 | m_ObjectHideFlags: 0 75 | m_BuildSettings: 76 | serializedVersion: 2 77 | agentRadius: .5 78 | agentHeight: 2 79 | agentSlope: 45 80 | agentClimb: .400000006 81 | ledgeDropHeight: 0 82 | maxJumpAcrossDistance: 0 83 | accuratePlacement: 0 84 | minRegionArea: 2 85 | cellSize: .166666672 86 | manualCellSize: 0 87 | m_NavMeshData: {fileID: 0} 88 | --- !u!1001 &57152968 89 | Prefab: 90 | m_ObjectHideFlags: 0 91 | serializedVersion: 2 92 | m_Modification: 93 | m_TransformParent: {fileID: 0} 94 | m_Modifications: 95 | - target: {fileID: 400000, guid: c341a9ce657de4706b49faa82c5f18a8, type: 3} 96 | propertyPath: m_LocalPosition.x 97 | value: 0 98 | objectReference: {fileID: 0} 99 | - target: {fileID: 400000, guid: c341a9ce657de4706b49faa82c5f18a8, type: 3} 100 | propertyPath: m_LocalPosition.y 101 | value: 0 102 | objectReference: {fileID: 0} 103 | - target: {fileID: 400000, guid: c341a9ce657de4706b49faa82c5f18a8, type: 3} 104 | propertyPath: m_LocalPosition.z 105 | value: 0 106 | objectReference: {fileID: 0} 107 | - target: {fileID: 400000, guid: c341a9ce657de4706b49faa82c5f18a8, type: 3} 108 | propertyPath: m_LocalRotation.x 109 | value: 0 110 | objectReference: {fileID: 0} 111 | - target: {fileID: 400000, guid: c341a9ce657de4706b49faa82c5f18a8, type: 3} 112 | propertyPath: m_LocalRotation.y 113 | value: 1 114 | objectReference: {fileID: 0} 115 | - target: {fileID: 400000, guid: c341a9ce657de4706b49faa82c5f18a8, type: 3} 116 | propertyPath: m_LocalRotation.z 117 | value: 0 118 | objectReference: {fileID: 0} 119 | - target: {fileID: 400000, guid: c341a9ce657de4706b49faa82c5f18a8, type: 3} 120 | propertyPath: m_LocalRotation.w 121 | value: -1.62920685e-07 122 | objectReference: {fileID: 0} 123 | - target: {fileID: 400000, guid: c341a9ce657de4706b49faa82c5f18a8, type: 3} 124 | propertyPath: m_RootOrder 125 | value: 2 126 | objectReference: {fileID: 0} 127 | - target: {fileID: 2300000, guid: c341a9ce657de4706b49faa82c5f18a8, type: 3} 128 | propertyPath: m_Materials.Array.data[0] 129 | value: 130 | objectReference: {fileID: 2100000, guid: a41fc718c609346ef84546eed1fed984, type: 2} 131 | m_RemovedComponents: [] 132 | m_ParentPrefab: {fileID: 100100000, guid: c341a9ce657de4706b49faa82c5f18a8, type: 3} 133 | m_IsPrefabParent: 0 134 | --- !u!1 &275702274 135 | GameObject: 136 | m_ObjectHideFlags: 0 137 | m_PrefabParentObject: {fileID: 0} 138 | m_PrefabInternal: {fileID: 0} 139 | serializedVersion: 4 140 | m_Component: 141 | - 4: {fileID: 275702276} 142 | - 108: {fileID: 275702275} 143 | m_Layer: 0 144 | m_Name: Directional Light 145 | m_TagString: Untagged 146 | m_Icon: {fileID: 0} 147 | m_NavMeshLayer: 0 148 | m_StaticEditorFlags: 0 149 | m_IsActive: 1 150 | --- !u!108 &275702275 151 | Light: 152 | m_ObjectHideFlags: 0 153 | m_PrefabParentObject: {fileID: 0} 154 | m_PrefabInternal: {fileID: 0} 155 | m_GameObject: {fileID: 275702274} 156 | m_Enabled: 1 157 | serializedVersion: 6 158 | m_Type: 1 159 | m_Color: {r: 1, g: .980272591, b: .926470578, a: 1} 160 | m_Intensity: .400000006 161 | m_Range: 10 162 | m_SpotAngle: 30 163 | m_CookieSize: 10 164 | m_Shadows: 165 | m_Type: 2 166 | m_Resolution: -1 167 | m_Strength: 1 168 | m_Bias: .0500000007 169 | m_NormalBias: .400000006 170 | m_Cookie: {fileID: 0} 171 | m_DrawHalo: 0 172 | m_Flare: {fileID: 0} 173 | m_RenderMode: 0 174 | m_CullingMask: 175 | serializedVersion: 2 176 | m_Bits: 4294967295 177 | m_Lightmapping: 4 178 | m_BounceIntensity: 1 179 | m_ShadowRadius: 0 180 | m_ShadowAngle: 0 181 | m_AreaSize: {x: 1, y: 1} 182 | --- !u!4 &275702276 183 | Transform: 184 | m_ObjectHideFlags: 0 185 | m_PrefabParentObject: {fileID: 0} 186 | m_PrefabInternal: {fileID: 0} 187 | m_GameObject: {fileID: 275702274} 188 | m_LocalRotation: {x: -.28724128, y: .147203922, z: -.0447239764, w: -.945422232} 189 | m_LocalPosition: {x: 0, y: 3, z: 0} 190 | m_LocalScale: {x: 1, y: 1, z: 1} 191 | m_Children: [] 192 | m_Father: {fileID: 0} 193 | m_RootOrder: 1 194 | --- !u!1 &764158945 195 | GameObject: 196 | m_ObjectHideFlags: 0 197 | m_PrefabParentObject: {fileID: 0} 198 | m_PrefabInternal: {fileID: 0} 199 | serializedVersion: 4 200 | m_Component: 201 | - 4: {fileID: 764158950} 202 | - 20: {fileID: 764158949} 203 | - 92: {fileID: 764158948} 204 | - 124: {fileID: 764158947} 205 | - 81: {fileID: 764158946} 206 | - 114: {fileID: 764158951} 207 | - 114: {fileID: 764158953} 208 | - 114: {fileID: 764158952} 209 | - 114: {fileID: 764158954} 210 | m_Layer: 0 211 | m_Name: Main Camera 212 | m_TagString: MainCamera 213 | m_Icon: {fileID: 0} 214 | m_NavMeshLayer: 0 215 | m_StaticEditorFlags: 0 216 | m_IsActive: 1 217 | --- !u!81 &764158946 218 | AudioListener: 219 | m_ObjectHideFlags: 0 220 | m_PrefabParentObject: {fileID: 0} 221 | m_PrefabInternal: {fileID: 0} 222 | m_GameObject: {fileID: 764158945} 223 | m_Enabled: 1 224 | --- !u!124 &764158947 225 | Behaviour: 226 | m_ObjectHideFlags: 0 227 | m_PrefabParentObject: {fileID: 0} 228 | m_PrefabInternal: {fileID: 0} 229 | m_GameObject: {fileID: 764158945} 230 | m_Enabled: 1 231 | --- !u!92 &764158948 232 | Behaviour: 233 | m_ObjectHideFlags: 0 234 | m_PrefabParentObject: {fileID: 0} 235 | m_PrefabInternal: {fileID: 0} 236 | m_GameObject: {fileID: 764158945} 237 | m_Enabled: 1 238 | --- !u!20 &764158949 239 | Camera: 240 | m_ObjectHideFlags: 0 241 | m_PrefabParentObject: {fileID: 0} 242 | m_PrefabInternal: {fileID: 0} 243 | m_GameObject: {fileID: 764158945} 244 | m_Enabled: 1 245 | serializedVersion: 2 246 | m_ClearFlags: 1 247 | m_BackGroundColor: {r: .192156866, g: .301960796, b: .474509805, a: .0196078438} 248 | m_NormalizedViewPortRect: 249 | serializedVersion: 2 250 | x: 0 251 | y: 0 252 | width: 1 253 | height: 1 254 | near clip plane: .300000012 255 | far clip plane: 1000 256 | field of view: 20 257 | orthographic: 0 258 | orthographic size: 5 259 | m_Depth: -1 260 | m_CullingMask: 261 | serializedVersion: 2 262 | m_Bits: 4294967295 263 | m_RenderingPath: -1 264 | m_TargetTexture: {fileID: 0} 265 | m_TargetDisplay: 0 266 | m_TargetEye: 3 267 | m_HDR: 1 268 | m_OcclusionCulling: 0 269 | m_StereoConvergence: 10 270 | m_StereoSeparation: .0219999999 271 | m_StereoMirrorMode: 0 272 | --- !u!4 &764158950 273 | Transform: 274 | m_ObjectHideFlags: 0 275 | m_PrefabParentObject: {fileID: 0} 276 | m_PrefabInternal: {fileID: 0} 277 | m_GameObject: {fileID: 764158945} 278 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 279 | m_LocalPosition: {x: 0, y: 0, z: -2} 280 | m_LocalScale: {x: 1, y: 1, z: 1} 281 | m_Children: [] 282 | m_Father: {fileID: 1986088796} 283 | m_RootOrder: 0 284 | --- !u!114 &764158951 285 | MonoBehaviour: 286 | m_ObjectHideFlags: 0 287 | m_PrefabParentObject: {fileID: 0} 288 | m_PrefabInternal: {fileID: 0} 289 | m_GameObject: {fileID: 764158945} 290 | m_Enabled: 1 291 | m_EditorHideFlags: 0 292 | m_Script: {fileID: 11500000, guid: 2f6a516d891854931acf7fb785c812ec, type: 3} 293 | m_Name: 294 | m_EditorClassIdentifier: 295 | _intensity: 1 296 | _sampleRadius: .400000006 297 | _rangeCheck: 1 298 | _fallOffDistance: 100 299 | _sampleCount: 2 300 | _shader: {fileID: 4800000, guid: c928e16c12e994a70928a9181450d18c, type: 3} 301 | --- !u!114 &764158952 302 | MonoBehaviour: 303 | m_ObjectHideFlags: 0 304 | m_PrefabParentObject: {fileID: 0} 305 | m_PrefabInternal: {fileID: 0} 306 | m_GameObject: {fileID: 764158945} 307 | m_Enabled: 1 308 | m_EditorHideFlags: 0 309 | m_Script: {fileID: 11500000, guid: 9e11ef96a8174459fa3d231009ff28f8, type: 3} 310 | m_Name: 311 | m_EditorClassIdentifier: 312 | _lateralShift: .600000024 313 | _axialStrength: 0 314 | _axialShift: 0 315 | _axialQuality: 0 316 | _shader: {fileID: 4800000, guid: 4e3f6504698a346cb971f9ab5286fca9, type: 3} 317 | --- !u!114 &764158953 318 | MonoBehaviour: 319 | m_ObjectHideFlags: 0 320 | m_PrefabParentObject: {fileID: 0} 321 | m_PrefabInternal: {fileID: 0} 322 | m_GameObject: {fileID: 764158945} 323 | m_Enabled: 1 324 | m_EditorHideFlags: 0 325 | m_Script: {fileID: 11500000, guid: 6fc18a55c333d51489e5ee49b3cbff50, type: 3} 326 | m_Name: 327 | m_EditorClassIdentifier: 328 | _falloff: .5 329 | _shader: {fileID: 4800000, guid: 89a223cbeee1935419811f8736c0a9b3, type: 3} 330 | --- !u!114 &764158954 331 | MonoBehaviour: 332 | m_ObjectHideFlags: 0 333 | m_PrefabParentObject: {fileID: 0} 334 | m_PrefabInternal: {fileID: 0} 335 | m_GameObject: {fileID: 764158945} 336 | m_Enabled: 1 337 | m_EditorHideFlags: 0 338 | m_Script: {fileID: 11500000, guid: 10593b7d510b64560a297a8af1356dcb, type: 3} 339 | m_Name: 340 | m_EditorClassIdentifier: 341 | _colorTemp: .610000014 342 | _colorTint: .0799999982 343 | _toneMapping: 1 344 | _exposure: 1.41999996 345 | _saturation: 1 346 | _rCurve: 347 | serializedVersion: 2 348 | m_Curve: 349 | - time: 0 350 | value: 0 351 | inSlope: .735294044 352 | outSlope: .735294044 353 | tangentMode: 0 354 | - time: 1 355 | value: 1 356 | inSlope: 1.00000036 357 | outSlope: 1.00000036 358 | tangentMode: 0 359 | m_PreInfinity: 2 360 | m_PostInfinity: 2 361 | _gCurve: 362 | serializedVersion: 2 363 | m_Curve: 364 | - time: 0 365 | value: 0 366 | inSlope: 1 367 | outSlope: 1 368 | tangentMode: 10 369 | - time: 1 370 | value: 1 371 | inSlope: 1 372 | outSlope: 1 373 | tangentMode: 10 374 | m_PreInfinity: 2 375 | m_PostInfinity: 2 376 | _bCurve: 377 | serializedVersion: 2 378 | m_Curve: 379 | - time: 0 380 | value: 0 381 | inSlope: .90697664 382 | outSlope: .90697664 383 | tangentMode: 0 384 | - time: 1 385 | value: 1 386 | inSlope: .961538672 387 | outSlope: .961538672 388 | tangentMode: 0 389 | m_PreInfinity: 2 390 | m_PostInfinity: 2 391 | _cCurve: 392 | serializedVersion: 2 393 | m_Curve: 394 | - time: .0333333164 395 | value: .00625002384 396 | inSlope: 0 397 | outSlope: 1.08715606 398 | tangentMode: 21 399 | - time: .941666603 400 | value: .993750036 401 | inSlope: 1.08715606 402 | outSlope: 0 403 | tangentMode: 21 404 | m_PreInfinity: 2 405 | m_PostInfinity: 2 406 | _ditherMode: 1 407 | shader: {fileID: 4800000, guid: dc9775b65c52747e69fc4c854c00d696, type: 3} 408 | --- !u!1 &1986088795 409 | GameObject: 410 | m_ObjectHideFlags: 0 411 | m_PrefabParentObject: {fileID: 0} 412 | m_PrefabInternal: {fileID: 0} 413 | serializedVersion: 4 414 | m_Component: 415 | - 4: {fileID: 1986088796} 416 | m_Layer: 0 417 | m_Name: Camera Pivot 418 | m_TagString: Untagged 419 | m_Icon: {fileID: 0} 420 | m_NavMeshLayer: 0 421 | m_StaticEditorFlags: 0 422 | m_IsActive: 1 423 | --- !u!4 &1986088796 424 | Transform: 425 | m_ObjectHideFlags: 0 426 | m_PrefabParentObject: {fileID: 0} 427 | m_PrefabInternal: {fileID: 0} 428 | m_GameObject: {fileID: 1986088795} 429 | m_LocalRotation: {x: .0738271028, y: -.306678474, z: .0238668527, w: .948645473} 430 | m_LocalPosition: {x: 0, y: .449999988, z: 0} 431 | m_LocalScale: {x: 1, y: 1, z: 1} 432 | m_Children: 433 | - {fileID: 764158950} 434 | m_Father: {fileID: 0} 435 | m_RootOrder: 0 436 | -------------------------------------------------------------------------------- /Assets/Test.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b03b81ff1ba4a4a2b84b3f5d97c8a1e2 3 | timeCreated: 1442663579 4 | licenseType: Pro 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/sIBL Archive.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6a9f1608b44944208b70750cfa68055f 3 | folderAsset: yes 4 | timeCreated: 1442706115 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/sIBL Archive/Acknowledgement.txt: -------------------------------------------------------------------------------- 1 | All image files in this directory are provided from sIBL Archive. 2 | See the following page for further details. 3 | 4 | http://www.smartibl.com/sibl/archive.html 5 | -------------------------------------------------------------------------------- /Assets/sIBL Archive/Acknowledgement.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 337a09ac5f8fb41019ab84e80a051562 3 | timeCreated: 1442706239 4 | licenseType: Pro 5 | TextScriptImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/sIBL Archive/Chelsea_Stairs_Env.hdr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keijiro/InfiniteScan/150b6c46ebb6a011b93ed2e0fee9b612df78281b/Assets/sIBL Archive/Chelsea_Stairs_Env.hdr -------------------------------------------------------------------------------- /Assets/sIBL Archive/Chelsea_Stairs_Env.hdr.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 43dee537ee7794674be346abc1dac693 3 | timeCreated: 1442665763 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: 7 | 8900000: generatedCubemap 8 | serializedVersion: 2 9 | mipmaps: 10 | mipMapMode: 0 11 | enableMipMap: 1 12 | linearTexture: 0 13 | correctGamma: 0 14 | fadeOut: 0 15 | borderMipMap: 0 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: .25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | grayScaleToAlpha: 0 25 | generateCubemap: 6 26 | cubemapConvolution: 0 27 | cubemapConvolutionSteps: 8 28 | cubemapConvolutionExponent: 1.5 29 | seamlessCubemap: 0 30 | textureFormat: -3 31 | maxTextureSize: 2048 32 | textureSettings: 33 | filterMode: -1 34 | aniso: -1 35 | mipBias: -1 36 | wrapMode: 1 37 | nPOTScale: 1 38 | lightmap: 0 39 | rGBM: 0 40 | compressionQuality: 50 41 | allowsAlphaSplitting: 0 42 | spriteMode: 0 43 | spriteExtrude: 1 44 | spriteMeshType: 1 45 | alignment: 0 46 | spritePivot: {x: .5, y: .5} 47 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 48 | spritePixelsToUnits: 100 49 | alphaIsTransparency: 0 50 | textureType: 3 51 | buildTargetSettings: [] 52 | spriteSheet: 53 | sprites: [] 54 | spritePackingTag: 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /InfiniteScan.unitypackage: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keijiro/InfiniteScan/150b6c46ebb6a011b93ed2e0fee9b612df78281b/InfiniteScan.unitypackage -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /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: 4 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_LightmapStripping: 0 25 | m_LightmapKeepPlain: 1 26 | m_LightmapKeepDirCombined: 1 27 | m_LightmapKeepDirSeparate: 1 28 | m_LightmapKeepDynamicPlain: 1 29 | m_LightmapKeepDynamicDirCombined: 1 30 | m_LightmapKeepDynamicDirSeparate: 1 31 | m_FogStripping: 0 32 | m_FogKeepLinear: 1 33 | m_FogKeepExp: 1 34 | m_FogKeepExp2: 1 35 | -------------------------------------------------------------------------------- /ProjectSettings/InputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!13 &1 4 | InputManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Axes: 8 | - serializedVersion: 3 9 | m_Name: Horizontal 10 | descriptiveName: 11 | descriptiveNegativeName: 12 | negativeButton: left 13 | positiveButton: right 14 | altNegativeButton: a 15 | altPositiveButton: d 16 | gravity: 3 17 | dead: .00100000005 18 | sensitivity: 3 19 | snap: 1 20 | invert: 0 21 | type: 0 22 | axis: 0 23 | joyNum: 0 24 | - serializedVersion: 3 25 | m_Name: Vertical 26 | descriptiveName: 27 | descriptiveNegativeName: 28 | negativeButton: down 29 | positiveButton: up 30 | altNegativeButton: s 31 | altPositiveButton: w 32 | gravity: 3 33 | dead: .00100000005 34 | sensitivity: 3 35 | snap: 1 36 | invert: 0 37 | type: 0 38 | axis: 0 39 | joyNum: 0 40 | - serializedVersion: 3 41 | m_Name: Fire1 42 | descriptiveName: 43 | descriptiveNegativeName: 44 | negativeButton: 45 | positiveButton: left ctrl 46 | altNegativeButton: 47 | altPositiveButton: mouse 0 48 | gravity: 1000 49 | dead: .00100000005 50 | sensitivity: 1000 51 | snap: 0 52 | invert: 0 53 | type: 0 54 | axis: 0 55 | joyNum: 0 56 | - serializedVersion: 3 57 | m_Name: Fire2 58 | descriptiveName: 59 | descriptiveNegativeName: 60 | negativeButton: 61 | positiveButton: left alt 62 | altNegativeButton: 63 | altPositiveButton: mouse 1 64 | gravity: 1000 65 | dead: .00100000005 66 | sensitivity: 1000 67 | snap: 0 68 | invert: 0 69 | type: 0 70 | axis: 0 71 | joyNum: 0 72 | - serializedVersion: 3 73 | m_Name: Fire3 74 | descriptiveName: 75 | descriptiveNegativeName: 76 | negativeButton: 77 | positiveButton: left shift 78 | altNegativeButton: 79 | altPositiveButton: mouse 2 80 | gravity: 1000 81 | dead: .00100000005 82 | sensitivity: 1000 83 | snap: 0 84 | invert: 0 85 | type: 0 86 | axis: 0 87 | joyNum: 0 88 | - serializedVersion: 3 89 | m_Name: Jump 90 | descriptiveName: 91 | descriptiveNegativeName: 92 | negativeButton: 93 | positiveButton: space 94 | altNegativeButton: 95 | altPositiveButton: 96 | gravity: 1000 97 | dead: .00100000005 98 | sensitivity: 1000 99 | snap: 0 100 | invert: 0 101 | type: 0 102 | axis: 0 103 | joyNum: 0 104 | - serializedVersion: 3 105 | m_Name: Mouse X 106 | descriptiveName: 107 | descriptiveNegativeName: 108 | negativeButton: 109 | positiveButton: 110 | altNegativeButton: 111 | altPositiveButton: 112 | gravity: 0 113 | dead: 0 114 | sensitivity: .100000001 115 | snap: 0 116 | invert: 0 117 | type: 1 118 | axis: 0 119 | joyNum: 0 120 | - serializedVersion: 3 121 | m_Name: Mouse Y 122 | descriptiveName: 123 | descriptiveNegativeName: 124 | negativeButton: 125 | positiveButton: 126 | altNegativeButton: 127 | altPositiveButton: 128 | gravity: 0 129 | dead: 0 130 | sensitivity: .100000001 131 | snap: 0 132 | invert: 0 133 | type: 1 134 | axis: 1 135 | joyNum: 0 136 | - serializedVersion: 3 137 | m_Name: Mouse ScrollWheel 138 | descriptiveName: 139 | descriptiveNegativeName: 140 | negativeButton: 141 | positiveButton: 142 | altNegativeButton: 143 | altPositiveButton: 144 | gravity: 0 145 | dead: 0 146 | sensitivity: .100000001 147 | snap: 0 148 | invert: 0 149 | type: 1 150 | axis: 2 151 | joyNum: 0 152 | - serializedVersion: 3 153 | m_Name: Horizontal 154 | descriptiveName: 155 | descriptiveNegativeName: 156 | negativeButton: 157 | positiveButton: 158 | altNegativeButton: 159 | altPositiveButton: 160 | gravity: 0 161 | dead: .189999998 162 | sensitivity: 1 163 | snap: 0 164 | invert: 0 165 | type: 2 166 | axis: 0 167 | joyNum: 0 168 | - serializedVersion: 3 169 | m_Name: Vertical 170 | descriptiveName: 171 | descriptiveNegativeName: 172 | negativeButton: 173 | positiveButton: 174 | altNegativeButton: 175 | altPositiveButton: 176 | gravity: 0 177 | dead: .189999998 178 | sensitivity: 1 179 | snap: 0 180 | invert: 1 181 | type: 2 182 | axis: 1 183 | joyNum: 0 184 | - serializedVersion: 3 185 | m_Name: Fire1 186 | descriptiveName: 187 | descriptiveNegativeName: 188 | negativeButton: 189 | positiveButton: joystick button 0 190 | altNegativeButton: 191 | altPositiveButton: 192 | gravity: 1000 193 | dead: .00100000005 194 | sensitivity: 1000 195 | snap: 0 196 | invert: 0 197 | type: 0 198 | axis: 0 199 | joyNum: 0 200 | - serializedVersion: 3 201 | m_Name: Fire2 202 | descriptiveName: 203 | descriptiveNegativeName: 204 | negativeButton: 205 | positiveButton: joystick button 1 206 | altNegativeButton: 207 | altPositiveButton: 208 | gravity: 1000 209 | dead: .00100000005 210 | sensitivity: 1000 211 | snap: 0 212 | invert: 0 213 | type: 0 214 | axis: 0 215 | joyNum: 0 216 | - serializedVersion: 3 217 | m_Name: Fire3 218 | descriptiveName: 219 | descriptiveNegativeName: 220 | negativeButton: 221 | positiveButton: joystick button 2 222 | altNegativeButton: 223 | altPositiveButton: 224 | gravity: 1000 225 | dead: .00100000005 226 | sensitivity: 1000 227 | snap: 0 228 | invert: 0 229 | type: 0 230 | axis: 0 231 | joyNum: 0 232 | - serializedVersion: 3 233 | m_Name: Jump 234 | descriptiveName: 235 | descriptiveNegativeName: 236 | negativeButton: 237 | positiveButton: joystick button 3 238 | altNegativeButton: 239 | altPositiveButton: 240 | gravity: 1000 241 | dead: .00100000005 242 | sensitivity: 1000 243 | snap: 0 244 | invert: 0 245 | type: 0 246 | axis: 0 247 | joyNum: 0 248 | - serializedVersion: 3 249 | m_Name: Submit 250 | descriptiveName: 251 | descriptiveNegativeName: 252 | negativeButton: 253 | positiveButton: return 254 | altNegativeButton: 255 | altPositiveButton: joystick button 0 256 | gravity: 1000 257 | dead: .00100000005 258 | sensitivity: 1000 259 | snap: 0 260 | invert: 0 261 | type: 0 262 | axis: 0 263 | joyNum: 0 264 | - serializedVersion: 3 265 | m_Name: Submit 266 | descriptiveName: 267 | descriptiveNegativeName: 268 | negativeButton: 269 | positiveButton: enter 270 | altNegativeButton: 271 | altPositiveButton: space 272 | gravity: 1000 273 | dead: .00100000005 274 | sensitivity: 1000 275 | snap: 0 276 | invert: 0 277 | type: 0 278 | axis: 0 279 | joyNum: 0 280 | - serializedVersion: 3 281 | m_Name: Cancel 282 | descriptiveName: 283 | descriptiveNegativeName: 284 | negativeButton: 285 | positiveButton: escape 286 | altNegativeButton: 287 | altPositiveButton: joystick button 1 288 | gravity: 1000 289 | dead: .00100000005 290 | sensitivity: 1000 291 | snap: 0 292 | invert: 0 293 | type: 0 294 | axis: 0 295 | joyNum: 0 296 | -------------------------------------------------------------------------------- /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/ProjectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!129 &1 4 | PlayerSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 7 7 | AndroidProfiler: 0 8 | defaultScreenOrientation: 4 9 | targetDevice: 2 10 | targetResolution: 0 11 | useOnDemandResources: 0 12 | accelerometerFrequency: 60 13 | companyName: DefaultCompany 14 | productName: InfiniteScan 15 | defaultCursor: {fileID: 0} 16 | cursorHotspot: {x: 0, y: 0} 17 | m_ShowUnitySplashScreen: 1 18 | defaultScreenWidth: 1024 19 | defaultScreenHeight: 768 20 | defaultScreenWidthWeb: 960 21 | defaultScreenHeightWeb: 600 22 | m_RenderingPath: 3 23 | m_MobileRenderingPath: 1 24 | m_ActiveColorSpace: 1 25 | m_MTRendering: 1 26 | m_MobileMTRendering: 0 27 | m_Stereoscopic3D: 0 28 | iosShowActivityIndicatorOnLoading: -1 29 | androidShowActivityIndicatorOnLoading: -1 30 | iosAppInBackgroundBehavior: 0 31 | displayResolutionDialog: 1 32 | iosAllowHTTPDownload: 1 33 | allowedAutorotateToPortrait: 1 34 | allowedAutorotateToPortraitUpsideDown: 1 35 | allowedAutorotateToLandscapeRight: 1 36 | allowedAutorotateToLandscapeLeft: 1 37 | useOSAutorotation: 1 38 | use32BitDisplayBuffer: 1 39 | disableDepthAndStencilBuffers: 0 40 | defaultIsFullScreen: 1 41 | defaultIsNativeResolution: 1 42 | runInBackground: 0 43 | captureSingleScreen: 0 44 | Override IPod Music: 0 45 | Prepare IOS For Recording: 0 46 | submitAnalytics: 1 47 | usePlayerLog: 1 48 | bakeCollisionMeshes: 0 49 | forceSingleInstance: 0 50 | resizableWindow: 0 51 | useMacAppStoreValidation: 0 52 | gpuSkinning: 0 53 | xboxPIXTextureCapture: 0 54 | xboxEnableAvatar: 0 55 | xboxEnableKinect: 0 56 | xboxEnableKinectAutoTracking: 0 57 | xboxEnableFitness: 0 58 | visibleInBackground: 0 59 | macFullscreenMode: 2 60 | d3d9FullscreenMode: 1 61 | d3d11FullscreenMode: 1 62 | xboxSpeechDB: 0 63 | xboxEnableHeadOrientation: 0 64 | xboxEnableGuest: 0 65 | n3dsDisableStereoscopicView: 0 66 | n3dsEnableSharedListOpt: 1 67 | n3dsEnableVSync: 0 68 | xboxOneResolution: 0 69 | ps3SplashScreen: {fileID: 0} 70 | videoMemoryForVertexBuffers: 0 71 | psp2PowerMode: 0 72 | psp2AcquireBGM: 1 73 | wiiUTVResolution: 0 74 | wiiUGamePadMSAA: 1 75 | wiiUSupportsNunchuk: 0 76 | wiiUSupportsClassicController: 0 77 | wiiUSupportsBalanceBoard: 0 78 | wiiUSupportsMotionPlus: 0 79 | wiiUSupportsProController: 0 80 | wiiUAllowScreenCapture: 1 81 | wiiUControllerCount: 0 82 | m_SupportedAspectRatios: 83 | 4:3: 1 84 | 5:4: 1 85 | 16:10: 1 86 | 16:9: 1 87 | Others: 1 88 | bundleIdentifier: com.Company.ProductName 89 | bundleVersion: 1.0 90 | preloadedAssets: [] 91 | metroEnableIndependentInputSource: 0 92 | metroEnableLowLatencyPresentationAPI: 0 93 | xboxOneDisableKinectGpuReservation: 0 94 | virtualRealitySupported: 0 95 | productGUID: 85d65e7658e6e40dda0d1dc3f9643da1 96 | AndroidBundleVersionCode: 1 97 | AndroidMinSdkVersion: 9 98 | AndroidPreferredInstallLocation: 1 99 | aotOptions: 100 | apiCompatibilityLevel: 2 101 | stripEngineCode: 1 102 | iPhoneStrippingLevel: 0 103 | iPhoneScriptCallOptimization: 0 104 | iPhoneBuildNumber: 0 105 | ForceInternetPermission: 0 106 | ForceSDCardPermission: 0 107 | CreateWallpaper: 0 108 | APKExpansionFiles: 0 109 | preloadShaders: 0 110 | StripUnusedMeshComponents: 0 111 | VertexChannelCompressionMask: 112 | serializedVersion: 2 113 | m_Bits: 238 114 | iPhoneSdkVersion: 988 115 | iPhoneTargetOSVersion: 22 116 | uIPrerenderedIcon: 0 117 | uIRequiresPersistentWiFi: 0 118 | uIStatusBarHidden: 1 119 | uIExitOnSuspend: 0 120 | uIStatusBarStyle: 0 121 | iPhoneSplashScreen: {fileID: 0} 122 | iPhoneHighResSplashScreen: {fileID: 0} 123 | iPhoneTallHighResSplashScreen: {fileID: 0} 124 | iPhone47inSplashScreen: {fileID: 0} 125 | iPhone55inPortraitSplashScreen: {fileID: 0} 126 | iPhone55inLandscapeSplashScreen: {fileID: 0} 127 | iPadPortraitSplashScreen: {fileID: 0} 128 | iPadHighResPortraitSplashScreen: {fileID: 0} 129 | iPadLandscapeSplashScreen: {fileID: 0} 130 | iPadHighResLandscapeSplashScreen: {fileID: 0} 131 | iOSLaunchScreenType: 0 132 | iOSLaunchScreenPortrait: {fileID: 0} 133 | iOSLaunchScreenLandscape: {fileID: 0} 134 | iOSLaunchScreenBackgroundColor: 135 | serializedVersion: 2 136 | rgba: 0 137 | iOSLaunchScreenFillPct: 100 138 | iOSLaunchScreenSize: 100 139 | iOSLaunchScreenCustomXibPath: 140 | iOSLaunchScreeniPadType: 0 141 | iOSLaunchScreeniPadImage: {fileID: 0} 142 | iOSLaunchScreeniPadBackgroundColor: 143 | serializedVersion: 2 144 | rgba: 0 145 | iOSLaunchScreeniPadFillPct: 100 146 | iOSLaunchScreeniPadSize: 100 147 | iOSLaunchScreeniPadCustomXibPath: 148 | iOSDeviceRequirements: [] 149 | AndroidTargetDevice: 0 150 | AndroidSplashScreenScale: 0 151 | androidSplashScreen: {fileID: 0} 152 | AndroidKeystoreName: 153 | AndroidKeyaliasName: 154 | AndroidTVCompatibility: 1 155 | AndroidIsGame: 1 156 | androidEnableBanner: 1 157 | m_AndroidBanners: 158 | - width: 320 159 | height: 180 160 | banner: {fileID: 0} 161 | androidGamepadSupportLevel: 0 162 | resolutionDialogBanner: {fileID: 0} 163 | m_BuildTargetIcons: 164 | - m_BuildTarget: 165 | m_Icons: 166 | - m_Icon: {fileID: 0} 167 | m_Size: 128 168 | m_BuildTargetBatching: [] 169 | m_BuildTargetGraphicsAPIs: [] 170 | webPlayerTemplate: APPLICATION:Default 171 | m_TemplateCustomTags: {} 172 | wiiUTitleID: 0005000011000000 173 | wiiUGroupID: 00010000 174 | wiiUCommonSaveSize: 4096 175 | wiiUAccountSaveSize: 2048 176 | wiiUOlvAccessKey: 0 177 | wiiUTinCode: 0 178 | wiiUJoinGameId: 0 179 | wiiUJoinGameModeMask: 0000000000000000 180 | wiiUCommonBossSize: 0 181 | wiiUAccountBossSize: 0 182 | wiiUAddOnUniqueIDs: [] 183 | wiiUMainThreadStackSize: 3072 184 | wiiULoaderThreadStackSize: 1024 185 | wiiUSystemHeapSize: 128 186 | wiiUTVStartupScreen: {fileID: 0} 187 | wiiUGamePadStartupScreen: {fileID: 0} 188 | wiiUProfilerLibPath: 189 | actionOnDotNetUnhandledException: 1 190 | enableInternalProfiler: 0 191 | logObjCUncaughtExceptions: 1 192 | enableCrashReportAPI: 0 193 | locationUsageDescription: 194 | XboxTitleId: 195 | XboxImageXexPath: 196 | XboxSpaPath: 197 | XboxGenerateSpa: 0 198 | XboxDeployKinectResources: 0 199 | XboxSplashScreen: {fileID: 0} 200 | xboxEnableSpeech: 0 201 | xboxAdditionalTitleMemorySize: 0 202 | xboxDeployKinectHeadOrientation: 0 203 | xboxDeployKinectHeadPosition: 0 204 | ps3TitleConfigPath: 205 | ps3DLCConfigPath: 206 | ps3ThumbnailPath: 207 | ps3BackgroundPath: 208 | ps3SoundPath: 209 | ps3NPAgeRating: 12 210 | ps3TrophyCommId: 211 | ps3NpCommunicationPassphrase: 212 | ps3TrophyPackagePath: 213 | ps3BootCheckMaxSaveGameSizeKB: 128 214 | ps3TrophyCommSig: 215 | ps3SaveGameSlots: 1 216 | ps3TrialMode: 0 217 | ps3VideoMemoryForAudio: 0 218 | ps3EnableVerboseMemoryStats: 0 219 | ps3UseSPUForUmbra: 0 220 | ps3EnableMoveSupport: 1 221 | ps3DisableDolbyEncoding: 0 222 | ps4NPAgeRating: 12 223 | ps4NPTitleSecret: 224 | ps4NPTrophyPackPath: 225 | ps4ParentalLevel: 1 226 | ps4ContentID: ED1633-NPXX51362_00-0000000000000000 227 | ps4Category: 0 228 | ps4MasterVersion: 01.00 229 | ps4AppVersion: 01.00 230 | ps4AppType: 0 231 | ps4ParamSfxPath: 232 | ps4VideoOutPixelFormat: 0 233 | ps4VideoOutResolution: 4 234 | ps4PronunciationXMLPath: 235 | ps4PronunciationSIGPath: 236 | ps4BackgroundImagePath: 237 | ps4StartupImagePath: 238 | ps4SaveDataImagePath: 239 | ps4SdkOverride: 240 | ps4BGMPath: 241 | ps4ShareFilePath: 242 | ps4ShareOverlayImagePath: 243 | ps4PrivacyGuardImagePath: 244 | ps4NPtitleDatPath: 245 | ps4RemotePlayKeyAssignment: -1 246 | ps4RemotePlayKeyMappingDir: 247 | ps4EnterButtonAssignment: 1 248 | ps4ApplicationParam1: 0 249 | ps4ApplicationParam2: 0 250 | ps4ApplicationParam3: 0 251 | ps4ApplicationParam4: 0 252 | ps4DownloadDataSize: 0 253 | ps4GarlicHeapSize: 2048 254 | ps4Passcode: PN2qmWqBlQ9wQj99nsQzldVI5ZuGXbEW 255 | ps4pnSessions: 1 256 | ps4pnPresence: 1 257 | ps4pnFriends: 1 258 | ps4pnGameCustomData: 1 259 | playerPrefsSupport: 0 260 | ps4ReprojectionSupport: 0 261 | ps4attribUserManagement: 0 262 | ps4attribMoveSupport: 0 263 | ps4attrib3DSupport: 0 264 | ps4attribShareSupport: 0 265 | ps4IncludedModules: [] 266 | monoEnv: 267 | psp2Splashimage: {fileID: 0} 268 | psp2NPTrophyPackPath: 269 | psp2NPSupportGBMorGJP: 0 270 | psp2NPAgeRating: 12 271 | psp2NPTitleDatPath: 272 | psp2NPCommsID: 273 | psp2NPCommunicationsID: 274 | psp2NPCommsPassphrase: 275 | psp2NPCommsSig: 276 | psp2ParamSfxPath: 277 | psp2ManualPath: 278 | psp2LiveAreaGatePath: 279 | psp2LiveAreaBackroundPath: 280 | psp2LiveAreaPath: 281 | psp2LiveAreaTrialPath: 282 | psp2PatchChangeInfoPath: 283 | psp2PatchOriginalPackage: 284 | psp2PackagePassword: RK5RhRXdCdG5nG5azdNMK66MuCV6GXi5 285 | psp2KeystoneFile: 286 | psp2MemoryExpansionMode: 0 287 | psp2DRMType: 0 288 | psp2StorageType: 0 289 | psp2MediaCapacity: 0 290 | psp2DLCConfigPath: 291 | psp2ThumbnailPath: 292 | psp2BackgroundPath: 293 | psp2SoundPath: 294 | psp2TrophyCommId: 295 | psp2TrophyPackagePath: 296 | psp2PackagedResourcesPath: 297 | psp2SaveDataQuota: 10240 298 | psp2ParentalLevel: 1 299 | psp2ShortTitle: Not Set 300 | psp2ContentID: IV0000-ABCD12345_00-0123456789ABCDEF 301 | psp2Category: 0 302 | psp2MasterVersion: 01.00 303 | psp2AppVersion: 01.00 304 | psp2TVBootMode: 0 305 | psp2EnterButtonAssignment: 2 306 | psp2TVDisableEmu: 0 307 | psp2AllowTwitterDialog: 1 308 | psp2Upgradable: 0 309 | psp2HealthWarning: 0 310 | psp2UseLibLocation: 0 311 | psp2InfoBarOnStartup: 0 312 | psp2InfoBarColor: 0 313 | psmSplashimage: {fileID: 0} 314 | spritePackerPolicy: 315 | scriptingDefineSymbols: {} 316 | metroPackageName: Head 317 | metroPackageLogo: 318 | metroPackageLogo140: 319 | metroPackageLogo180: 320 | metroPackageLogo240: 321 | metroPackageVersion: 322 | metroCertificatePath: 323 | metroCertificatePassword: 324 | metroCertificateSubject: 325 | metroCertificateIssuer: 326 | metroCertificateNotAfter: 0000000000000000 327 | metroApplicationDescription: Head 328 | metroStoreTileLogo80: 329 | metroStoreTileLogo: 330 | metroStoreTileLogo140: 331 | metroStoreTileLogo180: 332 | metroStoreTileWideLogo80: 333 | metroStoreTileWideLogo: 334 | metroStoreTileWideLogo140: 335 | metroStoreTileWideLogo180: 336 | metroStoreTileSmallLogo80: 337 | metroStoreTileSmallLogo: 338 | metroStoreTileSmallLogo140: 339 | metroStoreTileSmallLogo180: 340 | metroStoreSmallTile80: 341 | metroStoreSmallTile: 342 | metroStoreSmallTile140: 343 | metroStoreSmallTile180: 344 | metroStoreLargeTile80: 345 | metroStoreLargeTile: 346 | metroStoreLargeTile140: 347 | metroStoreLargeTile180: 348 | metroStoreSplashScreenImage: 349 | metroStoreSplashScreenImage140: 350 | metroStoreSplashScreenImage180: 351 | metroPhoneAppIcon: 352 | metroPhoneAppIcon140: 353 | metroPhoneAppIcon240: 354 | metroPhoneSmallTile: 355 | metroPhoneSmallTile140: 356 | metroPhoneSmallTile240: 357 | metroPhoneMediumTile: 358 | metroPhoneMediumTile140: 359 | metroPhoneMediumTile240: 360 | metroPhoneWideTile: 361 | metroPhoneWideTile140: 362 | metroPhoneWideTile240: 363 | metroPhoneSplashScreenImage: 364 | metroPhoneSplashScreenImage140: 365 | metroPhoneSplashScreenImage240: 366 | metroTileShortName: 367 | metroCommandLineArgsFile: 368 | metroTileShowName: 0 369 | metroMediumTileShowName: 0 370 | metroLargeTileShowName: 0 371 | metroWideTileShowName: 0 372 | metroDefaultTileSize: 1 373 | metroTileForegroundText: 1 374 | metroTileBackgroundColor: {r: 0, g: 0, b: 0, a: 1} 375 | metroSplashScreenBackgroundColor: {r: 0, g: 0, b: 0, a: 1} 376 | metroSplashScreenUseBackgroundColor: 0 377 | platformCapabilities: {} 378 | metroFTAName: 379 | metroFTAFileTypes: [] 380 | metroProtocolName: 381 | metroCompilationOverrides: 1 382 | blackberryDeviceAddress: 383 | blackberryDevicePassword: 384 | blackberryTokenPath: 385 | blackberryTokenExires: 386 | blackberryTokenAuthor: 387 | blackberryTokenAuthorId: 388 | blackberryCskPassword: 389 | blackberrySaveLogPath: 390 | blackberrySharedPermissions: 0 391 | blackberryCameraPermissions: 0 392 | blackberryGPSPermissions: 0 393 | blackberryDeviceIDPermissions: 0 394 | blackberryMicrophonePermissions: 0 395 | blackberryGamepadSupport: 0 396 | blackberryBuildId: 0 397 | blackberryLandscapeSplashScreen: {fileID: 0} 398 | blackberryPortraitSplashScreen: {fileID: 0} 399 | blackberrySquareSplashScreen: {fileID: 0} 400 | tizenProductDescription: 401 | tizenProductURL: 402 | tizenSigningProfileName: 403 | tizenGPSPermissions: 0 404 | tizenMicrophonePermissions: 0 405 | n3dsUseExtSaveData: 0 406 | n3dsCompressStaticMem: 1 407 | n3dsExtSaveDataNumber: 0x12345 408 | n3dsStackSize: 131072 409 | n3dsTargetPlatform: 2 410 | n3dsRegion: 7 411 | n3dsMediaSize: 0 412 | n3dsLogoStyle: 3 413 | n3dsTitle: GameName 414 | n3dsProductCode: 415 | n3dsApplicationId: 0xFF3FF 416 | stvDeviceAddress: 417 | stvProductDescription: 418 | stvProductAuthor: 419 | stvProductAuthorEmail: 420 | stvProductLink: 421 | stvProductCategory: 0 422 | XboxOneProductId: 423 | XboxOneUpdateKey: 424 | XboxOneSandboxId: 425 | XboxOneContentId: 426 | XboxOneTitleId: 427 | XboxOneSCId: 428 | XboxOneGameOsOverridePath: 429 | XboxOnePackagingOverridePath: 430 | XboxOneAppManifestOverridePath: 431 | XboxOnePackageEncryption: 0 432 | XboxOnePackageUpdateGranularity: 2 433 | XboxOneDescription: 434 | XboxOneIsContentPackage: 0 435 | XboxOneEnableGPUVariability: 0 436 | XboxOneSockets: {} 437 | XboxOneSplashScreen: {fileID: 0} 438 | XboxOneAllowedProductIds: [] 439 | XboxOnePersistentLocalStorageSize: 0 440 | intPropertyNames: 441 | - Android::ScriptingBackend 442 | - Standalone::ScriptingBackend 443 | - WebGL::ScriptingBackend 444 | - WebGL::audioCompressionFormat 445 | - WebGL::exceptionSupport 446 | - WebGL::memorySize 447 | - WebPlayer::ScriptingBackend 448 | - iOS::Architecture 449 | - iOS::EnableIncrementalBuildSupportForIl2cpp 450 | - iOS::ScriptingBackend 451 | Android::ScriptingBackend: 0 452 | Standalone::ScriptingBackend: 0 453 | WebGL::ScriptingBackend: 1 454 | WebGL::audioCompressionFormat: 4 455 | WebGL::exceptionSupport: 1 456 | WebGL::memorySize: 256 457 | WebPlayer::ScriptingBackend: 0 458 | iOS::Architecture: 2 459 | iOS::EnableIncrementalBuildSupportForIl2cpp: 0 460 | iOS::ScriptingBackend: 1 461 | boolPropertyNames: 462 | - WebGL::analyzeBuildSize 463 | - WebGL::dataCaching 464 | - WebGL::useEmbeddedResources 465 | - XboxOne::enus 466 | WebGL::analyzeBuildSize: 0 467 | WebGL::dataCaching: 0 468 | WebGL::useEmbeddedResources: 0 469 | XboxOne::enus: 1 470 | stringPropertyNames: 471 | - WebGL::emscriptenArgs 472 | - WebGL::template 473 | - additionalIl2CppArgs::additionalIl2CppArgs 474 | WebGL::emscriptenArgs: 475 | WebGL::template: APPLICATION:Default 476 | additionalIl2CppArgs::additionalIl2CppArgs: 477 | firstStreamedSceneWithResources: 0 478 | cloudProjectId: 479 | projectName: 480 | organizationId: 481 | cloudEnabled: 0 482 | -------------------------------------------------------------------------------- /ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 5.2.0p1 2 | m_StandardAssetsVersion: 0 3 | -------------------------------------------------------------------------------- /ProjectSettings/QualitySettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!47 &1 4 | QualitySettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 5 7 | m_CurrentQuality: 0 8 | m_QualitySettings: 9 | - serializedVersion: 2 10 | name: Good 11 | pixelLightCount: 2 12 | shadows: 2 13 | shadowResolution: 1 14 | shadowProjection: 1 15 | shadowCascades: 2 16 | shadowDistance: 40 17 | shadowNearPlaneOffset: 2 18 | shadowCascade2Split: .333333343 19 | shadowCascade4Split: {x: .0666666701, y: .200000003, z: .466666669} 20 | blendWeights: 2 21 | textureQuality: 0 22 | anisotropicTextures: 1 23 | antiAliasing: 0 24 | softParticles: 0 25 | softVegetation: 1 26 | realtimeReflectionProbes: 1 27 | billboardsFaceCameraPosition: 1 28 | vSyncCount: 1 29 | lodBias: 1 30 | maximumLODLevel: 0 31 | particleRaycastBudget: 256 32 | excludedTargetPlatforms: [] 33 | m_PerPlatformDefaultQuality: 34 | Android: 0 35 | BlackBerry: 0 36 | GLES Emulation: 0 37 | Nintendo 3DS: 0 38 | PS3: 0 39 | PS4: 0 40 | PSM: 0 41 | PSP2: 0 42 | Samsung TV: 0 43 | Standalone: 0 44 | Tizen: 0 45 | WP8: 0 46 | Web: 0 47 | WebGL: 0 48 | Wii U: 0 49 | Windows Store Apps: 0 50 | XBOX360: 0 51 | XboxOne: 0 52 | iPhone: 0 53 | -------------------------------------------------------------------------------- /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/UnityAnalyticsManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!303 &1 4 | UnityAnalyticsManager: 5 | m_ObjectHideFlags: 0 6 | m_Enabled: 0 7 | m_InitializeOnStartup: 1 8 | m_TestMode: 0 9 | m_TestEventUrl: 10 | m_TestConfigUrl: 11 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Infinite Scan 3D Head Model 2 | =========================== 3 | 4 | This is a 3D scan model of a human head, which was originally created by Lee 5 | Perry-Smith. You can download the Unity package file from [here][Package]. 6 | 7 | ![screen shot][Sample] 8 | 9 | All the model and image files in this package are provided under [the Creative 10 | Commons Attribution 3.0 Unported][CC] license. 11 | 12 | The original scan data was created by Lee Perry-Smith. [Morgan McGuire][McGuire] 13 | and Guedis Cardenas converted it to convenient formats. Keijiro Takahashi did 14 | some small tweaks to be properly imported into Unity. 15 | 16 | Please see [the license file][License] for further details. 17 | 18 | [Package]: https://github.com/keijiro/InfiniteScan/raw/master/InfiniteScan.unitypackage 19 | [Sample]: https://40.media.tumblr.com/d83d49be301b44c72ed44281e30695df/tumblr_nuy99prWhY1qio469o1_400.png 20 | [CC]: https://creativecommons.org/licenses/by/3.0/ 21 | [McGuire]: http://graphics.cs.williams.edu/data/meshes.xml 22 | [License]: https://github.com/keijiro/InfiniteScan/blob/master/Assets/InfiniteScan/License.txt 23 | --------------------------------------------------------------------------------