├── .gitattributes ├── .gitignore ├── Assets ├── Klak.meta ├── Klak │ ├── Math.meta │ ├── Math │ │ ├── NoiseGenerator.cs │ │ ├── NoiseGenerator.cs.meta │ │ ├── Perlin.cs │ │ ├── Perlin.cs.meta │ │ ├── XXHash.cs │ │ └── XXHash.cs.meta │ ├── Timeline.meta │ └── Timeline │ │ ├── ProceduralMotion.meta │ │ └── ProceduralMotion │ │ ├── BrownianMotion.cs │ │ ├── BrownianMotion.cs.meta │ │ ├── BrownianMotionPlayable.cs │ │ ├── BrownianMotionPlayable.cs.meta │ │ ├── ConstantMotion.cs │ │ ├── ConstantMotion.cs.meta │ │ ├── ConstantMotionPlayable.cs │ │ ├── ConstantMotionPlayable.cs.meta │ │ ├── CyclicMotion.cs │ │ ├── CyclicMotion.cs.meta │ │ ├── CyclicMotionPlayable.cs │ │ ├── CyclicMotionPlayable.cs.meta │ │ ├── Editor.meta │ │ ├── Editor │ │ ├── BrownianMotionEditor.cs │ │ ├── BrownianMotionEditor.cs.meta │ │ ├── ConstantMotionEditor.cs │ │ ├── ConstantMotionEditor.cs.meta │ │ ├── CyclicMotionEditor.cs │ │ ├── CyclicMotionEditor.cs.meta │ │ ├── JitterMotionEditor.cs │ │ └── JitterMotionEditor.cs.meta │ │ ├── JitterMotion.cs │ │ ├── JitterMotion.cs.meta │ │ ├── JitterMotionPlayable.cs │ │ ├── JitterMotionPlayable.cs.meta │ │ ├── ProceduralMotionMixer.cs │ │ ├── ProceduralMotionMixer.cs.meta │ │ ├── ProceduralMotionTrack.cs │ │ └── ProceduralMotionTrack.cs.meta ├── Test.meta ├── Test.unity ├── Test.unity.meta ├── Test │ ├── Test.mat │ ├── Test.mat.meta │ ├── Test.obj │ ├── Test.obj.meta │ ├── Test.playable │ └── Test.playable.meta ├── Text2Man.meta └── Text2Man │ ├── BlobMan.obj │ ├── BlobMan.obj.meta │ ├── NoiseBlobRenderer.cs │ ├── NoiseBlobRenderer.cs.meta │ ├── SimplexNoise3D.hlsl │ ├── SimplexNoise3D.hlsl.meta │ ├── Text2Man.shader │ └── Text2Man.shader.meta ├── Extras ├── Beta.fbx ├── BlobMan.hiplc └── Text.hiplc ├── ProjectSettings ├── AudioManager.asset ├── ClusterInputManager.asset ├── DynamicsManager.asset ├── EditorBuildSettings.asset ├── EditorSettings.asset ├── GraphicsSettings.asset ├── InputManager.asset ├── NavMeshAreas.asset ├── NetworkManager.asset ├── Physics2DSettings.asset ├── ProjectSettings.asset ├── ProjectVersion.txt ├── QualitySettings.asset ├── TagManager.asset ├── TimeManager.asset └── UnityConnectSettings.asset └── README.md /.gitattributes: -------------------------------------------------------------------------------- 1 | * -text 2 | 3 | *.cs text eol=lf diff=csharp 4 | *.shader text eol=lf 5 | *.cginc text eol=lf 6 | *.hlsl text eol=lf 7 | *.compute text eol=lf 8 | 9 | *.meta text eol=lf 10 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Windows 2 | Thumbs.db 3 | Desktop.ini 4 | 5 | # macOS 6 | .DS_Store 7 | 8 | # Vim 9 | *.swp 10 | 11 | # Unity 12 | /Library 13 | /Temp 14 | /UnityPackageManager 15 | 16 | /Extras/backup 17 | -------------------------------------------------------------------------------- /Assets/Klak.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d80c83752a75c40649d0a3c49a424bd4 3 | folderAsset: yes 4 | timeCreated: 1452473625 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Klak/Math.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fb9dc05a19a2fad4caf8b1a87a2c484c 3 | folderAsset: yes 4 | timeCreated: 1452843589 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Klak/Math/NoiseGenerator.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Klak - Utilities for creative coding with Unity 3 | // 4 | // Copyright (C) 2016 Keijiro Takahashi 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy 7 | // of this software and associated documentation files (the "Software"), to deal 8 | // in the Software without restriction, including without limitation the rights 9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | // copies of the Software, and to permit persons to whom the Software is 11 | // furnished to do so, subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in 14 | // all 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, 18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | // THE SOFTWARE. 23 | // 24 | using UnityEngine; 25 | 26 | namespace Klak.Math 27 | { 28 | /// Noise generator that provides Vector3/Quaternion values 29 | struct NoiseGenerator 30 | { 31 | #region Private variables 32 | 33 | const float _fbmNorm = 1 / 0.75f; 34 | 35 | XXHash _hash1; 36 | XXHash _hash2; 37 | XXHash _hash3; 38 | 39 | int _fractal; 40 | float _frequency; 41 | float _time; 42 | 43 | #endregion 44 | 45 | #region Constructors 46 | 47 | public NoiseGenerator(float frequency) 48 | { 49 | _hash1 = XXHash.RandomHash; 50 | _hash2 = XXHash.RandomHash; 51 | _hash3 = XXHash.RandomHash; 52 | _fractal = 2; 53 | _frequency = frequency; 54 | _time = 0; 55 | } 56 | 57 | public NoiseGenerator(int seed, float frequency) 58 | { 59 | _hash1 = new XXHash(seed); 60 | _hash2 = new XXHash(seed ^ 0x1327495a); 61 | _hash3 = new XXHash(seed ^ 0x3cbe84f2); 62 | _fractal = 2; 63 | _frequency = frequency; 64 | _time = 0; 65 | } 66 | 67 | #endregion 68 | 69 | #region Public Properties And Methods 70 | 71 | public int FractalLevel { 72 | get { return _fractal; } 73 | set { _fractal = value; } 74 | } 75 | 76 | public float Frequency { 77 | get { return _frequency; } 78 | set { _frequency = value; } 79 | } 80 | 81 | public void Step() 82 | { 83 | _time += _frequency * Time.deltaTime; 84 | } 85 | 86 | #endregion 87 | 88 | #region Noise Functions 89 | 90 | public float Value01(int seed2) 91 | { 92 | var i1 = _hash1.Range(-100.0f, 100.0f, seed2); 93 | return Perlin.Fbm(_time + i1, _fractal) * _fbmNorm * 0.5f + 0.5f; 94 | } 95 | 96 | public float Value(int seed2) 97 | { 98 | var i1 = _hash1.Range(-100.0f, 100.0f, seed2); 99 | return Perlin.Fbm(_time + i1, _fractal) * _fbmNorm; 100 | } 101 | 102 | public Vector3 Vector(int seed2) 103 | { 104 | var i1 = _hash1.Range(-100.0f, 100.0f, seed2); 105 | var i2 = _hash2.Range(-100.0f, 100.0f, seed2); 106 | var i3 = _hash3.Range(-100.0f, 100.0f, seed2); 107 | return new Vector3( 108 | Perlin.Fbm(_time + i1, _fractal) * _fbmNorm, 109 | Perlin.Fbm(_time + i2, _fractal) * _fbmNorm, 110 | Perlin.Fbm(_time + i3, _fractal) * _fbmNorm); 111 | } 112 | 113 | public Quaternion Rotation(int seed2, float angle) 114 | { 115 | var i1 = _hash1.Range(-100.0f, 100.0f, seed2); 116 | var i2 = _hash2.Range(-100.0f, 100.0f, seed2); 117 | var i3 = _hash3.Range(-100.0f, 100.0f, seed2); 118 | return Quaternion.Euler( 119 | Perlin.Fbm(_time + i1, _fractal) * _fbmNorm * angle, 120 | Perlin.Fbm(_time + i2, _fractal) * _fbmNorm * angle, 121 | Perlin.Fbm(_time + i3, _fractal) * _fbmNorm * angle); 122 | } 123 | 124 | public Quaternion Rotation(int seed2, float rx, float ry, float rz) 125 | { 126 | var i1 = _hash1.Range(-100.0f, 100.0f, seed2); 127 | var i2 = _hash2.Range(-100.0f, 100.0f, seed2); 128 | var i3 = _hash3.Range(-100.0f, 100.0f, seed2); 129 | return Quaternion.Euler( 130 | Perlin.Fbm(_time + i1, _fractal) * _fbmNorm * rx, 131 | Perlin.Fbm(_time + i2, _fractal) * _fbmNorm * ry, 132 | Perlin.Fbm(_time + i3, _fractal) * _fbmNorm * rz); 133 | } 134 | 135 | #endregion 136 | } 137 | } 138 | -------------------------------------------------------------------------------- /Assets/Klak/Math/NoiseGenerator.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 02dfbe70c75094fe1973194746bdef09 3 | timeCreated: 1452489764 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/Klak/Math/Perlin.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Klak - Utilities for creative coding with Unity 3 | // 4 | // Copyright (C) 2016 Keijiro Takahashi 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy 7 | // of this software and associated documentation files (the "Software"), to deal 8 | // in the Software without restriction, including without limitation the rights 9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | // copies of the Software, and to permit persons to whom the Software is 11 | // furnished to do so, subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in 14 | // all 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, 18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | // THE SOFTWARE. 23 | // 24 | 25 | // 26 | // This script is based on the original implementation by Ken Perlin 27 | // http://mrl.nyu.edu/~perlin/noise/ 28 | // 29 | 30 | using UnityEngine; 31 | 32 | namespace Klak.Math 33 | { 34 | public static class Perlin 35 | { 36 | #region Noise functions 37 | 38 | public static float Noise(float x) 39 | { 40 | var X = Mathf.FloorToInt(x) & 0xff; 41 | x -= Mathf.Floor(x); 42 | var u = Fade(x); 43 | return Lerp(u, Grad(perm[X], x), Grad(perm[X+1], x-1)) * 2; 44 | } 45 | 46 | public static float Noise(float x, float y) 47 | { 48 | var X = Mathf.FloorToInt(x) & 0xff; 49 | var Y = Mathf.FloorToInt(y) & 0xff; 50 | x -= Mathf.Floor(x); 51 | y -= Mathf.Floor(y); 52 | var u = Fade(x); 53 | var v = Fade(y); 54 | var A = (perm[X ] + Y) & 0xff; 55 | var B = (perm[X+1] + Y) & 0xff; 56 | return Lerp(v, Lerp(u, Grad(perm[A ], x, y ), Grad(perm[B ], x-1, y )), 57 | Lerp(u, Grad(perm[A+1], x, y-1), Grad(perm[B+1], x-1, y-1))); 58 | } 59 | 60 | public static float Noise(Vector2 coord) 61 | { 62 | return Noise(coord.x, coord.y); 63 | } 64 | 65 | public static float Noise(float x, float y, float z) 66 | { 67 | var X = Mathf.FloorToInt(x) & 0xff; 68 | var Y = Mathf.FloorToInt(y) & 0xff; 69 | var Z = Mathf.FloorToInt(z) & 0xff; 70 | x -= Mathf.Floor(x); 71 | y -= Mathf.Floor(y); 72 | z -= Mathf.Floor(z); 73 | var u = Fade(x); 74 | var v = Fade(y); 75 | var w = Fade(z); 76 | var A = (perm[X ] + Y) & 0xff; 77 | var B = (perm[X+1] + Y) & 0xff; 78 | var AA = (perm[A ] + Z) & 0xff; 79 | var BA = (perm[B ] + Z) & 0xff; 80 | var AB = (perm[A+1] + Z) & 0xff; 81 | var BB = (perm[B+1] + Z) & 0xff; 82 | return Lerp(w, Lerp(v, Lerp(u, Grad(perm[AA ], x, y , z ), Grad(perm[BA ], x-1, y , z )), 83 | Lerp(u, Grad(perm[AB ], x, y-1, z ), Grad(perm[BB ], x-1, y-1, z ))), 84 | Lerp(v, Lerp(u, Grad(perm[AA+1], x, y , z-1), Grad(perm[BA+1], x-1, y , z-1)), 85 | Lerp(u, Grad(perm[AB+1], x, y-1, z-1), Grad(perm[BB+1], x-1, y-1, z-1)))); 86 | } 87 | 88 | public static float Noise(Vector3 coord) 89 | { 90 | return Noise(coord.x, coord.y, coord.z); 91 | } 92 | 93 | #endregion 94 | 95 | #region fBm functions 96 | 97 | public static float Fbm(float x, int octave) 98 | { 99 | var f = 0.0f; 100 | var w = 0.5f; 101 | for (var i = 0; i < octave; i++) { 102 | f += w * Noise(x); 103 | x *= 2.0f; 104 | w *= 0.5f; 105 | } 106 | return f; 107 | } 108 | 109 | public static float Fbm(Vector2 coord, int octave) 110 | { 111 | var f = 0.0f; 112 | var w = 0.5f; 113 | for (var i = 0; i < octave; i++) { 114 | f += w * Noise(coord); 115 | coord *= 2.0f; 116 | w *= 0.5f; 117 | } 118 | return f; 119 | } 120 | 121 | public static float Fbm(float x, float y, int octave) 122 | { 123 | return Fbm(new Vector2(x, y), octave); 124 | } 125 | 126 | public static float Fbm(Vector3 coord, int octave) 127 | { 128 | var f = 0.0f; 129 | var w = 0.5f; 130 | for (var i = 0; i < octave; i++) { 131 | f += w * Noise(coord); 132 | coord *= 2.0f; 133 | w *= 0.5f; 134 | } 135 | return f; 136 | } 137 | 138 | public static float Fbm(float x, float y, float z, int octave) 139 | { 140 | return Fbm(new Vector3(x, y, z), octave); 141 | } 142 | 143 | #endregion 144 | 145 | #region Private functions 146 | 147 | static float Fade(float t) 148 | { 149 | return t * t * t * (t * (t * 6 - 15) + 10); 150 | } 151 | 152 | static float Lerp(float t, float a, float b) 153 | { 154 | return a + t * (b - a); 155 | } 156 | 157 | static float Grad(int hash, float x) 158 | { 159 | return (hash & 1) == 0 ? x : -x; 160 | } 161 | 162 | static float Grad(int hash, float x, float y) 163 | { 164 | return ((hash & 1) == 0 ? x : -x) + ((hash & 2) == 0 ? y : -y); 165 | } 166 | 167 | static float Grad(int hash, float x, float y, float z) 168 | { 169 | var h = hash & 15; 170 | var u = h < 8 ? x : y; 171 | var v = h < 4 ? y : (h == 12 || h == 14 ? x : z); 172 | return ((h & 1) == 0 ? u : -u) + ((h & 2) == 0 ? v : -v); 173 | } 174 | 175 | static int[] perm = { 176 | 151,160,137,91,90,15, 177 | 131,13,201,95,96,53,194,233,7,225,140,36,103,30,69,142,8,99,37,240,21,10,23, 178 | 190, 6,148,247,120,234,75,0,26,197,62,94,252,219,203,117,35,11,32,57,177,33, 179 | 88,237,149,56,87,174,20,125,136,171,168, 68,175,74,165,71,134,139,48,27,166, 180 | 77,146,158,231,83,111,229,122,60,211,133,230,220,105,92,41,55,46,245,40,244, 181 | 102,143,54, 65,25,63,161, 1,216,80,73,209,76,132,187,208, 89,18,169,200,196, 182 | 135,130,116,188,159,86,164,100,109,198,173,186, 3,64,52,217,226,250,124,123, 183 | 5,202,38,147,118,126,255,82,85,212,207,206,59,227,47,16,58,17,182,189,28,42, 184 | 223,183,170,213,119,248,152, 2,44,154,163, 70,221,153,101,155,167, 43,172,9, 185 | 129,22,39,253, 19,98,108,110,79,113,224,232,178,185, 112,104,218,246,97,228, 186 | 251,34,242,193,238,210,144,12,191,179,162,241, 81,51,145,235,249,14,239,107, 187 | 49,192,214, 31,181,199,106,157,184, 84,204,176,115,121,50,45,127, 4,150,254, 188 | 138,236,205,93,222,114,67,29,24,72,243,141,128,195,78,66,215,61,156,180, 189 | 151 190 | }; 191 | 192 | #endregion 193 | } 194 | } 195 | -------------------------------------------------------------------------------- /Assets/Klak/Math/Perlin.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9b05ef48e04bc4e4385bbbecb990f874 3 | timeCreated: 1452487793 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/Klak/Math/XXHash.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Klak - Utilities for creative coding with Unity 3 | // 4 | // Copyright (C) 2016 Keijiro Takahashi 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy 7 | // of this software and associated documentation files (the "Software"), to deal 8 | // in the Software without restriction, including without limitation the rights 9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | // copies of the Software, and to permit persons to whom the Software is 11 | // furnished to do so, subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in 14 | // all 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, 18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | // THE SOFTWARE. 23 | // 24 | 25 | namespace Klak.Math 26 | { 27 | /// xxHash algorithm 28 | public struct XXHash 29 | { 30 | #region Private Members 31 | 32 | const uint PRIME32_1 = 2654435761U; 33 | const uint PRIME32_2 = 2246822519U; 34 | const uint PRIME32_3 = 3266489917U; 35 | const uint PRIME32_4 = 668265263U; 36 | const uint PRIME32_5 = 374761393U; 37 | 38 | static uint rotl32(uint x, int r) 39 | { 40 | return (x << r) | (x >> 32 - r); 41 | } 42 | 43 | #endregion 44 | 45 | #region Static Functions 46 | 47 | public static uint GetHash(int data, int seed) 48 | { 49 | uint h32 = (uint)seed + PRIME32_5; 50 | h32 += 4U; 51 | h32 += (uint)data * PRIME32_3; 52 | h32 = rotl32(h32, 17) * PRIME32_4; 53 | h32 ^= h32 >> 15; 54 | h32 *= PRIME32_2; 55 | h32 ^= h32 >> 13; 56 | h32 *= PRIME32_3; 57 | h32 ^= h32 >> 16; 58 | return h32; 59 | } 60 | 61 | #endregion 62 | 63 | #region Struct Implementation 64 | 65 | static int _counter; 66 | 67 | public int seed; 68 | 69 | public static XXHash RandomHash { 70 | get { 71 | return new XXHash((int)XXHash.GetHash(0xcafe, _counter++)); 72 | } 73 | } 74 | 75 | public XXHash(int seed) 76 | { 77 | this.seed = seed; 78 | } 79 | 80 | public uint GetHash(int data) 81 | { 82 | return GetHash(data, seed); 83 | } 84 | 85 | public int Range(int max, int data) 86 | { 87 | return (int)GetHash(data) % max; 88 | } 89 | 90 | public int Range(int min, int max, int data) 91 | { 92 | return (int)GetHash(data) % (max - min) + min; 93 | } 94 | 95 | public float Value01(int data) 96 | { 97 | return GetHash(data) / (float)uint.MaxValue; 98 | } 99 | 100 | public float Range(float min, float max, int data) 101 | { 102 | return Value01(data) * (max - min) + min; 103 | } 104 | 105 | #endregion 106 | } 107 | } 108 | -------------------------------------------------------------------------------- /Assets/Klak/Math/XXHash.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6508314c510884ced8a4be226dea5495 3 | timeCreated: 1452488971 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/Klak/Timeline.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a44fe32d47040fa42b6d28ad00616e6e 3 | folderAsset: yes 4 | timeCreated: 1504324340 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Klak/Timeline/ProceduralMotion.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7bcf5ec3d24a5d346ac3478f8f358d05 3 | folderAsset: yes 4 | timeCreated: 1514164283 5 | licenseType: Pro 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/Klak/Timeline/ProceduralMotion/BrownianMotion.cs: -------------------------------------------------------------------------------- 1 | // Custom timeline track for procedural motion 2 | // https://github.com/keijiro/ProceduralMotionTrack 3 | 4 | using UnityEngine; 5 | using UnityEngine.Playables; 6 | using UnityEngine.Timeline; 7 | 8 | namespace Klak.Timeline 9 | { 10 | [System.Serializable] 11 | public class BrownianMotion : PlayableAsset, ITimelineClipAsset 12 | { 13 | #region Serialized variables 14 | 15 | public BrownianMotionPlayable template = new BrownianMotionPlayable(); 16 | 17 | #endregion 18 | 19 | #region ITimelineClipAsset implementation 20 | 21 | public ClipCaps clipCaps { get { return ClipCaps.Blending | ClipCaps.Extrapolation; } } 22 | 23 | #endregion 24 | 25 | #region PlayableAsset overrides 26 | 27 | public override Playable CreatePlayable(PlayableGraph graph, GameObject go) 28 | { 29 | return ScriptPlayable.Create(graph, template); 30 | } 31 | 32 | #endregion 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /Assets/Klak/Timeline/ProceduralMotion/BrownianMotion.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a9ca4d0ec3eaf424181397a9f2f89180 3 | timeCreated: 1504321838 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/Klak/Timeline/ProceduralMotion/BrownianMotionPlayable.cs: -------------------------------------------------------------------------------- 1 | // Custom timeline track for procedural motion 2 | // https://github.com/keijiro/ProceduralMotionTrack 3 | 4 | using UnityEngine; 5 | using UnityEngine.Playables; 6 | using Klak.Math; 7 | 8 | namespace Klak.Timeline 9 | { 10 | [System.Serializable] 11 | public class BrownianMotionPlayable : PlayableBehaviour 12 | { 13 | #region Serialized variables 14 | 15 | public Vector3 positionAmount = Vector3.one; 16 | public Vector3 rotationAmount = Vector3.one * 10; 17 | public float frequency = 1; 18 | public int octaves = 2; 19 | public int randomSeed; 20 | 21 | #endregion 22 | 23 | #region PlayableBehaviour overrides 24 | 25 | Vector3 _positionOffset; 26 | Vector3 _rotationOffset; 27 | 28 | public override void OnPlayableCreate(Playable playable) 29 | { 30 | var hash = new XXHash(randomSeed); 31 | 32 | _positionOffset = new Vector3( 33 | hash.Range(-1e3f, 1e3f, 0), 34 | hash.Range(-1e3f, 1e3f, 1), 35 | hash.Range(-1e3f, 1e3f, 2) 36 | ); 37 | 38 | _rotationOffset = new Vector3( 39 | hash.Range(-1e3f, 1e3f, 0), 40 | hash.Range(-1e3f, 1e3f, 1), 41 | hash.Range(-1e3f, 1e3f, 2) 42 | ); 43 | } 44 | 45 | public override void ProcessFrame(Playable playable, FrameData info, object playerData) 46 | { 47 | var target = playerData as Transform; 48 | if (target == null) return; 49 | 50 | var t = (float)playable.GetTime() * frequency; 51 | var w = info.weight / 0.75f; // normalized weight 52 | 53 | var np = new Vector3( 54 | Perlin.Fbm(_positionOffset.x + t, octaves), 55 | Perlin.Fbm(_positionOffset.y + t, octaves), 56 | Perlin.Fbm(_positionOffset.z + t, octaves) 57 | ); 58 | 59 | var nr = new Vector3( 60 | Perlin.Fbm(_rotationOffset.x + t, octaves), 61 | Perlin.Fbm(_rotationOffset.y + t, octaves), 62 | Perlin.Fbm(_rotationOffset.z + t, octaves) 63 | ); 64 | 65 | np = Vector3.Scale(np, positionAmount) * w; 66 | nr = Vector3.Scale(nr, rotationAmount) * w; 67 | 68 | target.localPosition += np; 69 | target.localRotation = Quaternion.Euler(nr) * target.localRotation; 70 | } 71 | 72 | #endregion 73 | } 74 | } 75 | -------------------------------------------------------------------------------- /Assets/Klak/Timeline/ProceduralMotion/BrownianMotionPlayable.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c29528d629627974795ec203770ff525 3 | timeCreated: 1504322718 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/Klak/Timeline/ProceduralMotion/ConstantMotion.cs: -------------------------------------------------------------------------------- 1 | // Custom timeline track for procedural motion 2 | // https://github.com/keijiro/ProceduralMotionTrack 3 | 4 | using UnityEngine; 5 | using UnityEngine.Playables; 6 | using UnityEngine.Timeline; 7 | 8 | namespace Klak.Timeline 9 | { 10 | [System.Serializable] 11 | public class ConstantMotion : PlayableAsset, ITimelineClipAsset 12 | { 13 | #region Serialized variables 14 | 15 | public ConstantMotionPlayable template = new ConstantMotionPlayable(); 16 | 17 | #endregion 18 | 19 | #region ITimelineClipAsset implementation 20 | 21 | public ClipCaps clipCaps { get { return ClipCaps.Blending | ClipCaps.Extrapolation; } } 22 | 23 | #endregion 24 | 25 | #region PlayableAsset overrides 26 | 27 | public override Playable CreatePlayable(PlayableGraph graph, GameObject go) 28 | { 29 | return ScriptPlayable.Create(graph, template); 30 | } 31 | 32 | #endregion 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /Assets/Klak/Timeline/ProceduralMotion/ConstantMotion.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5692ae3f7b3460943a1e33ff3dcecab6 3 | timeCreated: 1513872438 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Assets/Klak/Timeline/ProceduralMotion/ConstantMotionPlayable.cs: -------------------------------------------------------------------------------- 1 | // Custom timeline track for procedural motion 2 | // https://github.com/keijiro/ProceduralMotionTrack 3 | 4 | using UnityEngine; 5 | using UnityEngine.Playables; 6 | 7 | namespace Klak.Timeline 8 | { 9 | [System.Serializable] 10 | public class ConstantMotionPlayable : PlayableBehaviour 11 | { 12 | #region Serialized variables 13 | 14 | public Vector3 position = Vector3.zero; 15 | public Vector3 rotation = Vector3.zero; 16 | 17 | #endregion 18 | 19 | #region PlayableBehaviour overrides 20 | 21 | public override void ProcessFrame(Playable playable, FrameData info, object playerData) 22 | { 23 | var target = playerData as Transform; 24 | if (target != null) 25 | { 26 | target.localPosition += position * info.weight; 27 | target.localRotation = Quaternion.Slerp(target.localRotation, Quaternion.Euler(rotation), info.weight); 28 | } 29 | } 30 | 31 | #endregion 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /Assets/Klak/Timeline/ProceduralMotion/ConstantMotionPlayable.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f7b40b27afc40854780a13d5077be6b0 3 | timeCreated: 1513872438 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Assets/Klak/Timeline/ProceduralMotion/CyclicMotion.cs: -------------------------------------------------------------------------------- 1 | // Custom timeline track for procedural motion 2 | // https://github.com/keijiro/ProceduralMotionTrack 3 | 4 | using UnityEngine; 5 | using UnityEngine.Playables; 6 | using UnityEngine.Timeline; 7 | 8 | namespace Klak.Timeline 9 | { 10 | [System.Serializable] 11 | public class CyclicMotion : PlayableAsset, ITimelineClipAsset 12 | { 13 | #region Serialized variables 14 | 15 | public CyclicMotionPlayable template = new CyclicMotionPlayable(); 16 | 17 | #endregion 18 | 19 | #region ITimelineClipAsset implementation 20 | 21 | public ClipCaps clipCaps { get { return ClipCaps.Blending | ClipCaps.Extrapolation; } } 22 | 23 | #endregion 24 | 25 | #region PlayableAsset overrides 26 | 27 | public override Playable CreatePlayable(PlayableGraph graph, GameObject go) 28 | { 29 | return ScriptPlayable.Create(graph, template); 30 | } 31 | 32 | #endregion 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /Assets/Klak/Timeline/ProceduralMotion/CyclicMotion.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d96755c472a2dd049bb9e5e3ab05515d 3 | timeCreated: 1513926359 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Assets/Klak/Timeline/ProceduralMotion/CyclicMotionPlayable.cs: -------------------------------------------------------------------------------- 1 | // Custom timeline track for procedural motion 2 | // https://github.com/keijiro/ProceduralMotionTrack 3 | 4 | using UnityEngine; 5 | using UnityEngine.Playables; 6 | 7 | namespace Klak.Timeline 8 | { 9 | [System.Serializable] 10 | public class CyclicMotionPlayable : PlayableBehaviour 11 | { 12 | #region Serialized variables 13 | 14 | public Vector3 positionAmount = Vector3.one; 15 | public Vector3 positionFrequency = Vector3.one; 16 | public Vector3 rotationAmount = Vector3.one * 10; 17 | public Vector3 rotationFrequency = Vector3.one; 18 | 19 | #endregion 20 | 21 | #region PlayableBehaviour overrides 22 | 23 | public override void ProcessFrame(Playable playable, FrameData info, object playerData) 24 | { 25 | var target = playerData as Transform; 26 | if (target == null) return; 27 | 28 | var t = (float)playable.GetTime(); 29 | var w = info.weight; 30 | 31 | var p = new Vector3( 32 | Mathf.Sin(positionFrequency.x * t), 33 | Mathf.Sin(positionFrequency.y * t), 34 | Mathf.Sin(positionFrequency.z * t) 35 | ); 36 | 37 | var r = new Vector3( 38 | Mathf.Sin(rotationFrequency.x * t), 39 | Mathf.Sin(rotationFrequency.y * t), 40 | Mathf.Sin(rotationFrequency.z * t) 41 | ); 42 | 43 | p = Vector3.Scale(p, positionAmount) * w; 44 | r = Vector3.Scale(r, rotationAmount) * w; 45 | 46 | target.localPosition += p; 47 | target.localRotation = Quaternion.Euler(r) * target.localRotation; 48 | } 49 | 50 | #endregion 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /Assets/Klak/Timeline/ProceduralMotion/CyclicMotionPlayable.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1d9845015e5816d429da182e5ccbe480 3 | timeCreated: 1513926306 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Assets/Klak/Timeline/ProceduralMotion/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5336fc327e5316044a9a8c9382e929df 3 | folderAsset: yes 4 | timeCreated: 1514167947 5 | licenseType: Pro 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/Klak/Timeline/ProceduralMotion/Editor/BrownianMotionEditor.cs: -------------------------------------------------------------------------------- 1 | // Custom timeline track for procedural motion 2 | // https://github.com/keijiro/ProceduralMotionTrack 3 | 4 | using UnityEditor; 5 | using UnityEngine; 6 | using UnityEngine.Playables; 7 | 8 | namespace Klak.Timeline 9 | { 10 | [CustomEditor(typeof(BrownianMotion))] 11 | class BrownianMotionEditor : Editor 12 | { 13 | SerializedProperty _positionAmount; 14 | SerializedProperty _rotationAmount; 15 | SerializedProperty _frequency; 16 | SerializedProperty _octaves; 17 | SerializedProperty _randomSeed; 18 | 19 | static class Styles 20 | { 21 | public static readonly GUIContent position = new GUIContent("Position"); 22 | public static readonly GUIContent rotation = new GUIContent("Rotation"); 23 | } 24 | 25 | void OnEnable() 26 | { 27 | _positionAmount = serializedObject.FindProperty("template.positionAmount"); 28 | _rotationAmount = serializedObject.FindProperty("template.rotationAmount"); 29 | _frequency = serializedObject.FindProperty("template.frequency"); 30 | _octaves = serializedObject.FindProperty("template.octaves"); 31 | _randomSeed = serializedObject.FindProperty("template.randomSeed"); 32 | } 33 | 34 | public override void OnInspectorGUI() 35 | { 36 | serializedObject.Update(); 37 | 38 | EditorGUILayout.LabelField("Noise Amount"); 39 | EditorGUI.indentLevel++; 40 | EditorGUILayout.PropertyField(_positionAmount, Styles.position); 41 | EditorGUILayout.PropertyField(_rotationAmount, Styles.rotation); 42 | EditorGUI.indentLevel--; 43 | 44 | EditorGUILayout.PropertyField(_frequency); 45 | EditorGUILayout.IntSlider(_octaves, 1, 9); 46 | EditorGUILayout.PropertyField(_randomSeed); 47 | 48 | serializedObject.ApplyModifiedProperties(); 49 | } 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /Assets/Klak/Timeline/ProceduralMotion/Editor/BrownianMotionEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3b8f3f328ca9287498815c2d67441740 3 | timeCreated: 1504318886 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/Klak/Timeline/ProceduralMotion/Editor/ConstantMotionEditor.cs: -------------------------------------------------------------------------------- 1 | // Custom timeline track for procedural motion 2 | // https://github.com/keijiro/ProceduralMotionTrack 3 | 4 | using UnityEditor; 5 | using UnityEngine; 6 | using UnityEngine.Playables; 7 | 8 | namespace Klak.Timeline 9 | { 10 | [CustomEditor(typeof(ConstantMotion))] 11 | class ConstantMotionEditor : Editor 12 | { 13 | SerializedProperty _position; 14 | SerializedProperty _rotation; 15 | 16 | void OnEnable() 17 | { 18 | _position = serializedObject.FindProperty("template.position"); 19 | _rotation = serializedObject.FindProperty("template.rotation"); 20 | } 21 | 22 | public override void OnInspectorGUI() 23 | { 24 | serializedObject.Update(); 25 | 26 | EditorGUILayout.PropertyField(_position); 27 | EditorGUILayout.PropertyField(_rotation); 28 | 29 | serializedObject.ApplyModifiedProperties(); 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /Assets/Klak/Timeline/ProceduralMotion/Editor/ConstantMotionEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4ccd3b6a87750274492a4fbf5a5668e7 3 | timeCreated: 1513920413 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Assets/Klak/Timeline/ProceduralMotion/Editor/CyclicMotionEditor.cs: -------------------------------------------------------------------------------- 1 | // Custom timeline track for procedural motion 2 | // https://github.com/keijiro/ProceduralMotionTrack 3 | 4 | using UnityEditor; 5 | using UnityEngine; 6 | using UnityEngine.Playables; 7 | 8 | namespace Klak.Timeline 9 | { 10 | [CustomEditor(typeof(CyclicMotion))] 11 | class CyclicMotionEditor : Editor 12 | { 13 | SerializedProperty _positionAmount; 14 | SerializedProperty _positionFrequency; 15 | SerializedProperty _rotationAmount; 16 | SerializedProperty _rotationFrequency; 17 | 18 | static class Styles 19 | { 20 | public static readonly GUIContent amount = new GUIContent("Amount"); 21 | public static readonly GUIContent frequency = new GUIContent("Frequency"); 22 | } 23 | 24 | void OnEnable() 25 | { 26 | _positionAmount = serializedObject.FindProperty("template.positionAmount"); 27 | _positionFrequency = serializedObject.FindProperty("template.positionFrequency"); 28 | _rotationAmount = serializedObject.FindProperty("template.rotationAmount"); 29 | _rotationFrequency = serializedObject.FindProperty("template.rotationFrequency"); 30 | } 31 | 32 | public override void OnInspectorGUI() 33 | { 34 | serializedObject.Update(); 35 | 36 | EditorGUILayout.LabelField("Position"); 37 | EditorGUI.indentLevel++; 38 | EditorGUILayout.PropertyField(_positionAmount, Styles.amount); 39 | EditorGUILayout.PropertyField(_positionFrequency, Styles.frequency); 40 | EditorGUI.indentLevel--; 41 | 42 | EditorGUILayout.LabelField("Rotation"); 43 | EditorGUI.indentLevel++; 44 | EditorGUILayout.PropertyField(_rotationAmount, Styles.amount); 45 | EditorGUILayout.PropertyField(_rotationFrequency, Styles.frequency); 46 | EditorGUI.indentLevel--; 47 | 48 | serializedObject.ApplyModifiedProperties(); 49 | } 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /Assets/Klak/Timeline/ProceduralMotion/Editor/CyclicMotionEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: aa98995df327e924c8268c8450604f39 3 | timeCreated: 1513926439 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Assets/Klak/Timeline/ProceduralMotion/Editor/JitterMotionEditor.cs: -------------------------------------------------------------------------------- 1 | // Custom timeline track for procedural motion 2 | // https://github.com/keijiro/ProceduralMotionTrack 3 | 4 | using UnityEditor; 5 | using UnityEngine; 6 | using UnityEngine.Playables; 7 | 8 | namespace Klak.Timeline 9 | { 10 | [CustomEditor(typeof(JitterMotion))] 11 | class JitterMotionEditor : Editor 12 | { 13 | SerializedProperty _positionAmount; 14 | SerializedProperty _rotationAmount; 15 | SerializedProperty _randomSeed; 16 | 17 | static class Styles 18 | { 19 | public static readonly GUIContent position = new GUIContent("Position"); 20 | public static readonly GUIContent rotation = new GUIContent("Rotation"); 21 | } 22 | 23 | void OnEnable() 24 | { 25 | _positionAmount = serializedObject.FindProperty("template.positionAmount"); 26 | _rotationAmount = serializedObject.FindProperty("template.rotationAmount"); 27 | _randomSeed = serializedObject.FindProperty("template.randomSeed"); 28 | } 29 | 30 | public override void OnInspectorGUI() 31 | { 32 | serializedObject.Update(); 33 | 34 | EditorGUILayout.LabelField("Jitter Amount"); 35 | EditorGUI.indentLevel++; 36 | EditorGUILayout.PropertyField(_positionAmount, Styles.position); 37 | EditorGUILayout.PropertyField(_rotationAmount, Styles.rotation); 38 | EditorGUI.indentLevel--; 39 | 40 | EditorGUILayout.PropertyField(_randomSeed); 41 | 42 | serializedObject.ApplyModifiedProperties(); 43 | } 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /Assets/Klak/Timeline/ProceduralMotion/Editor/JitterMotionEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 32aec2f07ccbf064986716b44bba7b86 3 | timeCreated: 1513928027 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Assets/Klak/Timeline/ProceduralMotion/JitterMotion.cs: -------------------------------------------------------------------------------- 1 | // Custom timeline track for procedural motion 2 | // https://github.com/keijiro/ProceduralMotionTrack 3 | 4 | using UnityEngine; 5 | using UnityEngine.Playables; 6 | using UnityEngine.Timeline; 7 | 8 | namespace Klak.Timeline 9 | { 10 | [System.Serializable] 11 | public class JitterMotion : PlayableAsset, ITimelineClipAsset 12 | { 13 | #region Serialized variables 14 | 15 | public JitterMotionPlayable template = new JitterMotionPlayable(); 16 | 17 | #endregion 18 | 19 | #region ITimelineClipAsset implementation 20 | 21 | public ClipCaps clipCaps { get { return ClipCaps.Blending | ClipCaps.Extrapolation; } } 22 | 23 | #endregion 24 | 25 | #region PlayableAsset overrides 26 | 27 | public override Playable CreatePlayable(PlayableGraph graph, GameObject go) 28 | { 29 | return ScriptPlayable.Create(graph, template); 30 | } 31 | 32 | #endregion 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /Assets/Klak/Timeline/ProceduralMotion/JitterMotion.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 55fe62ad8c327124a8bfd79a572e6a3c 3 | timeCreated: 1513927190 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Assets/Klak/Timeline/ProceduralMotion/JitterMotionPlayable.cs: -------------------------------------------------------------------------------- 1 | // Custom timeline track for procedural motion 2 | // https://github.com/keijiro/ProceduralMotionTrack 3 | 4 | using UnityEngine; 5 | using UnityEngine.Playables; 6 | using Klak.Math; 7 | 8 | namespace Klak.Timeline 9 | { 10 | [System.Serializable] 11 | public class JitterMotionPlayable : PlayableBehaviour 12 | { 13 | #region Serialized variables 14 | 15 | public Vector3 positionAmount = Vector3.one * 0.1f; 16 | public Vector3 rotationAmount = Vector3.one * 3; 17 | public int randomSeed; 18 | 19 | #endregion 20 | 21 | #region PlayableBehaviour overrides 22 | 23 | public override void ProcessFrame(Playable playable, FrameData info, object playerData) 24 | { 25 | var target = playerData as Transform; 26 | if (target == null) return; 27 | 28 | var t = (float)playable.GetTime(); 29 | var id = (int)(t * 1e+6f % 0xfffffff); 30 | var hash = new XXHash(randomSeed ^ id); 31 | 32 | var p = new Vector3(hash.Value01(0), hash.Value01(1), hash.Value01(2)); 33 | var r = new Vector3(hash.Value01(3), hash.Value01(4), hash.Value01(5)); 34 | 35 | p = Vector3.Scale(p * 2 - Vector3.one, positionAmount) * info.weight; 36 | r = Vector3.Scale(r * 2 - Vector3.one, rotationAmount) * info.weight; 37 | 38 | target.localPosition += p; 39 | target.localRotation = Quaternion.Euler(r) * target.localRotation; 40 | } 41 | 42 | #endregion 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /Assets/Klak/Timeline/ProceduralMotion/JitterMotionPlayable.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6980513dcda4c7f4cb70c93abef5c880 3 | timeCreated: 1513927190 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Assets/Klak/Timeline/ProceduralMotion/ProceduralMotionMixer.cs: -------------------------------------------------------------------------------- 1 | // Custom timeline track for procedural motion 2 | // https://github.com/keijiro/ProceduralMotionTrack 3 | 4 | using UnityEngine; 5 | using UnityEngine.Playables; 6 | 7 | namespace Klak.Timeline 8 | { 9 | [System.Serializable] 10 | public class ProceduralMotionMixer : PlayableBehaviour 11 | { 12 | #region PlayableBehaviour overrides 13 | 14 | public override void ProcessFrame(Playable playable, FrameData info, object playerData) 15 | { 16 | var target = playerData as Transform; 17 | if (target != null) 18 | { 19 | // Reset the target transform. 20 | // It'll be modified in clip playables. 21 | target.localPosition = Vector3.zero; 22 | target.localRotation = Quaternion.identity; 23 | } 24 | } 25 | 26 | #endregion 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /Assets/Klak/Timeline/ProceduralMotion/ProceduralMotionMixer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 46865333b20a55045b526c583269ea4d 3 | timeCreated: 1504321901 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/Klak/Timeline/ProceduralMotion/ProceduralMotionTrack.cs: -------------------------------------------------------------------------------- 1 | // Custom timeline track for procedural motion 2 | // https://github.com/keijiro/ProceduralMotionTrack 3 | 4 | using UnityEngine; 5 | using UnityEngine.Playables; 6 | using UnityEngine.Timeline; 7 | 8 | namespace Klak.Timeline 9 | { 10 | [TrackColor(0.4f, 0.4f, 0.4f)] 11 | [TrackClipType(typeof(BrownianMotion))] 12 | [TrackClipType(typeof(ConstantMotion))] 13 | [TrackClipType(typeof(CyclicMotion))] 14 | [TrackClipType(typeof(JitterMotion))] 15 | [TrackBindingType(typeof(Transform))] 16 | public class ProceduralMotionTrack : TrackAsset 17 | { 18 | public override Playable CreateTrackMixer(PlayableGraph graph, GameObject go, int inputCount) 19 | { 20 | return ScriptPlayable.Create(graph, inputCount); 21 | } 22 | 23 | public override void GatherProperties(PlayableDirector director, IPropertyCollector driver) 24 | { 25 | var transform = director.GetGenericBinding(this) as Transform; 26 | if (transform == null) return; 27 | 28 | var go = transform.gameObject; 29 | driver.AddFromName(go, "m_LocalPosition.x"); 30 | driver.AddFromName(go, "m_LocalPosition.y"); 31 | driver.AddFromName(go, "m_LocalPosition.z"); 32 | driver.AddFromName(go, "m_LocalRotation.x"); 33 | driver.AddFromName(go, "m_LocalRotation.y"); 34 | driver.AddFromName(go, "m_LocalRotation.z"); 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /Assets/Klak/Timeline/ProceduralMotion/ProceduralMotionTrack.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cf8fca7bb2ddee8478cf61bf39019f96 3 | timeCreated: 1504321901 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/Test.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b87f51c68f078444e83fa5adb4712992 3 | folderAsset: yes 4 | timeCreated: 1514203932 5 | licenseType: Pro 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/Test.unity: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!29 &1 4 | OcclusionCullingSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_OcclusionBakeSettings: 8 | smallestOccluder: 5 9 | smallestHole: 0.25 10 | backfaceThreshold: 100 11 | m_SceneGUID: 00000000000000000000000000000000 12 | m_OcclusionCullingData: {fileID: 0} 13 | --- !u!104 &2 14 | RenderSettings: 15 | m_ObjectHideFlags: 0 16 | serializedVersion: 8 17 | m_Fog: 0 18 | m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} 19 | m_FogMode: 3 20 | m_FogDensity: 0.01 21 | m_LinearFogStart: 0 22 | m_LinearFogEnd: 300 23 | m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} 24 | m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} 25 | m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} 26 | m_AmbientIntensity: 1 27 | m_AmbientMode: 0 28 | m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} 29 | m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} 30 | m_HaloStrength: 0.5 31 | m_FlareStrength: 1 32 | m_FlareFadeSpeed: 3 33 | m_HaloTexture: {fileID: 0} 34 | m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} 35 | m_DefaultReflectionMode: 0 36 | m_DefaultReflectionResolution: 128 37 | m_ReflectionBounces: 1 38 | m_ReflectionIntensity: 1 39 | m_CustomReflection: {fileID: 0} 40 | m_Sun: {fileID: 0} 41 | m_IndirectSpecularColor: {r: 0.12731713, g: 0.13414736, b: 0.12107852, a: 1} 42 | --- !u!157 &3 43 | LightmapSettings: 44 | m_ObjectHideFlags: 0 45 | serializedVersion: 11 46 | m_GIWorkflowMode: 0 47 | m_GISettings: 48 | serializedVersion: 2 49 | m_BounceScale: 1 50 | m_IndirectOutputScale: 1 51 | m_AlbedoBoost: 1 52 | m_TemporalCoherenceThreshold: 1 53 | m_EnvironmentLightingMode: 0 54 | m_EnableBakedLightmaps: 1 55 | m_EnableRealtimeLightmaps: 1 56 | m_LightmapEditorSettings: 57 | serializedVersion: 9 58 | m_Resolution: 2 59 | m_BakeResolution: 40 60 | m_TextureWidth: 1024 61 | m_TextureHeight: 1024 62 | m_AO: 0 63 | m_AOMaxDistance: 1 64 | m_CompAOExponent: 1 65 | m_CompAOExponentDirect: 0 66 | m_Padding: 2 67 | m_LightmapParameters: {fileID: 0} 68 | m_LightmapsBakeMode: 1 69 | m_TextureCompression: 1 70 | m_FinalGather: 0 71 | m_FinalGatherFiltering: 1 72 | m_FinalGatherRayCount: 256 73 | m_ReflectionCompression: 2 74 | m_MixedBakeMode: 2 75 | m_BakeBackend: 0 76 | m_PVRSampling: 1 77 | m_PVRDirectSampleCount: 32 78 | m_PVRSampleCount: 500 79 | m_PVRBounces: 2 80 | m_PVRFilterTypeDirect: 0 81 | m_PVRFilterTypeIndirect: 0 82 | m_PVRFilterTypeAO: 0 83 | m_PVRFilteringMode: 1 84 | m_PVRCulling: 1 85 | m_PVRFilteringGaussRadiusDirect: 1 86 | m_PVRFilteringGaussRadiusIndirect: 5 87 | m_PVRFilteringGaussRadiusAO: 2 88 | m_PVRFilteringAtrousPositionSigmaDirect: 0.5 89 | m_PVRFilteringAtrousPositionSigmaIndirect: 2 90 | m_PVRFilteringAtrousPositionSigmaAO: 1 91 | m_ShowResolutionOverlay: 1 92 | m_LightingDataAsset: {fileID: 0} 93 | m_UseShadowmask: 1 94 | --- !u!196 &4 95 | NavMeshSettings: 96 | serializedVersion: 2 97 | m_ObjectHideFlags: 0 98 | m_BuildSettings: 99 | serializedVersion: 2 100 | agentTypeID: 0 101 | agentRadius: 0.5 102 | agentHeight: 2 103 | agentSlope: 45 104 | agentClimb: 0.4 105 | ledgeDropHeight: 0 106 | maxJumpAcrossDistance: 0 107 | minRegionArea: 2 108 | manualCellSize: 0 109 | cellSize: 0.16666667 110 | manualTileSize: 0 111 | tileSize: 256 112 | accuratePlacement: 0 113 | debug: 114 | m_Flags: 0 115 | m_NavMeshData: {fileID: 0} 116 | --- !u!1 &76291709 117 | GameObject: 118 | m_ObjectHideFlags: 0 119 | m_PrefabParentObject: {fileID: 0} 120 | m_PrefabInternal: {fileID: 0} 121 | serializedVersion: 5 122 | m_Component: 123 | - component: {fileID: 76291711} 124 | - component: {fileID: 76291710} 125 | m_Layer: 0 126 | m_Name: Director 127 | m_TagString: Untagged 128 | m_Icon: {fileID: 0} 129 | m_NavMeshLayer: 0 130 | m_StaticEditorFlags: 0 131 | m_IsActive: 1 132 | --- !u!320 &76291710 133 | PlayableDirector: 134 | m_ObjectHideFlags: 0 135 | m_PrefabParentObject: {fileID: 0} 136 | m_PrefabInternal: {fileID: 0} 137 | m_GameObject: {fileID: 76291709} 138 | m_Enabled: 1 139 | serializedVersion: 3 140 | m_PlayableAsset: {fileID: 11400000, guid: 3d0f8a33ebeb4214d84a44445a7e3770, type: 2} 141 | m_InitialState: 1 142 | m_WrapMode: 2 143 | m_DirectorUpdateMode: 1 144 | m_InitialTime: 0 145 | m_SceneBindings: 146 | - key: {fileID: 0} 147 | value: {fileID: 0} 148 | - key: {fileID: 0} 149 | value: {fileID: 0} 150 | - key: {fileID: 0} 151 | value: {fileID: 0} 152 | - key: {fileID: 0} 153 | value: {fileID: 0} 154 | - key: {fileID: 114739396759053798, guid: 3d0f8a33ebeb4214d84a44445a7e3770, type: 2} 155 | value: {fileID: 1164856770} 156 | - key: {fileID: 114242264648478330, guid: 3d0f8a33ebeb4214d84a44445a7e3770, type: 2} 157 | value: {fileID: 1072193077} 158 | m_ExposedReferences: 159 | m_References: 160 | - dc7ff4610b876964a95a163c43bd73ad: {fileID: 1164856770} 161 | --- !u!4 &76291711 162 | Transform: 163 | m_ObjectHideFlags: 0 164 | m_PrefabParentObject: {fileID: 0} 165 | m_PrefabInternal: {fileID: 0} 166 | m_GameObject: {fileID: 76291709} 167 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 168 | m_LocalPosition: {x: 0, y: 0, z: 0} 169 | m_LocalScale: {x: 1, y: 1, z: 1} 170 | m_Children: [] 171 | m_Father: {fileID: 0} 172 | m_RootOrder: 0 173 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 174 | --- !u!1 &1072193076 175 | GameObject: 176 | m_ObjectHideFlags: 0 177 | m_PrefabParentObject: {fileID: 0} 178 | m_PrefabInternal: {fileID: 0} 179 | serializedVersion: 5 180 | m_Component: 181 | - component: {fileID: 1072193077} 182 | m_Layer: 0 183 | m_Name: BlobMan Pivot 184 | m_TagString: Untagged 185 | m_Icon: {fileID: 0} 186 | m_NavMeshLayer: 0 187 | m_StaticEditorFlags: 0 188 | m_IsActive: 1 189 | --- !u!4 &1072193077 190 | Transform: 191 | m_ObjectHideFlags: 0 192 | m_PrefabParentObject: {fileID: 0} 193 | m_PrefabInternal: {fileID: 0} 194 | m_GameObject: {fileID: 1072193076} 195 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 196 | m_LocalPosition: {x: 0, y: 0, z: 0} 197 | m_LocalScale: {x: 1, y: 1, z: 1} 198 | m_Children: 199 | - {fileID: 1720301137} 200 | m_Father: {fileID: 1164856772} 201 | m_RootOrder: 1 202 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 203 | --- !u!1 &1164856770 204 | GameObject: 205 | m_ObjectHideFlags: 0 206 | m_PrefabParentObject: {fileID: 0} 207 | m_PrefabInternal: {fileID: 0} 208 | serializedVersion: 5 209 | m_Component: 210 | - component: {fileID: 1164856772} 211 | - component: {fileID: 1164856771} 212 | m_Layer: 0 213 | m_Name: Text2Man 214 | m_TagString: Untagged 215 | m_Icon: {fileID: 0} 216 | m_NavMeshLayer: 0 217 | m_StaticEditorFlags: 0 218 | m_IsActive: 1 219 | --- !u!95 &1164856771 220 | Animator: 221 | serializedVersion: 3 222 | m_ObjectHideFlags: 0 223 | m_PrefabParentObject: {fileID: 0} 224 | m_PrefabInternal: {fileID: 0} 225 | m_GameObject: {fileID: 1164856770} 226 | m_Enabled: 1 227 | m_Avatar: {fileID: 0} 228 | m_Controller: {fileID: 0} 229 | m_CullingMode: 0 230 | m_UpdateMode: 0 231 | m_ApplyRootMotion: 0 232 | m_LinearVelocityBlending: 0 233 | m_WarningMessage: 234 | m_HasTransformHierarchy: 1 235 | m_AllowConstantClipSamplingOptimization: 1 236 | --- !u!4 &1164856772 237 | Transform: 238 | m_ObjectHideFlags: 0 239 | m_PrefabParentObject: {fileID: 0} 240 | m_PrefabInternal: {fileID: 0} 241 | m_GameObject: {fileID: 1164856770} 242 | m_LocalRotation: {x: 0, y: 1, z: 0, w: 0} 243 | m_LocalPosition: {x: 0, y: 0, z: 0} 244 | m_LocalScale: {x: 1, y: 1, z: 1} 245 | m_Children: 246 | - {fileID: 1273316356} 247 | - {fileID: 1072193077} 248 | m_Father: {fileID: 0} 249 | m_RootOrder: 2 250 | m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0} 251 | --- !u!1 &1273316355 252 | GameObject: 253 | m_ObjectHideFlags: 0 254 | m_PrefabParentObject: {fileID: 0} 255 | m_PrefabInternal: {fileID: 0} 256 | serializedVersion: 5 257 | m_Component: 258 | - component: {fileID: 1273316356} 259 | - component: {fileID: 1273316357} 260 | m_Layer: 0 261 | m_Name: Test 262 | m_TagString: Untagged 263 | m_Icon: {fileID: 0} 264 | m_NavMeshLayer: 0 265 | m_StaticEditorFlags: 0 266 | m_IsActive: 1 267 | --- !u!4 &1273316356 268 | Transform: 269 | m_ObjectHideFlags: 0 270 | m_PrefabParentObject: {fileID: 0} 271 | m_PrefabInternal: {fileID: 0} 272 | m_GameObject: {fileID: 1273316355} 273 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 274 | m_LocalPosition: {x: 0, y: 0, z: 0} 275 | m_LocalScale: {x: 1, y: 1, z: 1} 276 | m_Children: [] 277 | m_Father: {fileID: 1164856772} 278 | m_RootOrder: 0 279 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 280 | --- !u!114 &1273316357 281 | MonoBehaviour: 282 | m_ObjectHideFlags: 0 283 | m_PrefabParentObject: {fileID: 0} 284 | m_PrefabInternal: {fileID: 0} 285 | m_GameObject: {fileID: 1273316355} 286 | m_Enabled: 1 287 | m_EditorHideFlags: 0 288 | m_Script: {fileID: 11500000, guid: edaa9b57aaf72164aaa1eb7f1aebdbf8, type: 3} 289 | m_Name: 290 | m_EditorClassIdentifier: 291 | _mesh: {fileID: 4300002, guid: ae979bacb9cd66b49a4b174bdbf6bfc3, type: 3} 292 | _color: {r: 1, g: 1, b: 1, a: 1} 293 | _radius: 0.1 294 | _parameter: -1 295 | _shader: {fileID: 4800000, guid: fe4f6982eb1019d43bb5aaad836ec4c2, type: 3} 296 | --- !u!1 &1720301136 297 | GameObject: 298 | m_ObjectHideFlags: 0 299 | m_PrefabParentObject: {fileID: 0} 300 | m_PrefabInternal: {fileID: 0} 301 | serializedVersion: 5 302 | m_Component: 303 | - component: {fileID: 1720301137} 304 | - component: {fileID: 1720301138} 305 | m_Layer: 0 306 | m_Name: BlobMan 307 | m_TagString: Untagged 308 | m_Icon: {fileID: 0} 309 | m_NavMeshLayer: 0 310 | m_StaticEditorFlags: 0 311 | m_IsActive: 1 312 | --- !u!4 &1720301137 313 | Transform: 314 | m_ObjectHideFlags: 0 315 | m_PrefabParentObject: {fileID: 0} 316 | m_PrefabInternal: {fileID: 0} 317 | m_GameObject: {fileID: 1720301136} 318 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 319 | m_LocalPosition: {x: 0, y: 0, z: 0} 320 | m_LocalScale: {x: 1, y: 1, z: 1} 321 | m_Children: [] 322 | m_Father: {fileID: 1072193077} 323 | m_RootOrder: 0 324 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 325 | --- !u!114 &1720301138 326 | MonoBehaviour: 327 | m_ObjectHideFlags: 0 328 | m_PrefabParentObject: {fileID: 0} 329 | m_PrefabInternal: {fileID: 0} 330 | m_GameObject: {fileID: 1720301136} 331 | m_Enabled: 1 332 | m_EditorHideFlags: 0 333 | m_Script: {fileID: 11500000, guid: edaa9b57aaf72164aaa1eb7f1aebdbf8, type: 3} 334 | m_Name: 335 | m_EditorClassIdentifier: 336 | _mesh: {fileID: 4300002, guid: 2c2a8010e16142b45912e49a9d5d938a, type: 3} 337 | _color: {r: 1, g: 1, b: 1, a: 1} 338 | _radius: 0.1 339 | _parameter: -1 340 | _shader: {fileID: 4800000, guid: fe4f6982eb1019d43bb5aaad836ec4c2, type: 3} 341 | --- !u!1 &2021723209 342 | GameObject: 343 | m_ObjectHideFlags: 0 344 | m_PrefabParentObject: {fileID: 0} 345 | m_PrefabInternal: {fileID: 0} 346 | serializedVersion: 5 347 | m_Component: 348 | - component: {fileID: 2021723213} 349 | - component: {fileID: 2021723212} 350 | - component: {fileID: 2021723211} 351 | - component: {fileID: 2021723210} 352 | m_Layer: 0 353 | m_Name: Main Camera 354 | m_TagString: MainCamera 355 | m_Icon: {fileID: 0} 356 | m_NavMeshLayer: 0 357 | m_StaticEditorFlags: 0 358 | m_IsActive: 1 359 | --- !u!81 &2021723210 360 | AudioListener: 361 | m_ObjectHideFlags: 0 362 | m_PrefabParentObject: {fileID: 0} 363 | m_PrefabInternal: {fileID: 0} 364 | m_GameObject: {fileID: 2021723209} 365 | m_Enabled: 1 366 | --- !u!124 &2021723211 367 | Behaviour: 368 | m_ObjectHideFlags: 0 369 | m_PrefabParentObject: {fileID: 0} 370 | m_PrefabInternal: {fileID: 0} 371 | m_GameObject: {fileID: 2021723209} 372 | m_Enabled: 1 373 | --- !u!20 &2021723212 374 | Camera: 375 | m_ObjectHideFlags: 0 376 | m_PrefabParentObject: {fileID: 0} 377 | m_PrefabInternal: {fileID: 0} 378 | m_GameObject: {fileID: 2021723209} 379 | m_Enabled: 1 380 | serializedVersion: 2 381 | m_ClearFlags: 2 382 | m_BackGroundColor: {r: 0, g: 0, b: 0, a: 0} 383 | m_NormalizedViewPortRect: 384 | serializedVersion: 2 385 | x: 0 386 | y: 0 387 | width: 1 388 | height: 1 389 | near clip plane: 0.3 390 | far clip plane: 20 391 | field of view: 20 392 | orthographic: 0 393 | orthographic size: 5 394 | m_Depth: -1 395 | m_CullingMask: 396 | serializedVersion: 2 397 | m_Bits: 4294967295 398 | m_RenderingPath: 1 399 | m_TargetTexture: {fileID: 0} 400 | m_TargetDisplay: 0 401 | m_TargetEye: 3 402 | m_HDR: 0 403 | m_AllowMSAA: 1 404 | m_AllowDynamicResolution: 0 405 | m_ForceIntoRT: 0 406 | m_OcclusionCulling: 0 407 | m_StereoConvergence: 10 408 | m_StereoSeparation: 0.022 409 | --- !u!4 &2021723213 410 | Transform: 411 | m_ObjectHideFlags: 0 412 | m_PrefabParentObject: {fileID: 0} 413 | m_PrefabInternal: {fileID: 0} 414 | m_GameObject: {fileID: 2021723209} 415 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 416 | m_LocalPosition: {x: 0, y: 0, z: -5} 417 | m_LocalScale: {x: 1, y: 1, z: 1} 418 | m_Children: [] 419 | m_Father: {fileID: 0} 420 | m_RootOrder: 1 421 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 422 | -------------------------------------------------------------------------------- /Assets/Test.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 93d4aa44a02f19d45805dd2d40eb172e 3 | timeCreated: 1514180365 4 | licenseType: Pro 5 | DefaultImporter: 6 | externalObjects: {} 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Test/Test.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: Test 10 | m_Shader: {fileID: 4800000, guid: fe4f6982eb1019d43bb5aaad836ec4c2, type: 3} 11 | m_ShaderKeywords: 12 | m_LightmapFlags: 4 13 | m_EnableInstancingVariants: 0 14 | m_DoubleSidedGI: 0 15 | m_CustomRenderQueue: -1 16 | stringTagMap: {} 17 | disabledShaderPasses: [] 18 | m_SavedProperties: 19 | serializedVersion: 3 20 | m_TexEnvs: 21 | - _BumpMap: 22 | m_Texture: {fileID: 0} 23 | m_Scale: {x: 1, y: 1} 24 | m_Offset: {x: 0, y: 0} 25 | - _DetailAlbedoMap: 26 | m_Texture: {fileID: 0} 27 | m_Scale: {x: 1, y: 1} 28 | m_Offset: {x: 0, y: 0} 29 | - _DetailMask: 30 | m_Texture: {fileID: 0} 31 | m_Scale: {x: 1, y: 1} 32 | m_Offset: {x: 0, y: 0} 33 | - _DetailNormalMap: 34 | m_Texture: {fileID: 0} 35 | m_Scale: {x: 1, y: 1} 36 | m_Offset: {x: 0, y: 0} 37 | - _EmissionMap: 38 | m_Texture: {fileID: 0} 39 | m_Scale: {x: 1, y: 1} 40 | m_Offset: {x: 0, y: 0} 41 | - _MainTex: 42 | m_Texture: {fileID: 0} 43 | m_Scale: {x: 1, y: 1} 44 | m_Offset: {x: 0, y: 0} 45 | - _MetallicGlossMap: 46 | m_Texture: {fileID: 0} 47 | m_Scale: {x: 1, y: 1} 48 | m_Offset: {x: 0, y: 0} 49 | - _OcclusionMap: 50 | m_Texture: {fileID: 0} 51 | m_Scale: {x: 1, y: 1} 52 | m_Offset: {x: 0, y: 0} 53 | - _ParallaxMap: 54 | m_Texture: {fileID: 0} 55 | m_Scale: {x: 1, y: 1} 56 | m_Offset: {x: 0, y: 0} 57 | m_Floats: 58 | - _BumpScale: 1 59 | - _Cutoff: 0.5 60 | - _DetailNormalMapScale: 1 61 | - _DstBlend: 0 62 | - _GlossMapScale: 1 63 | - _Glossiness: 0.5 64 | - _GlossyReflections: 1 65 | - _Intro: 1.8 66 | - _LocalTime: 10 67 | - _Metallic: 0 68 | - _Mode: 0 69 | - _OcclusionStrength: 1 70 | - _Outro: -2 71 | - _Parallax: 0.02 72 | - _Radius: 0 73 | - _SmoothnessTextureChannel: 0 74 | - _SpecularHighlights: 1 75 | - _SrcBlend: 1 76 | - _StartTime: 0 77 | - _UVSec: 0 78 | - _ZWrite: 1 79 | m_Colors: 80 | - _Color: {r: 1, g: 1, b: 1, a: 1} 81 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 82 | -------------------------------------------------------------------------------- /Assets/Test/Test.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a566bf6f5d2abeb40a57a5500c3e8c3f 3 | timeCreated: 1514180444 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | externalObjects: {} 7 | mainObjectFileID: 2100000 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/Test/Test.obj: -------------------------------------------------------------------------------- 1 | # File exported by Houdini 16.5.268 (www.sidefx.com) 2 | # 129 points 3 | # 450 vertices 4 | # 150 primitives 5 | # Bounds: [-1.41943359, -0.376220703, 0] to [1.41943359, 0.364013672, 0] 6 | g 7 | v -1.41943359 0.351806641 0 8 | v -0.747070313 0.351806641 0 9 | v -0.747070313 0.175048828 0 10 | v -0.97265625 0.175048828 0 11 | v -0.97265625 -0.364013672 0 12 | v -1.19384766 -0.364013672 0 13 | v -1.19384766 0.175048828 0 14 | v -1.41943359 0.175048828 0 15 | v -0.647460938 0.351806641 0 16 | v -0.0546875 0.351806641 0 17 | v -0.0546875 0.198974609 0 18 | v -0.42578125 0.198974609 0 19 | v -0.42578125 0.0852050781 0 20 | v -0.0815429688 0.0852050781 0 21 | v -0.0815429688 -0.0607910156 0 22 | v -0.42578125 -0.0607910156 0 23 | v -0.42578125 -0.201904297 0 24 | v -0.0439453125 -0.201904297 0 25 | v -0.0439453125 -0.364013672 0 26 | v -0.647460938 -0.364013672 0 27 | v 0.747070313 0.351806641 0 28 | v 1.41943359 0.351806641 0 29 | v 1.41943359 0.175048828 0 30 | v 1.19384766 0.175048828 0 31 | v 1.19384766 -0.364013672 0 32 | v 0.97265625 -0.364013672 0 33 | v 0.97265625 0.175048828 0 34 | v 0.747070313 0.175048828 0 35 | v 0.0366210938 -0.127197266 0 36 | v 0.247070313 -0.114013672 0 37 | v 0.274902344 -0.192138672 0 38 | v 0.372558594 -0.235595703 0 39 | v 0.4453125 -0.213623047 0 40 | v 0.471191406 -0.161865234 0 41 | v 0.446777344 -0.112060547 0 42 | v 0.333496094 -0.0705566406 0 43 | v 0.125976563 0.0163574219 0 44 | v 0.0634765625 0.154541016 0 45 | v 0.0952148438 0.258544922 0 46 | v 0.19140625 0.335693359 0 47 | v 0.367675781 0.364013672 0 48 | v 0.576660156 0.312744141 0 49 | v 0.662597656 0.150634766 0 50 | v 0.454101563 0.138427734 0 51 | v 0.418945313 0.208740234 0 52 | v 0.345703125 0.230712891 0 53 | v 0.287597656 0.214111328 0 54 | v 0.268066406 0.174560547 0 55 | v 0.284179688 0.143798828 0 56 | v 0.358398438 0.117431641 0 57 | v 0.565917969 0.0539550781 0 58 | v 0.657226563 -0.0251464844 0 59 | v 0.686035156 -0.131103516 0 60 | v 0.647949219 -0.258056641 0 61 | v 0.541503906 -0.346435547 0 62 | v 0.369140625 -0.376220703 0 63 | v 0.116210938 -0.305908203 0 64 | v -0.647460938 -0.00610351563 0 65 | v 1.08325195 0.351806641 0 66 | v -1.08325195 0.351806641 0 67 | v -0.345703125 -0.364013672 0 68 | v -0.351074219 0.351806641 0 69 | v -1.06194866 -0.0790175349 0 70 | v 1.08325207 -0.0944824219 0 71 | v 1.19384766 -0.0944824219 0 72 | v -0.97265625 -0.0944824219 0 73 | v 0.97265625 -0.0944824219 0 74 | v -1.19384766 -0.0944824219 0 75 | v 1.17180884 0.247757718 0 76 | v -0.994500399 0.255592734 0 77 | v -0.547293425 0.0861709937 0 78 | v -0.234863281 -0.201904297 0 79 | v -0.564331055 -0.231934428 0 80 | v -0.334219456 -0.0126354359 0 81 | v -0.240234375 0.198974609 0 82 | v -0.647460938 -0.185058594 0 83 | v -0.647460938 0.172851563 0 84 | v -0.530887842 0.21198447 0 85 | v -0.253662109 -0.0607910156 0 86 | v -0.253662109 0.0852050781 0 87 | v 0.915161133 0.351806641 0 88 | v -1.25134277 0.351806641 0 89 | v 1.25134277 0.351806641 0 90 | v -0.915161133 0.351806641 0 91 | v -0.496582031 -0.364013672 0 92 | v -0.194824219 -0.364013672 0 93 | v -0.202880859 0.351806641 0 94 | v -0.499267578 0.351806641 0 95 | v -1.04687703 0.0438676775 0 96 | v -1.06942749 -0.23439832 0 97 | v 1.06942749 0.0402832031 0 98 | v 1.09707642 -0.234398335 0 99 | v 1.30713367 0.263427764 0 100 | v -1.25939953 0.276992917 0 101 | v -0.85937041 0.263427764 0 102 | v 0.913106322 0.241333008 0 103 | v 1.19384766 0.0402832031 0 104 | v -1.19384766 0.0402832031 0 105 | v -0.97265625 -0.229248047 0 106 | v -0.97265625 0.0402832031 0 107 | v -1.19384766 -0.229248047 0 108 | v 0.97265625 0.0402832031 0 109 | v 1.19384766 -0.229248047 0 110 | v 0.97265625 -0.229248047 0 111 | v 0.242675781 -0.341064453 0 112 | v 0.453251541 -0.0138233239 0 113 | v -1.05477905 0.17678003 0 114 | v -0.424316406 0.0373000577 0 115 | v -0.534136832 -0.0753511488 0 116 | v 0.538520217 -0.105629534 0 117 | v -0.859863281 0.175048828 0 118 | v 0.859863281 0.175048828 0 119 | v -1.30664063 0.175048828 0 120 | v 1.30664063 0.175048828 0 121 | v 0.229736328 -0.0270996094 0 122 | v 1.04954541 0.17979525 0 123 | v 1.08325195 -0.364013672 0 124 | v -1.08325195 -0.364013672 0 125 | v 0.462158203 0.0856933594 0 126 | v 0.472167969 0.338378906 0 127 | v -1.11968696 0.0849878788 0 128 | v 0.191332936 0.152081072 0 129 | v 0.141845703 -0.120605469 0 130 | v 0.558349609 0.14453125 0 131 | v 1.03197062 0.269974321 0 132 | v -1.14174938 0.232701734 0 133 | v 0.534386456 -0.216759473 0 134 | v -0.169169113 -0.301719993 0 135 | v -0.199304253 0.263915658 0 136 | g Text 137 | f 90 68 101 138 | f 128 19 18 139 | f 67 92 64 140 | f 122 40 39 141 | f 123 57 31 142 | f 32 31 105 143 | f 32 56 33 144 | f 56 127 33 145 | f 127 56 55 146 | f 127 53 110 147 | f 52 106 110 148 | f 106 52 51 149 | f 36 119 50 150 | f 36 50 115 151 | f 47 122 48 152 | f 40 46 41 153 | f 46 40 47 154 | f 41 46 120 155 | f 120 46 45 156 | f 124 120 45 157 | f 47 40 122 158 | f 21 28 96 159 | f 96 125 81 160 | f 116 69 125 161 | f 114 23 93 162 | f 65 91 64 163 | f 109 17 16 164 | f 108 80 13 165 | f 74 109 16 166 | f 74 15 14 167 | f 78 13 12 168 | f 129 12 75 169 | f 1 8 94 170 | f 94 60 82 171 | f 111 3 95 172 | f 89 63 66 173 | f 77 58 71 174 | f 83 59 69 175 | f 84 60 70 176 | f 85 17 73 177 | f 90 6 118 178 | f 121 89 107 179 | f 91 24 116 180 | f 103 64 92 181 | f 99 63 90 182 | f 102 64 91 183 | f 125 69 59 184 | f 107 70 126 185 | f 84 70 95 186 | f 108 71 109 187 | f 77 71 78 188 | f 128 61 86 189 | f 129 11 10 190 | f 76 20 73 191 | f 17 109 73 192 | f 79 15 74 193 | f 80 108 74 194 | f 62 12 129 195 | f 109 58 76 196 | f 71 13 78 197 | f 88 9 78 198 | f 74 16 79 199 | f 74 14 80 200 | f 125 59 81 201 | f 126 60 94 202 | f 93 22 83 203 | f 73 20 85 204 | f 72 61 128 205 | f 12 62 88 206 | f 63 121 68 207 | f 100 107 89 208 | f 68 121 98 209 | f 121 7 98 210 | f 68 90 63 211 | f 66 63 99 212 | f 91 65 97 213 | f 67 64 102 214 | f 92 67 104 215 | f 117 25 92 216 | f 65 64 103 217 | f 69 114 93 218 | f 23 22 93 219 | f 113 126 94 220 | f 82 1 94 221 | f 70 111 95 222 | f 3 2 95 223 | f 112 27 96 224 | f 81 21 96 225 | f 17 85 61 226 | f 90 5 99 227 | f 89 66 100 228 | f 102 116 27 229 | f 92 25 103 230 | f 78 12 88 231 | f 31 57 105 232 | f 119 36 106 233 | f 36 35 106 234 | f 126 121 107 235 | f 4 70 107 236 | f 95 2 84 237 | f 24 69 116 238 | f 83 69 93 239 | f 109 74 108 240 | f 13 71 108 241 | f 78 9 77 242 | f 76 73 109 243 | f 29 57 123 244 | f 31 30 123 245 | f 35 110 106 246 | f 53 52 110 247 | f 109 71 58 248 | f 111 70 4 249 | f 96 28 112 250 | f 94 8 113 251 | f 114 69 24 252 | f 122 37 49 253 | f 116 96 27 254 | f 97 24 91 255 | f 104 26 92 256 | f 107 100 4 257 | f 101 6 90 258 | f 50 49 115 259 | f 110 34 127 260 | f 54 53 127 261 | f 106 51 119 262 | f 120 124 42 263 | f 116 102 91 264 | f 121 126 7 265 | f 121 63 89 266 | f 92 26 117 267 | f 118 5 90 268 | f 45 44 124 269 | f 43 42 124 270 | f 49 48 122 271 | f 38 37 122 272 | f 125 96 116 273 | f 126 113 7 274 | f 126 70 60 275 | f 34 33 127 276 | f 55 54 127 277 | f 86 19 128 278 | f 61 72 17 279 | f 128 18 72 280 | f 105 56 32 281 | f 39 38 122 282 | f 110 35 34 283 | f 115 49 37 284 | f 62 129 87 285 | f 10 87 129 286 | f 75 11 129 287 | -------------------------------------------------------------------------------- /Assets/Test/Test.obj.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ae979bacb9cd66b49a4b174bdbf6bfc3 3 | timeCreated: 1514180288 4 | licenseType: Pro 5 | ModelImporter: 6 | serializedVersion: 22 7 | fileIDToRecycleName: 8 | 100000: default 9 | 100002: //RootNode 10 | 100004: Text 11 | 400000: default 12 | 400002: //RootNode 13 | 400004: Text 14 | 2100000: defaultMat 15 | 2300000: default 16 | 2300002: Text 17 | 3300000: default 18 | 3300002: Text 19 | 4300000: default 20 | 4300002: Text 21 | externalObjects: {} 22 | materials: 23 | importMaterials: 0 24 | materialName: 0 25 | materialSearch: 1 26 | materialLocation: 1 27 | animations: 28 | legacyGenerateAnimations: 4 29 | bakeSimulation: 0 30 | resampleCurves: 1 31 | optimizeGameObjects: 0 32 | motionNodeName: 33 | rigImportErrors: 34 | rigImportWarnings: 35 | animationImportErrors: 36 | animationImportWarnings: 37 | animationRetargetingWarnings: 38 | animationDoRetargetingWarnings: 0 39 | importAnimatedCustomProperties: 0 40 | animationCompression: 1 41 | animationRotationError: 0.5 42 | animationPositionError: 0.5 43 | animationScaleError: 0.5 44 | animationWrapMode: 0 45 | extraExposedTransformPaths: [] 46 | extraUserProperties: [] 47 | clipAnimations: [] 48 | isReadable: 0 49 | meshes: 50 | lODScreenPercentages: [] 51 | globalScale: 1 52 | meshCompression: 0 53 | addColliders: 0 54 | importVisibility: 0 55 | importBlendShapes: 0 56 | importCameras: 0 57 | importLights: 0 58 | swapUVChannels: 0 59 | generateSecondaryUV: 0 60 | useFileUnits: 1 61 | optimizeMeshForGPU: 1 62 | keepQuads: 0 63 | weldVertices: 1 64 | preserveHierarchy: 0 65 | indexFormat: 0 66 | secondaryUVAngleDistortion: 8 67 | secondaryUVAreaDistortion: 15.000001 68 | secondaryUVHardAngle: 88 69 | secondaryUVPackMargin: 4 70 | useFileScale: 1 71 | tangentSpace: 72 | normalSmoothAngle: 60 73 | normalImportMode: 2 74 | tangentImportMode: 2 75 | normalCalculationMode: 4 76 | importAnimation: 0 77 | copyAvatar: 0 78 | humanDescription: 79 | serializedVersion: 2 80 | human: [] 81 | skeleton: [] 82 | armTwist: 0.5 83 | foreArmTwist: 0.5 84 | upperLegTwist: 0.5 85 | legTwist: 0.5 86 | armStretch: 0.05 87 | legStretch: 0.05 88 | feetSpacing: 0 89 | rootMotionBoneName: 90 | rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1} 91 | hasTranslationDoF: 0 92 | hasExtraRoot: 0 93 | skeletonHasParents: 1 94 | lastHumanDescriptionAvatarSource: {instanceID: 0} 95 | animationType: 0 96 | humanoidOversampling: 1 97 | additionalBone: 0 98 | userData: 99 | assetBundleName: 100 | assetBundleVariant: 101 | -------------------------------------------------------------------------------- /Assets/Test/Test.playable: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_GameObject: {fileID: 0} 9 | m_Enabled: 1 10 | m_EditorHideFlags: 0 11 | m_Script: {fileID: 337831424, guid: 6a10b2909283487f913b00d94cd3faf5, type: 3} 12 | m_Name: Test 13 | m_EditorClassIdentifier: 14 | m_NextId: 0 15 | m_Tracks: 16 | - {fileID: 114739396759053798} 17 | - {fileID: 114242264648478330} 18 | - {fileID: 114363751593301236} 19 | m_FixedDuration: 0 20 | m_EditorSettings: 21 | m_Framerate: 60 22 | m_DurationMode: 0 23 | --- !u!74 &74296618538201664 24 | AnimationClip: 25 | m_ObjectHideFlags: 0 26 | m_PrefabParentObject: {fileID: 0} 27 | m_PrefabInternal: {fileID: 0} 28 | m_Name: Recorded (1) 29 | serializedVersion: 6 30 | m_Legacy: 0 31 | m_Compressed: 0 32 | m_UseHighQualityCurve: 1 33 | m_RotationCurves: [] 34 | m_CompressedRotationCurves: [] 35 | m_EulerCurves: [] 36 | m_PositionCurves: [] 37 | m_ScaleCurves: [] 38 | m_FloatCurves: 39 | - curve: 40 | serializedVersion: 2 41 | m_Curve: 42 | - serializedVersion: 2 43 | time: 0 44 | value: 0 45 | inSlope: 0 46 | outSlope: 1 47 | tangentMode: 69 48 | - serializedVersion: 2 49 | time: 10 50 | value: 10 51 | inSlope: 1 52 | outSlope: 0 53 | tangentMode: 69 54 | m_PreInfinity: 2 55 | m_PostInfinity: 2 56 | m_RotationOrder: 4 57 | attribute: material._LocalTime 58 | path: 59 | classID: 23 60 | script: {fileID: 0} 61 | - curve: 62 | serializedVersion: 2 63 | m_Curve: 64 | - serializedVersion: 2 65 | time: 0.5 66 | value: -0.75 67 | inSlope: 0 68 | outSlope: 2.75 69 | tangentMode: 69 70 | - serializedVersion: 2 71 | time: 1.5 72 | value: 2 73 | inSlope: 2.75 74 | outSlope: 0 75 | tangentMode: 69 76 | m_PreInfinity: 2 77 | m_PostInfinity: 2 78 | m_RotationOrder: 4 79 | attribute: material._Intro 80 | path: 81 | classID: 23 82 | script: {fileID: 0} 83 | - curve: 84 | serializedVersion: 2 85 | m_Curve: 86 | - serializedVersion: 2 87 | time: 2.5 88 | value: -1 89 | inSlope: 0 90 | outSlope: 2.8448274 91 | tangentMode: 69 92 | - serializedVersion: 2 93 | time: 3.4666667 94 | value: 1.75 95 | inSlope: 2.8448274 96 | outSlope: 0 97 | tangentMode: 69 98 | m_PreInfinity: 2 99 | m_PostInfinity: 2 100 | m_RotationOrder: 4 101 | attribute: material._Outro 102 | path: 103 | classID: 23 104 | script: {fileID: 0} 105 | m_PPtrCurves: [] 106 | m_SampleRate: 60 107 | m_WrapMode: 0 108 | m_Bounds: 109 | m_Center: {x: 0, y: 0, z: 0} 110 | m_Extent: {x: 0, y: 0, z: 0} 111 | m_ClipBindingConstant: 112 | genericBindings: 113 | - serializedVersion: 2 114 | path: 0 115 | attribute: 2167279387 116 | script: {fileID: 0} 117 | typeID: 23 118 | customType: 22 119 | isPPtrCurve: 0 120 | - serializedVersion: 2 121 | path: 0 122 | attribute: 2180777656 123 | script: {fileID: 0} 124 | typeID: 23 125 | customType: 22 126 | isPPtrCurve: 0 127 | - serializedVersion: 2 128 | path: 0 129 | attribute: 2309235590 130 | script: {fileID: 0} 131 | typeID: 23 132 | customType: 22 133 | isPPtrCurve: 0 134 | pptrCurveMapping: [] 135 | m_AnimationClipSettings: 136 | serializedVersion: 2 137 | m_AdditiveReferencePoseClip: {fileID: 0} 138 | m_AdditiveReferencePoseTime: 0 139 | m_StartTime: 0 140 | m_StopTime: 10 141 | m_OrientationOffsetY: 0 142 | m_Level: 0 143 | m_CycleOffset: 0 144 | m_HasAdditiveReferencePose: 0 145 | m_LoopTime: 0 146 | m_LoopBlend: 0 147 | m_LoopBlendOrientation: 0 148 | m_LoopBlendPositionY: 0 149 | m_LoopBlendPositionXZ: 0 150 | m_KeepOriginalOrientation: 0 151 | m_KeepOriginalPositionY: 1 152 | m_KeepOriginalPositionXZ: 0 153 | m_HeightFromFeet: 0 154 | m_Mirror: 0 155 | m_EditorCurves: 156 | - curve: 157 | serializedVersion: 2 158 | m_Curve: 159 | - serializedVersion: 2 160 | time: 0 161 | value: 0 162 | inSlope: 0 163 | outSlope: 1 164 | tangentMode: 69 165 | - serializedVersion: 2 166 | time: 10 167 | value: 10 168 | inSlope: 1 169 | outSlope: 0 170 | tangentMode: 69 171 | m_PreInfinity: 2 172 | m_PostInfinity: 2 173 | m_RotationOrder: 4 174 | attribute: material._LocalTime 175 | path: 176 | classID: 23 177 | script: {fileID: 0} 178 | - curve: 179 | serializedVersion: 2 180 | m_Curve: 181 | - serializedVersion: 2 182 | time: 0.5 183 | value: -0.75 184 | inSlope: 0 185 | outSlope: 2.75 186 | tangentMode: 69 187 | - serializedVersion: 2 188 | time: 1.5 189 | value: 2 190 | inSlope: 2.75 191 | outSlope: 0 192 | tangentMode: 69 193 | m_PreInfinity: 2 194 | m_PostInfinity: 2 195 | m_RotationOrder: 4 196 | attribute: material._Intro 197 | path: 198 | classID: 23 199 | script: {fileID: 0} 200 | - curve: 201 | serializedVersion: 2 202 | m_Curve: 203 | - serializedVersion: 2 204 | time: 2.5 205 | value: -1 206 | inSlope: 0 207 | outSlope: 2.8448274 208 | tangentMode: 69 209 | - serializedVersion: 2 210 | time: 3.4666667 211 | value: 1.75 212 | inSlope: 2.8448274 213 | outSlope: 0 214 | tangentMode: 69 215 | m_PreInfinity: 2 216 | m_PostInfinity: 2 217 | m_RotationOrder: 4 218 | attribute: material._Outro 219 | path: 220 | classID: 23 221 | script: {fileID: 0} 222 | m_EulerEditorCurves: [] 223 | m_HasGenericRootTransform: 0 224 | m_HasMotionFloatCurves: 0 225 | m_GenerateMotionCurves: 1 226 | m_Events: [] 227 | --- !u!74 &74619309739819446 228 | AnimationClip: 229 | m_ObjectHideFlags: 0 230 | m_PrefabParentObject: {fileID: 0} 231 | m_PrefabInternal: {fileID: 0} 232 | m_Name: Recorded 233 | serializedVersion: 6 234 | m_Legacy: 0 235 | m_Compressed: 0 236 | m_UseHighQualityCurve: 1 237 | m_RotationCurves: [] 238 | m_CompressedRotationCurves: [] 239 | m_EulerCurves: [] 240 | m_PositionCurves: [] 241 | m_ScaleCurves: [] 242 | m_FloatCurves: 243 | - curve: 244 | serializedVersion: 2 245 | m_Curve: 246 | - serializedVersion: 2 247 | time: 0.25 248 | value: -1 249 | inSlope: 0 250 | outSlope: 1.3333334 251 | tangentMode: 69 252 | - serializedVersion: 2 253 | time: 1 254 | value: 0 255 | inSlope: 1.3333334 256 | outSlope: 0 257 | tangentMode: 69 258 | - serializedVersion: 2 259 | time: 1.8333334 260 | value: 0 261 | inSlope: -0 262 | outSlope: 1.3333335 263 | tangentMode: 69 264 | - serializedVersion: 2 265 | time: 2.5833333 266 | value: 1 267 | inSlope: 1.3333335 268 | outSlope: 0 269 | tangentMode: 69 270 | m_PreInfinity: 2 271 | m_PostInfinity: 2 272 | m_RotationOrder: 4 273 | attribute: _parameter 274 | path: Test 275 | classID: 114 276 | script: {fileID: 11500000, guid: edaa9b57aaf72164aaa1eb7f1aebdbf8, type: 3} 277 | - curve: 278 | serializedVersion: 2 279 | m_Curve: 280 | - serializedVersion: 2 281 | time: 0 282 | value: 0 283 | inSlope: 0 284 | outSlope: 0 285 | tangentMode: 69 286 | - serializedVersion: 2 287 | time: 2.1666667 288 | value: 0 289 | inSlope: -0 290 | outSlope: 0.60000056 291 | tangentMode: 69 292 | - serializedVersion: 2 293 | time: 2.3333333 294 | value: 0.1 295 | inSlope: 0.60000056 296 | outSlope: 0 297 | tangentMode: 69 298 | - serializedVersion: 2 299 | time: 3.5 300 | value: 0.1 301 | inSlope: -0 302 | outSlope: -0.5399998 303 | tangentMode: 69 304 | - serializedVersion: 2 305 | time: 3.6666667 306 | value: 0.01 307 | inSlope: -0.5399998 308 | outSlope: 0 309 | tangentMode: 69 310 | m_PreInfinity: 2 311 | m_PostInfinity: 2 312 | m_RotationOrder: 4 313 | attribute: _radius 314 | path: BlobMan Pivot/BlobMan 315 | classID: 114 316 | script: {fileID: 11500000, guid: edaa9b57aaf72164aaa1eb7f1aebdbf8, type: 3} 317 | - curve: 318 | serializedVersion: 2 319 | m_Curve: 320 | - serializedVersion: 2 321 | time: 0 322 | value: 0.01 323 | inSlope: 0 324 | outSlope: 0 325 | tangentMode: 69 326 | - serializedVersion: 2 327 | time: 1.6666666 328 | value: 0.01 329 | inSlope: -0 330 | outSlope: 0.5399998 331 | tangentMode: 69 332 | - serializedVersion: 2 333 | time: 1.8333334 334 | value: 0.1 335 | inSlope: 0.5399998 336 | outSlope: 0 337 | tangentMode: 69 338 | - serializedVersion: 2 339 | time: 2.1666667 340 | value: 0.1 341 | inSlope: -0 342 | outSlope: -0.60000056 343 | tangentMode: 69 344 | - serializedVersion: 2 345 | time: 2.3333333 346 | value: 0 347 | inSlope: -0.60000056 348 | outSlope: 0 349 | tangentMode: 69 350 | m_PreInfinity: 2 351 | m_PostInfinity: 2 352 | m_RotationOrder: 4 353 | attribute: _radius 354 | path: Test 355 | classID: 114 356 | script: {fileID: 11500000, guid: edaa9b57aaf72164aaa1eb7f1aebdbf8, type: 3} 357 | - curve: 358 | serializedVersion: 2 359 | m_Curve: 360 | - serializedVersion: 2 361 | time: 2.0833333 362 | value: -1 363 | inSlope: 0 364 | outSlope: 1.3333334 365 | tangentMode: 69 366 | - serializedVersion: 2 367 | time: 2.8333333 368 | value: 0 369 | inSlope: 1.3333334 370 | outSlope: 0 371 | tangentMode: 69 372 | - serializedVersion: 2 373 | time: 3.5 374 | value: 0 375 | inSlope: -0 376 | outSlope: 1.3333334 377 | tangentMode: 69 378 | - serializedVersion: 2 379 | time: 4.25 380 | value: 1 381 | inSlope: 1.3333334 382 | outSlope: 0 383 | tangentMode: 69 384 | m_PreInfinity: 2 385 | m_PostInfinity: 2 386 | m_RotationOrder: 4 387 | attribute: _parameter 388 | path: BlobMan Pivot/BlobMan 389 | classID: 114 390 | script: {fileID: 11500000, guid: edaa9b57aaf72164aaa1eb7f1aebdbf8, type: 3} 391 | m_PPtrCurves: [] 392 | m_SampleRate: 60 393 | m_WrapMode: 0 394 | m_Bounds: 395 | m_Center: {x: 0, y: 0, z: 0} 396 | m_Extent: {x: 0, y: 0, z: 0} 397 | m_ClipBindingConstant: 398 | genericBindings: 399 | - serializedVersion: 2 400 | path: 2018365746 401 | attribute: 1728786445 402 | script: {fileID: 11500000, guid: edaa9b57aaf72164aaa1eb7f1aebdbf8, type: 3} 403 | typeID: 114 404 | customType: 0 405 | isPPtrCurve: 0 406 | - serializedVersion: 2 407 | path: 1387605159 408 | attribute: 3259992537 409 | script: {fileID: 11500000, guid: edaa9b57aaf72164aaa1eb7f1aebdbf8, type: 3} 410 | typeID: 114 411 | customType: 0 412 | isPPtrCurve: 0 413 | - serializedVersion: 2 414 | path: 2018365746 415 | attribute: 3259992537 416 | script: {fileID: 11500000, guid: edaa9b57aaf72164aaa1eb7f1aebdbf8, type: 3} 417 | typeID: 114 418 | customType: 0 419 | isPPtrCurve: 0 420 | - serializedVersion: 2 421 | path: 1387605159 422 | attribute: 1728786445 423 | script: {fileID: 11500000, guid: edaa9b57aaf72164aaa1eb7f1aebdbf8, type: 3} 424 | typeID: 114 425 | customType: 0 426 | isPPtrCurve: 0 427 | pptrCurveMapping: [] 428 | m_AnimationClipSettings: 429 | serializedVersion: 2 430 | m_AdditiveReferencePoseClip: {fileID: 0} 431 | m_AdditiveReferencePoseTime: 0 432 | m_StartTime: 0 433 | m_StopTime: 4.25 434 | m_OrientationOffsetY: 0 435 | m_Level: 0 436 | m_CycleOffset: 0 437 | m_HasAdditiveReferencePose: 0 438 | m_LoopTime: 0 439 | m_LoopBlend: 0 440 | m_LoopBlendOrientation: 0 441 | m_LoopBlendPositionY: 0 442 | m_LoopBlendPositionXZ: 0 443 | m_KeepOriginalOrientation: 0 444 | m_KeepOriginalPositionY: 1 445 | m_KeepOriginalPositionXZ: 0 446 | m_HeightFromFeet: 0 447 | m_Mirror: 0 448 | m_EditorCurves: 449 | - curve: 450 | serializedVersion: 2 451 | m_Curve: 452 | - serializedVersion: 2 453 | time: 0.25 454 | value: -1 455 | inSlope: 0 456 | outSlope: 1.3333334 457 | tangentMode: 69 458 | - serializedVersion: 2 459 | time: 1 460 | value: 0 461 | inSlope: 1.3333334 462 | outSlope: 0 463 | tangentMode: 69 464 | - serializedVersion: 2 465 | time: 1.8333334 466 | value: 0 467 | inSlope: -0 468 | outSlope: 1.3333335 469 | tangentMode: 69 470 | - serializedVersion: 2 471 | time: 2.5833333 472 | value: 1 473 | inSlope: 1.3333335 474 | outSlope: 0 475 | tangentMode: 69 476 | m_PreInfinity: 2 477 | m_PostInfinity: 2 478 | m_RotationOrder: 4 479 | attribute: _parameter 480 | path: Test 481 | classID: 114 482 | script: {fileID: 11500000, guid: edaa9b57aaf72164aaa1eb7f1aebdbf8, type: 3} 483 | - curve: 484 | serializedVersion: 2 485 | m_Curve: 486 | - serializedVersion: 2 487 | time: 0 488 | value: 0 489 | inSlope: 0 490 | outSlope: 0 491 | tangentMode: 69 492 | - serializedVersion: 2 493 | time: 2.1666667 494 | value: 0 495 | inSlope: -0 496 | outSlope: 0.60000056 497 | tangentMode: 69 498 | - serializedVersion: 2 499 | time: 2.3333333 500 | value: 0.1 501 | inSlope: 0.60000056 502 | outSlope: 0 503 | tangentMode: 69 504 | - serializedVersion: 2 505 | time: 3.5 506 | value: 0.1 507 | inSlope: -0 508 | outSlope: -0.5399998 509 | tangentMode: 69 510 | - serializedVersion: 2 511 | time: 3.6666667 512 | value: 0.01 513 | inSlope: -0.5399998 514 | outSlope: 0 515 | tangentMode: 69 516 | m_PreInfinity: 2 517 | m_PostInfinity: 2 518 | m_RotationOrder: 4 519 | attribute: _radius 520 | path: BlobMan Pivot/BlobMan 521 | classID: 114 522 | script: {fileID: 11500000, guid: edaa9b57aaf72164aaa1eb7f1aebdbf8, type: 3} 523 | - curve: 524 | serializedVersion: 2 525 | m_Curve: 526 | - serializedVersion: 2 527 | time: 0 528 | value: 0.01 529 | inSlope: 0 530 | outSlope: 0 531 | tangentMode: 69 532 | - serializedVersion: 2 533 | time: 1.6666666 534 | value: 0.01 535 | inSlope: -0 536 | outSlope: 0.5399998 537 | tangentMode: 69 538 | - serializedVersion: 2 539 | time: 1.8333334 540 | value: 0.1 541 | inSlope: 0.5399998 542 | outSlope: 0 543 | tangentMode: 69 544 | - serializedVersion: 2 545 | time: 2.1666667 546 | value: 0.1 547 | inSlope: -0 548 | outSlope: -0.60000056 549 | tangentMode: 69 550 | - serializedVersion: 2 551 | time: 2.3333333 552 | value: 0 553 | inSlope: -0.60000056 554 | outSlope: 0 555 | tangentMode: 69 556 | m_PreInfinity: 2 557 | m_PostInfinity: 2 558 | m_RotationOrder: 4 559 | attribute: _radius 560 | path: Test 561 | classID: 114 562 | script: {fileID: 11500000, guid: edaa9b57aaf72164aaa1eb7f1aebdbf8, type: 3} 563 | - curve: 564 | serializedVersion: 2 565 | m_Curve: 566 | - serializedVersion: 2 567 | time: 2.0833333 568 | value: -1 569 | inSlope: 0 570 | outSlope: 1.3333334 571 | tangentMode: 69 572 | - serializedVersion: 2 573 | time: 2.8333333 574 | value: 0 575 | inSlope: 1.3333334 576 | outSlope: 0 577 | tangentMode: 69 578 | - serializedVersion: 2 579 | time: 3.5 580 | value: 0 581 | inSlope: -0 582 | outSlope: 1.3333334 583 | tangentMode: 69 584 | - serializedVersion: 2 585 | time: 4.25 586 | value: 1 587 | inSlope: 1.3333334 588 | outSlope: 0 589 | tangentMode: 69 590 | m_PreInfinity: 2 591 | m_PostInfinity: 2 592 | m_RotationOrder: 4 593 | attribute: _parameter 594 | path: BlobMan Pivot/BlobMan 595 | classID: 114 596 | script: {fileID: 11500000, guid: edaa9b57aaf72164aaa1eb7f1aebdbf8, type: 3} 597 | m_EulerEditorCurves: [] 598 | m_HasGenericRootTransform: 0 599 | m_HasMotionFloatCurves: 0 600 | m_GenerateMotionCurves: 1 601 | m_Events: [] 602 | --- !u!114 &114006268261238926 603 | MonoBehaviour: 604 | m_ObjectHideFlags: 1 605 | m_PrefabParentObject: {fileID: 0} 606 | m_PrefabInternal: {fileID: 0} 607 | m_GameObject: {fileID: 0} 608 | m_Enabled: 1 609 | m_EditorHideFlags: 0 610 | m_Script: {fileID: 2024714994, guid: 6a10b2909283487f913b00d94cd3faf5, type: 3} 611 | m_Name: AnimationPlayableAsset of Recorded 612 | m_EditorClassIdentifier: 613 | m_Clip: {fileID: 74476079229794392} 614 | m_Position: {x: 0, y: 0, z: 0} 615 | m_Rotation: {x: 0, y: 0, z: 0, w: 1} 616 | m_UseTrackMatchFields: 0 617 | m_MatchTargetFields: 63 618 | m_RemoveStartOffset: 0 619 | --- !u!114 &114242264648478330 620 | MonoBehaviour: 621 | m_ObjectHideFlags: 1 622 | m_PrefabParentObject: {fileID: 0} 623 | m_PrefabInternal: {fileID: 0} 624 | m_GameObject: {fileID: 0} 625 | m_Enabled: 1 626 | m_EditorHideFlags: 0 627 | m_Script: {fileID: 11500000, guid: cf8fca7bb2ddee8478cf61bf39019f96, type: 3} 628 | m_Name: Procedural Motion Track 629 | m_EditorClassIdentifier: 630 | m_Locked: 0 631 | m_Muted: 0 632 | m_CustomPlayableFullTypename: 633 | m_AnimClip: {fileID: 0} 634 | m_Parent: {fileID: 11400000} 635 | m_Children: [] 636 | m_Clips: 637 | - m_Start: 2.2666666666666666 638 | m_ClipIn: 0 639 | m_Asset: {fileID: 114756910620440930} 640 | m_UnderlyingAsset: {fileID: 114756910620440930} 641 | m_Duration: 2.2333333333333334 642 | m_TimeScale: 1 643 | m_ParentTrack: {fileID: 114242264648478330} 644 | m_EaseInDuration: 0.5 645 | m_EaseOutDuration: 0 646 | m_BlendInDuration: -1 647 | m_BlendOutDuration: -1 648 | m_MixInCurve: 649 | serializedVersion: 2 650 | m_Curve: 651 | - serializedVersion: 2 652 | time: 0 653 | value: 0 654 | inSlope: 0 655 | outSlope: 0 656 | tangentMode: 0 657 | - serializedVersion: 2 658 | time: 1 659 | value: 1 660 | inSlope: 0 661 | outSlope: 0 662 | tangentMode: 0 663 | m_PreInfinity: 2 664 | m_PostInfinity: 2 665 | m_RotationOrder: 4 666 | m_MixOutCurve: 667 | serializedVersion: 2 668 | m_Curve: [] 669 | m_PreInfinity: 2 670 | m_PostInfinity: 2 671 | m_RotationOrder: 4 672 | m_BlendInCurveMode: 0 673 | m_BlendOutCurveMode: 0 674 | m_ExposedParameterNames: [] 675 | m_AnimationCurves: {fileID: 0} 676 | m_Recordable: 0 677 | m_PostExtrapolationMode: 0 678 | m_PreExtrapolationMode: 0 679 | m_PostExtrapolationTime: 7.166666666666666 680 | m_PreExtrapolationTime: 2.2666666666666666 681 | m_DisplayName: BrownianMotion 682 | m_Version: 1 683 | - m_Start: 11.666666666666666 684 | m_ClipIn: 0 685 | m_Asset: {fileID: 114872160257330298} 686 | m_UnderlyingAsset: {fileID: 114872160257330298} 687 | m_Duration: 5 688 | m_TimeScale: 1 689 | m_ParentTrack: {fileID: 114242264648478330} 690 | m_EaseInDuration: 0 691 | m_EaseOutDuration: 0 692 | m_BlendInDuration: -1 693 | m_BlendOutDuration: -1 694 | m_MixInCurve: 695 | serializedVersion: 2 696 | m_Curve: [] 697 | m_PreInfinity: 2 698 | m_PostInfinity: 2 699 | m_RotationOrder: 4 700 | m_MixOutCurve: 701 | serializedVersion: 2 702 | m_Curve: 703 | - serializedVersion: 2 704 | time: 0 705 | value: 1 706 | inSlope: 0 707 | outSlope: 0 708 | tangentMode: 0 709 | - serializedVersion: 2 710 | time: 1 711 | value: 0 712 | inSlope: 0 713 | outSlope: 0 714 | tangentMode: 0 715 | m_PreInfinity: 2 716 | m_PostInfinity: 2 717 | m_RotationOrder: 4 718 | m_BlendInCurveMode: 0 719 | m_BlendOutCurveMode: 0 720 | m_ExposedParameterNames: [] 721 | m_AnimationCurves: {fileID: 0} 722 | m_Recordable: 0 723 | m_PostExtrapolationMode: 0 724 | m_PreExtrapolationMode: 0 725 | m_PostExtrapolationTime: Infinity 726 | m_PreExtrapolationTime: 7.166666666666666 727 | m_DisplayName: BrownianMotion 728 | m_Version: 1 729 | --- !u!114 &114363751593301236 730 | MonoBehaviour: 731 | m_ObjectHideFlags: 1 732 | m_PrefabParentObject: {fileID: 0} 733 | m_PrefabInternal: {fileID: 0} 734 | m_GameObject: {fileID: 0} 735 | m_Enabled: 1 736 | m_EditorHideFlags: 0 737 | m_Script: {fileID: -1095772578, guid: 6a10b2909283487f913b00d94cd3faf5, type: 3} 738 | m_Name: Control Track 739 | m_EditorClassIdentifier: 740 | m_Locked: 0 741 | m_Muted: 0 742 | m_CustomPlayableFullTypename: 743 | m_AnimClip: {fileID: 0} 744 | m_Parent: {fileID: 11400000} 745 | m_Children: [] 746 | m_Clips: 747 | - m_Start: 0 748 | m_ClipIn: 0 749 | m_Asset: {fileID: 114861235972867728} 750 | m_UnderlyingAsset: {fileID: 114861235972867728} 751 | m_Duration: 4.5 752 | m_TimeScale: 1 753 | m_ParentTrack: {fileID: 114363751593301236} 754 | m_EaseInDuration: 0 755 | m_EaseOutDuration: 0 756 | m_BlendInDuration: 0 757 | m_BlendOutDuration: 0 758 | m_MixInCurve: 759 | serializedVersion: 2 760 | m_Curve: 761 | - serializedVersion: 2 762 | time: 0 763 | value: 0 764 | inSlope: 0 765 | outSlope: 0 766 | tangentMode: 0 767 | - serializedVersion: 2 768 | time: 1 769 | value: 1 770 | inSlope: 0 771 | outSlope: 0 772 | tangentMode: 0 773 | m_PreInfinity: 2 774 | m_PostInfinity: 2 775 | m_RotationOrder: 4 776 | m_MixOutCurve: 777 | serializedVersion: 2 778 | m_Curve: 779 | - serializedVersion: 2 780 | time: 0 781 | value: 1 782 | inSlope: 0 783 | outSlope: 0 784 | tangentMode: 0 785 | - serializedVersion: 2 786 | time: 1 787 | value: 0 788 | inSlope: 0 789 | outSlope: 0 790 | tangentMode: 0 791 | m_PreInfinity: 2 792 | m_PostInfinity: 2 793 | m_RotationOrder: 4 794 | m_BlendInCurveMode: 0 795 | m_BlendOutCurveMode: 0 796 | m_ExposedParameterNames: [] 797 | m_AnimationCurves: {fileID: 0} 798 | m_Recordable: 0 799 | m_PostExtrapolationMode: 0 800 | m_PreExtrapolationMode: 0 801 | m_PostExtrapolationTime: 0 802 | m_PreExtrapolationTime: 0 803 | m_DisplayName: ControlPlayableAsset 804 | m_Version: 1 805 | --- !u!114 &114739396759053798 806 | MonoBehaviour: 807 | m_ObjectHideFlags: 1 808 | m_PrefabParentObject: {fileID: 0} 809 | m_PrefabInternal: {fileID: 0} 810 | m_GameObject: {fileID: 0} 811 | m_Enabled: 1 812 | m_EditorHideFlags: 0 813 | m_Script: {fileID: 1467732076, guid: 6a10b2909283487f913b00d94cd3faf5, type: 3} 814 | m_Name: Animation Track 815 | m_EditorClassIdentifier: 816 | m_Locked: 0 817 | m_Muted: 0 818 | m_CustomPlayableFullTypename: 819 | m_AnimClip: {fileID: 74619309739819446} 820 | m_Parent: {fileID: 11400000} 821 | m_Children: [] 822 | m_Clips: [] 823 | m_OpenClipPreExtrapolation: 1 824 | m_OpenClipPostExtrapolation: 1 825 | m_OpenClipOffsetPosition: {x: 0, y: 0, z: 0} 826 | m_OpenClipOffsetRotation: {x: 0, y: 0, z: 0, w: 1} 827 | m_OpenClipTimeOffset: 0 828 | m_MatchTargetFields: 63 829 | m_Position: {x: 0, y: 0, z: 0} 830 | m_Rotation: {x: 0, y: 0, z: 0, w: 1} 831 | m_ApplyOffsets: 0 832 | m_AvatarMask: {fileID: 0} 833 | m_ApplyAvatarMask: 1 834 | --- !u!114 &114756910620440930 835 | MonoBehaviour: 836 | m_ObjectHideFlags: 1 837 | m_PrefabParentObject: {fileID: 0} 838 | m_PrefabInternal: {fileID: 0} 839 | m_GameObject: {fileID: 0} 840 | m_Enabled: 1 841 | m_EditorHideFlags: 0 842 | m_Script: {fileID: 11500000, guid: a9ca4d0ec3eaf424181397a9f2f89180, type: 3} 843 | m_Name: BrownianMotion 844 | m_EditorClassIdentifier: 845 | template: 846 | positionAmount: {x: 0.3, y: 0.2, z: 0.2} 847 | rotationAmount: {x: 70, y: 60, z: 40} 848 | frequency: 0.15 849 | octaves: 3 850 | randomSeed: 0 851 | --- !u!114 &114809207913132010 852 | MonoBehaviour: 853 | m_ObjectHideFlags: 0 854 | m_PrefabParentObject: {fileID: 0} 855 | m_PrefabInternal: {fileID: 0} 856 | m_GameObject: {fileID: 0} 857 | m_Enabled: 1 858 | m_EditorHideFlags: 0 859 | m_Script: {fileID: 2024714994, guid: 6a10b2909283487f913b00d94cd3faf5, type: 3} 860 | m_Name: AnimationPlayableAsset of Recorded(Clone) 861 | m_EditorClassIdentifier: 862 | m_Clip: {fileID: 74476079229794392} 863 | m_Position: {x: 0, y: 0, z: 0} 864 | m_Rotation: {x: 0, y: 0, z: 0, w: 1} 865 | m_UseTrackMatchFields: 0 866 | m_MatchTargetFields: 63 867 | m_RemoveStartOffset: 0 868 | --- !u!114 &114861235972867728 869 | MonoBehaviour: 870 | m_ObjectHideFlags: 1 871 | m_PrefabParentObject: {fileID: 0} 872 | m_PrefabInternal: {fileID: 0} 873 | m_GameObject: {fileID: 0} 874 | m_Enabled: 1 875 | m_EditorHideFlags: 0 876 | m_Script: {fileID: -1670381969, guid: 6a10b2909283487f913b00d94cd3faf5, type: 3} 877 | m_Name: ControlPlayableAsset 878 | m_EditorClassIdentifier: 879 | sourceGameObject: 880 | exposedName: dc7ff4610b876964a95a163c43bd73ad 881 | defaultValue: {fileID: 0} 882 | prefabGameObject: {fileID: 0} 883 | updateParticle: 1 884 | particleRandomSeed: 198 885 | updateDirector: 1 886 | updateITimeControl: 1 887 | searchHierarchy: 1 888 | active: 1 889 | postPlayback: 2 890 | --- !u!114 &114872160257330298 891 | MonoBehaviour: 892 | m_ObjectHideFlags: 1 893 | m_PrefabParentObject: {fileID: 0} 894 | m_PrefabInternal: {fileID: 0} 895 | m_GameObject: {fileID: 0} 896 | m_Enabled: 1 897 | m_EditorHideFlags: 0 898 | m_Script: {fileID: 11500000, guid: a9ca4d0ec3eaf424181397a9f2f89180, type: 3} 899 | m_Name: BrownianMotion 900 | m_EditorClassIdentifier: 901 | template: 902 | positionAmount: {x: 1, y: 1, z: 1} 903 | rotationAmount: {x: 10, y: 10, z: 10} 904 | frequency: 1 905 | octaves: 2 906 | randomSeed: 0 907 | -------------------------------------------------------------------------------- /Assets/Test/Test.playable.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3d0f8a33ebeb4214d84a44445a7e3770 3 | timeCreated: 1514182713 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | externalObjects: {} 7 | mainObjectFileID: 11400000 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/Text2Man.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2e1c2cd920c49ed42a88fd6cac06f559 3 | folderAsset: yes 4 | timeCreated: 1514180474 5 | licenseType: Pro 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/Text2Man/BlobMan.obj: -------------------------------------------------------------------------------- 1 | # File exported by Houdini 16.5.268 (www.sidefx.com) 2 | # 155 points 3 | # 918 vertices 4 | # 306 primitives 5 | # Bounds: [-1.25605309, -0.585734069, -0.801399708] to [1.49165213, 0.668280721, 0.787423015] 6 | g 7 | v -0.822233737 0.279795647 0.389795959 8 | v -0.794831634 0.305490494 0.270543516 9 | v -0.982902527 0.208003402 0.232849538 10 | v -1.14540243 0.157860398 0.409270972 11 | v -1.20697796 0.107768834 0.263871998 12 | v 0.0358154774 -0.242432624 0.417446285 13 | v 0.0506066084 -0.165450305 0.62010181 14 | v 0.173097014 -0.259687811 0.515842795 15 | v 0.125014424 -0.304537892 0.560428143 16 | v -0.77506566 0.132406592 0.363780737 17 | v -0.928259492 0.0888520479 0.315854937 18 | v -0.723860383 -0.0380600691 0.365721017 19 | v -0.585522294 -0.0569682717 0.422290802 20 | v -0.418363214 -0.046790719 0.37503615 21 | v -0.439160228 -0.327260971 0.405398607 22 | v -0.300422072 -0.273478866 0.440581501 23 | v -0.239993691 -0.424862087 0.417191505 24 | v -0.234962702 -0.243798912 0.29454571 25 | v -0.246355176 -0.114942431 0.35901776 26 | v -0.0155347586 0.170922518 0.478574812 27 | v -0.726484358 0.13190645 0.267994106 28 | v -0.700604022 -0.0638690591 0.287205637 29 | v -0.391242266 -0.119200706 0.234118387 30 | v -0.518244624 -0.168509483 0.221464917 31 | v -0.32313323 -0.492479503 0.323203981 32 | v -0.260079384 -0.453845948 0.187661707 33 | v -0.186493874 0.153778195 0.226321071 34 | v -0.194267869 -0.107952774 0.177830487 35 | v -0.173501968 0.305490971 0.372047782 36 | v 0.0779914856 -0.0343142748 0.18034254 37 | v -0.0450650454 0.145876527 0.0898401067 38 | v 0.254529595 -0.097738713 0.647720456 39 | v 0.293366194 -0.21267873 0.654148817 40 | v 0.202323437 -0.198774964 0.69702518 41 | v 0.514292359 -0.0671811104 0.705911875 42 | v 0.63041532 0.0967600346 0.6201092 43 | v 0.605538487 0.119096458 0.787423015 44 | v 0.626586795 0.211482286 0.719420433 45 | v 0.694630742 0.0305556059 0.724058032 46 | v 0.789107919 0.410571694 0.42162779 47 | v 0.848944783 0.326616585 0.403396487 48 | v 0.982462525 0.449677229 0.503990412 49 | v 0.848016143 0.554146171 0.415285259 50 | v 0.979125619 0.340341926 0.476287305 51 | v 0.147462368 0.38323009 0.436965883 52 | v 0.0532377958 0.486363649 0.403347641 53 | v 0.380316973 0.380764961 0.331899881 54 | v 0.685340047 0.585992455 0.367888987 55 | v 1.00402319 0.587162852 0.311547518 56 | v -0.158815384 0.466333151 0.2567361 57 | v -0.0384845734 0.58123672 0.245809346 58 | v 0.293219447 0.594399095 0.310429156 59 | v 0.515748858 0.495546699 0.363681167 60 | v 0.834780097 0.661304116 0.297298759 61 | v 1.07732642 0.377456665 0.243892699 62 | v -0.175494313 0.307165921 0.100091949 63 | v 0.555675626 0.658087254 0.133964345 64 | v 1.05578315 0.521060348 0.108488433 65 | v 1.17108929 0.39492619 0.0950189456 66 | v 0.940116286 0.287446022 0.110375002 67 | v 1.01958978 0.244522214 0.0945617631 68 | v 1.10910952 0.264202654 0.197226658 69 | v 1.23226011 0.165050089 0.268488377 70 | v 1.00359452 0.136036217 0.183054 71 | v 0.0358505249 0.129335165 0.0801970214 72 | v -0.108950257 0.48945415 0.105479442 73 | v 0.0338890553 0.591142774 0.103014074 74 | v 0.261437535 0.61668849 0.125314742 75 | v 0.822879434 0.649896264 0.125361085 76 | v 1.24282062 0.306578457 0.140896946 77 | v 1.37144339 0.236286521 0.209561676 78 | v 1.44698489 0.0798109174 0.218064666 79 | v 1.25596964 -0.0943624377 0.214462519 80 | v 1.44768226 0.220354378 0.107751317 81 | v 1.49165213 0.0610724688 0.0868420228 82 | v -0.171138406 -0.519351125 0.344628274 83 | v 0.00708734989 -0.261431247 0.371877998 84 | v 0.119580746 -0.0829202533 0.336266518 85 | v -0.0935901403 -0.464939535 0.259269059 86 | v 0.173037648 0.254671335 0.358337462 87 | v 0.522925973 0.311191201 0.245863765 88 | v 0.576824546 0.254455805 0.29133898 89 | v 0.10912931 0.17813015 0.0426589213 90 | v 0.2974087 0.227968812 0.188388348 91 | v 0.397280574 0.278854847 0.0467864387 92 | v 0.549933791 0.297967732 0.0500052609 93 | v 0.906726003 0.296889901 -0.0425943583 94 | v 1.05778348 -0.00565427542 0.0846592933 95 | v 1.27181113 -0.111368179 0.0380673185 96 | v 1.37848628 -0.0848740339 0.102420628 97 | v -1.06514668 -0.202734709 -0.203208715 98 | v -1.05639017 -0.169412434 -0.288127929 99 | v -1.25605309 -0.585734069 -0.203787953 100 | v -1.19880533 -0.475257605 -0.400580555 101 | v -0.210359931 -0.450547099 -0.110896796 102 | v -0.105618119 -0.488686502 -0.103404224 103 | v -0.131679893 -0.160671562 -0.0307755768 104 | v 0.126164556 -0.0948278308 -0.0534890145 105 | v -0.165562034 0.111821353 -0.0977126062 106 | v -0.959734142 -0.347857147 -0.186831951 107 | v -0.579975903 -0.370479643 -0.141232029 108 | v -0.870405793 -0.261423588 -0.211617231 109 | v -0.997210324 -0.404613912 -0.268543512 110 | v -0.338958383 -0.325272501 -0.12736024 111 | v -0.582787275 -0.459480613 -0.234851152 112 | v -0.236232162 -0.550662518 -0.208375335 113 | v -0.224586129 -0.324584246 -0.230774015 114 | v -0.919151247 -0.293703109 -0.297856599 115 | v -1.07687962 -0.451307237 -0.226191819 116 | v -0.555517137 -0.225398272 -0.258977681 117 | v -0.569664419 -0.421624005 -0.339318931 118 | v -0.134548306 -0.0733844936 -0.275660604 119 | v -0.191478491 0.30570364 -0.140776053 120 | v -0.394295454 -0.325546592 -0.360401511 121 | v -0.11687088 -0.492848754 -0.311058432 122 | v 0.0618156195 0.0709581971 -0.292087972 123 | v -0.0462852716 0.328197718 -0.261258692 124 | v -0.160352111 0.478636503 -0.0283020735 125 | v 0.0643694401 0.55432415 -0.15026769 126 | v 0.464947104 0.643190026 -0.0506040901 127 | v 0.821285129 0.668280721 -0.048409462 128 | v 1.03186285 0.568606019 -0.0886878818 129 | v 1.11350572 0.28067863 0.0109321028 130 | v 1.32370222 0.237200856 -0.0207810923 131 | v 1.08769929 0.438727498 -0.120931059 132 | v 1.2367059 0.169968605 -0.0703917444 133 | v 0.393610835 0.557907462 -0.142867342 134 | v 0.375068188 0.403826177 -0.139501721 135 | v 0.588122725 0.422693908 -0.169487476 136 | v 0.9044801 0.563003421 -0.20531565 137 | v 0.8598243 0.462734818 -0.262639254 138 | v 1.02805507 0.303283572 -0.293319941 139 | v 0.138702273 0.360738993 -0.237631798 140 | v 0.823393226 0.341379523 -0.23139441 141 | v 0.966346383 0.439304709 -0.359803736 142 | v 0.835224986 0.266755819 -0.402625114 143 | v 0.766198993 0.392944694 -0.547279239 144 | v 0.687469602 0.276052594 -0.434728116 145 | v 0.603098989 0.40122056 -0.51748836 146 | v 0.641361117 0.243844151 -0.625947595 147 | v 0.55012691 0.311907172 -0.687474012 148 | v 0.515557885 0.132449031 -0.588549495 149 | v 0.293810725 0.0216776133 -0.687109351 150 | v 0.290214777 -0.105304897 -0.801399708 151 | v 0.362356901 -0.0612212718 -0.716204166 152 | v 0.143473983 -0.112018228 -0.658049941 153 | v 0.277906775 -0.223214686 -0.671018839 154 | v 0.23859787 -0.269650221 -0.657051802 155 | v 0.159100771 -0.190271348 -0.54951334 156 | v 1.34748733 -0.00564837456 -0.0469452143 157 | v -0.0444982052 -0.52926749 -0.1960347 158 | v 0.151258707 -0.104689777 -0.185379714 159 | v 0.173359513 0.249716997 -0.158795804 160 | v 0.589861274 0.24516052 -0.101966143 161 | v 1.05286467 0.108313441 -0.0122716352 162 | g BlobMan 163 | f 5 4 3 164 | f 13 14 10 165 | f 14 13 16 166 | f 16 13 15 167 | f 17 15 25 168 | f 18 16 17 169 | f 18 23 14 170 | f 17 26 18 171 | f 24 23 26 172 | f 27 31 28 173 | f 9 7 6 174 | f 8 32 33 175 | f 32 7 37 176 | f 40 36 38 177 | f 40 38 43 178 | f 44 55 42 179 | f 59 49 42 180 | f 68 67 52 181 | f 70 62 63 182 | f 75 74 72 183 | f 75 73 90 184 | f 20 17 77 185 | f 76 17 25 186 | f 77 17 76 187 | f 77 76 79 188 | f 78 77 79 189 | f 78 79 30 190 | f 81 53 47 191 | f 53 81 82 192 | f 44 60 55 193 | f 47 84 85 194 | f 81 47 85 195 | f 93 91 94 196 | f 97 95 96 197 | f 65 31 97 198 | f 101 100 103 199 | f 96 95 101 200 | f 56 113 99 201 | f 61 60 87 202 | f 61 87 123 203 | f 124 59 70 204 | f 120 127 119 205 | f 127 128 133 206 | f 59 125 122 207 | f 133 116 117 208 | f 130 122 135 209 | f 132 136 137 210 | f 140 141 137 211 | f 141 139 137 212 | f 140 139 142 213 | f 126 124 150 214 | f 96 101 106 215 | f 98 96 151 216 | f 151 106 115 217 | f 106 111 115 218 | f 106 105 111 219 | f 155 61 123 220 | f 88 64 155 221 | f 98 152 153 222 | f 86 85 129 223 | f 155 123 126 224 | f 154 86 129 225 | f 144 145 147 226 | f 89 73 88 227 | f 88 155 89 228 | f 89 155 150 229 | f 155 126 150 230 | f 89 150 90 231 | f 144 147 148 232 | f 136 87 134 233 | f 153 116 133 234 | f 87 136 132 235 | f 154 129 134 236 | f 85 128 129 237 | f 153 133 128 238 | f 152 116 153 239 | f 154 134 87 240 | f 87 86 154 241 | f 153 128 85 242 | f 83 98 153 243 | f 64 61 155 244 | f 86 87 60 245 | f 81 85 86 246 | f 84 83 85 247 | f 85 83 153 248 | f 65 98 83 249 | f 152 115 116 250 | f 94 103 109 251 | f 98 151 152 252 | f 151 115 152 253 | f 94 109 93 254 | f 96 106 151 255 | f 109 100 93 256 | f 98 97 96 257 | f 147 149 148 258 | f 149 146 148 259 | f 147 146 149 260 | f 124 75 150 261 | f 124 74 75 262 | f 126 123 124 263 | f 150 75 90 264 | f 74 124 70 265 | f 148 146 144 266 | f 144 146 143 267 | f 143 147 145 268 | f 143 146 147 269 | f 144 141 145 270 | f 143 141 144 271 | f 142 143 145 272 | f 140 145 141 273 | f 143 139 141 274 | f 140 142 145 275 | f 143 142 139 276 | f 138 139 140 277 | f 140 137 136 278 | f 140 136 138 279 | f 131 139 138 280 | f 139 131 137 281 | f 137 131 135 282 | f 134 131 138 283 | f 134 138 136 284 | f 132 137 135 285 | f 132 135 125 286 | f 135 131 130 287 | f 135 122 125 288 | f 131 134 129 289 | f 129 130 131 290 | f 133 117 127 291 | f 117 119 127 292 | f 119 117 113 293 | f 132 125 87 294 | f 130 121 122 295 | f 129 127 130 296 | f 127 120 130 297 | f 120 121 130 298 | f 128 127 129 299 | f 118 119 113 300 | f 112 99 113 301 | f 117 112 113 302 | f 123 125 59 303 | f 125 123 87 304 | f 122 58 59 305 | f 122 121 69 306 | f 57 121 120 307 | f 119 118 67 308 | f 124 123 59 309 | f 122 69 58 310 | f 69 121 57 311 | f 120 68 57 312 | f 120 119 68 313 | f 68 119 67 314 | f 67 118 66 315 | f 118 56 66 316 | f 99 31 56 317 | f 113 56 118 318 | f 116 112 117 319 | f 115 112 116 320 | f 112 115 107 321 | f 115 114 107 322 | f 114 115 111 323 | f 114 110 107 324 | f 111 108 114 325 | f 114 108 110 326 | f 103 108 111 327 | f 94 108 103 328 | f 108 94 92 329 | f 112 107 99 330 | f 107 104 95 331 | f 107 110 104 332 | f 110 102 104 333 | f 101 103 105 334 | f 105 103 111 335 | f 100 109 103 336 | f 108 102 110 337 | f 108 92 102 338 | f 102 91 100 339 | f 92 91 102 340 | f 99 107 97 341 | f 107 95 97 342 | f 101 105 106 343 | f 104 101 95 344 | f 104 102 101 345 | f 101 102 100 346 | f 100 91 93 347 | f 97 98 65 348 | f 31 99 97 349 | f 91 92 94 350 | f 89 90 73 351 | f 64 88 73 352 | f 63 64 73 353 | f 62 61 64 354 | f 60 82 86 355 | f 82 81 86 356 | f 84 80 83 357 | f 80 65 83 358 | f 30 65 80 359 | f 78 30 80 360 | f 60 44 41 361 | f 41 82 60 362 | f 41 53 82 363 | f 80 84 47 364 | f 45 78 80 365 | f 65 30 31 366 | f 26 28 30 367 | f 30 79 26 368 | f 79 76 26 369 | f 76 25 26 370 | f 25 24 26 371 | f 11 5 3 372 | f 15 22 25 373 | f 15 12 22 374 | f 11 4 5 375 | f 45 20 78 376 | f 20 77 78 377 | f 11 1 4 378 | f 75 72 73 379 | f 74 71 72 380 | f 70 71 74 381 | f 72 63 73 382 | f 72 71 63 383 | f 70 63 71 384 | f 59 55 70 385 | f 62 70 55 386 | f 58 49 59 387 | f 58 54 49 388 | f 58 69 54 389 | f 69 57 54 390 | f 57 68 52 391 | f 67 51 52 392 | f 66 51 67 393 | f 66 56 50 394 | f 66 50 51 395 | f 27 56 31 396 | f 63 62 64 397 | f 55 61 62 398 | f 59 42 55 399 | f 55 60 61 400 | f 52 54 57 401 | f 50 56 29 402 | f 56 27 29 403 | f 49 54 43 404 | f 54 48 43 405 | f 53 41 48 406 | f 54 52 53 407 | f 48 54 53 408 | f 53 45 47 409 | f 46 45 52 410 | f 52 45 53 411 | f 52 51 46 412 | f 50 29 51 413 | f 51 29 46 414 | f 27 19 29 415 | f 41 40 48 416 | f 43 48 40 417 | f 45 80 47 418 | f 46 20 45 419 | f 29 20 46 420 | f 29 19 20 421 | f 43 38 42 422 | f 42 49 43 423 | f 41 44 39 424 | f 44 42 39 425 | f 42 38 37 426 | f 41 36 40 427 | f 36 41 39 428 | f 42 37 39 429 | f 35 36 39 430 | f 35 39 37 431 | f 38 36 32 432 | f 37 38 32 433 | f 37 34 35 434 | f 37 7 34 435 | f 35 33 36 436 | f 33 32 36 437 | f 35 34 33 438 | f 9 33 34 439 | f 34 7 9 440 | f 8 33 9 441 | f 6 8 9 442 | f 7 32 8 443 | f 6 7 8 444 | f 31 30 28 445 | f 28 19 27 446 | f 28 26 19 447 | f 26 23 18 448 | f 24 21 23 449 | f 22 21 24 450 | f 3 21 22 451 | f 11 3 22 452 | f 2 21 3 453 | f 26 17 19 454 | f 18 14 16 455 | f 22 24 25 456 | f 23 21 14 457 | f 21 10 14 458 | f 22 12 11 459 | f 10 21 1 460 | f 2 1 21 461 | f 20 19 17 462 | f 15 17 16 463 | f 13 12 15 464 | f 13 10 12 465 | f 12 10 11 466 | f 10 1 11 467 | f 1 3 4 468 | f 1 2 3 469 | -------------------------------------------------------------------------------- /Assets/Text2Man/BlobMan.obj.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2c2a8010e16142b45912e49a9d5d938a 3 | timeCreated: 1514195274 4 | licenseType: Pro 5 | ModelImporter: 6 | serializedVersion: 22 7 | fileIDToRecycleName: 8 | 100000: //RootNode 9 | 100002: default 10 | 100004: BlobMan 11 | 400000: //RootNode 12 | 400002: default 13 | 400004: BlobMan 14 | 2100000: defaultMat 15 | 2300000: default 16 | 2300002: BlobMan 17 | 3300000: default 18 | 3300002: BlobMan 19 | 4300000: default 20 | 4300002: BlobMan 21 | externalObjects: {} 22 | materials: 23 | importMaterials: 0 24 | materialName: 0 25 | materialSearch: 1 26 | materialLocation: 1 27 | animations: 28 | legacyGenerateAnimations: 4 29 | bakeSimulation: 0 30 | resampleCurves: 1 31 | optimizeGameObjects: 0 32 | motionNodeName: 33 | rigImportErrors: 34 | rigImportWarnings: 35 | animationImportErrors: 36 | animationImportWarnings: 37 | animationRetargetingWarnings: 38 | animationDoRetargetingWarnings: 0 39 | importAnimatedCustomProperties: 0 40 | animationCompression: 1 41 | animationRotationError: 0.5 42 | animationPositionError: 0.5 43 | animationScaleError: 0.5 44 | animationWrapMode: 0 45 | extraExposedTransformPaths: [] 46 | extraUserProperties: [] 47 | clipAnimations: [] 48 | isReadable: 0 49 | meshes: 50 | lODScreenPercentages: [] 51 | globalScale: 1 52 | meshCompression: 0 53 | addColliders: 0 54 | importVisibility: 0 55 | importBlendShapes: 0 56 | importCameras: 0 57 | importLights: 0 58 | swapUVChannels: 0 59 | generateSecondaryUV: 0 60 | useFileUnits: 1 61 | optimizeMeshForGPU: 1 62 | keepQuads: 0 63 | weldVertices: 1 64 | preserveHierarchy: 0 65 | indexFormat: 0 66 | secondaryUVAngleDistortion: 8 67 | secondaryUVAreaDistortion: 15.000001 68 | secondaryUVHardAngle: 88 69 | secondaryUVPackMargin: 4 70 | useFileScale: 1 71 | tangentSpace: 72 | normalSmoothAngle: 60 73 | normalImportMode: 2 74 | tangentImportMode: 2 75 | normalCalculationMode: 4 76 | importAnimation: 0 77 | copyAvatar: 0 78 | humanDescription: 79 | serializedVersion: 2 80 | human: [] 81 | skeleton: [] 82 | armTwist: 0.5 83 | foreArmTwist: 0.5 84 | upperLegTwist: 0.5 85 | legTwist: 0.5 86 | armStretch: 0.05 87 | legStretch: 0.05 88 | feetSpacing: 0 89 | rootMotionBoneName: 90 | rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1} 91 | hasTranslationDoF: 0 92 | hasExtraRoot: 0 93 | skeletonHasParents: 1 94 | lastHumanDescriptionAvatarSource: {instanceID: 0} 95 | animationType: 0 96 | humanoidOversampling: 1 97 | additionalBone: 0 98 | userData: 99 | assetBundleName: 100 | assetBundleVariant: 101 | -------------------------------------------------------------------------------- /Assets/Text2Man/NoiseBlobRenderer.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEngine.Playables; 3 | using UnityEngine.Timeline; 4 | 5 | namespace Text2Man 6 | { 7 | [ExecuteInEditMode] 8 | class NoiseBlobRenderer : MonoBehaviour, ITimeControl, IPropertyPreview 9 | { 10 | #region Editable properties 11 | 12 | [SerializeField] Mesh _mesh; 13 | 14 | [SerializeField, ColorUsage(false, true, 0, 8, 0.125f, 3)] 15 | Color _color = Color.white; 16 | 17 | [SerializeField] float _radius = 0.1f; 18 | 19 | [SerializeField, Range(-1, 1)] float _parameter = 0; 20 | 21 | #endregion 22 | 23 | #region Internal resources 24 | 25 | [SerializeField, HideInInspector] Shader _shader; 26 | 27 | #endregion 28 | 29 | #region Private variables and properties 30 | 31 | Material _material; 32 | float _controlTime = -1; 33 | 34 | float LocalTime { 35 | get { 36 | if (_controlTime < 0) 37 | return Application.isPlaying ? Time.time : 0; 38 | else 39 | return _controlTime; 40 | } 41 | } 42 | 43 | float MeshExtent { 44 | get { 45 | if (_mesh == null) return 0; 46 | var bounds = _mesh.bounds; 47 | return Mathf.Max(-bounds.min.x, bounds.max.x); 48 | } 49 | } 50 | 51 | #endregion 52 | 53 | #region IPropertyPreview implementation 54 | 55 | public void GatherProperties(PlayableDirector director, IPropertyCollector driver) 56 | { 57 | } 58 | 59 | #endregion 60 | 61 | #region ITimeControl implementation 62 | 63 | public void OnControlTimeStart() 64 | { 65 | } 66 | 67 | public void OnControlTimeStop() 68 | { 69 | _controlTime = -1; 70 | } 71 | 72 | public void SetTime(double time) 73 | { 74 | _controlTime = (float)time; 75 | } 76 | 77 | #endregion 78 | 79 | #region MonoBehaviour implementation 80 | 81 | void OnDestroy() 82 | { 83 | if (_material != null) 84 | { 85 | if (Application.isPlaying) 86 | Destroy(_material); 87 | else 88 | DestroyImmediate(_material); 89 | } 90 | } 91 | 92 | void LateUpdate() 93 | { 94 | if (_mesh == null) return; 95 | 96 | if (_material == null) 97 | { 98 | _material = new Material(_shader); 99 | _material.hideFlags = HideFlags.DontSave; 100 | } 101 | 102 | var p0 = MeshExtent / 2; 103 | var p1 = p0 + 1; 104 | 105 | if (_parameter >= 0) 106 | { 107 | _material.SetFloat("_Intro", p1); 108 | _material.SetFloat("_Outro", Mathf.Lerp(-p1, p0, _parameter)); 109 | } 110 | else 111 | { 112 | _material.SetFloat("_Intro", Mathf.Lerp(p1, -p0, -_parameter)); 113 | _material.SetFloat("_Outro", -p1); 114 | } 115 | 116 | _material.SetColor("_Color", _color); 117 | _material.SetFloat("_Radius", _radius); 118 | _material.SetFloat("_LocalTime", LocalTime); 119 | 120 | Graphics.DrawMesh( 121 | _mesh, transform.localToWorldMatrix, 122 | _material, gameObject.layer 123 | ); 124 | } 125 | 126 | #endregion 127 | } 128 | } 129 | -------------------------------------------------------------------------------- /Assets/Text2Man/NoiseBlobRenderer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: edaa9b57aaf72164aaa1eb7f1aebdbf8 3 | timeCreated: 1514265162 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: 9 | - _mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0} 10 | - _shader: {fileID: 4800000, guid: fe4f6982eb1019d43bb5aaad836ec4c2, type: 3} 11 | executionOrder: 0 12 | icon: {instanceID: 0} 13 | userData: 14 | assetBundleName: 15 | assetBundleVariant: 16 | -------------------------------------------------------------------------------- /Assets/Text2Man/SimplexNoise3D.hlsl: -------------------------------------------------------------------------------- 1 | // 2 | // Noise Shader Library for Unity - https://github.com/keijiro/NoiseShader 3 | // 4 | // Original work (webgl-noise) Copyright (C) 2011 Ashima Arts. 5 | // Translation and modification was made by Keijiro Takahashi. 6 | // 7 | // This shader is based on the webgl-noise GLSL shader. For further details 8 | // of the original shader, please see the following description from the 9 | // original source code. 10 | // 11 | 12 | // 13 | // Description : Array and textureless GLSL 2D/3D/4D simplex 14 | // noise functions. 15 | // Author : Ian McEwan, Ashima Arts. 16 | // Maintainer : ijm 17 | // Lastmod : 20110822 (ijm) 18 | // License : Copyright (C) 2011 Ashima Arts. All rights reserved. 19 | // Distributed under the MIT License. See LICENSE file. 20 | // https://github.com/ashima/webgl-noise 21 | // 22 | 23 | float3 mod289(float3 x) 24 | { 25 | return x - floor(x / 289.0) * 289.0; 26 | } 27 | 28 | float4 mod289(float4 x) 29 | { 30 | return x - floor(x / 289.0) * 289.0; 31 | } 32 | 33 | float4 permute(float4 x) 34 | { 35 | return mod289((x * 34.0 + 1.0) * x); 36 | } 37 | 38 | float4 taylorInvSqrt(float4 r) 39 | { 40 | return 1.79284291400159 - r * 0.85373472095314; 41 | } 42 | 43 | float snoise(float3 v) 44 | { 45 | const float2 C = float2(1.0 / 6.0, 1.0 / 3.0); 46 | 47 | // First corner 48 | float3 i = floor(v + dot(v, C.yyy)); 49 | float3 x0 = v - i + dot(i, C.xxx); 50 | 51 | // Other corners 52 | float3 g = step(x0.yzx, x0.xyz); 53 | float3 l = 1.0 - g; 54 | float3 i1 = min(g.xyz, l.zxy); 55 | float3 i2 = max(g.xyz, l.zxy); 56 | 57 | // x1 = x0 - i1 + 1.0 * C.xxx; 58 | // x2 = x0 - i2 + 2.0 * C.xxx; 59 | // x3 = x0 - 1.0 + 3.0 * C.xxx; 60 | float3 x1 = x0 - i1 + C.xxx; 61 | float3 x2 = x0 - i2 + C.yyy; 62 | float3 x3 = x0 - 0.5; 63 | 64 | // Permutations 65 | i = mod289(i); // Avoid truncation effects in permutation 66 | float4 p = 67 | permute(permute(permute(i.z + float4(0.0, i1.z, i2.z, 1.0)) 68 | + i.y + float4(0.0, i1.y, i2.y, 1.0)) 69 | + i.x + float4(0.0, i1.x, i2.x, 1.0)); 70 | 71 | // Gradients: 7x7 points over a square, mapped onto an octahedron. 72 | // The ring size 17*17 = 289 is close to a multiple of 49 (49*6 = 294) 73 | float4 j = p - 49.0 * floor(p / 49.0); // mod(p,7*7) 74 | 75 | float4 x_ = floor(j / 7.0); 76 | float4 y_ = floor(j - 7.0 * x_); // mod(j,N) 77 | 78 | float4 x = (x_ * 2.0 + 0.5) / 7.0 - 1.0; 79 | float4 y = (y_ * 2.0 + 0.5) / 7.0 - 1.0; 80 | 81 | float4 h = 1.0 - abs(x) - abs(y); 82 | 83 | float4 b0 = float4(x.xy, y.xy); 84 | float4 b1 = float4(x.zw, y.zw); 85 | 86 | //float4 s0 = float4(lessThan(b0, 0.0)) * 2.0 - 1.0; 87 | //float4 s1 = float4(lessThan(b1, 0.0)) * 2.0 - 1.0; 88 | float4 s0 = floor(b0) * 2.0 + 1.0; 89 | float4 s1 = floor(b1) * 2.0 + 1.0; 90 | float4 sh = -step(h, 0.0); 91 | 92 | float4 a0 = b0.xzyw + s0.xzyw * sh.xxyy; 93 | float4 a1 = b1.xzyw + s1.xzyw * sh.zzww; 94 | 95 | float3 g0 = float3(a0.xy, h.x); 96 | float3 g1 = float3(a0.zw, h.y); 97 | float3 g2 = float3(a1.xy, h.z); 98 | float3 g3 = float3(a1.zw, h.w); 99 | 100 | // Normalise gradients 101 | float4 norm = taylorInvSqrt(float4(dot(g0, g0), dot(g1, g1), dot(g2, g2), dot(g3, g3))); 102 | g0 *= norm.x; 103 | g1 *= norm.y; 104 | g2 *= norm.z; 105 | g3 *= norm.w; 106 | 107 | // Mix final noise value 108 | float4 m = max(0.6 - float4(dot(x0, x0), dot(x1, x1), dot(x2, x2), dot(x3, x3)), 0.0); 109 | m = m * m; 110 | m = m * m; 111 | 112 | float4 px = float4(dot(x0, g0), dot(x1, g1), dot(x2, g2), dot(x3, g3)); 113 | return 42.0 * dot(m, px); 114 | } 115 | 116 | float4 snoise_grad(float3 v) 117 | { 118 | const float2 C = float2(1.0 / 6.0, 1.0 / 3.0); 119 | 120 | // First corner 121 | float3 i = floor(v + dot(v, C.yyy)); 122 | float3 x0 = v - i + dot(i, C.xxx); 123 | 124 | // Other corners 125 | float3 g = step(x0.yzx, x0.xyz); 126 | float3 l = 1.0 - g; 127 | float3 i1 = min(g.xyz, l.zxy); 128 | float3 i2 = max(g.xyz, l.zxy); 129 | 130 | // x1 = x0 - i1 + 1.0 * C.xxx; 131 | // x2 = x0 - i2 + 2.0 * C.xxx; 132 | // x3 = x0 - 1.0 + 3.0 * C.xxx; 133 | float3 x1 = x0 - i1 + C.xxx; 134 | float3 x2 = x0 - i2 + C.yyy; 135 | float3 x3 = x0 - 0.5; 136 | 137 | // Permutations 138 | i = mod289(i); // Avoid truncation effects in permutation 139 | float4 p = 140 | permute(permute(permute(i.z + float4(0.0, i1.z, i2.z, 1.0)) 141 | + i.y + float4(0.0, i1.y, i2.y, 1.0)) 142 | + i.x + float4(0.0, i1.x, i2.x, 1.0)); 143 | 144 | // Gradients: 7x7 points over a square, mapped onto an octahedron. 145 | // The ring size 17*17 = 289 is close to a multiple of 49 (49*6 = 294) 146 | float4 j = p - 49.0 * floor(p / 49.0); // mod(p,7*7) 147 | 148 | float4 x_ = floor(j / 7.0); 149 | float4 y_ = floor(j - 7.0 * x_); // mod(j,N) 150 | 151 | float4 x = (x_ * 2.0 + 0.5) / 7.0 - 1.0; 152 | float4 y = (y_ * 2.0 + 0.5) / 7.0 - 1.0; 153 | 154 | float4 h = 1.0 - abs(x) - abs(y); 155 | 156 | float4 b0 = float4(x.xy, y.xy); 157 | float4 b1 = float4(x.zw, y.zw); 158 | 159 | //float4 s0 = float4(lessThan(b0, 0.0)) * 2.0 - 1.0; 160 | //float4 s1 = float4(lessThan(b1, 0.0)) * 2.0 - 1.0; 161 | float4 s0 = floor(b0) * 2.0 + 1.0; 162 | float4 s1 = floor(b1) * 2.0 + 1.0; 163 | float4 sh = -step(h, 0.0); 164 | 165 | float4 a0 = b0.xzyw + s0.xzyw * sh.xxyy; 166 | float4 a1 = b1.xzyw + s1.xzyw * sh.zzww; 167 | 168 | float3 g0 = float3(a0.xy, h.x); 169 | float3 g1 = float3(a0.zw, h.y); 170 | float3 g2 = float3(a1.xy, h.z); 171 | float3 g3 = float3(a1.zw, h.w); 172 | 173 | // Normalise gradients 174 | float4 norm = taylorInvSqrt(float4(dot(g0, g0), dot(g1, g1), dot(g2, g2), dot(g3, g3))); 175 | g0 *= norm.x; 176 | g1 *= norm.y; 177 | g2 *= norm.z; 178 | g3 *= norm.w; 179 | 180 | // Compute noise and gradient at P 181 | float4 m = max(0.6 - float4(dot(x0, x0), dot(x1, x1), dot(x2, x2), dot(x3, x3)), 0.0); 182 | float4 m2 = m * m; 183 | float4 m3 = m2 * m; 184 | float4 m4 = m2 * m2; 185 | float3 grad = 186 | -6.0 * m3.x * x0 * dot(x0, g0) + m4.x * g0 + 187 | -6.0 * m3.y * x1 * dot(x1, g1) + m4.y * g1 + 188 | -6.0 * m3.z * x2 * dot(x2, g2) + m4.z * g2 + 189 | -6.0 * m3.w * x3 * dot(x3, g3) + m4.w * g3; 190 | float4 px = float4(dot(x0, g0), dot(x1, g1), dot(x2, g2), dot(x3, g3)); 191 | return 42.0 * float4(grad, dot(m4, px)); 192 | } 193 | -------------------------------------------------------------------------------- /Assets/Text2Man/SimplexNoise3D.hlsl.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 96cb3f5aa97c2cd4f9bd5cdcba3d267a 3 | timeCreated: 1514181813 4 | licenseType: Pro 5 | ShaderImporter: 6 | externalObjects: {} 7 | defaultTextures: [] 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/Text2Man/Text2Man.shader: -------------------------------------------------------------------------------- 1 | Shader "Hidden/NoiseBlob" 2 | { 3 | Properties 4 | { 5 | _Color("Color", Color) = (1, 1, 1, 1) 6 | } 7 | 8 | CGINCLUDE 9 | 10 | #include "UnityCG.cginc" 11 | #include "SimplexNoise3D.hlsl" 12 | 13 | half4 _Color; 14 | 15 | float _Radius; 16 | float _Intro; 17 | float _Outro; 18 | float _LocalTime; 19 | 20 | // Hash function from H. Schechter & R. Bridson, goo.gl/RXiKaH 21 | uint Hash(uint s) 22 | { 23 | s ^= 2747636419u; 24 | s *= 2654435769u; 25 | s ^= s >> 16; 26 | s *= 2654435769u; 27 | s ^= s >> 16; 28 | s *= 2654435769u; 29 | return s; 30 | } 31 | 32 | float Random(uint seed) 33 | { 34 | return float(Hash(seed)) / 4294967295.0; // 2^32-1 35 | } 36 | 37 | // Uniformaly distributed points on a unit sphere 38 | // http://mathworld.wolfram.com/SpherePointPicking.html 39 | float3 RandomUnitVector(uint seed) 40 | { 41 | float PI2 = 6.28318530718; 42 | float z = 1 - 2 * Random(seed); 43 | float xy = sqrt(1.0 - z * z); 44 | float sn, cs; 45 | sincos(PI2 * Random(seed + 1), sn, cs); 46 | return float3(sn * xy, cs * xy, z); 47 | } 48 | 49 | // Uniformaly distributed points inside a unit sphere 50 | float3 RandomVector(uint seed) 51 | { 52 | return RandomUnitVector(seed) * sqrt(Random(seed + 2)); 53 | } 54 | 55 | float4 Vertex(uint vid : SV_VertexID, float4 position : POSITION) : SV_Position 56 | { 57 | float intro = +position.x / 2 + _Intro; 58 | float outro = -position.x / 2 - _Outro; 59 | 60 | float3 ncoord = position.xyz * 2 + float3(0, 0, _LocalTime * 2.3); 61 | 62 | float3 v_jitter = RandomVector(vid); 63 | float3 v_noise = snoise_grad(ncoord).xyz; 64 | 65 | float3 p0 = v_noise * _Radius; 66 | float3 p1 = position.xyz + v_jitter * 0.5; 67 | float3 p2 = position.xyz + v_noise * 0.02; 68 | 69 | float t_min = min(intro, outro); 70 | float t1 = smoothstep(0.0, 0.5, t_min); 71 | float t2 = smoothstep(0.5, 1.0, t_min); 72 | 73 | position.xyz = lerp(lerp(p0, p1, t1), p2, t2); 74 | 75 | return UnityObjectToClipPos(position); 76 | } 77 | 78 | half4 Fragment() : SV_Target 79 | { 80 | return _Color; 81 | } 82 | 83 | ENDCG 84 | 85 | SubShader 86 | { 87 | Tags { "Queue"="Transparent" } 88 | Pass 89 | { 90 | Cull Off ZWrite Off 91 | CGPROGRAM 92 | #pragma vertex Vertex 93 | #pragma fragment Fragment 94 | ENDCG 95 | } 96 | } 97 | } 98 | -------------------------------------------------------------------------------- /Assets/Text2Man/Text2Man.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fe4f6982eb1019d43bb5aaad836ec4c2 3 | timeCreated: 1514180498 4 | licenseType: Pro 5 | ShaderImporter: 6 | externalObjects: {} 7 | defaultTextures: [] 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Extras/Beta.fbx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keijiro/Text2Man/f3e0745e363a50e4b4809140d4fd75ff37862a87/Extras/Beta.fbx -------------------------------------------------------------------------------- /Extras/BlobMan.hiplc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keijiro/Text2Man/f3e0745e363a50e4b4809140d4fd75ff37862a87/Extras/BlobMan.hiplc -------------------------------------------------------------------------------- /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_AmbisonicDecoderPlugin: 16 | m_DisableAudio: 0 17 | m_VirtualizeEffects: 1 18 | -------------------------------------------------------------------------------- /ProjectSettings/ClusterInputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!236 &1 4 | ClusterInputManager: 5 | m_ObjectHideFlags: 0 6 | m_Inputs: [] 7 | -------------------------------------------------------------------------------- /ProjectSettings/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: 7 7 | m_Gravity: {x: 0, y: -9.81, z: 0} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_BounceThreshold: 2 10 | m_SleepThreshold: 0.005 11 | m_DefaultContactOffset: 0.01 12 | m_DefaultSolverIterations: 6 13 | m_DefaultSolverVelocityIterations: 1 14 | m_QueriesHitBackfaces: 0 15 | m_QueriesHitTriggers: 1 16 | m_EnableAdaptiveForce: 0 17 | m_ClothInterCollisionDistance: 0 18 | m_ClothInterCollisionStiffness: 0 19 | m_ContactsGeneration: 1 20 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 21 | m_AutoSimulation: 1 22 | m_AutoSyncTransforms: 1 23 | m_ClothInterCollisionSettingsToggle: 0 24 | m_ContactPairsMode: 0 25 | m_BroadphaseType: 0 26 | m_WorldBounds: 27 | m_Center: {x: 0, y: 0, z: 0} 28 | m_Extent: {x: 250, y: 250, z: 250} 29 | m_WorldSubdivisions: 8 30 | -------------------------------------------------------------------------------- /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: 7 7 | m_ExternalVersionControlSupport: Visible Meta Files 8 | m_SerializationMode: 2 9 | m_LineEndingsForNewScripts: 2 10 | m_DefaultBehaviorMode: 0 11 | m_SpritePackerMode: 0 12 | m_SpritePackerPaddingPower: 1 13 | m_EtcTextureCompressorBehavior: 1 14 | m_EtcTextureFastCompressor: 1 15 | m_EtcTextureNormalCompressor: 2 16 | m_EtcTextureBestCompressor: 4 17 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;rsp 18 | m_ProjectGenerationRootNamespace: 19 | m_UserGeneratedProjectSuffix: 20 | m_CollabEditorSettings: 21 | inProgressEnabled: 1 22 | -------------------------------------------------------------------------------- /ProjectSettings/GraphicsSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!30 &1 4 | GraphicsSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 12 7 | m_Deferred: 8 | m_Mode: 1 9 | m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} 10 | m_DeferredReflections: 11 | m_Mode: 1 12 | m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0} 13 | m_ScreenSpaceShadows: 14 | m_Mode: 1 15 | m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0} 16 | m_LegacyDeferred: 17 | m_Mode: 1 18 | m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0} 19 | m_DepthNormals: 20 | m_Mode: 1 21 | m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0} 22 | m_MotionVectors: 23 | m_Mode: 1 24 | m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0} 25 | m_LightHalo: 26 | m_Mode: 1 27 | m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0} 28 | m_LensFlare: 29 | m_Mode: 1 30 | m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0} 31 | m_AlwaysIncludedShaders: 32 | - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} 33 | - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0} 34 | - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0} 35 | - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} 36 | - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0} 37 | - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} 38 | m_PreloadedShaders: [] 39 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, 40 | type: 0} 41 | m_CustomRenderPipeline: {fileID: 0} 42 | m_TransparencySortMode: 0 43 | m_TransparencySortAxis: {x: 0, y: 0, z: 1} 44 | m_DefaultRenderingPath: 1 45 | m_DefaultMobileRenderingPath: 1 46 | m_TierSettings: [] 47 | m_LightmapStripping: 0 48 | m_FogStripping: 0 49 | m_InstancingStripping: 0 50 | m_LightmapKeepPlain: 1 51 | m_LightmapKeepDirCombined: 1 52 | m_LightmapKeepDynamicPlain: 1 53 | m_LightmapKeepDynamicDirCombined: 1 54 | m_LightmapKeepShadowMask: 1 55 | m_LightmapKeepSubtractive: 1 56 | m_FogKeepLinear: 1 57 | m_FogKeepExp: 1 58 | m_FogKeepExp2: 1 59 | m_AlbedoSwatchInfos: [] 60 | m_LightsUseLinearIntensity: 0 61 | m_LightsUseColorTemperature: 0 62 | -------------------------------------------------------------------------------- /ProjectSettings/InputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!13 &1 4 | InputManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Axes: 8 | - serializedVersion: 3 9 | m_Name: Horizontal 10 | descriptiveName: 11 | descriptiveNegativeName: 12 | negativeButton: left 13 | positiveButton: right 14 | altNegativeButton: a 15 | altPositiveButton: d 16 | gravity: 3 17 | dead: 0.001 18 | sensitivity: 3 19 | snap: 1 20 | invert: 0 21 | type: 0 22 | axis: 0 23 | joyNum: 0 24 | - serializedVersion: 3 25 | m_Name: Vertical 26 | descriptiveName: 27 | descriptiveNegativeName: 28 | negativeButton: down 29 | positiveButton: up 30 | altNegativeButton: s 31 | altPositiveButton: w 32 | gravity: 3 33 | dead: 0.001 34 | sensitivity: 3 35 | snap: 1 36 | invert: 0 37 | type: 0 38 | axis: 0 39 | joyNum: 0 40 | - serializedVersion: 3 41 | m_Name: Fire1 42 | descriptiveName: 43 | descriptiveNegativeName: 44 | negativeButton: 45 | positiveButton: left ctrl 46 | altNegativeButton: 47 | altPositiveButton: mouse 0 48 | gravity: 1000 49 | dead: 0.001 50 | sensitivity: 1000 51 | snap: 0 52 | invert: 0 53 | type: 0 54 | axis: 0 55 | joyNum: 0 56 | - serializedVersion: 3 57 | m_Name: Fire2 58 | descriptiveName: 59 | descriptiveNegativeName: 60 | negativeButton: 61 | positiveButton: left alt 62 | altNegativeButton: 63 | altPositiveButton: mouse 1 64 | gravity: 1000 65 | dead: 0.001 66 | sensitivity: 1000 67 | snap: 0 68 | invert: 0 69 | type: 0 70 | axis: 0 71 | joyNum: 0 72 | - serializedVersion: 3 73 | m_Name: Fire3 74 | descriptiveName: 75 | descriptiveNegativeName: 76 | negativeButton: 77 | positiveButton: left shift 78 | altNegativeButton: 79 | altPositiveButton: mouse 2 80 | gravity: 1000 81 | dead: 0.001 82 | sensitivity: 1000 83 | snap: 0 84 | invert: 0 85 | type: 0 86 | axis: 0 87 | joyNum: 0 88 | - serializedVersion: 3 89 | m_Name: Jump 90 | descriptiveName: 91 | descriptiveNegativeName: 92 | negativeButton: 93 | positiveButton: space 94 | altNegativeButton: 95 | altPositiveButton: 96 | gravity: 1000 97 | dead: 0.001 98 | sensitivity: 1000 99 | snap: 0 100 | invert: 0 101 | type: 0 102 | axis: 0 103 | joyNum: 0 104 | - serializedVersion: 3 105 | m_Name: Mouse X 106 | descriptiveName: 107 | descriptiveNegativeName: 108 | negativeButton: 109 | positiveButton: 110 | altNegativeButton: 111 | altPositiveButton: 112 | gravity: 0 113 | dead: 0 114 | sensitivity: 0.1 115 | snap: 0 116 | invert: 0 117 | type: 1 118 | axis: 0 119 | joyNum: 0 120 | - serializedVersion: 3 121 | m_Name: Mouse Y 122 | descriptiveName: 123 | descriptiveNegativeName: 124 | negativeButton: 125 | positiveButton: 126 | altNegativeButton: 127 | altPositiveButton: 128 | gravity: 0 129 | dead: 0 130 | sensitivity: 0.1 131 | snap: 0 132 | invert: 0 133 | type: 1 134 | axis: 1 135 | joyNum: 0 136 | - serializedVersion: 3 137 | m_Name: Mouse ScrollWheel 138 | descriptiveName: 139 | descriptiveNegativeName: 140 | negativeButton: 141 | positiveButton: 142 | altNegativeButton: 143 | altPositiveButton: 144 | gravity: 0 145 | dead: 0 146 | sensitivity: 0.1 147 | snap: 0 148 | invert: 0 149 | type: 1 150 | axis: 2 151 | joyNum: 0 152 | - serializedVersion: 3 153 | m_Name: Horizontal 154 | descriptiveName: 155 | descriptiveNegativeName: 156 | negativeButton: 157 | positiveButton: 158 | altNegativeButton: 159 | altPositiveButton: 160 | gravity: 0 161 | dead: 0.19 162 | sensitivity: 1 163 | snap: 0 164 | invert: 0 165 | type: 2 166 | axis: 0 167 | joyNum: 0 168 | - serializedVersion: 3 169 | m_Name: Vertical 170 | descriptiveName: 171 | descriptiveNegativeName: 172 | negativeButton: 173 | positiveButton: 174 | altNegativeButton: 175 | altPositiveButton: 176 | gravity: 0 177 | dead: 0.19 178 | sensitivity: 1 179 | snap: 0 180 | invert: 1 181 | type: 2 182 | axis: 1 183 | joyNum: 0 184 | - serializedVersion: 3 185 | m_Name: Fire1 186 | descriptiveName: 187 | descriptiveNegativeName: 188 | negativeButton: 189 | positiveButton: joystick button 0 190 | altNegativeButton: 191 | altPositiveButton: 192 | gravity: 1000 193 | dead: 0.001 194 | sensitivity: 1000 195 | snap: 0 196 | invert: 0 197 | type: 0 198 | axis: 0 199 | joyNum: 0 200 | - serializedVersion: 3 201 | m_Name: Fire2 202 | descriptiveName: 203 | descriptiveNegativeName: 204 | negativeButton: 205 | positiveButton: joystick button 1 206 | altNegativeButton: 207 | altPositiveButton: 208 | gravity: 1000 209 | dead: 0.001 210 | sensitivity: 1000 211 | snap: 0 212 | invert: 0 213 | type: 0 214 | axis: 0 215 | joyNum: 0 216 | - serializedVersion: 3 217 | m_Name: Fire3 218 | descriptiveName: 219 | descriptiveNegativeName: 220 | negativeButton: 221 | positiveButton: joystick button 2 222 | altNegativeButton: 223 | altPositiveButton: 224 | gravity: 1000 225 | dead: 0.001 226 | sensitivity: 1000 227 | snap: 0 228 | invert: 0 229 | type: 0 230 | axis: 0 231 | joyNum: 0 232 | - serializedVersion: 3 233 | m_Name: Jump 234 | descriptiveName: 235 | descriptiveNegativeName: 236 | negativeButton: 237 | positiveButton: joystick button 3 238 | altNegativeButton: 239 | altPositiveButton: 240 | gravity: 1000 241 | dead: 0.001 242 | sensitivity: 1000 243 | snap: 0 244 | invert: 0 245 | type: 0 246 | axis: 0 247 | joyNum: 0 248 | - serializedVersion: 3 249 | m_Name: Submit 250 | descriptiveName: 251 | descriptiveNegativeName: 252 | negativeButton: 253 | positiveButton: return 254 | altNegativeButton: 255 | altPositiveButton: joystick button 0 256 | gravity: 1000 257 | dead: 0.001 258 | sensitivity: 1000 259 | snap: 0 260 | invert: 0 261 | type: 0 262 | axis: 0 263 | joyNum: 0 264 | - serializedVersion: 3 265 | m_Name: Submit 266 | descriptiveName: 267 | descriptiveNegativeName: 268 | negativeButton: 269 | positiveButton: enter 270 | altNegativeButton: 271 | altPositiveButton: space 272 | gravity: 1000 273 | dead: 0.001 274 | sensitivity: 1000 275 | snap: 0 276 | invert: 0 277 | type: 0 278 | axis: 0 279 | joyNum: 0 280 | - serializedVersion: 3 281 | m_Name: Cancel 282 | descriptiveName: 283 | descriptiveNegativeName: 284 | negativeButton: 285 | positiveButton: escape 286 | altNegativeButton: 287 | altPositiveButton: joystick button 1 288 | gravity: 1000 289 | dead: 0.001 290 | sensitivity: 1000 291 | snap: 0 292 | invert: 0 293 | type: 0 294 | axis: 0 295 | joyNum: 0 296 | -------------------------------------------------------------------------------- /ProjectSettings/NavMeshAreas.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!126 &1 4 | NavMeshProjectSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | areas: 8 | - name: Walkable 9 | cost: 1 10 | - name: Not Walkable 11 | cost: 1 12 | - name: Jump 13 | cost: 2 14 | - name: 15 | cost: 1 16 | - name: 17 | cost: 1 18 | - name: 19 | cost: 1 20 | - name: 21 | cost: 1 22 | - name: 23 | cost: 1 24 | - name: 25 | cost: 1 26 | - name: 27 | cost: 1 28 | - name: 29 | cost: 1 30 | - name: 31 | cost: 1 32 | - name: 33 | cost: 1 34 | - name: 35 | cost: 1 36 | - name: 37 | cost: 1 38 | - name: 39 | cost: 1 40 | - name: 41 | cost: 1 42 | - name: 43 | cost: 1 44 | - name: 45 | cost: 1 46 | - name: 47 | cost: 1 48 | - name: 49 | cost: 1 50 | - name: 51 | cost: 1 52 | - name: 53 | cost: 1 54 | - name: 55 | cost: 1 56 | - name: 57 | cost: 1 58 | - name: 59 | cost: 1 60 | - name: 61 | cost: 1 62 | - name: 63 | cost: 1 64 | - name: 65 | cost: 1 66 | - name: 67 | cost: 1 68 | - name: 69 | cost: 1 70 | - name: 71 | cost: 1 72 | m_LastAgentTypeID: -887442657 73 | m_Settings: 74 | - serializedVersion: 2 75 | agentTypeID: 0 76 | agentRadius: 0.5 77 | agentHeight: 2 78 | agentSlope: 45 79 | agentClimb: 0.75 80 | ledgeDropHeight: 0 81 | maxJumpAcrossDistance: 0 82 | minRegionArea: 2 83 | manualCellSize: 0 84 | cellSize: 0.16666667 85 | manualTileSize: 0 86 | tileSize: 256 87 | accuratePlacement: 0 88 | debug: 89 | m_Flags: 0 90 | m_SettingNames: 91 | - Humanoid 92 | -------------------------------------------------------------------------------- /ProjectSettings/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: 3 7 | m_Gravity: {x: 0, y: -9.81} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_VelocityIterations: 8 10 | m_PositionIterations: 3 11 | m_VelocityThreshold: 1 12 | m_MaxLinearCorrection: 0.2 13 | m_MaxAngularCorrection: 8 14 | m_MaxTranslationSpeed: 100 15 | m_MaxRotationSpeed: 360 16 | m_BaumgarteScale: 0.2 17 | m_BaumgarteTimeOfImpactScale: 0.75 18 | m_TimeToSleep: 0.5 19 | m_LinearSleepTolerance: 0.01 20 | m_AngularSleepTolerance: 2 21 | m_DefaultContactOffset: 0.01 22 | m_AutoSimulation: 1 23 | m_QueriesHitTriggers: 1 24 | m_QueriesStartInColliders: 1 25 | m_ChangeStopsCallbacks: 0 26 | m_CallbacksOnDisable: 1 27 | m_AutoSyncTransforms: 1 28 | m_AlwaysShowColliders: 0 29 | m_ShowColliderSleep: 1 30 | m_ShowColliderContacts: 0 31 | m_ShowColliderAABB: 0 32 | m_ContactArrowScale: 0.2 33 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412} 34 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432} 35 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745} 36 | m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804} 37 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 38 | -------------------------------------------------------------------------------- /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: 14 7 | productGUID: 50dd521dd29967941a5f3389ec656416 8 | AndroidProfiler: 0 9 | AndroidFilterTouchesWhenObscured: 0 10 | defaultScreenOrientation: 4 11 | targetDevice: 2 12 | useOnDemandResources: 0 13 | accelerometerFrequency: 60 14 | companyName: DefaultCompany 15 | productName: TextBlob 16 | defaultCursor: {fileID: 0} 17 | cursorHotspot: {x: 0, y: 0} 18 | m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1} 19 | m_ShowUnitySplashScreen: 0 20 | m_ShowUnitySplashLogo: 1 21 | m_SplashScreenOverlayOpacity: 1 22 | m_SplashScreenAnimation: 1 23 | m_SplashScreenLogoStyle: 1 24 | m_SplashScreenDrawMode: 0 25 | m_SplashScreenBackgroundAnimationZoom: 1 26 | m_SplashScreenLogoAnimationZoom: 1 27 | m_SplashScreenBackgroundLandscapeAspect: 1 28 | m_SplashScreenBackgroundPortraitAspect: 1 29 | m_SplashScreenBackgroundLandscapeUvs: 30 | serializedVersion: 2 31 | x: 0 32 | y: 0 33 | width: 1 34 | height: 1 35 | m_SplashScreenBackgroundPortraitUvs: 36 | serializedVersion: 2 37 | x: 0 38 | y: 0 39 | width: 1 40 | height: 1 41 | m_SplashScreenLogos: [] 42 | m_VirtualRealitySplashScreen: {fileID: 0} 43 | m_HolographicTrackingLossScreen: {fileID: 0} 44 | defaultScreenWidth: 1024 45 | defaultScreenHeight: 768 46 | defaultScreenWidthWeb: 960 47 | defaultScreenHeightWeb: 600 48 | m_StereoRenderingPath: 0 49 | m_ActiveColorSpace: 1 50 | m_MTRendering: 1 51 | m_StackTraceTypes: 010000000100000001000000010000000100000001000000 52 | iosShowActivityIndicatorOnLoading: -1 53 | androidShowActivityIndicatorOnLoading: -1 54 | tizenShowActivityIndicatorOnLoading: -1 55 | iosAppInBackgroundBehavior: 0 56 | displayResolutionDialog: 1 57 | iosAllowHTTPDownload: 1 58 | allowedAutorotateToPortrait: 1 59 | allowedAutorotateToPortraitUpsideDown: 1 60 | allowedAutorotateToLandscapeRight: 1 61 | allowedAutorotateToLandscapeLeft: 1 62 | useOSAutorotation: 1 63 | use32BitDisplayBuffer: 1 64 | preserveFramebufferAlpha: 0 65 | disableDepthAndStencilBuffers: 0 66 | androidBlitType: 0 67 | defaultIsFullScreen: 1 68 | defaultIsNativeResolution: 1 69 | macRetinaSupport: 1 70 | runInBackground: 0 71 | captureSingleScreen: 0 72 | muteOtherAudioSources: 0 73 | Prepare IOS For Recording: 0 74 | Force IOS Speakers When Recording: 0 75 | deferSystemGesturesMode: 0 76 | hideHomeButton: 0 77 | submitAnalytics: 1 78 | usePlayerLog: 1 79 | bakeCollisionMeshes: 0 80 | forceSingleInstance: 0 81 | resizableWindow: 0 82 | useMacAppStoreValidation: 0 83 | macAppStoreCategory: public.app-category.games 84 | gpuSkinning: 0 85 | graphicsJobs: 0 86 | xboxPIXTextureCapture: 0 87 | xboxEnableAvatar: 0 88 | xboxEnableKinect: 0 89 | xboxEnableKinectAutoTracking: 0 90 | xboxEnableFitness: 0 91 | visibleInBackground: 1 92 | allowFullscreenSwitch: 1 93 | graphicsJobMode: 0 94 | macFullscreenMode: 2 95 | d3d11FullscreenMode: 1 96 | xboxSpeechDB: 0 97 | xboxEnableHeadOrientation: 0 98 | xboxEnableGuest: 0 99 | xboxEnablePIXSampling: 0 100 | metalFramebufferOnly: 0 101 | n3dsDisableStereoscopicView: 0 102 | n3dsEnableSharedListOpt: 1 103 | n3dsEnableVSync: 0 104 | xboxOneResolution: 0 105 | xboxOneSResolution: 0 106 | xboxOneXResolution: 3 107 | xboxOneMonoLoggingLevel: 0 108 | xboxOneLoggingLevel: 1 109 | xboxOneDisableEsram: 0 110 | xboxOnePresentImmediateThreshold: 0 111 | videoMemoryForVertexBuffers: 0 112 | psp2PowerMode: 0 113 | psp2AcquireBGM: 1 114 | wiiUTVResolution: 0 115 | wiiUGamePadMSAA: 1 116 | wiiUSupportsNunchuk: 0 117 | wiiUSupportsClassicController: 0 118 | wiiUSupportsBalanceBoard: 0 119 | wiiUSupportsMotionPlus: 0 120 | wiiUSupportsProController: 0 121 | wiiUAllowScreenCapture: 1 122 | wiiUControllerCount: 0 123 | m_SupportedAspectRatios: 124 | 4:3: 1 125 | 5:4: 1 126 | 16:10: 1 127 | 16:9: 1 128 | Others: 1 129 | bundleVersion: 1.0 130 | preloadedAssets: [] 131 | metroInputSource: 0 132 | wsaTransparentSwapchain: 0 133 | m_HolographicPauseOnTrackingLoss: 1 134 | xboxOneDisableKinectGpuReservation: 0 135 | xboxOneEnable7thCore: 0 136 | vrSettings: 137 | cardboard: 138 | depthFormat: 0 139 | enableTransitionView: 0 140 | daydream: 141 | depthFormat: 0 142 | useSustainedPerformanceMode: 0 143 | enableVideoLayer: 0 144 | useProtectedVideoMemory: 0 145 | minimumSupportedHeadTracking: 0 146 | maximumSupportedHeadTracking: 1 147 | hololens: 148 | depthFormat: 1 149 | depthBufferSharingEnabled: 0 150 | oculus: 151 | sharedDepthBuffer: 0 152 | dashSupport: 0 153 | protectGraphicsMemory: 0 154 | useHDRDisplay: 0 155 | m_ColorGamuts: 00000000 156 | targetPixelDensity: 30 157 | resolutionScalingMode: 0 158 | androidSupportedAspectRatio: 1 159 | androidMaxAspectRatio: 2.1 160 | applicationIdentifier: {} 161 | buildNumber: {} 162 | AndroidBundleVersionCode: 1 163 | AndroidMinSdkVersion: 16 164 | AndroidTargetSdkVersion: 0 165 | AndroidPreferredInstallLocation: 1 166 | aotOptions: 167 | stripEngineCode: 1 168 | iPhoneStrippingLevel: 0 169 | iPhoneScriptCallOptimization: 0 170 | ForceInternetPermission: 0 171 | ForceSDCardPermission: 0 172 | CreateWallpaper: 0 173 | APKExpansionFiles: 0 174 | keepLoadedShadersAlive: 0 175 | StripUnusedMeshComponents: 0 176 | VertexChannelCompressionMask: 177 | serializedVersion: 2 178 | m_Bits: 238 179 | iPhoneSdkVersion: 988 180 | iOSTargetOSVersionString: 7.0 181 | tvOSSdkVersion: 0 182 | tvOSRequireExtendedGameController: 0 183 | tvOSTargetOSVersionString: 9.0 184 | uIPrerenderedIcon: 0 185 | uIRequiresPersistentWiFi: 0 186 | uIRequiresFullScreen: 1 187 | uIStatusBarHidden: 1 188 | uIExitOnSuspend: 0 189 | uIStatusBarStyle: 0 190 | iPhoneSplashScreen: {fileID: 0} 191 | iPhoneHighResSplashScreen: {fileID: 0} 192 | iPhoneTallHighResSplashScreen: {fileID: 0} 193 | iPhone47inSplashScreen: {fileID: 0} 194 | iPhone55inPortraitSplashScreen: {fileID: 0} 195 | iPhone55inLandscapeSplashScreen: {fileID: 0} 196 | iPhone58inPortraitSplashScreen: {fileID: 0} 197 | iPhone58inLandscapeSplashScreen: {fileID: 0} 198 | iPadPortraitSplashScreen: {fileID: 0} 199 | iPadHighResPortraitSplashScreen: {fileID: 0} 200 | iPadLandscapeSplashScreen: {fileID: 0} 201 | iPadHighResLandscapeSplashScreen: {fileID: 0} 202 | appleTVSplashScreen: {fileID: 0} 203 | appleTVSplashScreen2x: {fileID: 0} 204 | tvOSSmallIconLayers: [] 205 | tvOSSmallIconLayers2x: [] 206 | tvOSLargeIconLayers: [] 207 | tvOSLargeIconLayers2x: [] 208 | tvOSTopShelfImageLayers: [] 209 | tvOSTopShelfImageLayers2x: [] 210 | tvOSTopShelfImageWideLayers: [] 211 | tvOSTopShelfImageWideLayers2x: [] 212 | iOSLaunchScreenType: 0 213 | iOSLaunchScreenPortrait: {fileID: 0} 214 | iOSLaunchScreenLandscape: {fileID: 0} 215 | iOSLaunchScreenBackgroundColor: 216 | serializedVersion: 2 217 | rgba: 0 218 | iOSLaunchScreenFillPct: 100 219 | iOSLaunchScreenSize: 100 220 | iOSLaunchScreenCustomXibPath: 221 | iOSLaunchScreeniPadType: 0 222 | iOSLaunchScreeniPadImage: {fileID: 0} 223 | iOSLaunchScreeniPadBackgroundColor: 224 | serializedVersion: 2 225 | rgba: 0 226 | iOSLaunchScreeniPadFillPct: 100 227 | iOSLaunchScreeniPadSize: 100 228 | iOSLaunchScreeniPadCustomXibPath: 229 | iOSUseLaunchScreenStoryboard: 0 230 | iOSLaunchScreenCustomStoryboardPath: 231 | iOSDeviceRequirements: [] 232 | iOSURLSchemes: [] 233 | iOSBackgroundModes: 0 234 | iOSMetalForceHardShadows: 0 235 | metalEditorSupport: 1 236 | metalAPIValidation: 1 237 | iOSRenderExtraFrameOnPause: 0 238 | appleDeveloperTeamID: 239 | iOSManualSigningProvisioningProfileID: 240 | tvOSManualSigningProvisioningProfileID: 241 | appleEnableAutomaticSigning: 0 242 | clonedFromGUID: 00000000000000000000000000000000 243 | AndroidTargetDevice: 0 244 | AndroidSplashScreenScale: 0 245 | androidSplashScreen: {fileID: 0} 246 | AndroidKeystoreName: 247 | AndroidKeyaliasName: 248 | AndroidTVCompatibility: 1 249 | AndroidIsGame: 1 250 | AndroidEnableTango: 0 251 | androidEnableBanner: 1 252 | androidUseLowAccuracyLocation: 0 253 | m_AndroidBanners: 254 | - width: 320 255 | height: 180 256 | banner: {fileID: 0} 257 | androidGamepadSupportLevel: 0 258 | resolutionDialogBanner: {fileID: 0} 259 | m_BuildTargetIcons: [] 260 | m_BuildTargetBatching: [] 261 | m_BuildTargetGraphicsAPIs: [] 262 | m_BuildTargetVRSettings: [] 263 | m_BuildTargetEnableVuforiaSettings: [] 264 | openGLRequireES31: 0 265 | openGLRequireES31AEP: 0 266 | m_TemplateCustomTags: {} 267 | mobileMTRendering: 268 | Android: 1 269 | iPhone: 1 270 | tvOS: 1 271 | m_BuildTargetGroupLightmapEncodingQuality: [] 272 | wiiUTitleID: 0005000011000000 273 | wiiUGroupID: 00010000 274 | wiiUCommonSaveSize: 4096 275 | wiiUAccountSaveSize: 2048 276 | wiiUOlvAccessKey: 0 277 | wiiUTinCode: 0 278 | wiiUJoinGameId: 0 279 | wiiUJoinGameModeMask: 0000000000000000 280 | wiiUCommonBossSize: 0 281 | wiiUAccountBossSize: 0 282 | wiiUAddOnUniqueIDs: [] 283 | wiiUMainThreadStackSize: 3072 284 | wiiULoaderThreadStackSize: 1024 285 | wiiUSystemHeapSize: 128 286 | wiiUTVStartupScreen: {fileID: 0} 287 | wiiUGamePadStartupScreen: {fileID: 0} 288 | wiiUDrcBufferDisabled: 0 289 | wiiUProfilerLibPath: 290 | playModeTestRunnerEnabled: 0 291 | actionOnDotNetUnhandledException: 1 292 | enableInternalProfiler: 0 293 | logObjCUncaughtExceptions: 1 294 | enableCrashReportAPI: 0 295 | cameraUsageDescription: 296 | locationUsageDescription: 297 | microphoneUsageDescription: 298 | switchNetLibKey: 299 | switchSocketMemoryPoolSize: 6144 300 | switchSocketAllocatorPoolSize: 128 301 | switchSocketConcurrencyLimit: 14 302 | switchScreenResolutionBehavior: 2 303 | switchUseCPUProfiler: 0 304 | switchApplicationID: 0x01004b9000490000 305 | switchNSODependencies: 306 | switchTitleNames_0: 307 | switchTitleNames_1: 308 | switchTitleNames_2: 309 | switchTitleNames_3: 310 | switchTitleNames_4: 311 | switchTitleNames_5: 312 | switchTitleNames_6: 313 | switchTitleNames_7: 314 | switchTitleNames_8: 315 | switchTitleNames_9: 316 | switchTitleNames_10: 317 | switchTitleNames_11: 318 | switchTitleNames_12: 319 | switchTitleNames_13: 320 | switchTitleNames_14: 321 | switchPublisherNames_0: 322 | switchPublisherNames_1: 323 | switchPublisherNames_2: 324 | switchPublisherNames_3: 325 | switchPublisherNames_4: 326 | switchPublisherNames_5: 327 | switchPublisherNames_6: 328 | switchPublisherNames_7: 329 | switchPublisherNames_8: 330 | switchPublisherNames_9: 331 | switchPublisherNames_10: 332 | switchPublisherNames_11: 333 | switchPublisherNames_12: 334 | switchPublisherNames_13: 335 | switchPublisherNames_14: 336 | switchIcons_0: {fileID: 0} 337 | switchIcons_1: {fileID: 0} 338 | switchIcons_2: {fileID: 0} 339 | switchIcons_3: {fileID: 0} 340 | switchIcons_4: {fileID: 0} 341 | switchIcons_5: {fileID: 0} 342 | switchIcons_6: {fileID: 0} 343 | switchIcons_7: {fileID: 0} 344 | switchIcons_8: {fileID: 0} 345 | switchIcons_9: {fileID: 0} 346 | switchIcons_10: {fileID: 0} 347 | switchIcons_11: {fileID: 0} 348 | switchIcons_12: {fileID: 0} 349 | switchIcons_13: {fileID: 0} 350 | switchIcons_14: {fileID: 0} 351 | switchSmallIcons_0: {fileID: 0} 352 | switchSmallIcons_1: {fileID: 0} 353 | switchSmallIcons_2: {fileID: 0} 354 | switchSmallIcons_3: {fileID: 0} 355 | switchSmallIcons_4: {fileID: 0} 356 | switchSmallIcons_5: {fileID: 0} 357 | switchSmallIcons_6: {fileID: 0} 358 | switchSmallIcons_7: {fileID: 0} 359 | switchSmallIcons_8: {fileID: 0} 360 | switchSmallIcons_9: {fileID: 0} 361 | switchSmallIcons_10: {fileID: 0} 362 | switchSmallIcons_11: {fileID: 0} 363 | switchSmallIcons_12: {fileID: 0} 364 | switchSmallIcons_13: {fileID: 0} 365 | switchSmallIcons_14: {fileID: 0} 366 | switchManualHTML: 367 | switchAccessibleURLs: 368 | switchLegalInformation: 369 | switchMainThreadStackSize: 1048576 370 | switchPresenceGroupId: 371 | switchLogoHandling: 0 372 | switchReleaseVersion: 0 373 | switchDisplayVersion: 1.0.0 374 | switchStartupUserAccount: 0 375 | switchTouchScreenUsage: 0 376 | switchSupportedLanguagesMask: 0 377 | switchLogoType: 0 378 | switchApplicationErrorCodeCategory: 379 | switchUserAccountSaveDataSize: 0 380 | switchUserAccountSaveDataJournalSize: 0 381 | switchApplicationAttribute: 0 382 | switchCardSpecSize: -1 383 | switchCardSpecClock: -1 384 | switchRatingsMask: 0 385 | switchRatingsInt_0: 0 386 | switchRatingsInt_1: 0 387 | switchRatingsInt_2: 0 388 | switchRatingsInt_3: 0 389 | switchRatingsInt_4: 0 390 | switchRatingsInt_5: 0 391 | switchRatingsInt_6: 0 392 | switchRatingsInt_7: 0 393 | switchRatingsInt_8: 0 394 | switchRatingsInt_9: 0 395 | switchRatingsInt_10: 0 396 | switchRatingsInt_11: 0 397 | switchLocalCommunicationIds_0: 398 | switchLocalCommunicationIds_1: 399 | switchLocalCommunicationIds_2: 400 | switchLocalCommunicationIds_3: 401 | switchLocalCommunicationIds_4: 402 | switchLocalCommunicationIds_5: 403 | switchLocalCommunicationIds_6: 404 | switchLocalCommunicationIds_7: 405 | switchParentalControl: 0 406 | switchAllowsScreenshot: 1 407 | switchAllowsVideoCapturing: 1 408 | switchAllowsRuntimeAddOnContentInstall: 0 409 | switchDataLossConfirmation: 0 410 | switchSupportedNpadStyles: 3 411 | switchSocketConfigEnabled: 0 412 | switchTcpInitialSendBufferSize: 32 413 | switchTcpInitialReceiveBufferSize: 64 414 | switchTcpAutoSendBufferSizeMax: 256 415 | switchTcpAutoReceiveBufferSizeMax: 256 416 | switchUdpSendBufferSize: 9 417 | switchUdpReceiveBufferSize: 42 418 | switchSocketBufferEfficiency: 4 419 | switchSocketInitializeEnabled: 1 420 | switchNetworkInterfaceManagerInitializeEnabled: 1 421 | switchPlayerConnectionEnabled: 1 422 | ps4NPAgeRating: 12 423 | ps4NPTitleSecret: 424 | ps4NPTrophyPackPath: 425 | ps4ParentalLevel: 11 426 | ps4ContentID: ED1633-NPXX51362_00-0000000000000000 427 | ps4Category: 0 428 | ps4MasterVersion: 01.00 429 | ps4AppVersion: 01.00 430 | ps4AppType: 0 431 | ps4ParamSfxPath: 432 | ps4VideoOutPixelFormat: 0 433 | ps4VideoOutInitialWidth: 1920 434 | ps4VideoOutBaseModeInitialWidth: 1920 435 | ps4VideoOutReprojectionRate: 60 436 | ps4PronunciationXMLPath: 437 | ps4PronunciationSIGPath: 438 | ps4BackgroundImagePath: 439 | ps4StartupImagePath: 440 | ps4StartupImagesFolder: 441 | ps4IconImagesFolder: 442 | ps4SaveDataImagePath: 443 | ps4SdkOverride: 444 | ps4BGMPath: 445 | ps4ShareFilePath: 446 | ps4ShareOverlayImagePath: 447 | ps4PrivacyGuardImagePath: 448 | ps4NPtitleDatPath: 449 | ps4RemotePlayKeyAssignment: -1 450 | ps4RemotePlayKeyMappingDir: 451 | ps4PlayTogetherPlayerCount: 0 452 | ps4EnterButtonAssignment: 1 453 | ps4ApplicationParam1: 0 454 | ps4ApplicationParam2: 0 455 | ps4ApplicationParam3: 0 456 | ps4ApplicationParam4: 0 457 | ps4DownloadDataSize: 0 458 | ps4GarlicHeapSize: 2048 459 | ps4ProGarlicHeapSize: 2560 460 | ps4Passcode: frAQBc8Wsa1xVPfvJcrgRYwTiizs2trQ 461 | ps4pnSessions: 1 462 | ps4pnPresence: 1 463 | ps4pnFriends: 1 464 | ps4pnGameCustomData: 1 465 | playerPrefsSupport: 0 466 | restrictedAudioUsageRights: 0 467 | ps4UseResolutionFallback: 0 468 | ps4ReprojectionSupport: 0 469 | ps4UseAudio3dBackend: 0 470 | ps4SocialScreenEnabled: 0 471 | ps4ScriptOptimizationLevel: 0 472 | ps4Audio3dVirtualSpeakerCount: 14 473 | ps4attribCpuUsage: 0 474 | ps4PatchPkgPath: 475 | ps4PatchLatestPkgPath: 476 | ps4PatchChangeinfoPath: 477 | ps4PatchDayOne: 0 478 | ps4attribUserManagement: 0 479 | ps4attribMoveSupport: 0 480 | ps4attrib3DSupport: 0 481 | ps4attribShareSupport: 0 482 | ps4attribExclusiveVR: 0 483 | ps4disableAutoHideSplash: 0 484 | ps4videoRecordingFeaturesUsed: 0 485 | ps4contentSearchFeaturesUsed: 0 486 | ps4attribEyeToEyeDistanceSettingVR: 0 487 | ps4IncludedModules: [] 488 | monoEnv: 489 | psp2Splashimage: {fileID: 0} 490 | psp2NPTrophyPackPath: 491 | psp2NPSupportGBMorGJP: 0 492 | psp2NPAgeRating: 12 493 | psp2NPTitleDatPath: 494 | psp2NPCommsID: 495 | psp2NPCommunicationsID: 496 | psp2NPCommsPassphrase: 497 | psp2NPCommsSig: 498 | psp2ParamSfxPath: 499 | psp2ManualPath: 500 | psp2LiveAreaGatePath: 501 | psp2LiveAreaBackroundPath: 502 | psp2LiveAreaPath: 503 | psp2LiveAreaTrialPath: 504 | psp2PatchChangeInfoPath: 505 | psp2PatchOriginalPackage: 506 | psp2PackagePassword: F69AzBlax3CF3EDNhm3soLBPh71Yexui 507 | psp2KeystoneFile: 508 | psp2MemoryExpansionMode: 0 509 | psp2DRMType: 0 510 | psp2StorageType: 0 511 | psp2MediaCapacity: 0 512 | psp2DLCConfigPath: 513 | psp2ThumbnailPath: 514 | psp2BackgroundPath: 515 | psp2SoundPath: 516 | psp2TrophyCommId: 517 | psp2TrophyPackagePath: 518 | psp2PackagedResourcesPath: 519 | psp2SaveDataQuota: 10240 520 | psp2ParentalLevel: 1 521 | psp2ShortTitle: Not Set 522 | psp2ContentID: IV0000-ABCD12345_00-0123456789ABCDEF 523 | psp2Category: 0 524 | psp2MasterVersion: 01.00 525 | psp2AppVersion: 01.00 526 | psp2TVBootMode: 0 527 | psp2EnterButtonAssignment: 2 528 | psp2TVDisableEmu: 0 529 | psp2AllowTwitterDialog: 1 530 | psp2Upgradable: 0 531 | psp2HealthWarning: 0 532 | psp2UseLibLocation: 0 533 | psp2InfoBarOnStartup: 0 534 | psp2InfoBarColor: 0 535 | psp2ScriptOptimizationLevel: 0 536 | psmSplashimage: {fileID: 0} 537 | splashScreenBackgroundSourceLandscape: {fileID: 0} 538 | splashScreenBackgroundSourcePortrait: {fileID: 0} 539 | spritePackerPolicy: 540 | webGLMemorySize: 256 541 | webGLExceptionSupport: 1 542 | webGLNameFilesAsHashes: 0 543 | webGLDataCaching: 0 544 | webGLDebugSymbols: 0 545 | webGLEmscriptenArgs: 546 | webGLModulesDirectory: 547 | webGLTemplate: APPLICATION:Default 548 | webGLAnalyzeBuildSize: 0 549 | webGLUseEmbeddedResources: 0 550 | webGLUseWasm: 0 551 | webGLCompressionFormat: 1 552 | scriptingDefineSymbols: {} 553 | platformArchitecture: {} 554 | scriptingBackend: {} 555 | incrementalIl2cppBuild: {} 556 | additionalIl2CppArgs: 557 | scriptingRuntimeVersion: 0 558 | apiCompatibilityLevelPerPlatform: {} 559 | m_RenderingPath: 1 560 | m_MobileRenderingPath: 1 561 | metroPackageName: TextBlob 562 | metroPackageVersion: 563 | metroCertificatePath: 564 | metroCertificatePassword: 565 | metroCertificateSubject: 566 | metroCertificateIssuer: 567 | metroCertificateNotAfter: 0000000000000000 568 | metroApplicationDescription: TextBlob 569 | wsaImages: {} 570 | metroTileShortName: 571 | metroCommandLineArgsFile: 572 | metroTileShowName: 0 573 | metroMediumTileShowName: 0 574 | metroLargeTileShowName: 0 575 | metroWideTileShowName: 0 576 | metroDefaultTileSize: 1 577 | metroTileForegroundText: 2 578 | metroTileBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 0} 579 | metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902, b: 0.21568628, 580 | a: 1} 581 | metroSplashScreenUseBackgroundColor: 0 582 | platformCapabilities: {} 583 | metroFTAName: 584 | metroFTAFileTypes: [] 585 | metroProtocolName: 586 | metroCompilationOverrides: 1 587 | tizenProductDescription: 588 | tizenProductURL: 589 | tizenSigningProfileName: 590 | tizenGPSPermissions: 0 591 | tizenMicrophonePermissions: 0 592 | tizenDeploymentTarget: 593 | tizenDeploymentTargetType: -1 594 | tizenMinOSVersion: 1 595 | n3dsUseExtSaveData: 0 596 | n3dsCompressStaticMem: 1 597 | n3dsExtSaveDataNumber: 0x12345 598 | n3dsStackSize: 131072 599 | n3dsTargetPlatform: 2 600 | n3dsRegion: 7 601 | n3dsMediaSize: 0 602 | n3dsLogoStyle: 3 603 | n3dsTitle: GameName 604 | n3dsProductCode: 605 | n3dsApplicationId: 0xFF3FF 606 | XboxOneProductId: 607 | XboxOneUpdateKey: 608 | XboxOneSandboxId: 609 | XboxOneContentId: 610 | XboxOneTitleId: 611 | XboxOneSCId: 612 | XboxOneGameOsOverridePath: 613 | XboxOnePackagingOverridePath: 614 | XboxOneAppManifestOverridePath: 615 | XboxOnePackageEncryption: 0 616 | XboxOnePackageUpdateGranularity: 2 617 | XboxOneDescription: 618 | XboxOneLanguage: 619 | - enus 620 | XboxOneCapability: [] 621 | XboxOneGameRating: {} 622 | XboxOneIsContentPackage: 0 623 | XboxOneEnableGPUVariability: 0 624 | XboxOneSockets: {} 625 | XboxOneSplashScreen: {fileID: 0} 626 | XboxOneAllowedProductIds: [] 627 | XboxOnePersistentLocalStorageSize: 0 628 | xboxOneScriptCompiler: 0 629 | vrEditorSettings: 630 | daydream: 631 | daydreamIconForeground: {fileID: 0} 632 | daydreamIconBackground: {fileID: 0} 633 | cloudServicesEnabled: {} 634 | facebookSdkVersion: 7.9.4 635 | apiCompatibilityLevel: 2 636 | cloudProjectId: 637 | projectName: 638 | organizationId: 639 | cloudEnabled: 0 640 | enableNativePlatformBackendsForNewInputSystem: 0 641 | disableOldInputManagerSupport: 0 642 | -------------------------------------------------------------------------------- /ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 2017.3.0f3 2 | -------------------------------------------------------------------------------- /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: Ultra 11 | pixelLightCount: 4 12 | shadows: 2 13 | shadowResolution: 2 14 | shadowProjection: 1 15 | shadowCascades: 4 16 | shadowDistance: 150 17 | shadowNearPlaneOffset: 3 18 | shadowCascade2Split: 0.33333334 19 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 20 | shadowmaskMode: 1 21 | blendWeights: 4 22 | textureQuality: 0 23 | anisotropicTextures: 2 24 | antiAliasing: 8 25 | softParticles: 1 26 | softVegetation: 1 27 | realtimeReflectionProbes: 1 28 | billboardsFaceCameraPosition: 1 29 | vSyncCount: 1 30 | lodBias: 2 31 | maximumLODLevel: 0 32 | particleRaycastBudget: 4096 33 | asyncUploadTimeSlice: 2 34 | asyncUploadBufferSize: 4 35 | resolutionScalingFixedDPIFactor: 1 36 | excludedTargetPlatforms: [] 37 | m_PerPlatformDefaultQuality: 38 | Android: 0 39 | Nintendo 3DS: 0 40 | Nintendo Switch: 0 41 | PS4: 0 42 | PSM: 0 43 | PSP2: 0 44 | Standalone: 0 45 | Tizen: 0 46 | WebGL: 0 47 | WiiU: 0 48 | Windows Store Apps: 0 49 | XboxOne: 0 50 | iPhone: 0 51 | tvOS: 0 52 | -------------------------------------------------------------------------------- /ProjectSettings/TagManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!78 &1 4 | TagManager: 5 | serializedVersion: 2 6 | tags: [] 7 | layers: 8 | - Default 9 | - TransparentFX 10 | - Ignore Raycast 11 | - 12 | - Water 13 | - UI 14 | - 15 | - 16 | - 17 | - 18 | - 19 | - 20 | - 21 | - 22 | - 23 | - 24 | - 25 | - 26 | - 27 | - 28 | - 29 | - 30 | - 31 | - 32 | - 33 | - 34 | - 35 | - 36 | - 37 | - 38 | - 39 | - 40 | m_SortingLayers: 41 | - name: Default 42 | uniqueID: 0 43 | locked: 0 44 | -------------------------------------------------------------------------------- /ProjectSettings/TimeManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!5 &1 4 | TimeManager: 5 | m_ObjectHideFlags: 0 6 | Fixed Timestep: 0.02 7 | Maximum Allowed Timestep: 0.33333334 8 | m_TimeScale: 1 9 | Maximum Particle Timestep: 0.03 10 | -------------------------------------------------------------------------------- /ProjectSettings/UnityConnectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!310 &1 4 | UnityConnectSettings: 5 | m_ObjectHideFlags: 0 6 | m_Enabled: 0 7 | m_TestMode: 0 8 | m_TestEventUrl: 9 | m_TestConfigUrl: 10 | m_TestInitMode: 0 11 | CrashReportingSettings: 12 | m_EventUrl: https://perf-events.cloud.unity3d.com/api/events/crashes 13 | m_NativeEventUrl: https://perf-events.cloud.unity3d.com/symbolicate 14 | m_Enabled: 0 15 | m_CaptureEditorExceptions: 1 16 | UnityPurchasingSettings: 17 | m_Enabled: 0 18 | m_TestMode: 0 19 | UnityAnalyticsSettings: 20 | m_Enabled: 0 21 | m_InitializeOnStartup: 1 22 | m_TestMode: 0 23 | m_TestEventUrl: 24 | m_TestConfigUrl: 25 | UnityAdsSettings: 26 | m_Enabled: 0 27 | m_InitializeOnStartup: 1 28 | m_TestMode: 0 29 | m_IosGameId: 30 | m_AndroidGameId: 31 | m_GameIds: {} 32 | m_GameId: 33 | PerformanceReportingSettings: 34 | m_Enabled: 0 35 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![gif](https://i.imgur.com/mys4aSw.gif) 2 | --------------------------------------------------------------------------------