├── ProjectSettings ├── ProjectVersion.txt ├── editorsettings.asset ├── ClusterInputManager.asset ├── NetworkManager.asset ├── TimeManager.asset ├── EditorBuildSettings.asset ├── AudioManager.asset ├── TagManager.asset ├── DynamicsManager.asset ├── UnityConnectSettings.asset ├── Physics2DSettings.asset ├── NavMeshAreas.asset ├── GraphicsSettings.asset ├── QualitySettings.asset └── InputManager.asset ├── UnityPackageManager └── manifest.json ├── previews ├── 1200x630.jpg ├── 128x128.jpg ├── 200x124.jpg └── 516x389.jpg ├── Assets ├── Kit25D │ ├── Demo │ │ ├── Sprites │ │ │ ├── Grass.png │ │ │ ├── Square.png │ │ │ ├── Tree.png │ │ │ ├── testtt.png │ │ │ ├── box-test.png │ │ │ ├── box-test2.png │ │ │ ├── Player Shadow.png │ │ │ ├── box-test-mask.png │ │ │ ├── Base_Edge_Left.png │ │ │ ├── PlatformExample.png │ │ │ ├── box-test-mask2.png │ │ │ ├── box-test-mask3.png │ │ │ ├── PlatformExampleShadow.png │ │ │ ├── Tree.png.meta │ │ │ ├── Grass.png.meta │ │ │ ├── testtt.png.meta │ │ │ ├── Base_Edge_Left.png.meta │ │ │ ├── Player Shadow.png.meta │ │ │ ├── PlatformExample.png.meta │ │ │ ├── box-test-mask2.png.meta │ │ │ ├── box-test-mask3.png.meta │ │ │ ├── box-test.png.meta │ │ │ ├── box-test2.png.meta │ │ │ ├── PlatformExampleShadow.png.meta │ │ │ ├── box-test-mask.png.meta │ │ │ └── Square.png.meta │ │ ├── 2DPlatformer │ │ │ ├── Sprites │ │ │ │ ├── PlatformerSprites │ │ │ │ │ └── Player_SpriteSheet.png │ │ │ │ └── PlatformerSprites.meta │ │ │ ├── License.txt │ │ │ ├── Animations │ │ │ │ ├── Player_Hurt.anim.meta │ │ │ │ ├── Player_Idle.anim.meta │ │ │ │ ├── Player_Ladder.anim.meta │ │ │ │ ├── Player_Run.anim.meta │ │ │ │ ├── Player_Turn.anim.meta │ │ │ │ ├── Player_Hurt_End.anim.meta │ │ │ │ ├── Player_Hurt_Start.anim.meta │ │ │ │ ├── Player_JumpHold.anim.meta │ │ │ │ ├── Player_JumpLand.anim.meta │ │ │ │ ├── Player_JumpStart.anim.meta │ │ │ │ ├── Player_Hurt_End.anim │ │ │ │ ├── Player_Hurt_Start.anim │ │ │ │ ├── Player_JumpHold.anim │ │ │ │ ├── Player_JumpStart.anim │ │ │ │ ├── Player_Turn.anim │ │ │ │ ├── Player_JumpLand.anim │ │ │ │ ├── Player_Ladder.anim │ │ │ │ ├── Player_Run.anim │ │ │ │ ├── Player_Idle.anim │ │ │ │ └── Player_Hurt.anim │ │ │ ├── Animator │ │ │ │ └── Player.controller.meta │ │ │ ├── Animator.meta │ │ │ ├── Sprites.meta │ │ │ ├── Animations.meta │ │ │ └── License.txt.meta │ │ ├── Demo.unity.meta │ │ ├── Prefabs.meta │ │ ├── Scripts.meta │ │ ├── Sprites.meta │ │ ├── 2DPlatformer.meta │ │ ├── Prefabs │ │ │ ├── Player.prefab.meta │ │ │ ├── Tree.prefab.meta │ │ │ ├── PlatformTest.prefab.meta │ │ │ ├── box-test-big-1.prefab.meta │ │ │ ├── box-test-small-1.prefab.meta │ │ │ ├── Tree.prefab │ │ │ ├── box-test-small-1.prefab │ │ │ ├── box-test-big-1.prefab │ │ │ ├── Player.prefab │ │ │ └── PlatformTest.prefab │ │ └── Scripts │ │ │ ├── VeryBasicFollowCam.cs.meta │ │ │ └── VeryBasicFollowCam.cs │ ├── Demo.meta │ ├── Common.meta │ └── Common │ │ ├── Scenery.meta │ │ ├── Shaders.meta │ │ ├── Shaders │ │ ├── Sprite Scenery.shader.meta │ │ ├── Sprite Character.shader.meta │ │ ├── Sprite Character.shader │ │ └── Sprite Scenery.shader │ │ ├── Utils.meta │ │ ├── Character.meta │ │ ├── Materials.meta │ │ ├── Materials │ │ ├── Character.mat.meta │ │ ├── Scenery.mat.meta │ │ ├── Character.mat │ │ └── Scenery.mat │ │ ├── Utils │ │ ├── CustomAttributes.meta │ │ ├── CustomAttributes │ │ │ ├── Editor.meta │ │ │ ├── InfoAttribute.cs.meta │ │ │ ├── Editor │ │ │ │ ├── InfoAttributeDrawer.cs.meta │ │ │ │ └── InfoAttributeDrawer.cs │ │ │ └── InfoAttribute.cs │ │ ├── FPSDisplay.cs.meta │ │ ├── CachedBehaviour.cs.meta │ │ ├── FPSDisplay.cs │ │ └── CachedBehaviour.cs │ │ ├── Scenery │ │ ├── DepthMask.cs.meta │ │ ├── SceneryCollider.cs.meta │ │ ├── SpriteSorter.cs.meta │ │ ├── SpriteSorter.cs │ │ ├── DepthMask.cs │ │ └── SceneryCollider.cs │ │ └── Character │ │ ├── CharacterInputs.cs.meta │ │ ├── CharacterMotor.cs.meta │ │ ├── CharacterMovements.cs.meta │ │ ├── CharacterShadows.cs.meta │ │ ├── CharacterSorter.cs.meta │ │ ├── CharacterSorter.cs │ │ ├── CharacterInputs.cs │ │ ├── CharacterShadows.cs │ │ ├── CharacterMotor.cs │ │ └── CharacterMovements.cs ├── Kit25D.meta └── AssetStoreTools.meta ├── .gitignore ├── LICENSE ├── README.md ├── .vscode └── settings.json └── Kit25D.sln /ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 2017.2.0f3 2 | -------------------------------------------------------------------------------- /UnityPackageManager/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | } 4 | } 5 | -------------------------------------------------------------------------------- /previews/1200x630.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/needim/Kit25D/HEAD/previews/1200x630.jpg -------------------------------------------------------------------------------- /previews/128x128.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/needim/Kit25D/HEAD/previews/128x128.jpg -------------------------------------------------------------------------------- /previews/200x124.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/needim/Kit25D/HEAD/previews/200x124.jpg -------------------------------------------------------------------------------- /previews/516x389.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/needim/Kit25D/HEAD/previews/516x389.jpg -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/Sprites/Grass.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/needim/Kit25D/HEAD/Assets/Kit25D/Demo/Sprites/Grass.png -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/Sprites/Square.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/needim/Kit25D/HEAD/Assets/Kit25D/Demo/Sprites/Square.png -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/Sprites/Tree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/needim/Kit25D/HEAD/Assets/Kit25D/Demo/Sprites/Tree.png -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/Sprites/testtt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/needim/Kit25D/HEAD/Assets/Kit25D/Demo/Sprites/testtt.png -------------------------------------------------------------------------------- /ProjectSettings/editorsettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/needim/Kit25D/HEAD/ProjectSettings/editorsettings.asset -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/Sprites/box-test.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/needim/Kit25D/HEAD/Assets/Kit25D/Demo/Sprites/box-test.png -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/Sprites/box-test2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/needim/Kit25D/HEAD/Assets/Kit25D/Demo/Sprites/box-test2.png -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/Sprites/Player Shadow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/needim/Kit25D/HEAD/Assets/Kit25D/Demo/Sprites/Player Shadow.png -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/Sprites/box-test-mask.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/needim/Kit25D/HEAD/Assets/Kit25D/Demo/Sprites/box-test-mask.png -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/Sprites/Base_Edge_Left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/needim/Kit25D/HEAD/Assets/Kit25D/Demo/Sprites/Base_Edge_Left.png -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/Sprites/PlatformExample.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/needim/Kit25D/HEAD/Assets/Kit25D/Demo/Sprites/PlatformExample.png -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/Sprites/box-test-mask2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/needim/Kit25D/HEAD/Assets/Kit25D/Demo/Sprites/box-test-mask2.png -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/Sprites/box-test-mask3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/needim/Kit25D/HEAD/Assets/Kit25D/Demo/Sprites/box-test-mask3.png -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/Sprites/PlatformExampleShadow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/needim/Kit25D/HEAD/Assets/Kit25D/Demo/Sprites/PlatformExampleShadow.png -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/2DPlatformer/Sprites/PlatformerSprites/Player_SpriteSheet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/needim/Kit25D/HEAD/Assets/Kit25D/Demo/2DPlatformer/Sprites/PlatformerSprites/Player_SpriteSheet.png -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/2DPlatformer/License.txt: -------------------------------------------------------------------------------- 1 | Her name is Penny Pixels and Licenced to Unity. 2 | https://unity3d.com/learn/tutorials/topics/2d-game-creation/intro-and-session-goals 3 | https://www.youtube.com/watch?v=wN6-yx-ONv0 -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/2DPlatformer/Animations/Player_Hurt.anim.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4f1c9a37708d0fc4ab782d13eae49774 3 | timeCreated: 1439223546 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/2DPlatformer/Animations/Player_Idle.anim.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a1c35298dd1383c47878f5e23bd48f78 3 | timeCreated: 1438699437 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/2DPlatformer/Animations/Player_Ladder.anim.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7d9c0e650fc1ff746afa88c4f46369e1 3 | timeCreated: 1439914005 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/2DPlatformer/Animations/Player_Run.anim.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b3be3902ee635c145b9bc8e7f5434d42 3 | timeCreated: 1438699482 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/2DPlatformer/Animations/Player_Turn.anim.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cd6e4fa8f7c06f446bb841fed7e940de 3 | timeCreated: 1439907424 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/2DPlatformer/Animator/Player.controller.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b09e60546065cf9448b36ebb7f759a91 3 | timeCreated: 1438790907 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/Demo.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d847c510be5de45878626e758f2e337b 3 | timeCreated: 1509356658 4 | licenseType: Free 5 | DefaultImporter: 6 | externalObjects: {} 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Kit25D.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5649cd0e45b27493099802fd32e000f3 3 | folderAsset: yes 4 | timeCreated: 1509323475 5 | licenseType: Free 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/2DPlatformer/Animations/Player_Hurt_End.anim.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8de7dda2c0aa24c47901192e19defb46 3 | timeCreated: 1439805654 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/2DPlatformer/Animations/Player_Hurt_Start.anim.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 04a1d8ff6426a0743bf3f9700771e0bb 3 | timeCreated: 1439805638 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/2DPlatformer/Animations/Player_JumpHold.anim.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5d7f6d7e45d469a4188eec35ff60ef0f 3 | timeCreated: 1438699564 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/2DPlatformer/Animations/Player_JumpLand.anim.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3914642d3fe5aa9439cd3a85407511c5 3 | timeCreated: 1438699590 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/2DPlatformer/Animations/Player_JumpStart.anim.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 243ee4df6c715a84b99025b4eb9b30cd 3 | timeCreated: 1438699546 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/2DPlatformer/Animator.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ae68ffaa03f38c4488a1996c68d0a835 3 | folderAsset: yes 4 | timeCreated: 1487691892 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/2DPlatformer/Sprites.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7d3d9f40643a5b4439ccd676e385d8fb 3 | folderAsset: yes 4 | timeCreated: 1487271087 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /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.01 7 | Maximum Allowed Timestep: 0.33333334 8 | m_TimeScale: 1 9 | Maximum Particle Timestep: 0.03 10 | -------------------------------------------------------------------------------- /Assets/Kit25D/Demo.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2808f4331beba400d83ee62626032221 3 | folderAsset: yes 4 | timeCreated: 1509336238 5 | licenseType: Free 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/2DPlatformer/Animations.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ac3205d68052053419db34c9176034e3 3 | folderAsset: yes 4 | timeCreated: 1487271087 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/AssetStoreTools.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 32e7cb2e9ce314c5eb535bd5fc2df2c5 3 | folderAsset: yes 4 | timeCreated: 1509696158 5 | licenseType: Free 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/Kit25D/Common.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b3a98664941b94a2cb4a0e381170cfa9 3 | folderAsset: yes 4 | timeCreated: 1509697918 5 | licenseType: Free 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/Kit25D/Common/Scenery.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 47565c2f447774d408af28add5b2a675 3 | folderAsset: yes 4 | timeCreated: 1509335863 5 | licenseType: Free 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/Kit25D/Common/Shaders.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 769890885eb844ac5845454676f00908 3 | folderAsset: yes 4 | timeCreated: 1509357967 5 | licenseType: Free 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/Kit25D/Common/Shaders/Sprite Scenery.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fe8c6e610a9364eafbb71c4791fd6407 3 | timeCreated: 1505471502 4 | licenseType: Free 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Kit25D/Common/Utils.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b3f51c05eda2c407281ae3acb326cf05 3 | folderAsset: yes 4 | timeCreated: 1509323783 5 | licenseType: Free 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/2DPlatformer/License.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7c3eee6c72a2248acaccf4f370d6a801 3 | timeCreated: 1510593432 4 | licenseType: Free 5 | TextScriptImporter: 6 | externalObjects: {} 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/Prefabs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dfc49865973e14208b6d6dafa8ac5a5c 3 | folderAsset: yes 4 | timeCreated: 1509338638 5 | licenseType: Free 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3d81f23f3a38c460eac2443dd25abce6 3 | folderAsset: yes 4 | timeCreated: 1509344400 5 | licenseType: Free 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/Sprites.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 145ec240947f74ae1b442fec689ee25e 3 | folderAsset: yes 4 | timeCreated: 1509336244 5 | licenseType: Free 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/Kit25D/Common/Character.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ce652f0981ec646bfa6791b795fbb123 3 | folderAsset: yes 4 | timeCreated: 1509323706 5 | licenseType: Free 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/Kit25D/Common/Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ce21589352fde4ac3b0d0abccb3c4988 3 | folderAsset: yes 4 | timeCreated: 1509357976 5 | licenseType: Free 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/Kit25D/Common/Materials/Character.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2629f671c7aad4a3c89b3d935e8f42cf 3 | timeCreated: 1505471540 4 | licenseType: Free 5 | NativeFormatImporter: 6 | mainObjectFileID: 2100000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Kit25D/Common/Materials/Scenery.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 934274f8f9c144ab3918c7937b794d36 3 | timeCreated: 1505471605 4 | licenseType: Free 5 | NativeFormatImporter: 6 | mainObjectFileID: 2100000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Kit25D/Common/Shaders/Sprite Character.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c354bb1efad334b048ff33151fb85220 3 | timeCreated: 1505471502 4 | licenseType: Free 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/2DPlatformer.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 913f10af9f2e542a190e065c4bd668ec 3 | folderAsset: yes 4 | timeCreated: 1510591937 5 | licenseType: Free 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/2DPlatformer/Sprites/PlatformerSprites.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c3c82b1d2dd96d1488eb24ba7b108d56 3 | folderAsset: yes 4 | timeCreated: 1438262624 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Kit25D/Common/Utils/CustomAttributes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bb8b4b8a8b73849f0be377c4d8827895 3 | folderAsset: yes 4 | timeCreated: 1509326904 5 | licenseType: Free 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/Kit25D/Common/Utils/CustomAttributes/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3a638b45eff114046bf8353ef7235844 3 | folderAsset: yes 4 | timeCreated: 1509327327 5 | licenseType: Free 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/Prefabs/Player.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9387d7ad8921f46b891b825c06513c44 3 | timeCreated: 1509411437 4 | licenseType: Free 5 | NativeFormatImporter: 6 | externalObjects: {} 7 | mainObjectFileID: 100100000 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/Prefabs/Tree.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5c169fe74fc4447868e9bd38ed93289a 3 | timeCreated: 1509359235 4 | licenseType: Free 5 | NativeFormatImporter: 6 | externalObjects: {} 7 | mainObjectFileID: 100100000 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /ProjectSettings/EditorBuildSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1045 &1 4 | EditorBuildSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Scenes: 8 | - enabled: 1 9 | path: Assets/Kit25D/Demo/Scenes/Demo.unity 10 | guid: d847c510be5de45878626e758f2e337b 11 | -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/Prefabs/PlatformTest.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5074c069adfe74903a10ee5b8234de42 3 | timeCreated: 1509618414 4 | licenseType: Free 5 | NativeFormatImporter: 6 | externalObjects: {} 7 | mainObjectFileID: 100100000 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/Prefabs/box-test-big-1.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 343ce090359cf4606a397a6b9ea0d962 3 | timeCreated: 1509359243 4 | licenseType: Free 5 | NativeFormatImporter: 6 | externalObjects: {} 7 | mainObjectFileID: 100100000 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/Prefabs/box-test-small-1.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2526f285745cc4e949c47879ffe389b5 3 | timeCreated: 1509359227 4 | licenseType: Free 5 | NativeFormatImporter: 6 | externalObjects: {} 7 | mainObjectFileID: 100100000 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/Kit25D/Common/Scenery/DepthMask.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 977c4359e461a4b1f86a3f04612028e3 3 | timeCreated: 1509354615 4 | licenseType: Free 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Assets/Kit25D/Common/Utils/FPSDisplay.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 455aca99a14d74ca6b77a2801b984c54 3 | timeCreated: 1509357282 4 | licenseType: Free 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Assets/Kit25D/Common/Scenery/SceneryCollider.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b580319b67b424533a8b4ffe5da921a9 3 | timeCreated: 1509335870 4 | licenseType: Free 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Assets/Kit25D/Common/Scenery/SpriteSorter.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d0c0785f5351040388fea21e2567c230 3 | timeCreated: 1509335968 4 | licenseType: Free 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Assets/Kit25D/Common/Utils/CachedBehaviour.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5fc669009f18746aeb51f3fb83054571 3 | timeCreated: 1509325373 4 | licenseType: Free 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Assets/Kit25D/Common/Character/CharacterInputs.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ca203d4d654094d209217a3b180adc3d 3 | timeCreated: 1509403392 4 | licenseType: Free 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Assets/Kit25D/Common/Character/CharacterMotor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 23df650133e7544be8c8d1b3b6fb2f38 3 | timeCreated: 1509323739 4 | licenseType: Free 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Assets/Kit25D/Common/Character/CharacterMovements.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 41a350ac28d5e4ad29bfd54632229078 3 | timeCreated: 1509401683 4 | licenseType: Free 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Assets/Kit25D/Common/Character/CharacterShadows.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 474dada91ace542d1b9e4a7f2654c327 3 | timeCreated: 1509402597 4 | licenseType: Free 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Assets/Kit25D/Common/Character/CharacterSorter.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c26518335bfb540598f9a1013b9fe250 3 | timeCreated: 1509339898 4 | licenseType: Free 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/Scripts/VeryBasicFollowCam.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 884b963cd63ef42be942380e9cc6a79c 3 | timeCreated: 1509343330 4 | licenseType: Free 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Assets/Kit25D/Common/Utils/CustomAttributes/InfoAttribute.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: df04712db431b45faba985c4840aedc3 3 | timeCreated: 1509326914 4 | licenseType: Free 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Assets/Kit25D/Common/Utils/CustomAttributes/Editor/InfoAttributeDrawer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 059071f00aaa04109b2ef7eb7b49570e 3 | timeCreated: 1509327406 4 | licenseType: Free 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/Scripts/VeryBasicFollowCam.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System.Collections.Generic; 3 | 4 | [RequireComponent(typeof(Camera))] 5 | public class VeryBasicFollowCam : MonoBehaviour 6 | { 7 | public Transform target; 8 | public float minY = -0.73f; 9 | 10 | public void LateUpdate() 11 | { 12 | Vector3 targetPos = target.position; 13 | targetPos.z = transform.position.z; 14 | targetPos.y = minY; 15 | transform.position = Vector3.Lerp(transform.position, targetPos, 2f); 16 | } 17 | } -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /[Ll]ibrary/ 2 | /[Tt]emp/ 3 | /[Oo]bj/ 4 | /[Bb]uild/ 5 | /[Bb]uilds/ 6 | /Assets/AssetStoreTools* 7 | 8 | # Visual Studio 2015 cache directory 9 | /.vs/ 10 | 11 | # Autogenerated VS/MD/Consulo solution and project files 12 | ExportedObj/ 13 | .consulo/ 14 | *.csproj 15 | *.unityproj 16 | *.sln 17 | *.suo 18 | *.tmp 19 | *.user 20 | *.userprefs 21 | *.pidb 22 | *.booproj 23 | *.svd 24 | *.pdb 25 | 26 | # Unity3D generated meta files 27 | *.pidb.meta 28 | 29 | # Unity3D Generated File On Crash Reports 30 | sysinfo.txt 31 | 32 | # Builds 33 | *.apk 34 | *.unitypackage 35 | 36 | .DS_Store -------------------------------------------------------------------------------- /Assets/Kit25D/Common/Utils/CustomAttributes/InfoAttribute.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | #if UNITY_EDITOR 3 | using UnityEditor; 4 | #endif 5 | 6 | namespace Kit25D.CustomAttributes 7 | { 8 | public class InfoAttribute : PropertyAttribute 9 | { 10 | #if UNITY_EDITOR 11 | public string message; 12 | public MessageType type; 13 | 14 | public InfoAttribute(string message) 15 | { 16 | this.message = message; 17 | this.type = UnityEditor.MessageType.None; 18 | } 19 | #else 20 | public InfoAttribute(string message) 21 | { 22 | 23 | } 24 | #endif 25 | } 26 | } -------------------------------------------------------------------------------- /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 | - LevelBounds 8 | - JumpBlocker 9 | layers: 10 | - Default 11 | - TransparentFX 12 | - Ignore Raycast 13 | - 14 | - Water 15 | - UI 16 | - 17 | - 18 | - Obstacle 19 | - 20 | - 21 | - 22 | - 23 | - 24 | - 25 | - 26 | - 27 | - 28 | - 29 | - 30 | - 31 | - 32 | - 33 | - 34 | - 35 | - 36 | - 37 | - 38 | - 39 | - 40 | - 41 | - 42 | m_SortingLayers: 43 | - name: Default 44 | uniqueID: 0 45 | locked: 0 46 | -------------------------------------------------------------------------------- /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: 3 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_EnablePCM: 1 18 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 19 | m_AutoSimulation: 1 20 | m_AutoSyncTransforms: 1 21 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /Assets/Kit25D/Common/Utils/FPSDisplay.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace Kit25D 4 | { 5 | [ExecuteInEditMode] 6 | [DisallowMultipleComponent] 7 | public class FPSDisplay : MonoBehaviour 8 | { 9 | public Color color = new Color(1f, 1f, 1f, 1.0f); 10 | float deltaTime = 0.0f; 11 | 12 | void Update() 13 | { 14 | deltaTime += (Time.deltaTime - deltaTime) * 0.1f; 15 | } 16 | 17 | void OnGUI() 18 | { 19 | int w = Screen.width, h = Screen.height; 20 | 21 | GUIStyle style = new GUIStyle(); 22 | 23 | Rect rect = new Rect(5, 5, w, h * 2 / 100); 24 | style.alignment = TextAnchor.UpperLeft; 25 | style.fontSize = h * 2 / 50; 26 | style.fontStyle = FontStyle.Bold; 27 | style.normal.textColor = color; 28 | float fps = 1.0f / deltaTime; 29 | string text = Mathf.RoundToInt(fps).ToString(); 30 | GUI.Label(rect, text, style); 31 | } 32 | } 33 | } -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Nedim Arabacı 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # What's the Kit25D? 2 |

3 | 4 |

5 | 6 | https://www.youtube.com/watch?v=jAVQGz3MJ1E 7 | 8 | 9 | Basically, It allows you to create a fake 3D world with 2D colliders and sprites. I have to say, it has a lot of tricks to do that. If you wanna use this kit, sometimes you have to twist your brain a little bit. The kit heavily depends on sprite masks (for shadow) & sprite pivots (for sorting). And while you are preparing your prefabs, you can have some hard time. 10 | 11 | # Features 12 | 13 | - Player Movement 14 | - X, Y and FakeZ (for jump) 15 | - Raycast based collision detection 16 | - Slopes Handling 17 | - Environment 18 | - Static obstacles (like trees, walls with no roof) 19 | - Dynamic obstacles (like boxes, short walls, player can jump on) 20 | - Floating Platforms (player can jump on, player can't jump from under) 21 | 22 | ## Recommended Settings 23 | 24 | - Project Settings -> Time -> **Fixed Timestamp** = **0.01** 25 | - Add Layers (**Obstacle**) 26 | - Add Tags (**LevelBounds**, **JumpBlocker**) 27 | -------------------------------------------------------------------------------- /Assets/Kit25D/Common/Utils/CachedBehaviour.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System; 3 | 4 | namespace Kit25D 5 | { 6 | public class CachedBehaviour : MonoBehaviour 7 | { 8 | [HideInInspector, NonSerialized] 9 | private Collider2D __collider2D; 10 | 11 | /// 12 | /// Gets the Collider2D attached to the object. 13 | /// 14 | public Collider2D _collider2D { get { return __collider2D ? __collider2D : (__collider2D = GetComponent()); } } 15 | 16 | [HideInInspector, NonSerialized] 17 | private Rigidbody2D __rigidbody2D; 18 | 19 | /// 20 | /// Gets the Rigidbody2D attached to the object. 21 | /// 22 | public Rigidbody2D _rb { get { return __rigidbody2D ? __rigidbody2D : (__rigidbody2D = GetComponent()); } } 23 | 24 | [HideInInspector, NonSerialized] 25 | private Transform __transform; 26 | 27 | /// 28 | /// Gets the Transform attached to the object. 29 | /// 30 | public Transform _transform { get { return __transform ? __transform : (__transform = GetComponent()); } } 31 | } 32 | } -------------------------------------------------------------------------------- /Assets/Kit25D/Common/Character/CharacterSorter.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace Kit25D 4 | { 5 | [ExecuteInEditMode] 6 | [DisallowMultipleComponent] 7 | public class CharacterSorter : MonoBehaviour 8 | { 9 | CharacterMotor motor; 10 | SpriteRenderer shadowRenderer; 11 | 12 | public float depthOverride = 0f; 13 | 14 | void Start() 15 | { 16 | motor = GetComponent(); 17 | shadowRenderer = motor.ShadowTransform.GetComponent(); 18 | } 19 | 20 | void LateUpdate() 21 | { 22 | Vector3 pos = new Vector3(transform.position.x, transform.position.y, depthOverride == 0f ? transform.position.y : depthOverride); 23 | 24 | if (motor.onRoof) 25 | { 26 | shadowRenderer.sortingOrder = 0; 27 | shadowRenderer.maskInteraction = SpriteMaskInteraction.VisibleInsideMask; 28 | 29 | if (!motor.onPlatform) 30 | motor.shadowFix.SetActive(true); 31 | } 32 | else 33 | { 34 | shadowRenderer.sortingOrder = -1; 35 | shadowRenderer.maskInteraction = SpriteMaskInteraction.None; 36 | motor.shadowFix.SetActive(false); 37 | } 38 | 39 | transform.position = pos; 40 | } 41 | } 42 | } -------------------------------------------------------------------------------- /Assets/Kit25D/Common/Character/CharacterInputs.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace Kit25D 4 | { 5 | public class CharacterInputs 6 | { 7 | CharacterMotor motor; 8 | 9 | public CharacterInputs(CharacterMotor motor) 10 | { 11 | this.motor = motor; 12 | } 13 | 14 | public void HandleInputs() 15 | { 16 | if (motor.isKinematic()) 17 | return; 18 | 19 | motor.directionalInput = new Vector2(Input.GetAxis("Horizontal"), Input.GetAxis("Vertical")); 20 | 21 | if (Input.GetButtonDown("Jump")) 22 | OnJumpInputDown(); 23 | 24 | if (Input.GetButtonUp("Jump")) 25 | OnJumpInputUp(); 26 | 27 | if (Input.GetButtonDown("Fire1")) 28 | { 29 | // OnAttackInputDown(); 30 | } 31 | } 32 | 33 | public void OnJumpInputDown() 34 | { 35 | if (motor.isFreezed()) 36 | return; 37 | 38 | if (motor.onGround) 39 | { 40 | motor.velocity.z = motor.maxJumpVelocity; 41 | motor.onGround = false; 42 | } 43 | } 44 | 45 | void OnJumpInputUp() 46 | { 47 | if (motor.isFreezed()) 48 | return; 49 | 50 | if (motor.velocity.z > motor.minJumpVelocity) 51 | motor.velocity.z = motor.minJumpVelocity; 52 | } 53 | } 54 | } -------------------------------------------------------------------------------- /Assets/Kit25D/Common/Scenery/SpriteSorter.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace Kit25D 4 | { 5 | [ExecuteInEditMode] 6 | public class SpriteSorter : MonoBehaviour 7 | { 8 | public float groundOffset = 0f; 9 | public float height = 0f; 10 | 11 | float m_spriteLowerBound; 12 | float m_spriteHalfWidth; 13 | 14 | #if UNITY_EDITOR 15 | SpriteRenderer sr; 16 | void Awake() 17 | { 18 | sr = GetComponent(); 19 | } 20 | 21 | void LateUpdate() 22 | { 23 | if (!Application.isPlaying) 24 | { 25 | transform.position = new Vector3(transform.position.x, transform.position.y, transform.position.y + groundOffset); 26 | } 27 | } 28 | 29 | void OnDrawGizmos() 30 | { 31 | Vector3 floorHeightPos = new Vector3(sr.bounds.min.x, sr.bounds.min.y + height, transform.position.z); 32 | Gizmos.color = Color.magenta; 33 | Gizmos.DrawLine(floorHeightPos, floorHeightPos + new Vector3(sr.bounds.size.x, 0, 0)); 34 | 35 | if (groundOffset != 0f) 36 | { 37 | Vector3 groundPos = new Vector3(sr.bounds.min.x, sr.bounds.min.y + groundOffset, transform.position.z); 38 | Gizmos.color = Color.black; 39 | Gizmos.DrawLine(groundPos, groundPos + new Vector3(sr.bounds.size.x, 0, 0)); 40 | } 41 | } 42 | #endif 43 | } 44 | } -------------------------------------------------------------------------------- /Assets/Kit25D/Common/Utils/CustomAttributes/Editor/InfoAttributeDrawer.cs: -------------------------------------------------------------------------------- 1 | using UnityEditor; 2 | using UnityEngine; 3 | 4 | namespace Kit25D.CustomAttributes 5 | { 6 | [CustomPropertyDrawer(typeof(InfoAttribute))] 7 | public class InfoAttributeDrawer : DecoratorDrawer 8 | { 9 | InfoAttribute infoAttribute 10 | { 11 | get { return ((InfoAttribute) attribute); } 12 | } 13 | 14 | GUIStyle style 15 | { 16 | get 17 | { 18 | GUIStyle style = new GUIStyle(EditorStyles.label); 19 | style.fontSize = 10; 20 | style.richText = true; 21 | style.wordWrap = true; 22 | 23 | return style; 24 | } 25 | } 26 | 27 | GUIContent content 28 | { 29 | get 30 | { 31 | return new GUIContent("↓ " + infoAttribute.message); 32 | } 33 | } 34 | 35 | float propHeight 36 | { 37 | get 38 | { 39 | return style.CalcHeight(content, EditorGUIUtility.currentViewWidth) + 12; 40 | } 41 | } 42 | 43 | public override float GetHeight() 44 | { 45 | return propHeight; 46 | } 47 | 48 | public override void OnGUI(Rect rect) 49 | { 50 | rect.y += 10; 51 | rect.height = propHeight; 52 | 53 | EditorGUI.LabelField(rect, content, style); 54 | } 55 | } 56 | } -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "files.exclude": 3 | { 4 | "**/.DS_Store":true, 5 | "**/.git":true, 6 | "**/.gitignore":true, 7 | "**/.gitmodules":true, 8 | "**/*.booproj":true, 9 | "**/*.pidb":true, 10 | "**/*.suo":true, 11 | "**/*.user":true, 12 | "**/*.userprefs":true, 13 | "**/*.unityproj":true, 14 | "**/*.dll":true, 15 | "**/*.exe":true, 16 | "**/*.pdf":true, 17 | "**/*.mid":true, 18 | "**/*.midi":true, 19 | "**/*.wav":true, 20 | "**/*.gif":true, 21 | "**/*.ico":true, 22 | "**/*.jpg":true, 23 | "**/*.jpeg":true, 24 | "**/*.png":true, 25 | "**/*.psd":true, 26 | "**/*.tga":true, 27 | "**/*.tif":true, 28 | "**/*.tiff":true, 29 | "**/*.3ds":true, 30 | "**/*.3DS":true, 31 | "**/*.fbx":true, 32 | "**/*.FBX":true, 33 | "**/*.lxo":true, 34 | "**/*.LXO":true, 35 | "**/*.ma":true, 36 | "**/*.MA":true, 37 | "**/*.obj":true, 38 | "**/*.OBJ":true, 39 | "**/*.asset":true, 40 | "**/*.cubemap":true, 41 | "**/*.flare":true, 42 | "**/*.mat":true, 43 | "**/*.meta":true, 44 | "**/*.prefab":true, 45 | "**/*.unity":true, 46 | "build/":true, 47 | "Build/":true, 48 | "Library/":true, 49 | "library/":true, 50 | "obj/":true, 51 | "Obj/":true, 52 | "ProjectSettings/":true, 53 | "temp/":true, 54 | "Temp/":true 55 | } 56 | } -------------------------------------------------------------------------------- /Kit25D.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 11.00 3 | # Visual Studio 2010 4 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Kit25D", "Assembly-CSharp.csproj", "{D34156D7-CBD0-E877-7DE1-E33168A0315C}" 5 | EndProject 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Kit25D", "Assembly-CSharp-Editor.csproj", "{90E18F64-82B0-B9A1-FADE-E5C9C761C20B}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {D34156D7-CBD0-E877-7DE1-E33168A0315C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {D34156D7-CBD0-E877-7DE1-E33168A0315C}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {D34156D7-CBD0-E877-7DE1-E33168A0315C}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {D34156D7-CBD0-E877-7DE1-E33168A0315C}.Release|Any CPU.Build.0 = Release|Any CPU 18 | {90E18F64-82B0-B9A1-FADE-E5C9C761C20B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 19 | {90E18F64-82B0-B9A1-FADE-E5C9C761C20B}.Debug|Any CPU.Build.0 = Debug|Any CPU 20 | {90E18F64-82B0-B9A1-FADE-E5C9C761C20B}.Release|Any CPU.ActiveCfg = Release|Any CPU 21 | {90E18F64-82B0-B9A1-FADE-E5C9C761C20B}.Release|Any CPU.Build.0 = Release|Any CPU 22 | EndGlobalSection 23 | GlobalSection(SolutionProperties) = preSolution 24 | HideSolutionNode = FALSE 25 | EndGlobalSection 26 | GlobalSection(MonoDevelopProperties) = preSolution 27 | StartupItem = Assembly-CSharp.csproj 28 | EndGlobalSection 29 | EndGlobal 30 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /Assets/Kit25D/Common/Scenery/DepthMask.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace Kit25D 4 | { 5 | [DisallowMultipleComponent] 6 | public class DepthMask : MonoBehaviour 7 | { 8 | private float _z; 9 | 10 | void Start() 11 | { 12 | _z = transform.parent.position.z; 13 | } 14 | 15 | #if UNITY_EDITOR 16 | [System.Diagnostics.Conditional("UNITY_EDITOR")] 17 | void Reset() 18 | { 19 | Collider2D _c = GetComponent(); 20 | 21 | if (_c == null) 22 | { 23 | if (UnityEditor.EditorUtility.DisplayDialog("Choose a component", "You are missing one of the required componets. Please choose one to add.", "BoxCollider2D", "PolygonCollider2D")) 24 | _c = gameObject.AddComponent(); 25 | else 26 | _c = gameObject.AddComponent(); 27 | } 28 | 29 | _c.isTrigger = true; 30 | } 31 | #endif 32 | 33 | void OnTriggerStay2D(Collider2D coll) 34 | { 35 | if (coll.CompareTag("Player")) 36 | { 37 | CharacterMotor motor = coll.gameObject.GetComponent(); 38 | CharacterSorter charSorter = coll.gameObject.GetComponent(); 39 | 40 | if (!motor.onRoof) 41 | charSorter.depthOverride = _z + 0.15f; 42 | else 43 | charSorter.depthOverride = 0f; 44 | } 45 | } 46 | 47 | void OnTriggerExit2D(Collider2D coll) 48 | { 49 | if (coll.CompareTag("Player")) 50 | { 51 | CharacterSorter charSorter = coll.gameObject.GetComponent(); 52 | charSorter.depthOverride = 0f; 53 | } 54 | } 55 | } 56 | } -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/2DPlatformer/Animations/Player_Hurt_End.anim: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!74 &7400000 4 | AnimationClip: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_Name: Player_Hurt_End 9 | serializedVersion: 6 10 | m_Legacy: 0 11 | m_Compressed: 0 12 | m_UseHighQualityCurve: 1 13 | m_RotationCurves: [] 14 | m_CompressedRotationCurves: [] 15 | m_EulerCurves: [] 16 | m_PositionCurves: [] 17 | m_ScaleCurves: [] 18 | m_FloatCurves: [] 19 | m_PPtrCurves: 20 | - curve: 21 | - time: 0 22 | value: {fileID: 21300056, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 23 | attribute: m_Sprite 24 | path: 25 | classID: 212 26 | script: {fileID: 0} 27 | m_SampleRate: 60 28 | m_WrapMode: 0 29 | m_Bounds: 30 | m_Center: {x: 0, y: 0, z: 0} 31 | m_Extent: {x: 0, y: 0, z: 0} 32 | m_ClipBindingConstant: 33 | genericBindings: 34 | - path: 0 35 | attribute: 0 36 | script: {fileID: 0} 37 | classID: 212 38 | customType: 23 39 | isPPtrCurve: 1 40 | pptrCurveMapping: 41 | - {fileID: 21300056, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 42 | m_AnimationClipSettings: 43 | serializedVersion: 2 44 | m_AdditiveReferencePoseClip: {fileID: 0} 45 | m_AdditiveReferencePoseTime: 0 46 | m_StartTime: 0 47 | m_StopTime: 0.016666668 48 | m_OrientationOffsetY: 0 49 | m_Level: 0 50 | m_CycleOffset: 0 51 | m_HasAdditiveReferencePose: 0 52 | m_LoopTime: 1 53 | m_LoopBlend: 0 54 | m_LoopBlendOrientation: 0 55 | m_LoopBlendPositionY: 0 56 | m_LoopBlendPositionXZ: 0 57 | m_KeepOriginalOrientation: 0 58 | m_KeepOriginalPositionY: 1 59 | m_KeepOriginalPositionXZ: 0 60 | m_HeightFromFeet: 0 61 | m_Mirror: 0 62 | m_EditorCurves: [] 63 | m_EulerEditorCurves: [] 64 | m_HasGenericRootTransform: 0 65 | m_HasMotionFloatCurves: 0 66 | m_GenerateMotionCurves: 0 67 | m_Events: [] 68 | -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/Sprites/Tree.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 958ab8f03dc0449d99b4be57d3c2abb6 3 | timeCreated: 1509352284 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | externalObjects: {} 8 | serializedVersion: 4 9 | mipmaps: 10 | mipMapMode: 0 11 | enableMipMap: 0 12 | sRGBTexture: 1 13 | linearTexture: 0 14 | fadeOut: 0 15 | borderMipMap: 0 16 | mipMapsPreserveCoverage: 0 17 | alphaTestReferenceValue: 0.5 18 | mipMapFadeDistanceStart: 1 19 | mipMapFadeDistanceEnd: 3 20 | bumpmap: 21 | convertToNormalMap: 0 22 | externalNormalMap: 0 23 | heightScale: 0.25 24 | normalMapFilter: 0 25 | isReadable: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -1 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: 1 40 | nPOTScale: 0 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 1 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 7 47 | spritePivot: {x: 0.5, y: 0} 48 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 49 | spritePixelsToUnits: 100 50 | alphaUsage: 1 51 | alphaIsTransparency: 1 52 | spriteTessellationDetail: -1 53 | textureType: 8 54 | textureShape: 1 55 | maxTextureSizeSet: 0 56 | compressionQualitySet: 0 57 | textureFormatSet: 0 58 | platformSettings: 59 | - buildTarget: DefaultTexturePlatform 60 | maxTextureSize: 2048 61 | resizeAlgorithm: 0 62 | textureFormat: -1 63 | textureCompression: 1 64 | compressionQuality: 50 65 | crunchedCompression: 0 66 | allowsAlphaSplitting: 0 67 | overridden: 0 68 | spriteSheet: 69 | serializedVersion: 2 70 | sprites: [] 71 | outline: [] 72 | physicsShape: [] 73 | spritePackingTag: 74 | userData: 75 | assetBundleName: 76 | assetBundleVariant: 77 | -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/Sprites/Grass.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 517813051c97f46759f64763b1938908 3 | timeCreated: 1509341432 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | externalObjects: {} 8 | serializedVersion: 4 9 | mipmaps: 10 | mipMapMode: 0 11 | enableMipMap: 0 12 | sRGBTexture: 1 13 | linearTexture: 0 14 | fadeOut: 0 15 | borderMipMap: 0 16 | mipMapsPreserveCoverage: 0 17 | alphaTestReferenceValue: 0.5 18 | mipMapFadeDistanceStart: 1 19 | mipMapFadeDistanceEnd: 3 20 | bumpmap: 21 | convertToNormalMap: 0 22 | externalNormalMap: 0 23 | heightScale: 0.25 24 | normalMapFilter: 0 25 | isReadable: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -1 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: 1 40 | nPOTScale: 0 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 1 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 49 | spritePixelsToUnits: 100 50 | alphaUsage: 1 51 | alphaIsTransparency: 1 52 | spriteTessellationDetail: -1 53 | textureType: 8 54 | textureShape: 1 55 | maxTextureSizeSet: 0 56 | compressionQualitySet: 0 57 | textureFormatSet: 0 58 | platformSettings: 59 | - buildTarget: DefaultTexturePlatform 60 | maxTextureSize: 2048 61 | resizeAlgorithm: 0 62 | textureFormat: -1 63 | textureCompression: 1 64 | compressionQuality: 50 65 | crunchedCompression: 0 66 | allowsAlphaSplitting: 0 67 | overridden: 0 68 | spriteSheet: 69 | serializedVersion: 2 70 | sprites: [] 71 | outline: [] 72 | physicsShape: [] 73 | spritePackingTag: 74 | userData: 75 | assetBundleName: 76 | assetBundleVariant: 77 | -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/Sprites/testtt.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b21037fa41c004afcbec65c646324080 3 | timeCreated: 1509701576 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | externalObjects: {} 8 | serializedVersion: 4 9 | mipmaps: 10 | mipMapMode: 0 11 | enableMipMap: 0 12 | sRGBTexture: 1 13 | linearTexture: 0 14 | fadeOut: 0 15 | borderMipMap: 0 16 | mipMapsPreserveCoverage: 0 17 | alphaTestReferenceValue: 0.5 18 | mipMapFadeDistanceStart: 1 19 | mipMapFadeDistanceEnd: 3 20 | bumpmap: 21 | convertToNormalMap: 0 22 | externalNormalMap: 0 23 | heightScale: 0.25 24 | normalMapFilter: 0 25 | isReadable: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -1 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: 1 40 | nPOTScale: 0 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 1 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 49 | spritePixelsToUnits: 100 50 | alphaUsage: 1 51 | alphaIsTransparency: 1 52 | spriteTessellationDetail: -1 53 | textureType: 8 54 | textureShape: 1 55 | maxTextureSizeSet: 0 56 | compressionQualitySet: 0 57 | textureFormatSet: 0 58 | platformSettings: 59 | - buildTarget: DefaultTexturePlatform 60 | maxTextureSize: 2048 61 | resizeAlgorithm: 0 62 | textureFormat: -1 63 | textureCompression: 1 64 | compressionQuality: 50 65 | crunchedCompression: 0 66 | allowsAlphaSplitting: 0 67 | overridden: 0 68 | spriteSheet: 69 | serializedVersion: 2 70 | sprites: [] 71 | outline: [] 72 | physicsShape: [] 73 | spritePackingTag: 74 | userData: 75 | assetBundleName: 76 | assetBundleVariant: 77 | -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/Sprites/Base_Edge_Left.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ce9c7b271839e4b18a41fa65cb14e405 3 | timeCreated: 1509699241 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | externalObjects: {} 8 | serializedVersion: 4 9 | mipmaps: 10 | mipMapMode: 0 11 | enableMipMap: 0 12 | sRGBTexture: 1 13 | linearTexture: 0 14 | fadeOut: 0 15 | borderMipMap: 0 16 | mipMapsPreserveCoverage: 0 17 | alphaTestReferenceValue: 0.5 18 | mipMapFadeDistanceStart: 1 19 | mipMapFadeDistanceEnd: 3 20 | bumpmap: 21 | convertToNormalMap: 0 22 | externalNormalMap: 0 23 | heightScale: 0.25 24 | normalMapFilter: 0 25 | isReadable: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -1 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: 1 40 | nPOTScale: 0 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 1 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 49 | spritePixelsToUnits: 100 50 | alphaUsage: 1 51 | alphaIsTransparency: 1 52 | spriteTessellationDetail: -1 53 | textureType: 8 54 | textureShape: 1 55 | maxTextureSizeSet: 0 56 | compressionQualitySet: 0 57 | textureFormatSet: 0 58 | platformSettings: 59 | - buildTarget: DefaultTexturePlatform 60 | maxTextureSize: 2048 61 | resizeAlgorithm: 0 62 | textureFormat: -1 63 | textureCompression: 1 64 | compressionQuality: 50 65 | crunchedCompression: 0 66 | allowsAlphaSplitting: 0 67 | overridden: 0 68 | spriteSheet: 69 | serializedVersion: 2 70 | sprites: [] 71 | outline: [] 72 | physicsShape: [] 73 | spritePackingTag: 74 | userData: 75 | assetBundleName: 76 | assetBundleVariant: 77 | -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/Sprites/Player Shadow.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7b3b37edd1cc147d997449cc99a8d0b6 3 | timeCreated: 1509336275 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | externalObjects: {} 8 | serializedVersion: 4 9 | mipmaps: 10 | mipMapMode: 0 11 | enableMipMap: 0 12 | sRGBTexture: 1 13 | linearTexture: 0 14 | fadeOut: 0 15 | borderMipMap: 0 16 | mipMapsPreserveCoverage: 0 17 | alphaTestReferenceValue: 0.5 18 | mipMapFadeDistanceStart: 1 19 | mipMapFadeDistanceEnd: 3 20 | bumpmap: 21 | convertToNormalMap: 0 22 | externalNormalMap: 0 23 | heightScale: 0.25 24 | normalMapFilter: 0 25 | isReadable: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -1 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: 1 40 | nPOTScale: 0 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 1 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 49 | spritePixelsToUnits: 100 50 | alphaUsage: 1 51 | alphaIsTransparency: 1 52 | spriteTessellationDetail: -1 53 | textureType: 8 54 | textureShape: 1 55 | maxTextureSizeSet: 0 56 | compressionQualitySet: 0 57 | textureFormatSet: 0 58 | platformSettings: 59 | - buildTarget: DefaultTexturePlatform 60 | maxTextureSize: 2048 61 | resizeAlgorithm: 0 62 | textureFormat: -1 63 | textureCompression: 1 64 | compressionQuality: 50 65 | crunchedCompression: 0 66 | allowsAlphaSplitting: 0 67 | overridden: 0 68 | spriteSheet: 69 | serializedVersion: 2 70 | sprites: [] 71 | outline: [] 72 | physicsShape: [] 73 | spritePackingTag: 74 | userData: 75 | assetBundleName: 76 | assetBundleVariant: 77 | -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/Sprites/PlatformExample.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f2cc9d7a38c784d01852782b649796a7 3 | timeCreated: 1509420534 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | externalObjects: {} 8 | serializedVersion: 4 9 | mipmaps: 10 | mipMapMode: 0 11 | enableMipMap: 0 12 | sRGBTexture: 1 13 | linearTexture: 0 14 | fadeOut: 0 15 | borderMipMap: 0 16 | mipMapsPreserveCoverage: 0 17 | alphaTestReferenceValue: 0.5 18 | mipMapFadeDistanceStart: 1 19 | mipMapFadeDistanceEnd: 3 20 | bumpmap: 21 | convertToNormalMap: 0 22 | externalNormalMap: 0 23 | heightScale: 0.25 24 | normalMapFilter: 0 25 | isReadable: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -1 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: 1 40 | nPOTScale: 0 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 1 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 9 47 | spritePivot: {x: 0.5012064, y: 0.3326477} 48 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 49 | spritePixelsToUnits: 100 50 | alphaUsage: 1 51 | alphaIsTransparency: 1 52 | spriteTessellationDetail: -1 53 | textureType: 8 54 | textureShape: 1 55 | maxTextureSizeSet: 0 56 | compressionQualitySet: 0 57 | textureFormatSet: 0 58 | platformSettings: 59 | - buildTarget: DefaultTexturePlatform 60 | maxTextureSize: 2048 61 | resizeAlgorithm: 0 62 | textureFormat: -1 63 | textureCompression: 1 64 | compressionQuality: 50 65 | crunchedCompression: 0 66 | allowsAlphaSplitting: 0 67 | overridden: 0 68 | spriteSheet: 69 | serializedVersion: 2 70 | sprites: [] 71 | outline: [] 72 | physicsShape: [] 73 | spritePackingTag: 74 | userData: 75 | assetBundleName: 76 | assetBundleVariant: 77 | -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/2DPlatformer/Animations/Player_Hurt_Start.anim: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!74 &7400000 4 | AnimationClip: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_Name: Player_Hurt_Start 9 | serializedVersion: 6 10 | m_Legacy: 0 11 | m_Compressed: 0 12 | m_UseHighQualityCurve: 1 13 | m_RotationCurves: [] 14 | m_CompressedRotationCurves: [] 15 | m_EulerCurves: [] 16 | m_PositionCurves: [] 17 | m_ScaleCurves: [] 18 | m_FloatCurves: [] 19 | m_PPtrCurves: 20 | - curve: 21 | - time: 0 22 | value: {fileID: 21300050, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 23 | - time: 0.05 24 | value: {fileID: 21300050, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 25 | attribute: m_Sprite 26 | path: 27 | classID: 212 28 | script: {fileID: 0} 29 | m_SampleRate: 60 30 | m_WrapMode: 0 31 | m_Bounds: 32 | m_Center: {x: 0, y: 0, z: 0} 33 | m_Extent: {x: 0, y: 0, z: 0} 34 | m_ClipBindingConstant: 35 | genericBindings: 36 | - path: 0 37 | attribute: 0 38 | script: {fileID: 0} 39 | classID: 212 40 | customType: 23 41 | isPPtrCurve: 1 42 | pptrCurveMapping: 43 | - {fileID: 21300050, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 44 | - {fileID: 21300050, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 45 | m_AnimationClipSettings: 46 | serializedVersion: 2 47 | m_AdditiveReferencePoseClip: {fileID: 0} 48 | m_AdditiveReferencePoseTime: 0 49 | m_StartTime: 0 50 | m_StopTime: 0.06666667 51 | m_OrientationOffsetY: 0 52 | m_Level: 0 53 | m_CycleOffset: 0 54 | m_HasAdditiveReferencePose: 0 55 | m_LoopTime: 1 56 | m_LoopBlend: 0 57 | m_LoopBlendOrientation: 0 58 | m_LoopBlendPositionY: 0 59 | m_LoopBlendPositionXZ: 0 60 | m_KeepOriginalOrientation: 0 61 | m_KeepOriginalPositionY: 1 62 | m_KeepOriginalPositionXZ: 0 63 | m_HeightFromFeet: 0 64 | m_Mirror: 0 65 | m_EditorCurves: [] 66 | m_EulerEditorCurves: [] 67 | m_HasGenericRootTransform: 0 68 | m_HasMotionFloatCurves: 0 69 | m_GenerateMotionCurves: 0 70 | m_Events: [] 71 | -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/2DPlatformer/Animations/Player_JumpHold.anim: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!74 &7400000 4 | AnimationClip: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_Name: Player_JumpHold 9 | serializedVersion: 6 10 | m_Legacy: 0 11 | m_Compressed: 0 12 | m_UseHighQualityCurve: 1 13 | m_RotationCurves: [] 14 | m_CompressedRotationCurves: [] 15 | m_EulerCurves: [] 16 | m_PositionCurves: [] 17 | m_ScaleCurves: [] 18 | m_FloatCurves: [] 19 | m_PPtrCurves: 20 | - curve: 21 | - time: 0 22 | value: {fileID: 21300042, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 23 | - time: 0.083333336 24 | value: {fileID: 21300044, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 25 | attribute: m_Sprite 26 | path: 27 | classID: 212 28 | script: {fileID: 0} 29 | m_SampleRate: 12 30 | m_WrapMode: 0 31 | m_Bounds: 32 | m_Center: {x: 0, y: 0, z: 0} 33 | m_Extent: {x: 0, y: 0, z: 0} 34 | m_ClipBindingConstant: 35 | genericBindings: 36 | - path: 0 37 | attribute: 0 38 | script: {fileID: 0} 39 | classID: 212 40 | customType: 23 41 | isPPtrCurve: 1 42 | pptrCurveMapping: 43 | - {fileID: 21300042, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 44 | - {fileID: 21300044, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 45 | m_AnimationClipSettings: 46 | serializedVersion: 2 47 | m_AdditiveReferencePoseClip: {fileID: 0} 48 | m_AdditiveReferencePoseTime: 0 49 | m_StartTime: 0 50 | m_StopTime: 0.16666667 51 | m_OrientationOffsetY: 0 52 | m_Level: 0 53 | m_CycleOffset: 0 54 | m_HasAdditiveReferencePose: 0 55 | m_LoopTime: 1 56 | m_LoopBlend: 0 57 | m_LoopBlendOrientation: 0 58 | m_LoopBlendPositionY: 0 59 | m_LoopBlendPositionXZ: 0 60 | m_KeepOriginalOrientation: 0 61 | m_KeepOriginalPositionY: 1 62 | m_KeepOriginalPositionXZ: 0 63 | m_HeightFromFeet: 0 64 | m_Mirror: 0 65 | m_EditorCurves: [] 66 | m_EulerEditorCurves: [] 67 | m_HasGenericRootTransform: 0 68 | m_HasMotionFloatCurves: 0 69 | m_GenerateMotionCurves: 0 70 | m_Events: [] 71 | -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/2DPlatformer/Animations/Player_JumpStart.anim: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!74 &7400000 4 | AnimationClip: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_Name: Player_JumpStart 9 | serializedVersion: 6 10 | m_Legacy: 0 11 | m_Compressed: 0 12 | m_UseHighQualityCurve: 1 13 | m_RotationCurves: [] 14 | m_CompressedRotationCurves: [] 15 | m_EulerCurves: [] 16 | m_PositionCurves: [] 17 | m_ScaleCurves: [] 18 | m_FloatCurves: [] 19 | m_PPtrCurves: 20 | - curve: 21 | - time: 0 22 | value: {fileID: 21300040, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 23 | - time: 0.083333336 24 | value: {fileID: 21300042, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 25 | attribute: m_Sprite 26 | path: 27 | classID: 212 28 | script: {fileID: 0} 29 | m_SampleRate: 12 30 | m_WrapMode: 0 31 | m_Bounds: 32 | m_Center: {x: 0, y: 0, z: 0} 33 | m_Extent: {x: 0, y: 0, z: 0} 34 | m_ClipBindingConstant: 35 | genericBindings: 36 | - path: 0 37 | attribute: 0 38 | script: {fileID: 0} 39 | classID: 212 40 | customType: 23 41 | isPPtrCurve: 1 42 | pptrCurveMapping: 43 | - {fileID: 21300040, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 44 | - {fileID: 21300042, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 45 | m_AnimationClipSettings: 46 | serializedVersion: 2 47 | m_AdditiveReferencePoseClip: {fileID: 0} 48 | m_AdditiveReferencePoseTime: 0 49 | m_StartTime: 0 50 | m_StopTime: 0.16666667 51 | m_OrientationOffsetY: 0 52 | m_Level: 0 53 | m_CycleOffset: 0 54 | m_HasAdditiveReferencePose: 0 55 | m_LoopTime: 1 56 | m_LoopBlend: 0 57 | m_LoopBlendOrientation: 0 58 | m_LoopBlendPositionY: 0 59 | m_LoopBlendPositionXZ: 0 60 | m_KeepOriginalOrientation: 0 61 | m_KeepOriginalPositionY: 1 62 | m_KeepOriginalPositionXZ: 0 63 | m_HeightFromFeet: 0 64 | m_Mirror: 0 65 | m_EditorCurves: [] 66 | m_EulerEditorCurves: [] 67 | m_HasGenericRootTransform: 0 68 | m_HasMotionFloatCurves: 0 69 | m_GenerateMotionCurves: 0 70 | m_Events: [] 71 | -------------------------------------------------------------------------------- /Assets/Kit25D/Common/Shaders/Sprite Character.shader: -------------------------------------------------------------------------------- 1 | Shader "Sprites/Character" 2 | { 3 | Properties 4 | { 5 | [PerRendererData] _MainTex ("Sprite Texture", 2D) = "white" {} 6 | _Color ("Tint", Color) = (1, 1, 1, 1) 7 | _AlphaCutoff ("Alpha Cutoff", Range(0.01, 1.0)) = 0.1 8 | } 9 | 10 | SubShader 11 | { 12 | Tags 13 | { 14 | "Queue" = "Transparent" 15 | "IgnoreProjector" = "True" 16 | "RenderType" = "TransparentCutout" 17 | "PreviewType" = "Plane" 18 | "CanUseSpriteAtlas" = "True" 19 | } 20 | 21 | Cull Off 22 | Lighting Off 23 | ZWrite Off 24 | Blend One OneMinusSrcAlpha 25 | 26 | Pass 27 | { 28 | Stencil 29 | { 30 | Ref 4 31 | Comp Always 32 | Pass Replace 33 | } 34 | 35 | CGPROGRAM 36 | #pragma vertex vert 37 | #pragma fragment frag 38 | #pragma multi_compile _ PIXELSNAP_ON 39 | #include "UnityCG.cginc" 40 | 41 | struct appdata_t 42 | { 43 | float4 vertex : POSITION; 44 | float4 color : COLOR; 45 | float2 texcoord : TEXCOORD0; 46 | }; 47 | 48 | struct v2f 49 | { 50 | float4 vertex : SV_POSITION; 51 | fixed4 color : COLOR; 52 | half2 texcoord : TEXCOORD0; 53 | }; 54 | 55 | fixed4 _Color; 56 | fixed _AlphaCutoff; 57 | 58 | v2f vert(appdata_t IN) 59 | { 60 | v2f OUT; 61 | OUT.vertex = UnityObjectToClipPos(IN.vertex); 62 | OUT.texcoord = IN.texcoord; 63 | OUT.color = IN.color * _Color; 64 | return OUT; 65 | } 66 | 67 | sampler2D _MainTex; 68 | sampler2D _AlphaTex; 69 | 70 | fixed4 frag( v2f IN ) : SV_Target 71 | { 72 | fixed4 c = tex2D(_MainTex, IN.texcoord) * IN.color; 73 | c.rgb *= c.a; 74 | clip(c.a - _AlphaCutoff); 75 | return c; 76 | } 77 | ENDCG 78 | } 79 | } 80 | } -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/2DPlatformer/Animations/Player_Turn.anim: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!74 &7400000 4 | AnimationClip: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_Name: Player_Turn 9 | serializedVersion: 6 10 | m_Legacy: 0 11 | m_Compressed: 0 12 | m_UseHighQualityCurve: 1 13 | m_RotationCurves: [] 14 | m_CompressedRotationCurves: [] 15 | m_EulerCurves: [] 16 | m_PositionCurves: [] 17 | m_ScaleCurves: [] 18 | m_FloatCurves: [] 19 | m_PPtrCurves: 20 | - curve: 21 | - time: 0 22 | value: {fileID: 21300058, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 23 | - time: 0.083333336 24 | value: {fileID: 21300060, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 25 | - time: 0.16666667 26 | value: {fileID: 21300062, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 27 | attribute: m_Sprite 28 | path: 29 | classID: 212 30 | script: {fileID: 0} 31 | m_SampleRate: 12 32 | m_WrapMode: 0 33 | m_Bounds: 34 | m_Center: {x: 0, y: 0, z: 0} 35 | m_Extent: {x: 0, y: 0, z: 0} 36 | m_ClipBindingConstant: 37 | genericBindings: 38 | - path: 0 39 | attribute: 0 40 | script: {fileID: 0} 41 | classID: 212 42 | customType: 23 43 | isPPtrCurve: 1 44 | pptrCurveMapping: 45 | - {fileID: 21300058, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 46 | - {fileID: 21300060, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 47 | - {fileID: 21300062, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 48 | m_AnimationClipSettings: 49 | serializedVersion: 2 50 | m_AdditiveReferencePoseClip: {fileID: 0} 51 | m_AdditiveReferencePoseTime: 0 52 | m_StartTime: 0 53 | m_StopTime: 0.25 54 | m_OrientationOffsetY: 0 55 | m_Level: 0 56 | m_CycleOffset: 0 57 | m_HasAdditiveReferencePose: 0 58 | m_LoopTime: 0 59 | m_LoopBlend: 0 60 | m_LoopBlendOrientation: 0 61 | m_LoopBlendPositionY: 0 62 | m_LoopBlendPositionXZ: 0 63 | m_KeepOriginalOrientation: 0 64 | m_KeepOriginalPositionY: 1 65 | m_KeepOriginalPositionXZ: 0 66 | m_HeightFromFeet: 0 67 | m_Mirror: 0 68 | m_EditorCurves: [] 69 | m_EulerEditorCurves: [] 70 | m_HasGenericRootTransform: 0 71 | m_HasMotionFloatCurves: 0 72 | m_GenerateMotionCurves: 0 73 | m_Events: [] 74 | -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/2DPlatformer/Animations/Player_JumpLand.anim: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!74 &7400000 4 | AnimationClip: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_Name: Player_JumpLand 9 | serializedVersion: 6 10 | m_Legacy: 0 11 | m_Compressed: 0 12 | m_UseHighQualityCurve: 1 13 | m_RotationCurves: [] 14 | m_CompressedRotationCurves: [] 15 | m_EulerCurves: [] 16 | m_PositionCurves: [] 17 | m_ScaleCurves: [] 18 | m_FloatCurves: [] 19 | m_PPtrCurves: 20 | - curve: 21 | - time: 0 22 | value: {fileID: 21300046, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 23 | - time: 0.083333336 24 | value: {fileID: 21300048, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 25 | - time: 0.16666667 26 | value: {fileID: 21300050, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 27 | attribute: m_Sprite 28 | path: 29 | classID: 212 30 | script: {fileID: 0} 31 | m_SampleRate: 12 32 | m_WrapMode: 0 33 | m_Bounds: 34 | m_Center: {x: 0, y: 0, z: 0} 35 | m_Extent: {x: 0, y: 0, z: 0} 36 | m_ClipBindingConstant: 37 | genericBindings: 38 | - path: 0 39 | attribute: 0 40 | script: {fileID: 0} 41 | classID: 212 42 | customType: 23 43 | isPPtrCurve: 1 44 | pptrCurveMapping: 45 | - {fileID: 21300046, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 46 | - {fileID: 21300048, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 47 | - {fileID: 21300050, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 48 | m_AnimationClipSettings: 49 | serializedVersion: 2 50 | m_AdditiveReferencePoseClip: {fileID: 0} 51 | m_AdditiveReferencePoseTime: 0 52 | m_StartTime: 0 53 | m_StopTime: 0.25 54 | m_OrientationOffsetY: 0 55 | m_Level: 0 56 | m_CycleOffset: 0 57 | m_HasAdditiveReferencePose: 0 58 | m_LoopTime: 1 59 | m_LoopBlend: 0 60 | m_LoopBlendOrientation: 0 61 | m_LoopBlendPositionY: 0 62 | m_LoopBlendPositionXZ: 0 63 | m_KeepOriginalOrientation: 0 64 | m_KeepOriginalPositionY: 1 65 | m_KeepOriginalPositionXZ: 0 66 | m_HeightFromFeet: 0 67 | m_Mirror: 0 68 | m_EditorCurves: [] 69 | m_EulerEditorCurves: [] 70 | m_HasGenericRootTransform: 0 71 | m_HasMotionFloatCurves: 0 72 | m_GenerateMotionCurves: 0 73 | m_Events: [] 74 | -------------------------------------------------------------------------------- /Assets/Kit25D/Common/Materials/Character.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: Character 10 | m_Shader: {fileID: 4800000, guid: c354bb1efad334b048ff33151fb85220, type: 3} 11 | m_ShaderKeywords: ETC1_EXTERNAL_ALPHA 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 | - PixelSnap: 0 59 | - _AlphaCutoff: 0.01 60 | - _BumpScale: 1 61 | - _Cutoff: 0.5 62 | - _DetailNormalMapScale: 1 63 | - _DstBlend: 0 64 | - _GlossMapScale: 1 65 | - _Glossiness: 0.5 66 | - _GlossyReflections: 1 67 | - _Metallic: 0 68 | - _Mode: 0 69 | - _OcclusionStrength: 1 70 | - _Parallax: 0.02 71 | - _SmoothnessTextureChannel: 0 72 | - _SpecularHighlights: 1 73 | - _SrcBlend: 1 74 | - _UVSec: 0 75 | - _ZWrite: 1 76 | m_Colors: 77 | - _Color: {r: 1, g: 1, b: 1, a: 1} 78 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 79 | -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/Sprites/box-test-mask2.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c75ce0041bc95459ea9155eb30864fda 3 | timeCreated: 1505055146 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapsPreserveCoverage: 0 16 | alphaTestReferenceValue: 0.5 17 | mipMapFadeDistanceStart: 1 18 | mipMapFadeDistanceEnd: 3 19 | bumpmap: 20 | convertToNormalMap: 0 21 | externalNormalMap: 0 22 | heightScale: 0.25 23 | normalMapFilter: 0 24 | isReadable: 0 25 | grayScaleToAlpha: 0 26 | generateCubemap: 6 27 | cubemapConvolution: 0 28 | seamlessCubemap: 0 29 | textureFormat: 1 30 | maxTextureSize: 2048 31 | textureSettings: 32 | serializedVersion: 2 33 | filterMode: -1 34 | aniso: -1 35 | mipBias: -1 36 | wrapU: 1 37 | wrapV: 1 38 | wrapW: 1 39 | nPOTScale: 0 40 | lightmap: 0 41 | compressionQuality: 50 42 | spriteMode: 1 43 | spriteExtrude: 1 44 | spriteMeshType: 1 45 | alignment: 0 46 | spritePivot: {x: 0.5, y: 0.5} 47 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 48 | spritePixelsToUnits: 100 49 | alphaUsage: 1 50 | alphaIsTransparency: 1 51 | spriteTessellationDetail: -1 52 | textureType: 8 53 | textureShape: 1 54 | maxTextureSizeSet: 0 55 | compressionQualitySet: 0 56 | textureFormatSet: 0 57 | platformSettings: 58 | - buildTarget: DefaultTexturePlatform 59 | maxTextureSize: 2048 60 | textureFormat: -1 61 | textureCompression: 1 62 | compressionQuality: 50 63 | crunchedCompression: 0 64 | allowsAlphaSplitting: 0 65 | overridden: 0 66 | - buildTarget: Standalone 67 | maxTextureSize: 2048 68 | textureFormat: -1 69 | textureCompression: 1 70 | compressionQuality: 50 71 | crunchedCompression: 0 72 | allowsAlphaSplitting: 0 73 | overridden: 0 74 | - buildTarget: iPhone 75 | maxTextureSize: 2048 76 | textureFormat: -1 77 | textureCompression: 1 78 | compressionQuality: 50 79 | crunchedCompression: 0 80 | allowsAlphaSplitting: 0 81 | overridden: 0 82 | spriteSheet: 83 | serializedVersion: 2 84 | sprites: [] 85 | outline: [] 86 | physicsShape: [] 87 | spritePackingTag: game 88 | userData: 89 | assetBundleName: 90 | assetBundleVariant: 91 | -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/Sprites/box-test-mask3.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f3090ec7e875140e5bca33cf27c5cef5 3 | timeCreated: 1505074922 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapsPreserveCoverage: 0 16 | alphaTestReferenceValue: 0.5 17 | mipMapFadeDistanceStart: 1 18 | mipMapFadeDistanceEnd: 3 19 | bumpmap: 20 | convertToNormalMap: 0 21 | externalNormalMap: 0 22 | heightScale: 0.25 23 | normalMapFilter: 0 24 | isReadable: 0 25 | grayScaleToAlpha: 0 26 | generateCubemap: 6 27 | cubemapConvolution: 0 28 | seamlessCubemap: 0 29 | textureFormat: 1 30 | maxTextureSize: 2048 31 | textureSettings: 32 | serializedVersion: 2 33 | filterMode: -1 34 | aniso: -1 35 | mipBias: -1 36 | wrapU: 1 37 | wrapV: 1 38 | wrapW: 1 39 | nPOTScale: 0 40 | lightmap: 0 41 | compressionQuality: 50 42 | spriteMode: 1 43 | spriteExtrude: 1 44 | spriteMeshType: 1 45 | alignment: 0 46 | spritePivot: {x: 0.5, y: 0.5} 47 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 48 | spritePixelsToUnits: 100 49 | alphaUsage: 1 50 | alphaIsTransparency: 1 51 | spriteTessellationDetail: -1 52 | textureType: 8 53 | textureShape: 1 54 | maxTextureSizeSet: 0 55 | compressionQualitySet: 0 56 | textureFormatSet: 0 57 | platformSettings: 58 | - buildTarget: DefaultTexturePlatform 59 | maxTextureSize: 2048 60 | textureFormat: -1 61 | textureCompression: 1 62 | compressionQuality: 50 63 | crunchedCompression: 0 64 | allowsAlphaSplitting: 0 65 | overridden: 0 66 | - buildTarget: Standalone 67 | maxTextureSize: 2048 68 | textureFormat: -1 69 | textureCompression: 1 70 | compressionQuality: 50 71 | crunchedCompression: 0 72 | allowsAlphaSplitting: 0 73 | overridden: 0 74 | - buildTarget: iPhone 75 | maxTextureSize: 2048 76 | textureFormat: -1 77 | textureCompression: 1 78 | compressionQuality: 50 79 | crunchedCompression: 0 80 | allowsAlphaSplitting: 0 81 | overridden: 0 82 | spriteSheet: 83 | serializedVersion: 2 84 | sprites: [] 85 | outline: [] 86 | physicsShape: [] 87 | spritePackingTag: game 88 | userData: 89 | assetBundleName: 90 | assetBundleVariant: 91 | -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/Sprites/box-test.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f16bb4f3147d04342a9373d9666b0d57 3 | timeCreated: 1509353941 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | externalObjects: {} 8 | serializedVersion: 4 9 | mipmaps: 10 | mipMapMode: 0 11 | enableMipMap: 0 12 | sRGBTexture: 1 13 | linearTexture: 0 14 | fadeOut: 0 15 | borderMipMap: 0 16 | mipMapsPreserveCoverage: 0 17 | alphaTestReferenceValue: 0.5 18 | mipMapFadeDistanceStart: 1 19 | mipMapFadeDistanceEnd: 3 20 | bumpmap: 21 | convertToNormalMap: 0 22 | externalNormalMap: 0 23 | heightScale: 0.25 24 | normalMapFilter: 0 25 | isReadable: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -1 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: 1 40 | nPOTScale: 0 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 1 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 9 47 | spritePivot: {x: 0.58, y: 0.35659903} 48 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 49 | spritePixelsToUnits: 100 50 | alphaUsage: 1 51 | alphaIsTransparency: 1 52 | spriteTessellationDetail: -1 53 | textureType: 8 54 | textureShape: 1 55 | maxTextureSizeSet: 0 56 | compressionQualitySet: 0 57 | textureFormatSet: 0 58 | platformSettings: 59 | - buildTarget: DefaultTexturePlatform 60 | maxTextureSize: 2048 61 | resizeAlgorithm: 0 62 | textureFormat: -1 63 | textureCompression: 1 64 | compressionQuality: 50 65 | crunchedCompression: 0 66 | allowsAlphaSplitting: 0 67 | overridden: 0 68 | - buildTarget: Standalone 69 | maxTextureSize: 2048 70 | resizeAlgorithm: 0 71 | textureFormat: -1 72 | textureCompression: 1 73 | compressionQuality: 50 74 | crunchedCompression: 0 75 | allowsAlphaSplitting: 0 76 | overridden: 0 77 | - buildTarget: iPhone 78 | maxTextureSize: 2048 79 | resizeAlgorithm: 0 80 | textureFormat: -1 81 | textureCompression: 1 82 | compressionQuality: 50 83 | crunchedCompression: 0 84 | allowsAlphaSplitting: 0 85 | overridden: 0 86 | spriteSheet: 87 | serializedVersion: 2 88 | sprites: [] 89 | outline: [] 90 | physicsShape: [] 91 | spritePackingTag: game 92 | userData: 93 | assetBundleName: 94 | assetBundleVariant: 95 | -------------------------------------------------------------------------------- /Assets/Kit25D/Common/Materials/Scenery.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: Scenery 10 | m_Shader: {fileID: 4800000, guid: fe8c6e610a9364eafbb71c4791fd6407, type: 3} 11 | m_ShaderKeywords: ETC1_EXTERNAL_ALPHA 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 | - PixelSnap: 0 59 | - _BumpScale: 1 60 | - _Cutoff: 0.5 61 | - _DetailNormalMapScale: 1 62 | - _DstBlend: 0 63 | - _GlossMapScale: 1 64 | - _Glossiness: 0.5 65 | - _GlossyReflections: 1 66 | - _Metallic: 0 67 | - _Mode: 0 68 | - _OcclusionStrength: 1 69 | - _Parallax: 0.02 70 | - _SmoothnessTextureChannel: 0 71 | - _SpecularHighlights: 1 72 | - _SrcBlend: 1 73 | - _UVSec: 0 74 | - _ZWrite: 1 75 | m_Colors: 76 | - _BehindTint: {r: 0.78676474, g: 0.23718642, b: 0.23718642, a: 1} 77 | - _Color: {r: 1, g: 1, b: 1, a: 1} 78 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 79 | - _OccludedColor: {r: 0.9632353, g: 0.25497407, b: 0.44211644, a: 0.984} 80 | -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/Sprites/box-test2.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8392499d143ec4fa0b6f125de03284a9 3 | timeCreated: 1509355615 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | externalObjects: {} 8 | serializedVersion: 4 9 | mipmaps: 10 | mipMapMode: 0 11 | enableMipMap: 0 12 | sRGBTexture: 1 13 | linearTexture: 0 14 | fadeOut: 0 15 | borderMipMap: 0 16 | mipMapsPreserveCoverage: 0 17 | alphaTestReferenceValue: 0.5 18 | mipMapFadeDistanceStart: 1 19 | mipMapFadeDistanceEnd: 3 20 | bumpmap: 21 | convertToNormalMap: 0 22 | externalNormalMap: 0 23 | heightScale: 0.25 24 | normalMapFilter: 0 25 | isReadable: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -1 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: 1 40 | nPOTScale: 0 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 1 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 9 47 | spritePivot: {x: 0.60000014, y: 0.15676132} 48 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 49 | spritePixelsToUnits: 100 50 | alphaUsage: 1 51 | alphaIsTransparency: 1 52 | spriteTessellationDetail: -1 53 | textureType: 8 54 | textureShape: 1 55 | maxTextureSizeSet: 0 56 | compressionQualitySet: 0 57 | textureFormatSet: 0 58 | platformSettings: 59 | - buildTarget: DefaultTexturePlatform 60 | maxTextureSize: 2048 61 | resizeAlgorithm: 0 62 | textureFormat: -1 63 | textureCompression: 1 64 | compressionQuality: 50 65 | crunchedCompression: 0 66 | allowsAlphaSplitting: 0 67 | overridden: 0 68 | - buildTarget: Standalone 69 | maxTextureSize: 2048 70 | resizeAlgorithm: 0 71 | textureFormat: -1 72 | textureCompression: 1 73 | compressionQuality: 50 74 | crunchedCompression: 0 75 | allowsAlphaSplitting: 0 76 | overridden: 0 77 | - buildTarget: iPhone 78 | maxTextureSize: 2048 79 | resizeAlgorithm: 0 80 | textureFormat: -1 81 | textureCompression: 1 82 | compressionQuality: 50 83 | crunchedCompression: 0 84 | allowsAlphaSplitting: 0 85 | overridden: 0 86 | spriteSheet: 87 | serializedVersion: 2 88 | sprites: [] 89 | outline: [] 90 | physicsShape: [] 91 | spritePackingTag: game 92 | userData: 93 | assetBundleName: 94 | assetBundleVariant: 95 | -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/Sprites/PlatformExampleShadow.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0f185fd2cfa7046b49cae94ca601e2b7 3 | timeCreated: 1509420188 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | externalObjects: {} 8 | serializedVersion: 4 9 | mipmaps: 10 | mipMapMode: 0 11 | enableMipMap: 0 12 | sRGBTexture: 1 13 | linearTexture: 0 14 | fadeOut: 0 15 | borderMipMap: 0 16 | mipMapsPreserveCoverage: 0 17 | alphaTestReferenceValue: 0.5 18 | mipMapFadeDistanceStart: 1 19 | mipMapFadeDistanceEnd: 3 20 | bumpmap: 21 | convertToNormalMap: 0 22 | externalNormalMap: 0 23 | heightScale: 0.25 24 | normalMapFilter: 0 25 | isReadable: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -1 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: 1 40 | nPOTScale: 0 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 1 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 9 47 | spritePivot: {x: 0.49758717, y: 0.18834202} 48 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 49 | spritePixelsToUnits: 100 50 | alphaUsage: 1 51 | alphaIsTransparency: 1 52 | spriteTessellationDetail: -1 53 | textureType: 8 54 | textureShape: 1 55 | maxTextureSizeSet: 0 56 | compressionQualitySet: 0 57 | textureFormatSet: 0 58 | platformSettings: 59 | - buildTarget: DefaultTexturePlatform 60 | maxTextureSize: 2048 61 | resizeAlgorithm: 0 62 | textureFormat: -1 63 | textureCompression: 1 64 | compressionQuality: 50 65 | crunchedCompression: 0 66 | allowsAlphaSplitting: 0 67 | overridden: 0 68 | - buildTarget: Standalone 69 | maxTextureSize: 2048 70 | resizeAlgorithm: 0 71 | textureFormat: -1 72 | textureCompression: 1 73 | compressionQuality: 50 74 | crunchedCompression: 0 75 | allowsAlphaSplitting: 0 76 | overridden: 0 77 | - buildTarget: iPhone 78 | maxTextureSize: 2048 79 | resizeAlgorithm: 0 80 | textureFormat: -1 81 | textureCompression: 1 82 | compressionQuality: 50 83 | crunchedCompression: 0 84 | allowsAlphaSplitting: 0 85 | overridden: 0 86 | spriteSheet: 87 | serializedVersion: 2 88 | sprites: [] 89 | outline: [] 90 | physicsShape: [] 91 | spritePackingTag: 92 | userData: 93 | assetBundleName: 94 | assetBundleVariant: 95 | -------------------------------------------------------------------------------- /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 | - {fileID: 16000, guid: 0000000000000000f000000000000000, type: 0} 39 | - {fileID: 16001, guid: 0000000000000000f000000000000000, type: 0} 40 | m_PreloadedShaders: [] 41 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, 42 | type: 0} 43 | m_CustomRenderPipeline: {fileID: 0} 44 | m_TransparencySortMode: 0 45 | m_TransparencySortAxis: {x: 0, y: 0, z: 1} 46 | m_DefaultRenderingPath: 1 47 | m_DefaultMobileRenderingPath: 1 48 | m_TierSettings: [] 49 | m_LightmapStripping: 0 50 | m_FogStripping: 0 51 | m_InstancingStripping: 0 52 | m_LightmapKeepPlain: 1 53 | m_LightmapKeepDirCombined: 1 54 | m_LightmapKeepDynamicPlain: 1 55 | m_LightmapKeepDynamicDirCombined: 1 56 | m_LightmapKeepShadowMask: 1 57 | m_LightmapKeepSubtractive: 1 58 | m_FogKeepLinear: 1 59 | m_FogKeepExp: 1 60 | m_FogKeepExp2: 1 61 | m_AlbedoSwatchInfos: [] 62 | m_LightsUseLinearIntensity: 0 63 | m_LightsUseColorTemperature: 0 64 | -------------------------------------------------------------------------------- /Assets/Kit25D/Common/Character/CharacterShadows.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace Kit25D 4 | { 5 | public class CharacterShadows 6 | { 7 | CharacterMotor motor; 8 | 9 | public CharacterShadows(CharacterMotor motor) 10 | { 11 | this.motor = motor; 12 | } 13 | 14 | public void SetShadowHeightModifier(float h) 15 | { 16 | Vector3 modifier = motor.ShadowTransform.position; 17 | modifier.y += h; 18 | motor.ShadowTransform.position = modifier; 19 | } 20 | 21 | public void HandleShadows() 22 | { 23 | if (motor.isFreezed()) 24 | return; 25 | 26 | if (!motor.onGround) 27 | { 28 | Vector3 scale = new Vector3(motor.defaultShadowScaleX, motor.defaultShadowScaleX, 1); 29 | scale.x = Mathf.Lerp(motor.ShadowTransform.localScale.x, Mathf.Clamp(-motor.velocity.z, -.3f, motor.defaultShadowScaleX), Time.deltaTime * .5f); 30 | motor.ShadowTransform.localScale = scale; 31 | } 32 | else 33 | { 34 | if (motor.ShadowTransform.localScale.x != motor.defaultShadowScaleX) 35 | { 36 | Vector3 scale = new Vector3(motor.defaultShadowScaleX, motor.defaultShadowScaleX, 1); 37 | scale.x = Mathf.Lerp(motor.ShadowTransform.localScale.x, motor.defaultShadowScaleX, Time.deltaTime * 15f); 38 | motor.ShadowTransform.localScale = scale; 39 | } 40 | } 41 | 42 | if (motor.onRoof && !motor.onGround) 43 | { 44 | Vector3 scale = new Vector3(motor.defaultShadowScaleX, motor.defaultShadowScaleX, 1); 45 | scale.x = Mathf.Lerp(motor.shadowFix.transform.localScale.x, Mathf.Clamp(-motor.velocity.z, -.3f, motor.defaultShadowScaleX), Time.deltaTime * .5f); 46 | motor.shadowFix.transform.localScale = scale; 47 | } 48 | else if (motor.onRoof && motor.onGround) 49 | { 50 | if (motor.shadowFix.transform.localScale.x != motor.defaultShadowScaleX) 51 | { 52 | Vector3 scale = new Vector3(motor.defaultShadowScaleX, motor.defaultShadowScaleX, 1); 53 | scale.x = Mathf.Lerp(motor.shadowFix.transform.localScale.x, motor.defaultShadowScaleX, Time.deltaTime * 15f); 54 | motor.shadowFix.transform.localScale = scale; 55 | } 56 | } 57 | } 58 | } 59 | } -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/Sprites/box-test-mask.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a0503b9e6ed544161a223024c5f701be 3 | timeCreated: 1505054840 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapsPreserveCoverage: 0 16 | alphaTestReferenceValue: 0.5 17 | mipMapFadeDistanceStart: 1 18 | mipMapFadeDistanceEnd: 3 19 | bumpmap: 20 | convertToNormalMap: 0 21 | externalNormalMap: 0 22 | heightScale: 0.25 23 | normalMapFilter: 0 24 | isReadable: 0 25 | grayScaleToAlpha: 0 26 | generateCubemap: 6 27 | cubemapConvolution: 0 28 | seamlessCubemap: 0 29 | textureFormat: 1 30 | maxTextureSize: 2048 31 | textureSettings: 32 | serializedVersion: 2 33 | filterMode: -1 34 | aniso: -1 35 | mipBias: -1 36 | wrapU: 1 37 | wrapV: 1 38 | wrapW: 1 39 | nPOTScale: 0 40 | lightmap: 0 41 | compressionQuality: 50 42 | spriteMode: 1 43 | spriteExtrude: 1 44 | spriteMeshType: 1 45 | alignment: 9 46 | spritePivot: {x: 0.5993803, y: 0.15426235} 47 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 48 | spritePixelsToUnits: 100 49 | alphaUsage: 1 50 | alphaIsTransparency: 1 51 | spriteTessellationDetail: -1 52 | textureType: 8 53 | textureShape: 1 54 | maxTextureSizeSet: 0 55 | compressionQualitySet: 0 56 | textureFormatSet: 0 57 | platformSettings: 58 | - buildTarget: DefaultTexturePlatform 59 | maxTextureSize: 2048 60 | textureFormat: -1 61 | textureCompression: 1 62 | compressionQuality: 50 63 | crunchedCompression: 0 64 | allowsAlphaSplitting: 0 65 | overridden: 0 66 | - buildTarget: Standalone 67 | maxTextureSize: 2048 68 | textureFormat: -1 69 | textureCompression: 1 70 | compressionQuality: 50 71 | crunchedCompression: 0 72 | allowsAlphaSplitting: 0 73 | overridden: 0 74 | - buildTarget: iPhone 75 | maxTextureSize: 2048 76 | textureFormat: -1 77 | textureCompression: 1 78 | compressionQuality: 50 79 | crunchedCompression: 0 80 | allowsAlphaSplitting: 0 81 | overridden: 0 82 | spriteSheet: 83 | serializedVersion: 2 84 | sprites: [] 85 | outline: 86 | - - {x: -113.11865, y: 24.566113} 87 | - {x: -108.9746, y: 20.433891} 88 | - {x: -63.527145, y: -26.22373} 89 | - {x: 114.5, y: -26.5} 90 | - {x: 108.97461, y: -20.77627} 91 | - {x: 63.316986, y: 24.84238} 92 | physicsShape: [] 93 | spritePackingTag: game 94 | userData: 95 | assetBundleName: 96 | assetBundleVariant: 97 | -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/2DPlatformer/Animations/Player_Ladder.anim: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!74 &7400000 4 | AnimationClip: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_Name: Player_Ladder 9 | serializedVersion: 6 10 | m_Legacy: 0 11 | m_Compressed: 0 12 | m_UseHighQualityCurve: 1 13 | m_RotationCurves: [] 14 | m_CompressedRotationCurves: [] 15 | m_EulerCurves: [] 16 | m_PositionCurves: [] 17 | m_ScaleCurves: [] 18 | m_FloatCurves: [] 19 | m_PPtrCurves: 20 | - curve: 21 | - time: 0 22 | value: {fileID: 21300062, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 23 | - time: 0.083333336 24 | value: {fileID: 21300064, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 25 | - time: 0.16666667 26 | value: {fileID: 21300066, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 27 | - time: 0.25 28 | value: {fileID: 21300068, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 29 | - time: 0.33333334 30 | value: {fileID: 21300070, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 31 | attribute: m_Sprite 32 | path: 33 | classID: 212 34 | script: {fileID: 0} 35 | m_SampleRate: 12 36 | m_WrapMode: 0 37 | m_Bounds: 38 | m_Center: {x: 0, y: 0, z: 0} 39 | m_Extent: {x: 0, y: 0, z: 0} 40 | m_ClipBindingConstant: 41 | genericBindings: 42 | - path: 0 43 | attribute: 0 44 | script: {fileID: 0} 45 | classID: 212 46 | customType: 23 47 | isPPtrCurve: 1 48 | pptrCurveMapping: 49 | - {fileID: 21300062, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 50 | - {fileID: 21300064, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 51 | - {fileID: 21300066, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 52 | - {fileID: 21300068, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 53 | - {fileID: 21300070, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 54 | m_AnimationClipSettings: 55 | serializedVersion: 2 56 | m_AdditiveReferencePoseClip: {fileID: 0} 57 | m_AdditiveReferencePoseTime: 0 58 | m_StartTime: 0 59 | m_StopTime: 0.4166667 60 | m_OrientationOffsetY: 0 61 | m_Level: 0 62 | m_CycleOffset: 0 63 | m_HasAdditiveReferencePose: 0 64 | m_LoopTime: 1 65 | m_LoopBlend: 0 66 | m_LoopBlendOrientation: 0 67 | m_LoopBlendPositionY: 0 68 | m_LoopBlendPositionXZ: 0 69 | m_KeepOriginalOrientation: 0 70 | m_KeepOriginalPositionY: 1 71 | m_KeepOriginalPositionXZ: 0 72 | m_HeightFromFeet: 0 73 | m_Mirror: 0 74 | m_EditorCurves: [] 75 | m_EulerEditorCurves: [] 76 | m_HasGenericRootTransform: 0 77 | m_HasMotionFloatCurves: 0 78 | m_GenerateMotionCurves: 0 79 | m_Events: [] 80 | -------------------------------------------------------------------------------- /Assets/Kit25D/Common/Shaders/Sprite Scenery.shader: -------------------------------------------------------------------------------- 1 | Shader "Sprites/Scenery" 2 | { 3 | Properties 4 | { 5 | [PerRendererData] _MainTex ("Sprite Texture", 2D) = "white" {} 6 | _Color ( "Tint", Color ) = (1, 1, 1, 1) 7 | _BehindTint ("Behind Tint", Color) = (0, 0, 0, 0.5) 8 | } 9 | 10 | CGINCLUDE 11 | struct appdata_t 12 | { 13 | float4 vertex : POSITION; 14 | float4 color : COLOR; 15 | float2 texcoord : TEXCOORD0; 16 | }; 17 | 18 | struct v2f 19 | { 20 | float4 vertex : SV_POSITION; 21 | fixed4 color : COLOR; 22 | half2 texcoord : TEXCOORD0; 23 | }; 24 | 25 | fixed4 _Color; 26 | sampler2D _MainTex; 27 | 28 | v2f vert(appdata_t IN) 29 | { 30 | v2f OUT; 31 | OUT.vertex = UnityObjectToClipPos(IN.vertex); 32 | OUT.texcoord = IN.texcoord; 33 | OUT.color = IN.color * _Color; 34 | return OUT; 35 | } 36 | ENDCG 37 | 38 | SubShader 39 | { 40 | Tags 41 | { 42 | "Queue" = "Transparent" 43 | "IgnoreProjector" = "True" 44 | "RenderType" = "Transparent" 45 | "PreviewType" = "Plane" 46 | "CanUseSpriteAtlas" = "True" 47 | } 48 | 49 | Cull Off 50 | Lighting Off 51 | ZWrite Off 52 | Blend One OneMinusSrcAlpha 53 | 54 | Pass 55 | { 56 | Stencil 57 | { 58 | Ref 4 59 | Comp NotEqual 60 | } 61 | 62 | CGPROGRAM 63 | #pragma vertex vert 64 | #pragma fragment frag 65 | #pragma multi_compile _ PIXELSNAP_ON 66 | #include "UnityCG.cginc" 67 | 68 | fixed4 frag(v2f IN) : SV_Target 69 | { 70 | fixed4 c = tex2D(_MainTex, IN.texcoord) * IN.color; 71 | c.rgb *= c.a; 72 | return c; 73 | } 74 | ENDCG 75 | } 76 | 77 | Pass 78 | { 79 | Stencil 80 | { 81 | Ref 4 82 | Comp Equal 83 | } 84 | 85 | CGPROGRAM 86 | #pragma vertex vert 87 | #pragma fragment frag 88 | #pragma multi_compile _ PIXELSNAP_ON 89 | #include "UnityCG.cginc" 90 | 91 | fixed4 _BehindTint; 92 | 93 | fixed4 frag(v2f IN) : SV_Target 94 | { 95 | fixed4 c = tex2D(_MainTex, IN.texcoord); 96 | return _BehindTint * c.a; 97 | } 98 | ENDCG 99 | } 100 | } 101 | } -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/Sprites/Square.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d03a83d3b152e488685f21425edf1947 3 | timeCreated: 1510690053 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | externalObjects: {} 8 | serializedVersion: 4 9 | mipmaps: 10 | mipMapMode: 0 11 | enableMipMap: 1 12 | sRGBTexture: 1 13 | linearTexture: 0 14 | fadeOut: 0 15 | borderMipMap: 0 16 | mipMapsPreserveCoverage: 0 17 | alphaTestReferenceValue: 0.5 18 | mipMapFadeDistanceStart: 1 19 | mipMapFadeDistanceEnd: 3 20 | bumpmap: 21 | convertToNormalMap: 0 22 | externalNormalMap: 0 23 | heightScale: 0.25 24 | normalMapFilter: 0 25 | isReadable: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: 0 35 | aniso: 1 36 | mipBias: 0 37 | wrapU: 0 38 | wrapV: 0 39 | wrapW: 0 40 | nPOTScale: 0 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 1 44 | spriteExtrude: 1 45 | spriteMeshType: 0 46 | alignment: 7 47 | spritePivot: {x: 0.5, y: 0} 48 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 49 | spritePixelsToUnits: 4 50 | alphaUsage: 1 51 | alphaIsTransparency: 0 52 | spriteTessellationDetail: -1 53 | textureType: 8 54 | textureShape: 1 55 | maxTextureSizeSet: 0 56 | compressionQualitySet: 0 57 | textureFormatSet: 0 58 | platformSettings: 59 | - buildTarget: DefaultTexturePlatform 60 | maxTextureSize: 2048 61 | resizeAlgorithm: 0 62 | textureFormat: 4 63 | textureCompression: 1 64 | compressionQuality: 50 65 | crunchedCompression: 0 66 | allowsAlphaSplitting: 0 67 | overridden: 0 68 | - buildTarget: Standalone 69 | maxTextureSize: 2048 70 | resizeAlgorithm: 0 71 | textureFormat: 4 72 | textureCompression: 1 73 | compressionQuality: 50 74 | crunchedCompression: 0 75 | allowsAlphaSplitting: 0 76 | overridden: 0 77 | - buildTarget: iPhone 78 | maxTextureSize: 2048 79 | resizeAlgorithm: 0 80 | textureFormat: 4 81 | textureCompression: 1 82 | compressionQuality: 50 83 | crunchedCompression: 0 84 | allowsAlphaSplitting: 0 85 | overridden: 0 86 | spriteSheet: 87 | serializedVersion: 2 88 | sprites: [] 89 | outline: 90 | - - {x: -2, y: -2} 91 | - {x: -2, y: 2} 92 | - {x: 2, y: 2} 93 | - {x: 2, y: -2} 94 | physicsShape: 95 | - - {x: -2, y: -2} 96 | - {x: -2, y: 2} 97 | - {x: 2, y: 2} 98 | - {x: 2, y: -2} 99 | spritePackingTag: 100 | userData: 101 | assetBundleName: 102 | assetBundleVariant: 103 | -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/2DPlatformer/Animations/Player_Run.anim: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!74 &7400000 4 | AnimationClip: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_Name: Player_Run 9 | serializedVersion: 6 10 | m_Legacy: 0 11 | m_Compressed: 0 12 | m_UseHighQualityCurve: 1 13 | m_RotationCurves: [] 14 | m_CompressedRotationCurves: [] 15 | m_EulerCurves: [] 16 | m_PositionCurves: [] 17 | m_ScaleCurves: [] 18 | m_FloatCurves: [] 19 | m_PPtrCurves: 20 | - curve: 21 | - time: 0 22 | value: {fileID: 21300024, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 23 | - time: 0.083333336 24 | value: {fileID: 21300026, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 25 | - time: 0.16666667 26 | value: {fileID: 21300028, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 27 | - time: 0.25 28 | value: {fileID: 21300030, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 29 | - time: 0.33333334 30 | value: {fileID: 21300032, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 31 | - time: 0.41666666 32 | value: {fileID: 21300034, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 33 | - time: 0.5 34 | value: {fileID: 21300036, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 35 | - time: 0.5833333 36 | value: {fileID: 21300038, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 37 | attribute: m_Sprite 38 | path: 39 | classID: 212 40 | script: {fileID: 0} 41 | m_SampleRate: 12 42 | m_WrapMode: 0 43 | m_Bounds: 44 | m_Center: {x: 0, y: 0, z: 0} 45 | m_Extent: {x: 0, y: 0, z: 0} 46 | m_ClipBindingConstant: 47 | genericBindings: 48 | - serializedVersion: 2 49 | path: 0 50 | attribute: 0 51 | script: {fileID: 0} 52 | typeID: 212 53 | customType: 23 54 | isPPtrCurve: 1 55 | pptrCurveMapping: 56 | - {fileID: 21300024, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 57 | - {fileID: 21300026, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 58 | - {fileID: 21300028, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 59 | - {fileID: 21300030, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 60 | - {fileID: 21300032, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 61 | - {fileID: 21300034, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 62 | - {fileID: 21300036, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 63 | - {fileID: 21300038, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 64 | m_AnimationClipSettings: 65 | serializedVersion: 2 66 | m_AdditiveReferencePoseClip: {fileID: 0} 67 | m_AdditiveReferencePoseTime: 0 68 | m_StartTime: 0 69 | m_StopTime: 0.6666666 70 | m_OrientationOffsetY: 0 71 | m_Level: 0 72 | m_CycleOffset: 0 73 | m_HasAdditiveReferencePose: 0 74 | m_LoopTime: 1 75 | m_LoopBlend: 0 76 | m_LoopBlendOrientation: 0 77 | m_LoopBlendPositionY: 0 78 | m_LoopBlendPositionXZ: 0 79 | m_KeepOriginalOrientation: 0 80 | m_KeepOriginalPositionY: 1 81 | m_KeepOriginalPositionXZ: 0 82 | m_HeightFromFeet: 0 83 | m_Mirror: 0 84 | m_EditorCurves: [] 85 | m_EulerEditorCurves: [] 86 | m_HasGenericRootTransform: 0 87 | m_HasMotionFloatCurves: 0 88 | m_GenerateMotionCurves: 0 89 | m_IsEmpty: 0 90 | m_Events: [] 91 | -------------------------------------------------------------------------------- /Assets/Kit25D/Common/Scenery/SceneryCollider.cs: -------------------------------------------------------------------------------- 1 | using Kit25D.CustomAttributes; 2 | using UnityEngine; 3 | 4 | namespace Kit25D 5 | { 6 | [RequireComponent(typeof(SpriteSorter))] 7 | [DisallowMultipleComponent] 8 | public class SceneryCollider : MonoBehaviour 9 | { 10 | public bool hasRoof = false; 11 | [Info("It's for floating platforms. Has a little different behaviour then hasRoof.")] 12 | public bool isPlatform = false; 13 | public float height { get; private set; } 14 | private SpriteSorter spriteSorter; 15 | 16 | #if UNITY_EDITOR 17 | [System.Diagnostics.Conditional("UNITY_EDITOR")] 18 | void Reset() 19 | { 20 | Collider2D _c = GetComponent(); 21 | 22 | if (_c == null) 23 | { 24 | if (UnityEditor.EditorUtility.DisplayDialog("Choose a component", "You are missing one of the required componets. Please choose one to add.", "CapsuleCollider2D", "PolygonCollider2D")) 25 | _c = gameObject.AddComponent(); 26 | else 27 | _c = gameObject.AddComponent(); 28 | } 29 | 30 | _c.isTrigger = true; 31 | } 32 | #endif 33 | 34 | void Start() 35 | { 36 | if (transform.parent) 37 | spriteSorter = transform.parent.GetComponent(); 38 | 39 | if (!spriteSorter) 40 | spriteSorter = transform.GetComponent(); 41 | 42 | height = spriteSorter.height + Mathf.Abs(spriteSorter.groundOffset); 43 | 44 | if (isPlatform) 45 | hasRoof = true; 46 | } 47 | 48 | void OnTriggerEnter2D(Collider2D coll) 49 | { 50 | if (coll.CompareTag("Player")) 51 | { 52 | CharacterMotor motor = coll.gameObject.GetComponent(); 53 | 54 | if (!motor.onGround && motor.zHeight > height) 55 | { 56 | motor.Shadows.SetShadowHeightModifier(height); 57 | motor.roofHeight = height; 58 | motor.onRoof = true; 59 | motor.onPlatform = isPlatform; 60 | } 61 | } 62 | } 63 | 64 | void OnTriggerStay2D(Collider2D coll) 65 | { 66 | if (isPlatform && coll.CompareTag("Player")) 67 | { 68 | CharacterMotor motor = coll.gameObject.GetComponent(); 69 | 70 | if (motor.onGround && !motor.onRoof && !motor.underPlatform) 71 | { 72 | motor.underPlatform = true; 73 | motor.OnUnderPlatform(); 74 | } 75 | 76 | } 77 | } 78 | 79 | void OnTriggerExit2D(Collider2D coll) 80 | { 81 | if (coll.CompareTag("Player")) 82 | { 83 | CharacterMotor motor = coll.gameObject.GetComponent(); 84 | 85 | if (motor.onRoof) 86 | { 87 | motor.Shadows.SetShadowHeightModifier(-height); 88 | motor.onRoof = false; 89 | motor.roofHeight = 0f; 90 | motor.onGround = false; 91 | } 92 | 93 | motor.underPlatform = false; 94 | motor.OnExitUnderPlatform(); 95 | } 96 | } 97 | } 98 | } -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/2DPlatformer/Animations/Player_Idle.anim: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!74 &7400000 4 | AnimationClip: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_Name: Player_Idle 9 | serializedVersion: 6 10 | m_Legacy: 0 11 | m_Compressed: 0 12 | m_UseHighQualityCurve: 1 13 | m_RotationCurves: [] 14 | m_CompressedRotationCurves: [] 15 | m_EulerCurves: [] 16 | m_PositionCurves: [] 17 | m_ScaleCurves: [] 18 | m_FloatCurves: [] 19 | m_PPtrCurves: 20 | - curve: 21 | - time: 0 22 | value: {fileID: 21300000, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 23 | - time: 0.083333336 24 | value: {fileID: 21300002, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 25 | - time: 0.16666667 26 | value: {fileID: 21300004, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 27 | - time: 0.25 28 | value: {fileID: 21300006, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 29 | - time: 0.33333334 30 | value: {fileID: 21300008, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 31 | - time: 0.41666666 32 | value: {fileID: 21300010, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 33 | - time: 0.5 34 | value: {fileID: 21300012, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 35 | - time: 0.5833333 36 | value: {fileID: 21300014, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 37 | - time: 0.6666667 38 | value: {fileID: 21300016, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 39 | - time: 0.75 40 | value: {fileID: 21300018, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 41 | - time: 0.8333333 42 | value: {fileID: 21300020, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 43 | - time: 0.9166667 44 | value: {fileID: 21300022, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 45 | attribute: m_Sprite 46 | path: 47 | classID: 212 48 | script: {fileID: 0} 49 | m_SampleRate: 12 50 | m_WrapMode: 0 51 | m_Bounds: 52 | m_Center: {x: 0, y: 0, z: 0} 53 | m_Extent: {x: 0, y: 0, z: 0} 54 | m_ClipBindingConstant: 55 | genericBindings: 56 | - path: 0 57 | attribute: 0 58 | script: {fileID: 0} 59 | classID: 212 60 | customType: 23 61 | isPPtrCurve: 1 62 | pptrCurveMapping: 63 | - {fileID: 21300000, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 64 | - {fileID: 21300002, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 65 | - {fileID: 21300004, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 66 | - {fileID: 21300006, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 67 | - {fileID: 21300008, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 68 | - {fileID: 21300010, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 69 | - {fileID: 21300012, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 70 | - {fileID: 21300014, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 71 | - {fileID: 21300016, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 72 | - {fileID: 21300018, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 73 | - {fileID: 21300020, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 74 | - {fileID: 21300022, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 75 | m_AnimationClipSettings: 76 | serializedVersion: 2 77 | m_AdditiveReferencePoseClip: {fileID: 0} 78 | m_AdditiveReferencePoseTime: 0 79 | m_StartTime: 0 80 | m_StopTime: 1 81 | m_OrientationOffsetY: 0 82 | m_Level: 0 83 | m_CycleOffset: 0 84 | m_HasAdditiveReferencePose: 0 85 | m_LoopTime: 1 86 | m_LoopBlend: 0 87 | m_LoopBlendOrientation: 0 88 | m_LoopBlendPositionY: 0 89 | m_LoopBlendPositionXZ: 0 90 | m_KeepOriginalOrientation: 0 91 | m_KeepOriginalPositionY: 1 92 | m_KeepOriginalPositionXZ: 0 93 | m_HeightFromFeet: 0 94 | m_Mirror: 0 95 | m_EditorCurves: [] 96 | m_EulerEditorCurves: [] 97 | m_HasGenericRootTransform: 0 98 | m_HasMotionFloatCurves: 0 99 | m_GenerateMotionCurves: 0 100 | m_Events: [] 101 | -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/Prefabs/Tree.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1001 &100100000 4 | Prefab: 5 | m_ObjectHideFlags: 1 6 | serializedVersion: 2 7 | m_Modification: 8 | m_TransformParent: {fileID: 0} 9 | m_Modifications: [] 10 | m_RemovedComponents: [] 11 | m_ParentPrefab: {fileID: 0} 12 | m_RootGameObject: {fileID: 1964176807315606} 13 | m_IsPrefabParent: 1 14 | --- !u!1 &1964176807315606 15 | GameObject: 16 | m_ObjectHideFlags: 0 17 | m_PrefabParentObject: {fileID: 0} 18 | m_PrefabInternal: {fileID: 100100000} 19 | serializedVersion: 5 20 | m_Component: 21 | - component: {fileID: 4525154158391740} 22 | - component: {fileID: 212169732375110724} 23 | - component: {fileID: 70182843091542210} 24 | - component: {fileID: 114372389904019734} 25 | - component: {fileID: 114981929113503108} 26 | m_Layer: 8 27 | m_Name: Tree 28 | m_TagString: Untagged 29 | m_Icon: {fileID: 0} 30 | m_NavMeshLayer: 0 31 | m_StaticEditorFlags: 0 32 | m_IsActive: 1 33 | --- !u!4 &4525154158391740 34 | Transform: 35 | m_ObjectHideFlags: 1 36 | m_PrefabParentObject: {fileID: 0} 37 | m_PrefabInternal: {fileID: 100100000} 38 | m_GameObject: {fileID: 1964176807315606} 39 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 40 | m_LocalPosition: {x: 0.37000012, y: 0.42000008, z: -0.5799999} 41 | m_LocalScale: {x: 1, y: 1, z: 1} 42 | m_Children: [] 43 | m_Father: {fileID: 0} 44 | m_RootOrder: 0 45 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 46 | --- !u!70 &70182843091542210 47 | CapsuleCollider2D: 48 | m_ObjectHideFlags: 1 49 | m_PrefabParentObject: {fileID: 0} 50 | m_PrefabInternal: {fileID: 100100000} 51 | m_GameObject: {fileID: 1964176807315606} 52 | m_Enabled: 1 53 | m_Density: 1 54 | m_Material: {fileID: 0} 55 | m_IsTrigger: 1 56 | m_UsedByEffector: 0 57 | m_UsedByComposite: 0 58 | m_Offset: {x: -0.08023758, y: 0.09} 59 | m_Size: {x: 0.6126327, y: 0.34518245} 60 | m_Direction: 1 61 | --- !u!114 &114372389904019734 62 | MonoBehaviour: 63 | m_ObjectHideFlags: 1 64 | m_PrefabParentObject: {fileID: 0} 65 | m_PrefabInternal: {fileID: 100100000} 66 | m_GameObject: {fileID: 1964176807315606} 67 | m_Enabled: 1 68 | m_EditorHideFlags: 0 69 | m_Script: {fileID: 11500000, guid: b580319b67b424533a8b4ffe5da921a9, type: 3} 70 | m_Name: 71 | m_EditorClassIdentifier: 72 | hasRoof: 0 73 | --- !u!114 &114981929113503108 74 | MonoBehaviour: 75 | m_ObjectHideFlags: 1 76 | m_PrefabParentObject: {fileID: 0} 77 | m_PrefabInternal: {fileID: 100100000} 78 | m_GameObject: {fileID: 1964176807315606} 79 | m_Enabled: 1 80 | m_EditorHideFlags: 0 81 | m_Script: {fileID: 11500000, guid: d0c0785f5351040388fea21e2567c230, type: 3} 82 | m_Name: 83 | m_EditorClassIdentifier: 84 | groundOffset: 0 85 | height: 0 86 | hasRoof: 0 87 | --- !u!212 &212169732375110724 88 | SpriteRenderer: 89 | m_ObjectHideFlags: 1 90 | m_PrefabParentObject: {fileID: 0} 91 | m_PrefabInternal: {fileID: 100100000} 92 | m_GameObject: {fileID: 1964176807315606} 93 | m_Enabled: 1 94 | m_CastShadows: 0 95 | m_ReceiveShadows: 0 96 | m_DynamicOccludee: 1 97 | m_MotionVectors: 1 98 | m_LightProbeUsage: 1 99 | m_ReflectionProbeUsage: 1 100 | m_Materials: 101 | - {fileID: 2100000, guid: 934274f8f9c144ab3918c7937b794d36, type: 2} 102 | m_StaticBatchInfo: 103 | firstSubMesh: 0 104 | subMeshCount: 0 105 | m_StaticBatchRoot: {fileID: 0} 106 | m_ProbeAnchor: {fileID: 0} 107 | m_LightProbeVolumeOverride: {fileID: 0} 108 | m_ScaleInLightmap: 1 109 | m_PreserveUVs: 0 110 | m_IgnoreNormalsForChartDetection: 0 111 | m_ImportantGI: 0 112 | m_StitchLightmapSeams: 0 113 | m_SelectedEditorRenderState: 0 114 | m_MinimumChartSize: 4 115 | m_AutoUVMaxDistance: 0.5 116 | m_AutoUVMaxAngle: 89 117 | m_LightmapParameters: {fileID: 0} 118 | m_SortingLayerID: 0 119 | m_SortingLayer: 0 120 | m_SortingOrder: 0 121 | m_Sprite: {fileID: 21300000, guid: 958ab8f03dc0449d99b4be57d3c2abb6, type: 3} 122 | m_Color: {r: 1, g: 1, b: 1, a: 1} 123 | m_FlipX: 0 124 | m_FlipY: 0 125 | m_DrawMode: 0 126 | m_Size: {x: 2.22, y: 6.55} 127 | m_AdaptiveModeThreshold: 0.5 128 | m_SpriteTileMode: 0 129 | m_WasSpriteAssigned: 1 130 | m_MaskInteraction: 0 131 | -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/2DPlatformer/Animations/Player_Hurt.anim: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!74 &7400000 4 | AnimationClip: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_Name: Player_Hurt 9 | serializedVersion: 6 10 | m_Legacy: 0 11 | m_Compressed: 0 12 | m_UseHighQualityCurve: 1 13 | m_RotationCurves: [] 14 | m_CompressedRotationCurves: [] 15 | m_EulerCurves: [] 16 | m_PositionCurves: [] 17 | m_ScaleCurves: [] 18 | m_FloatCurves: 19 | - curve: 20 | serializedVersion: 2 21 | m_Curve: 22 | - serializedVersion: 2 23 | time: 0 24 | value: 1 25 | inSlope: Infinity 26 | outSlope: Infinity 27 | tangentMode: 103 28 | - serializedVersion: 2 29 | time: 0.083333336 30 | value: 0 31 | inSlope: Infinity 32 | outSlope: Infinity 33 | tangentMode: 103 34 | - serializedVersion: 2 35 | time: 0.16666667 36 | value: 1 37 | inSlope: Infinity 38 | outSlope: Infinity 39 | tangentMode: 103 40 | - serializedVersion: 2 41 | time: 0.25 42 | value: 0 43 | inSlope: Infinity 44 | outSlope: Infinity 45 | tangentMode: 103 46 | - serializedVersion: 2 47 | time: 0.33333334 48 | value: 1 49 | inSlope: Infinity 50 | outSlope: Infinity 51 | tangentMode: 103 52 | m_PreInfinity: 2 53 | m_PostInfinity: 2 54 | m_RotationOrder: 4 55 | attribute: m_Enabled 56 | path: 57 | classID: 212 58 | script: {fileID: 0} 59 | m_PPtrCurves: 60 | - curve: 61 | - time: 0 62 | value: {fileID: 21300052, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 63 | - time: 0.16666667 64 | value: {fileID: 21300054, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 65 | - time: 0.25 66 | value: {fileID: 21300054, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 67 | - time: 0.33333334 68 | value: {fileID: 21300052, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 69 | attribute: m_Sprite 70 | path: 71 | classID: 212 72 | script: {fileID: 0} 73 | m_SampleRate: 24 74 | m_WrapMode: 0 75 | m_Bounds: 76 | m_Center: {x: 0, y: 0, z: 0} 77 | m_Extent: {x: 0, y: 0, z: 0} 78 | m_ClipBindingConstant: 79 | genericBindings: 80 | - path: 0 81 | attribute: 3305885265 82 | script: {fileID: 0} 83 | classID: 212 84 | customType: 0 85 | isPPtrCurve: 0 86 | - path: 0 87 | attribute: 0 88 | script: {fileID: 0} 89 | classID: 212 90 | customType: 23 91 | isPPtrCurve: 1 92 | pptrCurveMapping: 93 | - {fileID: 21300052, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 94 | - {fileID: 21300054, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 95 | - {fileID: 21300054, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 96 | - {fileID: 21300052, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 97 | m_AnimationClipSettings: 98 | serializedVersion: 2 99 | m_AdditiveReferencePoseClip: {fileID: 0} 100 | m_AdditiveReferencePoseTime: 0 101 | m_StartTime: 0 102 | m_StopTime: 0.375 103 | m_OrientationOffsetY: 0 104 | m_Level: 0 105 | m_CycleOffset: 0 106 | m_HasAdditiveReferencePose: 0 107 | m_LoopTime: 1 108 | m_LoopBlend: 0 109 | m_LoopBlendOrientation: 0 110 | m_LoopBlendPositionY: 0 111 | m_LoopBlendPositionXZ: 0 112 | m_KeepOriginalOrientation: 0 113 | m_KeepOriginalPositionY: 1 114 | m_KeepOriginalPositionXZ: 0 115 | m_HeightFromFeet: 0 116 | m_Mirror: 0 117 | m_EditorCurves: 118 | - curve: 119 | serializedVersion: 2 120 | m_Curve: 121 | - serializedVersion: 2 122 | time: 0 123 | value: 1 124 | inSlope: Infinity 125 | outSlope: Infinity 126 | tangentMode: 103 127 | - serializedVersion: 2 128 | time: 0.083333336 129 | value: 0 130 | inSlope: Infinity 131 | outSlope: Infinity 132 | tangentMode: 103 133 | - serializedVersion: 2 134 | time: 0.16666667 135 | value: 1 136 | inSlope: Infinity 137 | outSlope: Infinity 138 | tangentMode: 103 139 | - serializedVersion: 2 140 | time: 0.25 141 | value: 0 142 | inSlope: Infinity 143 | outSlope: Infinity 144 | tangentMode: 103 145 | - serializedVersion: 2 146 | time: 0.33333334 147 | value: 1 148 | inSlope: Infinity 149 | outSlope: Infinity 150 | tangentMode: 103 151 | m_PreInfinity: 2 152 | m_PostInfinity: 2 153 | m_RotationOrder: 4 154 | attribute: m_Enabled 155 | path: 156 | classID: 212 157 | script: {fileID: 0} 158 | m_EulerEditorCurves: [] 159 | m_HasGenericRootTransform: 0 160 | m_HasMotionFloatCurves: 0 161 | m_GenerateMotionCurves: 0 162 | m_Events: [] 163 | -------------------------------------------------------------------------------- /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: 5 8 | m_QualitySettings: 9 | - serializedVersion: 2 10 | name: Very Low 11 | pixelLightCount: 0 12 | shadows: 0 13 | shadowResolution: 0 14 | shadowProjection: 1 15 | shadowCascades: 1 16 | shadowDistance: 15 17 | shadowNearPlaneOffset: 3 18 | shadowCascade2Split: 0.33333334 19 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 20 | shadowmaskMode: 0 21 | blendWeights: 1 22 | textureQuality: 1 23 | anisotropicTextures: 0 24 | antiAliasing: 0 25 | softParticles: 0 26 | softVegetation: 0 27 | realtimeReflectionProbes: 0 28 | billboardsFaceCameraPosition: 0 29 | vSyncCount: 0 30 | lodBias: 0.3 31 | maximumLODLevel: 0 32 | particleRaycastBudget: 4 33 | asyncUploadTimeSlice: 2 34 | asyncUploadBufferSize: 4 35 | resolutionScalingFixedDPIFactor: 1 36 | excludedTargetPlatforms: [] 37 | - serializedVersion: 2 38 | name: Low 39 | pixelLightCount: 0 40 | shadows: 0 41 | shadowResolution: 0 42 | shadowProjection: 1 43 | shadowCascades: 1 44 | shadowDistance: 20 45 | shadowNearPlaneOffset: 3 46 | shadowCascade2Split: 0.33333334 47 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 48 | shadowmaskMode: 0 49 | blendWeights: 2 50 | textureQuality: 0 51 | anisotropicTextures: 0 52 | antiAliasing: 0 53 | softParticles: 0 54 | softVegetation: 0 55 | realtimeReflectionProbes: 0 56 | billboardsFaceCameraPosition: 0 57 | vSyncCount: 0 58 | lodBias: 0.4 59 | maximumLODLevel: 0 60 | particleRaycastBudget: 16 61 | asyncUploadTimeSlice: 2 62 | asyncUploadBufferSize: 4 63 | resolutionScalingFixedDPIFactor: 1 64 | excludedTargetPlatforms: [] 65 | - serializedVersion: 2 66 | name: Medium 67 | pixelLightCount: 1 68 | shadows: 1 69 | shadowResolution: 0 70 | shadowProjection: 1 71 | shadowCascades: 1 72 | shadowDistance: 20 73 | shadowNearPlaneOffset: 3 74 | shadowCascade2Split: 0.33333334 75 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 76 | shadowmaskMode: 0 77 | blendWeights: 2 78 | textureQuality: 0 79 | anisotropicTextures: 1 80 | antiAliasing: 0 81 | softParticles: 0 82 | softVegetation: 0 83 | realtimeReflectionProbes: 0 84 | billboardsFaceCameraPosition: 0 85 | vSyncCount: 1 86 | lodBias: 0.7 87 | maximumLODLevel: 0 88 | particleRaycastBudget: 64 89 | asyncUploadTimeSlice: 2 90 | asyncUploadBufferSize: 4 91 | resolutionScalingFixedDPIFactor: 1 92 | excludedTargetPlatforms: [] 93 | - serializedVersion: 2 94 | name: High 95 | pixelLightCount: 2 96 | shadows: 2 97 | shadowResolution: 1 98 | shadowProjection: 1 99 | shadowCascades: 2 100 | shadowDistance: 40 101 | shadowNearPlaneOffset: 3 102 | shadowCascade2Split: 0.33333334 103 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 104 | shadowmaskMode: 1 105 | blendWeights: 2 106 | textureQuality: 0 107 | anisotropicTextures: 1 108 | antiAliasing: 0 109 | softParticles: 0 110 | softVegetation: 1 111 | realtimeReflectionProbes: 1 112 | billboardsFaceCameraPosition: 1 113 | vSyncCount: 1 114 | lodBias: 1 115 | maximumLODLevel: 0 116 | particleRaycastBudget: 256 117 | asyncUploadTimeSlice: 2 118 | asyncUploadBufferSize: 4 119 | resolutionScalingFixedDPIFactor: 1 120 | excludedTargetPlatforms: [] 121 | - serializedVersion: 2 122 | name: Very High 123 | pixelLightCount: 3 124 | shadows: 2 125 | shadowResolution: 2 126 | shadowProjection: 1 127 | shadowCascades: 2 128 | shadowDistance: 70 129 | shadowNearPlaneOffset: 3 130 | shadowCascade2Split: 0.33333334 131 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 132 | shadowmaskMode: 1 133 | blendWeights: 4 134 | textureQuality: 0 135 | anisotropicTextures: 2 136 | antiAliasing: 2 137 | softParticles: 1 138 | softVegetation: 1 139 | realtimeReflectionProbes: 1 140 | billboardsFaceCameraPosition: 1 141 | vSyncCount: 1 142 | lodBias: 1.5 143 | maximumLODLevel: 0 144 | particleRaycastBudget: 1024 145 | asyncUploadTimeSlice: 2 146 | asyncUploadBufferSize: 4 147 | resolutionScalingFixedDPIFactor: 1 148 | excludedTargetPlatforms: [] 149 | - serializedVersion: 2 150 | name: Ultra 151 | pixelLightCount: 4 152 | shadows: 0 153 | shadowResolution: 0 154 | shadowProjection: 1 155 | shadowCascades: 1 156 | shadowDistance: 150 157 | shadowNearPlaneOffset: 3 158 | shadowCascade2Split: 0.33333334 159 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 160 | shadowmaskMode: 1 161 | blendWeights: 4 162 | textureQuality: 0 163 | anisotropicTextures: 2 164 | antiAliasing: 0 165 | softParticles: 0 166 | softVegetation: 1 167 | realtimeReflectionProbes: 1 168 | billboardsFaceCameraPosition: 1 169 | vSyncCount: 0 170 | lodBias: 2 171 | maximumLODLevel: 0 172 | particleRaycastBudget: 4096 173 | asyncUploadTimeSlice: 2 174 | asyncUploadBufferSize: 4 175 | resolutionScalingFixedDPIFactor: 1 176 | excludedTargetPlatforms: [] 177 | m_PerPlatformDefaultQuality: 178 | Android: 2 179 | Nintendo 3DS: 5 180 | Nintendo Switch: 5 181 | PS4: 5 182 | PSM: 5 183 | PSP2: 2 184 | Samsung TV: 2 185 | Standalone: 5 186 | Tizen: 2 187 | WebGL: 3 188 | WiiU: 5 189 | Windows Store Apps: 5 190 | XboxOne: 5 191 | iPhone: 2 192 | tvOS: 2 193 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /Assets/Kit25D/Common/Character/CharacterMotor.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using Kit25D.CustomAttributes; 4 | using UnityEngine; 5 | 6 | namespace Kit25D 7 | { 8 | [AddComponentMenu("Kit25D/CharacterMotor")] 9 | [DisallowMultipleComponent] 10 | [RequireComponent(typeof(Rigidbody2D), typeof(CapsuleCollider2D), typeof(CharacterSorter))] 11 | public class CharacterMotor : CachedBehaviour 12 | { 13 | public enum Brains { Player, AI } 14 | public enum FaceDirections { Left = -1, Right = 1 } 15 | public enum Statuses { Normal, Freezed, Kinematic, Dead } 16 | public enum Teams { Friendly, Enemy } 17 | 18 | public Brains brainType = Brains.AI; 19 | public FaceDirections faceDirection = FaceDirections.Right; 20 | public Teams team = Teams.Enemy; 21 | 22 | private List statuses = new List(); 23 | 24 | [Header("GFX Refereneces")] 25 | [Info("This must be your characters graphical visuals with animations, sounds etc. While jumping this transform will go up!")] 26 | public Transform GFXTransform; 27 | 28 | [Info("This transform determines ground position and used by landing check.")] 29 | public Transform ShadowTransform; 30 | 31 | [Info("This needs to be duplicate of Shadow Transform but disabled. CharacterMotor will handle rest of it.")] 32 | public GameObject shadowFix; 33 | 34 | public float defaultShadowScaleX { get; protected set; } 35 | 36 | [Header("Movement")] 37 | public LayerMask obstacleLayerMask; 38 | public bool onGround = true; 39 | public bool onRoof = false; 40 | public bool onPlatform = false; 41 | [HideInInspector] public float roofHeight = 0f; 42 | public float speed = 5f; 43 | public float speedModifierY = .65f; 44 | public float currentSpeed = 5f; 45 | public float maxJumpHeight = 3f; 46 | public float minJumpHeight = 1f; 47 | public float timeToJumpApex = .4f; 48 | public float skinWidth = .015f; 49 | public float zHeight = 0f; 50 | public Vector2 directionalInput; 51 | public Vector3 velocity; 52 | public Bounds bounds { get; protected set; } 53 | public float maxJumpVelocity { get; protected set; } 54 | public float minJumpVelocity { get; protected set; } 55 | public float gravity { get; protected set; } 56 | 57 | [Header("Slope Movement")] 58 | [Info("While true we are trying to keep player on track.")] 59 | public bool slopeControl = true; 60 | public string slopeTagName = "LevelBounds"; 61 | public float slopeRayLength = 10f; 62 | public float slopeAngle = 0f; 63 | 64 | [Header("Platforming")] 65 | [Info("It's used by movement controller, if player jump while under a platform.")] 66 | public Transform headPoint; 67 | public bool underPlatform = false; 68 | 69 | public Animator _animator { get; protected set; } 70 | public CharacterMovements Movement { get; protected set; } 71 | public CharacterShadows Shadows { get; protected set; } 72 | public CharacterInputs Inputs { get; protected set; } 73 | 74 | private SpriteRenderer[] GFXSpriteRenderers; 75 | 76 | private void Start() 77 | { 78 | Movement = new CharacterMovements(this); 79 | Shadows = new CharacterShadows(this); 80 | Inputs = new CharacterInputs(this); 81 | 82 | _animator = GFXTransform.GetComponentInChildren(); 83 | currentSpeed = speed; 84 | defaultShadowScaleX = ShadowTransform.transform.localScale.x; 85 | _collider2D.bounds.Expand(skinWidth); 86 | GFXSpriteRenderers = GFXTransform.GetComponentsInChildren(); 87 | 88 | gravity = -(2 * maxJumpHeight) / Mathf.Pow(timeToJumpApex, 2); 89 | maxJumpVelocity = Mathf.Abs(gravity) * timeToJumpApex; 90 | minJumpVelocity = Mathf.Sqrt(2 * Mathf.Abs(gravity) * minJumpHeight); 91 | } 92 | 93 | void Update() 94 | { 95 | if (!isAI()) 96 | Inputs.HandleInputs(); 97 | 98 | Shadows.HandleShadows(); 99 | HandleAnimations(); 100 | } 101 | 102 | void FixedUpdate() 103 | { 104 | Movement.CalculateVelocity(); 105 | Movement.ApplyMovement(velocity * Time.fixedDeltaTime, directionalInput); 106 | 107 | zHeight = GFXTransform.position.y - ShadowTransform.position.y; 108 | 109 | if (!onGround && zHeight <= 0f) 110 | { 111 | onGround = true; 112 | velocity.z = 0f; 113 | GFXTransform.localPosition = new Vector3(ShadowTransform.localPosition.x, ShadowTransform.localPosition.y, 0); 114 | } 115 | } 116 | 117 | void HandleAnimations() 118 | { 119 | if (isFreezed()) 120 | return; 121 | 122 | _animator.SetBool("grounded", onGround); 123 | _animator.SetFloat("velocityX", Mathf.Abs(directionalInput.x) + Mathf.Abs(directionalInput.y)); 124 | _animator.SetFloat("velocityY", velocity.z); 125 | } 126 | 127 | public void OnUnderPlatform() 128 | { 129 | if (GFXSpriteRenderers.Length > 0) 130 | { 131 | for (int i = 0; i < GFXSpriteRenderers.Length; i++) 132 | { 133 | GFXSpriteRenderers[i].color = new Color32(180, 180, 180, 255); 134 | } 135 | } 136 | } 137 | 138 | public void OnExitUnderPlatform() 139 | { 140 | if (GFXSpriteRenderers.Length > 0) 141 | { 142 | for (int i = 0; i < GFXSpriteRenderers.Length; i++) 143 | { 144 | GFXSpriteRenderers[i].color = Color.white; 145 | } 146 | } 147 | } 148 | 149 | public void SetFaceDirection(int dir) 150 | { 151 | _transform.localScale = new Vector3(dir, 1, 1); 152 | } 153 | 154 | public bool isKinematic() 155 | { 156 | return statuses.Contains(Statuses.Kinematic); 157 | } 158 | 159 | public bool isFreezed() 160 | { 161 | return statuses.Contains(Statuses.Freezed); 162 | } 163 | 164 | public void Freeze() 165 | { 166 | if (!isFreezed()) 167 | statuses.Add(Statuses.Freezed); 168 | } 169 | 170 | public void UnFreeze() 171 | { 172 | if (isFreezed()) 173 | statuses.Remove(Statuses.Freezed); 174 | } 175 | 176 | public bool isDead() 177 | { 178 | return statuses.Contains(Statuses.Dead); 179 | } 180 | 181 | public bool isAI() 182 | { 183 | return brainType == Brains.AI; 184 | } 185 | 186 | /// This validates Character component and warns you if something is wrong. (Called in the editor only). 187 | void OnValidate() 188 | { 189 | if (!_rb.isKinematic) 190 | Debug.LogWarning("Character's Rigidbody2D must be kinematic in order to work with Kit25D"); 191 | } 192 | 193 | /// This tries to assing default values 194 | void Reset() 195 | { 196 | _rb.isKinematic = true; 197 | _rb.collisionDetectionMode = CollisionDetectionMode2D.Continuous; 198 | _rb.constraints = RigidbodyConstraints2D.FreezeRotation; 199 | } 200 | } 201 | } -------------------------------------------------------------------------------- /Assets/Kit25D/Common/Character/CharacterMovements.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | namespace Kit25D 6 | { 7 | public class CharacterMovements 8 | { 9 | private CharacterMotor motor; 10 | 11 | public CharacterMovements(CharacterMotor motor) 12 | { 13 | this.motor = motor; 14 | } 15 | 16 | public void CalculateVelocity() 17 | { 18 | if (motor.isFreezed()) 19 | return; 20 | 21 | motor.velocity.x = motor.directionalInput.x * motor.currentSpeed; 22 | motor.velocity.y = motor.directionalInput.y * (motor.currentSpeed * motor.speedModifierY); 23 | 24 | if (!motor.onGround) 25 | { 26 | motor.velocity.z += motor.gravity * Time.fixedDeltaTime; 27 | 28 | if (motor.velocity.z < -20f) 29 | motor.velocity.z = -20f; 30 | } 31 | } 32 | 33 | public void ApplyMovement(Vector3 moveAmount, Vector2 input) 34 | { 35 | if (motor.isFreezed()) 36 | return; 37 | 38 | motor.faceDirection = moveAmount.x > 0 ? CharacterMotor.FaceDirections.Right : moveAmount.x < 0 ? CharacterMotor.FaceDirections.Left : motor.faceDirection; 39 | motor._transform.localScale = new Vector3((int) motor.faceDirection, 1, 1); 40 | 41 | if (motor.slopeControl && moveAmount.x != 0) 42 | SlopeControl(ref moveAmount); 43 | 44 | if (moveAmount.y == 0) 45 | { 46 | VerticalCollisions(ref moveAmount, 1); 47 | VerticalCollisions(ref moveAmount, -1); 48 | } 49 | 50 | if (moveAmount.y > 0) 51 | VerticalCollisions(ref moveAmount, 1); 52 | 53 | if (moveAmount.y < 0) 54 | VerticalCollisions(ref moveAmount, -1); 55 | 56 | HorizontalCollisions(ref moveAmount); 57 | 58 | if (!motor.onGround && motor.underPlatform && motor.velocity.z > 0f) 59 | JumpBlockControl(ref moveAmount); 60 | 61 | motor._transform.Translate(new Vector2(moveAmount.x, moveAmount.y)); 62 | 63 | if (!motor.onGround) 64 | motor.GFXTransform.Translate(new Vector2(0, moveAmount.z)); 65 | } 66 | 67 | void VerticalCollisions(ref Vector3 moveAmount, int directionY) 68 | { 69 | float rayLength = Mathf.Abs(moveAmount.y) + motor.skinWidth; 70 | 71 | List rays = new List(); 72 | 73 | if (directionY == 1) 74 | { 75 | rays.Add(new Vector2(motor._collider2D.bounds.max.x, motor._collider2D.bounds.max.y)); 76 | rays.Add(new Vector2((motor._collider2D.bounds.max.x + motor._collider2D.bounds.min.x) * .5f, motor._collider2D.bounds.max.y)); 77 | rays.Add(new Vector2(motor._collider2D.bounds.min.x, motor._collider2D.bounds.max.y)); 78 | } 79 | else 80 | { 81 | rays.Add(new Vector2(motor._collider2D.bounds.max.x, motor._collider2D.bounds.min.y)); 82 | rays.Add(new Vector2((motor._collider2D.bounds.max.x + motor._collider2D.bounds.min.x) * .5f, motor._collider2D.bounds.min.y)); 83 | rays.Add(new Vector2(motor._collider2D.bounds.min.x, motor._collider2D.bounds.min.y)); 84 | } 85 | 86 | for (int i = 0; i < rays.Count; i++) 87 | { 88 | RaycastHit2D hit; 89 | 90 | if (directionY == 1) 91 | { 92 | hit = Physics2D.Raycast(rays[i], Vector2.up, rayLength, motor.obstacleLayerMask); 93 | Debug.DrawRay(rays[i], Vector2.up * directionY * rayLength, Color.yellow); 94 | } 95 | else 96 | { 97 | hit = Physics2D.Raycast(rays[i], Vector2.down, rayLength, motor.obstacleLayerMask); 98 | Debug.DrawRay(rays[i], Vector2.up * directionY * rayLength, Color.red); 99 | } 100 | 101 | if (hit) 102 | { 103 | if (motor.isKinematic()) 104 | continue; 105 | 106 | SceneryCollider sceneryCollider = hit.collider.transform.GetComponent(); 107 | 108 | if (sceneryCollider != null) 109 | { 110 | if (sceneryCollider.hasRoof && !motor.onGround && motor.zHeight > sceneryCollider.height) 111 | continue; 112 | 113 | if (sceneryCollider.hasRoof && motor.onRoof) 114 | continue; 115 | 116 | if (sceneryCollider.isPlatform) 117 | continue; 118 | } 119 | 120 | if (hit.collider.CompareTag("JumpBlocker") && motor.onGround) 121 | continue; 122 | 123 | moveAmount.y = (hit.distance - motor.skinWidth) * directionY; 124 | } 125 | } 126 | } 127 | 128 | void HorizontalCollisions(ref Vector3 moveAmount) 129 | { 130 | float rayLength = Mathf.Abs(moveAmount.x) + motor.skinWidth; 131 | float directionX = Mathf.Sign(moveAmount.x); 132 | 133 | List rays = new List(); 134 | 135 | if (directionX == 1) 136 | { 137 | rays.Add(new Vector2(motor._collider2D.bounds.max.x, motor._collider2D.bounds.max.y)); 138 | rays.Add(new Vector2(motor._collider2D.bounds.max.x, motor._collider2D.bounds.min.y)); 139 | } 140 | else 141 | { 142 | rays.Add(new Vector2(motor._collider2D.bounds.min.x, motor._collider2D.bounds.max.y)); 143 | rays.Add(new Vector2(motor._collider2D.bounds.min.x, motor._collider2D.bounds.min.y)); 144 | } 145 | 146 | for (int i = 0; i < rays.Count; i++) 147 | { 148 | RaycastHit2D hit; 149 | 150 | if (directionX == 1) 151 | { 152 | hit = Physics2D.Raycast(rays[i], Vector2.right * directionX, rayLength, motor.obstacleLayerMask); 153 | Debug.DrawRay(rays[i], Vector2.right * directionX * rayLength, Color.white); 154 | } 155 | else 156 | { 157 | hit = Physics2D.Raycast(rays[i], Vector2.right * directionX, rayLength, motor.obstacleLayerMask); 158 | Debug.DrawRay(rays[i], Vector2.right * directionX * rayLength, Color.white); 159 | } 160 | 161 | if (hit) 162 | { 163 | if (motor.isKinematic()) 164 | continue; 165 | 166 | SceneryCollider sceneryCollider = hit.collider.transform.GetComponent(); 167 | 168 | if (sceneryCollider != null) 169 | { 170 | if (sceneryCollider.hasRoof && !motor.onGround && motor.zHeight > sceneryCollider.height) 171 | continue; 172 | 173 | if (sceneryCollider.hasRoof && motor.onRoof) 174 | continue; 175 | 176 | if (sceneryCollider.isPlatform) 177 | continue; 178 | } 179 | 180 | if (hit.collider.CompareTag("JumpBlocker") && motor.onGround) 181 | continue; 182 | 183 | moveAmount.x = (hit.distance - motor.skinWidth) * directionX; 184 | } 185 | } 186 | } 187 | 188 | void SlopeControl(ref Vector3 moveAmount) 189 | { 190 | float rayLength = motor.slopeRayLength + motor.skinWidth; 191 | 192 | Vector2 front = new Vector2(motor._collider2D.bounds.max.x, motor._collider2D.bounds.min.y); 193 | Vector2 back = new Vector2(motor._collider2D.bounds.min.x, motor._collider2D.bounds.min.y); 194 | 195 | if ((int) motor.faceDirection == -1) 196 | { 197 | back = new Vector2(motor._collider2D.bounds.max.x, motor._collider2D.bounds.min.y); 198 | front = new Vector2(motor._collider2D.bounds.min.x, motor._collider2D.bounds.min.y); 199 | } 200 | 201 | RaycastHit2D hitFront = Physics2D.Raycast(front, Vector2.down, rayLength, motor.obstacleLayerMask); 202 | Debug.DrawRay(front, Vector2.down * rayLength, Color.magenta); 203 | 204 | RaycastHit2D hitBack = Physics2D.Raycast(back, Vector2.down, rayLength, motor.obstacleLayerMask); 205 | Debug.DrawRay(back, Vector2.down * rayLength, Color.black); 206 | 207 | if (hitFront && hitBack) 208 | { 209 | if (hitFront.collider.CompareTag(motor.slopeTagName) && hitBack.collider.CompareTag(motor.slopeTagName)) 210 | { 211 | float angle = Vector2.Angle(hitFront.normal, Vector2.up); 212 | motor.slopeAngle = hitFront.distance < hitBack.distance ? angle : -angle; 213 | 214 | if (Mathf.Abs(motor.slopeAngle) < 0.3f) 215 | return; // discard very low slopes 216 | 217 | float moveDistance = Mathf.Abs(moveAmount.x); 218 | float climbmoveAmountY = Mathf.Sin(motor.slopeAngle * Mathf.Deg2Rad) * moveDistance; 219 | 220 | moveAmount.y += climbmoveAmountY; 221 | } 222 | } 223 | } 224 | 225 | void JumpBlockControl(ref Vector3 moveAmount) 226 | { 227 | float rayLength = .15f; 228 | Vector2 rayOrigin = new Vector2(motor.headPoint.position.x, motor.headPoint.position.y); 229 | 230 | RaycastHit2D hit = Physics2D.Raycast(rayOrigin, Vector2.up, rayLength, motor.obstacleLayerMask); 231 | Debug.DrawRay(rayOrigin, Vector2.up * rayLength, Color.magenta); 232 | 233 | if (hit) 234 | { 235 | if (hit.collider.CompareTag("JumpBlocker")) 236 | { 237 | moveAmount.z = -0.1f; 238 | motor.velocity.z = -0.1f; 239 | } 240 | } 241 | } 242 | } 243 | } -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/Prefabs/box-test-small-1.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1001 &100100000 4 | Prefab: 5 | m_ObjectHideFlags: 1 6 | serializedVersion: 2 7 | m_Modification: 8 | m_TransformParent: {fileID: 0} 9 | m_Modifications: [] 10 | m_RemovedComponents: [] 11 | m_ParentPrefab: {fileID: 0} 12 | m_RootGameObject: {fileID: 1812693887869714} 13 | m_IsPrefabParent: 1 14 | --- !u!1 &1812693887869714 15 | GameObject: 16 | m_ObjectHideFlags: 0 17 | m_PrefabParentObject: {fileID: 0} 18 | m_PrefabInternal: {fileID: 100100000} 19 | serializedVersion: 5 20 | m_Component: 21 | - component: {fileID: 4244871393848800} 22 | - component: {fileID: 212256976129245850} 23 | - component: {fileID: 114953537630929360} 24 | - component: {fileID: 114975672276957024} 25 | - component: {fileID: 60099718767451774} 26 | m_Layer: 8 27 | m_Name: box-test-small-1 28 | m_TagString: Untagged 29 | m_Icon: {fileID: 0} 30 | m_NavMeshLayer: 0 31 | m_StaticEditorFlags: 0 32 | m_IsActive: 1 33 | --- !u!1 &1829558414476376 34 | GameObject: 35 | m_ObjectHideFlags: 0 36 | m_PrefabParentObject: {fileID: 0} 37 | m_PrefabInternal: {fileID: 100100000} 38 | serializedVersion: 5 39 | m_Component: 40 | - component: {fileID: 4584890920566924} 41 | - component: {fileID: 114978149470019282} 42 | - component: {fileID: 61450137671105612} 43 | m_Layer: 0 44 | m_Name: Depth Mask 45 | m_TagString: Untagged 46 | m_Icon: {fileID: 0} 47 | m_NavMeshLayer: 0 48 | m_StaticEditorFlags: 0 49 | m_IsActive: 1 50 | --- !u!1 &1932303791307376 51 | GameObject: 52 | m_ObjectHideFlags: 0 53 | m_PrefabParentObject: {fileID: 0} 54 | m_PrefabInternal: {fileID: 100100000} 55 | serializedVersion: 5 56 | m_Component: 57 | - component: {fileID: 4930702651370620} 58 | - component: {fileID: 331722545068164572} 59 | - component: {fileID: 212279815470143254} 60 | m_Layer: 0 61 | m_Name: Shadow Reciever 62 | m_TagString: Untagged 63 | m_Icon: {fileID: 0} 64 | m_NavMeshLayer: 0 65 | m_StaticEditorFlags: 0 66 | m_IsActive: 1 67 | --- !u!4 &4244871393848800 68 | Transform: 69 | m_ObjectHideFlags: 1 70 | m_PrefabParentObject: {fileID: 0} 71 | m_PrefabInternal: {fileID: 100100000} 72 | m_GameObject: {fileID: 1812693887869714} 73 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 74 | m_LocalPosition: {x: -2.8, y: -0.46000004, z: -1.46} 75 | m_LocalScale: {x: 1, y: 1, z: 1} 76 | m_Children: 77 | - {fileID: 4930702651370620} 78 | - {fileID: 4584890920566924} 79 | m_Father: {fileID: 0} 80 | m_RootOrder: 0 81 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 82 | --- !u!4 &4584890920566924 83 | Transform: 84 | m_ObjectHideFlags: 1 85 | m_PrefabParentObject: {fileID: 0} 86 | m_PrefabInternal: {fileID: 100100000} 87 | m_GameObject: {fileID: 1829558414476376} 88 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 89 | m_LocalPosition: {x: 0, y: 0, z: 0} 90 | m_LocalScale: {x: 1, y: 1, z: 1} 91 | m_Children: [] 92 | m_Father: {fileID: 4244871393848800} 93 | m_RootOrder: 1 94 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 95 | --- !u!4 &4930702651370620 96 | Transform: 97 | m_ObjectHideFlags: 1 98 | m_PrefabParentObject: {fileID: 0} 99 | m_PrefabInternal: {fileID: 100100000} 100 | m_GameObject: {fileID: 1932303791307376} 101 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 102 | m_LocalPosition: {x: -0.17, y: 0.75, z: 0} 103 | m_LocalScale: {x: 1, y: 1, z: 1} 104 | m_Children: [] 105 | m_Father: {fileID: 4244871393848800} 106 | m_RootOrder: 0 107 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 108 | --- !u!60 &60099718767451774 109 | PolygonCollider2D: 110 | m_ObjectHideFlags: 1 111 | m_PrefabParentObject: {fileID: 0} 112 | m_PrefabInternal: {fileID: 100100000} 113 | m_GameObject: {fileID: 1812693887869714} 114 | m_Enabled: 1 115 | m_Density: 1 116 | m_Material: {fileID: 0} 117 | m_IsTrigger: 1 118 | m_UsedByEffector: 0 119 | m_UsedByComposite: 0 120 | m_Offset: {x: 0, y: -1.16} 121 | m_SpriteTilingProperty: 122 | border: {x: 0, y: 0, z: 0, w: 0} 123 | pivot: {x: 0.58, y: 0.35659903} 124 | oldSize: {x: 2.32, y: 1.56} 125 | newSize: {x: 2.32, y: 1.56} 126 | adaptiveTilingThreshold: 0.5 127 | drawMode: 0 128 | adaptiveTiling: 0 129 | m_AutoTiling: 0 130 | m_Points: 131 | m_Paths: 132 | - - {x: -1.3655308, y: 1.2060635} 133 | - {x: -0.8704549, y: 0.7016989} 134 | - {x: 0.88456815, y: 0.6832217} 135 | - {x: 0.40020365, y: 1.2122059} 136 | --- !u!61 &61450137671105612 137 | BoxCollider2D: 138 | m_ObjectHideFlags: 1 139 | m_PrefabParentObject: {fileID: 0} 140 | m_PrefabInternal: {fileID: 100100000} 141 | m_GameObject: {fileID: 1829558414476376} 142 | m_Enabled: 1 143 | m_Density: 1 144 | m_Material: {fileID: 0} 145 | m_IsTrigger: 1 146 | m_UsedByEffector: 0 147 | m_UsedByComposite: 0 148 | m_Offset: {x: 0.7809618, y: -0.21109748} 149 | m_SpriteTilingProperty: 150 | border: {x: 0, y: 0, z: 0, w: 0} 151 | pivot: {x: 0, y: 0} 152 | oldSize: {x: 0, y: 0} 153 | newSize: {x: 0, y: 0} 154 | adaptiveTilingThreshold: 0 155 | drawMode: 0 156 | adaptiveTiling: 0 157 | m_AutoTiling: 0 158 | serializedVersion: 2 159 | m_Size: {x: 0.51967967, y: 0.45998335} 160 | m_EdgeRadius: 0 161 | --- !u!114 &114953537630929360 162 | MonoBehaviour: 163 | m_ObjectHideFlags: 1 164 | m_PrefabParentObject: {fileID: 0} 165 | m_PrefabInternal: {fileID: 100100000} 166 | m_GameObject: {fileID: 1812693887869714} 167 | m_Enabled: 1 168 | m_EditorHideFlags: 0 169 | m_Script: {fileID: 11500000, guid: d0c0785f5351040388fea21e2567c230, type: 3} 170 | m_Name: 171 | m_EditorClassIdentifier: 172 | groundOffset: 0 173 | height: 1.01 174 | --- !u!114 &114975672276957024 175 | MonoBehaviour: 176 | m_ObjectHideFlags: 1 177 | m_PrefabParentObject: {fileID: 0} 178 | m_PrefabInternal: {fileID: 100100000} 179 | m_GameObject: {fileID: 1812693887869714} 180 | m_Enabled: 1 181 | m_EditorHideFlags: 0 182 | m_Script: {fileID: 11500000, guid: b580319b67b424533a8b4ffe5da921a9, type: 3} 183 | m_Name: 184 | m_EditorClassIdentifier: 185 | hasRoof: 1 186 | isPlatform: 0 187 | --- !u!114 &114978149470019282 188 | MonoBehaviour: 189 | m_ObjectHideFlags: 1 190 | m_PrefabParentObject: {fileID: 0} 191 | m_PrefabInternal: {fileID: 100100000} 192 | m_GameObject: {fileID: 1829558414476376} 193 | m_Enabled: 1 194 | m_EditorHideFlags: 0 195 | m_Script: {fileID: 11500000, guid: 977c4359e461a4b1f86a3f04612028e3, type: 3} 196 | m_Name: 197 | m_EditorClassIdentifier: 198 | --- !u!212 &212256976129245850 199 | SpriteRenderer: 200 | m_ObjectHideFlags: 1 201 | m_PrefabParentObject: {fileID: 0} 202 | m_PrefabInternal: {fileID: 100100000} 203 | m_GameObject: {fileID: 1812693887869714} 204 | m_Enabled: 1 205 | m_CastShadows: 0 206 | m_ReceiveShadows: 0 207 | m_DynamicOccludee: 1 208 | m_MotionVectors: 1 209 | m_LightProbeUsage: 1 210 | m_ReflectionProbeUsage: 1 211 | m_Materials: 212 | - {fileID: 2100000, guid: 934274f8f9c144ab3918c7937b794d36, type: 2} 213 | m_StaticBatchInfo: 214 | firstSubMesh: 0 215 | subMeshCount: 0 216 | m_StaticBatchRoot: {fileID: 0} 217 | m_ProbeAnchor: {fileID: 0} 218 | m_LightProbeVolumeOverride: {fileID: 0} 219 | m_ScaleInLightmap: 1 220 | m_PreserveUVs: 0 221 | m_IgnoreNormalsForChartDetection: 0 222 | m_ImportantGI: 0 223 | m_StitchLightmapSeams: 0 224 | m_SelectedEditorRenderState: 0 225 | m_MinimumChartSize: 4 226 | m_AutoUVMaxDistance: 0.5 227 | m_AutoUVMaxAngle: 89 228 | m_LightmapParameters: {fileID: 0} 229 | m_SortingLayerID: 0 230 | m_SortingLayer: 0 231 | m_SortingOrder: 0 232 | m_Sprite: {fileID: 21300000, guid: f16bb4f3147d04342a9373d9666b0d57, type: 3} 233 | m_Color: {r: 1, g: 1, b: 1, a: 1} 234 | m_FlipX: 0 235 | m_FlipY: 0 236 | m_DrawMode: 0 237 | m_Size: {x: 2.32, y: 1.56} 238 | m_AdaptiveModeThreshold: 0.5 239 | m_SpriteTileMode: 0 240 | m_WasSpriteAssigned: 1 241 | m_MaskInteraction: 0 242 | --- !u!212 &212279815470143254 243 | SpriteRenderer: 244 | m_ObjectHideFlags: 1 245 | m_PrefabParentObject: {fileID: 0} 246 | m_PrefabInternal: {fileID: 100100000} 247 | m_GameObject: {fileID: 1932303791307376} 248 | m_Enabled: 1 249 | m_CastShadows: 0 250 | m_ReceiveShadows: 0 251 | m_DynamicOccludee: 1 252 | m_MotionVectors: 1 253 | m_LightProbeUsage: 1 254 | m_ReflectionProbeUsage: 1 255 | m_Materials: 256 | - {fileID: 10758, guid: 0000000000000000f000000000000000, type: 0} 257 | m_StaticBatchInfo: 258 | firstSubMesh: 0 259 | subMeshCount: 0 260 | m_StaticBatchRoot: {fileID: 0} 261 | m_ProbeAnchor: {fileID: 0} 262 | m_LightProbeVolumeOverride: {fileID: 0} 263 | m_ScaleInLightmap: 1 264 | m_PreserveUVs: 0 265 | m_IgnoreNormalsForChartDetection: 0 266 | m_ImportantGI: 0 267 | m_StitchLightmapSeams: 0 268 | m_SelectedEditorRenderState: 0 269 | m_MinimumChartSize: 4 270 | m_AutoUVMaxDistance: 0.5 271 | m_AutoUVMaxAngle: 89 272 | m_LightmapParameters: {fileID: 0} 273 | m_SortingLayerID: 0 274 | m_SortingLayer: 0 275 | m_SortingOrder: 1 276 | m_Sprite: {fileID: 21300000, guid: c75ce0041bc95459ea9155eb30864fda, type: 3} 277 | m_Color: {r: 1, g: 1, b: 1, a: 1} 278 | m_FlipX: 0 279 | m_FlipY: 0 280 | m_DrawMode: 0 281 | m_Size: {x: 2.29, y: 0.53} 282 | m_AdaptiveModeThreshold: 0.5 283 | m_SpriteTileMode: 0 284 | m_WasSpriteAssigned: 1 285 | m_MaskInteraction: 0 286 | --- !u!331 &331722545068164572 287 | SpriteMask: 288 | m_ObjectHideFlags: 1 289 | m_PrefabParentObject: {fileID: 0} 290 | m_PrefabInternal: {fileID: 100100000} 291 | m_GameObject: {fileID: 1932303791307376} 292 | m_Enabled: 1 293 | m_CastShadows: 1 294 | m_ReceiveShadows: 1 295 | m_DynamicOccludee: 1 296 | m_MotionVectors: 1 297 | m_LightProbeUsage: 1 298 | m_ReflectionProbeUsage: 1 299 | m_Materials: 300 | - {fileID: 10758, guid: 0000000000000000f000000000000000, type: 0} 301 | m_StaticBatchInfo: 302 | firstSubMesh: 0 303 | subMeshCount: 0 304 | m_StaticBatchRoot: {fileID: 0} 305 | m_ProbeAnchor: {fileID: 0} 306 | m_LightProbeVolumeOverride: {fileID: 0} 307 | m_ScaleInLightmap: 1 308 | m_PreserveUVs: 0 309 | m_IgnoreNormalsForChartDetection: 0 310 | m_ImportantGI: 0 311 | m_StitchLightmapSeams: 0 312 | m_SelectedEditorRenderState: 3 313 | m_MinimumChartSize: 4 314 | m_AutoUVMaxDistance: 0.5 315 | m_AutoUVMaxAngle: 89 316 | m_LightmapParameters: {fileID: 0} 317 | m_SortingLayerID: 0 318 | m_SortingLayer: 0 319 | m_SortingOrder: 0 320 | m_Sprite: {fileID: 21300000, guid: c75ce0041bc95459ea9155eb30864fda, type: 3} 321 | m_MaskAlphaCutoff: 0.2 322 | m_FrontSortingLayerID: 0 323 | m_BackSortingLayerID: 0 324 | m_FrontSortingLayer: 0 325 | m_BackSortingLayer: 0 326 | m_FrontSortingOrder: 0 327 | m_BackSortingOrder: 0 328 | m_IsCustomRangeActive: 0 329 | -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/Prefabs/box-test-big-1.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1001 &100100000 4 | Prefab: 5 | m_ObjectHideFlags: 1 6 | serializedVersion: 2 7 | m_Modification: 8 | m_TransformParent: {fileID: 0} 9 | m_Modifications: [] 10 | m_RemovedComponents: [] 11 | m_ParentPrefab: {fileID: 0} 12 | m_RootGameObject: {fileID: 1460471797613866} 13 | m_IsPrefabParent: 1 14 | --- !u!1 &1460471797613866 15 | GameObject: 16 | m_ObjectHideFlags: 0 17 | m_PrefabParentObject: {fileID: 0} 18 | m_PrefabInternal: {fileID: 100100000} 19 | serializedVersion: 5 20 | m_Component: 21 | - component: {fileID: 4673597865286512} 22 | - component: {fileID: 212597597658530686} 23 | - component: {fileID: 114472770167294436} 24 | - component: {fileID: 114454121619508224} 25 | - component: {fileID: 60585124080863522} 26 | m_Layer: 8 27 | m_Name: box-test-big-1 28 | m_TagString: Untagged 29 | m_Icon: {fileID: 0} 30 | m_NavMeshLayer: 0 31 | m_StaticEditorFlags: 0 32 | m_IsActive: 1 33 | --- !u!1 &1792399577949842 34 | GameObject: 35 | m_ObjectHideFlags: 0 36 | m_PrefabParentObject: {fileID: 0} 37 | m_PrefabInternal: {fileID: 100100000} 38 | serializedVersion: 5 39 | m_Component: 40 | - component: {fileID: 4489559080178536} 41 | - component: {fileID: 114546627801098432} 42 | - component: {fileID: 61942115616651150} 43 | m_Layer: 0 44 | m_Name: Depth Mask 45 | m_TagString: Untagged 46 | m_Icon: {fileID: 0} 47 | m_NavMeshLayer: 0 48 | m_StaticEditorFlags: 0 49 | m_IsActive: 1 50 | --- !u!1 &1812275858762514 51 | GameObject: 52 | m_ObjectHideFlags: 0 53 | m_PrefabParentObject: {fileID: 0} 54 | m_PrefabInternal: {fileID: 100100000} 55 | serializedVersion: 5 56 | m_Component: 57 | - component: {fileID: 4683342437402594} 58 | - component: {fileID: 331782942700054782} 59 | - component: {fileID: 212565583458713502} 60 | m_Layer: 0 61 | m_Name: Shadow Reciever 62 | m_TagString: Untagged 63 | m_Icon: {fileID: 0} 64 | m_NavMeshLayer: 0 65 | m_StaticEditorFlags: 0 66 | m_IsActive: 1 67 | --- !u!4 &4489559080178536 68 | Transform: 69 | m_ObjectHideFlags: 1 70 | m_PrefabParentObject: {fileID: 0} 71 | m_PrefabInternal: {fileID: 100100000} 72 | m_GameObject: {fileID: 1792399577949842} 73 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 74 | m_LocalPosition: {x: 0, y: 0, z: 0} 75 | m_LocalScale: {x: 1, y: 1, z: 1} 76 | m_Children: [] 77 | m_Father: {fileID: 4673597865286512} 78 | m_RootOrder: 1 79 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 80 | --- !u!4 &4673597865286512 81 | Transform: 82 | m_ObjectHideFlags: 1 83 | m_PrefabParentObject: {fileID: 0} 84 | m_PrefabInternal: {fileID: 100100000} 85 | m_GameObject: {fileID: 1460471797613866} 86 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 87 | m_LocalPosition: {x: 3.778, y: 1.002, z: 1.002} 88 | m_LocalScale: {x: 1, y: 1, z: 1} 89 | m_Children: 90 | - {fileID: 4683342437402594} 91 | - {fileID: 4489559080178536} 92 | m_Father: {fileID: 0} 93 | m_RootOrder: 0 94 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 95 | --- !u!4 &4683342437402594 96 | Transform: 97 | m_ObjectHideFlags: 1 98 | m_PrefabParentObject: {fileID: 0} 99 | m_PrefabInternal: {fileID: 100100000} 100 | m_GameObject: {fileID: 1812275858762514} 101 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 102 | m_LocalPosition: {x: -0.2, y: 2.62, z: 0.23000002} 103 | m_LocalScale: {x: 1, y: 1, z: 1} 104 | m_Children: [] 105 | m_Father: {fileID: 4673597865286512} 106 | m_RootOrder: 0 107 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 108 | --- !u!60 &60585124080863522 109 | PolygonCollider2D: 110 | m_ObjectHideFlags: 1 111 | m_PrefabParentObject: {fileID: 0} 112 | m_PrefabInternal: {fileID: 100100000} 113 | m_GameObject: {fileID: 1460471797613866} 114 | m_Enabled: 1 115 | m_Density: 1 116 | m_Material: {fileID: 0} 117 | m_IsTrigger: 1 118 | m_UsedByEffector: 0 119 | m_UsedByComposite: 0 120 | m_Offset: {x: 0, y: -1.16} 121 | m_SpriteTilingProperty: 122 | border: {x: 0, y: 0, z: 0, w: 0} 123 | pivot: {x: 0.60000014, y: 0.15676132} 124 | oldSize: {x: 2.32, y: 3.49} 125 | newSize: {x: 2.32, y: 3.49} 126 | adaptiveTilingThreshold: 0.5 127 | drawMode: 0 128 | adaptiveTiling: 0 129 | m_AutoTiling: 0 130 | m_Points: 131 | m_Paths: 132 | - - {x: -1.3655308, y: 1.2060635} 133 | - {x: -0.8704549, y: 0.7016989} 134 | - {x: 0.88456815, y: 0.6832217} 135 | - {x: 0.40020365, y: 1.2122059} 136 | --- !u!61 &61942115616651150 137 | BoxCollider2D: 138 | m_ObjectHideFlags: 1 139 | m_PrefabParentObject: {fileID: 0} 140 | m_PrefabInternal: {fileID: 100100000} 141 | m_GameObject: {fileID: 1792399577949842} 142 | m_Enabled: 1 143 | m_Density: 1 144 | m_Material: {fileID: 0} 145 | m_IsTrigger: 1 146 | m_UsedByEffector: 0 147 | m_UsedByComposite: 0 148 | m_Offset: {x: 0.8208638, y: -0.1963698} 149 | m_SpriteTilingProperty: 150 | border: {x: 0, y: 0, z: 0, w: 0} 151 | pivot: {x: 0, y: 0} 152 | oldSize: {x: 0, y: 0} 153 | newSize: {x: 0, y: 0} 154 | adaptiveTilingThreshold: 0 155 | drawMode: 0 156 | adaptiveTiling: 0 157 | m_AutoTiling: 0 158 | serializedVersion: 2 159 | m_Size: {x: 0.6485754, y: 0.45998365} 160 | m_EdgeRadius: 0 161 | --- !u!114 &114454121619508224 162 | MonoBehaviour: 163 | m_ObjectHideFlags: 1 164 | m_PrefabParentObject: {fileID: 0} 165 | m_PrefabInternal: {fileID: 100100000} 166 | m_GameObject: {fileID: 1460471797613866} 167 | m_Enabled: 1 168 | m_EditorHideFlags: 0 169 | m_Script: {fileID: 11500000, guid: b580319b67b424533a8b4ffe5da921a9, type: 3} 170 | m_Name: 171 | m_EditorClassIdentifier: 172 | hasRoof: 1 173 | isPlatform: 0 174 | --- !u!114 &114472770167294436 175 | MonoBehaviour: 176 | m_ObjectHideFlags: 1 177 | m_PrefabParentObject: {fileID: 0} 178 | m_PrefabInternal: {fileID: 100100000} 179 | m_GameObject: {fileID: 1460471797613866} 180 | m_Enabled: 1 181 | m_EditorHideFlags: 0 182 | m_Script: {fileID: 11500000, guid: d0c0785f5351040388fea21e2567c230, type: 3} 183 | m_Name: 184 | m_EditorClassIdentifier: 185 | groundOffset: 0 186 | height: 2.93 187 | --- !u!114 &114546627801098432 188 | MonoBehaviour: 189 | m_ObjectHideFlags: 1 190 | m_PrefabParentObject: {fileID: 0} 191 | m_PrefabInternal: {fileID: 100100000} 192 | m_GameObject: {fileID: 1792399577949842} 193 | m_Enabled: 1 194 | m_EditorHideFlags: 0 195 | m_Script: {fileID: 11500000, guid: 977c4359e461a4b1f86a3f04612028e3, type: 3} 196 | m_Name: 197 | m_EditorClassIdentifier: 198 | --- !u!212 &212565583458713502 199 | SpriteRenderer: 200 | m_ObjectHideFlags: 1 201 | m_PrefabParentObject: {fileID: 0} 202 | m_PrefabInternal: {fileID: 100100000} 203 | m_GameObject: {fileID: 1812275858762514} 204 | m_Enabled: 1 205 | m_CastShadows: 0 206 | m_ReceiveShadows: 0 207 | m_DynamicOccludee: 1 208 | m_MotionVectors: 1 209 | m_LightProbeUsage: 1 210 | m_ReflectionProbeUsage: 1 211 | m_Materials: 212 | - {fileID: 10758, guid: 0000000000000000f000000000000000, type: 0} 213 | m_StaticBatchInfo: 214 | firstSubMesh: 0 215 | subMeshCount: 0 216 | m_StaticBatchRoot: {fileID: 0} 217 | m_ProbeAnchor: {fileID: 0} 218 | m_LightProbeVolumeOverride: {fileID: 0} 219 | m_ScaleInLightmap: 1 220 | m_PreserveUVs: 0 221 | m_IgnoreNormalsForChartDetection: 0 222 | m_ImportantGI: 0 223 | m_StitchLightmapSeams: 0 224 | m_SelectedEditorRenderState: 0 225 | m_MinimumChartSize: 4 226 | m_AutoUVMaxDistance: 0.5 227 | m_AutoUVMaxAngle: 89 228 | m_LightmapParameters: {fileID: 0} 229 | m_SortingLayerID: 0 230 | m_SortingLayer: 0 231 | m_SortingOrder: 1 232 | m_Sprite: {fileID: 21300000, guid: c75ce0041bc95459ea9155eb30864fda, type: 3} 233 | m_Color: {r: 1, g: 1, b: 1, a: 1} 234 | m_FlipX: 0 235 | m_FlipY: 0 236 | m_DrawMode: 0 237 | m_Size: {x: 2.29, y: 0.53} 238 | m_AdaptiveModeThreshold: 0.5 239 | m_SpriteTileMode: 0 240 | m_WasSpriteAssigned: 1 241 | m_MaskInteraction: 0 242 | --- !u!212 &212597597658530686 243 | SpriteRenderer: 244 | m_ObjectHideFlags: 1 245 | m_PrefabParentObject: {fileID: 0} 246 | m_PrefabInternal: {fileID: 100100000} 247 | m_GameObject: {fileID: 1460471797613866} 248 | m_Enabled: 1 249 | m_CastShadows: 0 250 | m_ReceiveShadows: 0 251 | m_DynamicOccludee: 1 252 | m_MotionVectors: 1 253 | m_LightProbeUsage: 1 254 | m_ReflectionProbeUsage: 1 255 | m_Materials: 256 | - {fileID: 2100000, guid: 934274f8f9c144ab3918c7937b794d36, type: 2} 257 | m_StaticBatchInfo: 258 | firstSubMesh: 0 259 | subMeshCount: 0 260 | m_StaticBatchRoot: {fileID: 0} 261 | m_ProbeAnchor: {fileID: 0} 262 | m_LightProbeVolumeOverride: {fileID: 0} 263 | m_ScaleInLightmap: 1 264 | m_PreserveUVs: 0 265 | m_IgnoreNormalsForChartDetection: 0 266 | m_ImportantGI: 0 267 | m_StitchLightmapSeams: 0 268 | m_SelectedEditorRenderState: 0 269 | m_MinimumChartSize: 4 270 | m_AutoUVMaxDistance: 0.5 271 | m_AutoUVMaxAngle: 89 272 | m_LightmapParameters: {fileID: 0} 273 | m_SortingLayerID: 0 274 | m_SortingLayer: 0 275 | m_SortingOrder: 0 276 | m_Sprite: {fileID: 21300000, guid: 8392499d143ec4fa0b6f125de03284a9, type: 3} 277 | m_Color: {r: 1, g: 1, b: 1, a: 1} 278 | m_FlipX: 0 279 | m_FlipY: 0 280 | m_DrawMode: 0 281 | m_Size: {x: 2.32, y: 3.49} 282 | m_AdaptiveModeThreshold: 0.5 283 | m_SpriteTileMode: 0 284 | m_WasSpriteAssigned: 1 285 | m_MaskInteraction: 0 286 | --- !u!331 &331782942700054782 287 | SpriteMask: 288 | m_ObjectHideFlags: 1 289 | m_PrefabParentObject: {fileID: 0} 290 | m_PrefabInternal: {fileID: 100100000} 291 | m_GameObject: {fileID: 1812275858762514} 292 | m_Enabled: 1 293 | m_CastShadows: 1 294 | m_ReceiveShadows: 1 295 | m_DynamicOccludee: 1 296 | m_MotionVectors: 1 297 | m_LightProbeUsage: 1 298 | m_ReflectionProbeUsage: 1 299 | m_Materials: 300 | - {fileID: 10758, guid: 0000000000000000f000000000000000, type: 0} 301 | m_StaticBatchInfo: 302 | firstSubMesh: 0 303 | subMeshCount: 0 304 | m_StaticBatchRoot: {fileID: 0} 305 | m_ProbeAnchor: {fileID: 0} 306 | m_LightProbeVolumeOverride: {fileID: 0} 307 | m_ScaleInLightmap: 1 308 | m_PreserveUVs: 0 309 | m_IgnoreNormalsForChartDetection: 0 310 | m_ImportantGI: 0 311 | m_StitchLightmapSeams: 0 312 | m_SelectedEditorRenderState: 3 313 | m_MinimumChartSize: 4 314 | m_AutoUVMaxDistance: 0.5 315 | m_AutoUVMaxAngle: 89 316 | m_LightmapParameters: {fileID: 0} 317 | m_SortingLayerID: 0 318 | m_SortingLayer: 0 319 | m_SortingOrder: 0 320 | m_Sprite: {fileID: 21300000, guid: c75ce0041bc95459ea9155eb30864fda, type: 3} 321 | m_MaskAlphaCutoff: 0.2 322 | m_FrontSortingLayerID: 0 323 | m_BackSortingLayerID: 0 324 | m_FrontSortingLayer: 0 325 | m_BackSortingLayer: 0 326 | m_FrontSortingOrder: 0 327 | m_BackSortingOrder: 0 328 | m_IsCustomRangeActive: 0 329 | -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/Prefabs/Player.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1001 &100100000 4 | Prefab: 5 | m_ObjectHideFlags: 1 6 | serializedVersion: 2 7 | m_Modification: 8 | m_TransformParent: {fileID: 0} 9 | m_Modifications: [] 10 | m_RemovedComponents: [] 11 | m_ParentPrefab: {fileID: 0} 12 | m_RootGameObject: {fileID: 1994862173395690} 13 | m_IsPrefabParent: 1 14 | --- !u!1 &1059496636333258 15 | GameObject: 16 | m_ObjectHideFlags: 1 17 | m_PrefabParentObject: {fileID: 0} 18 | m_PrefabInternal: {fileID: 100100000} 19 | serializedVersion: 5 20 | m_Component: 21 | - component: {fileID: 4803963953150272} 22 | - component: {fileID: 212779716415028494} 23 | - component: {fileID: 95282629723722796} 24 | m_Layer: 13 25 | m_Name: PlayerStart 26 | m_TagString: Player 27 | m_Icon: {fileID: 0} 28 | m_NavMeshLayer: 0 29 | m_StaticEditorFlags: 0 30 | m_IsActive: 1 31 | --- !u!1 &1409276963859092 32 | GameObject: 33 | m_ObjectHideFlags: 0 34 | m_PrefabParentObject: {fileID: 0} 35 | m_PrefabInternal: {fileID: 100100000} 36 | serializedVersion: 5 37 | m_Component: 38 | - component: {fileID: 4563465236298422} 39 | - component: {fileID: 212342524192979298} 40 | m_Layer: 0 41 | m_Name: Shadow Fix 42 | m_TagString: Untagged 43 | m_Icon: {fileID: 0} 44 | m_NavMeshLayer: 0 45 | m_StaticEditorFlags: 0 46 | m_IsActive: 0 47 | --- !u!1 &1418991302863114 48 | GameObject: 49 | m_ObjectHideFlags: 0 50 | m_PrefabParentObject: {fileID: 0} 51 | m_PrefabInternal: {fileID: 100100000} 52 | serializedVersion: 5 53 | m_Component: 54 | - component: {fileID: 4539223230872016} 55 | m_Layer: 0 56 | m_Name: GFX 57 | m_TagString: Untagged 58 | m_Icon: {fileID: 0} 59 | m_NavMeshLayer: 0 60 | m_StaticEditorFlags: 0 61 | m_IsActive: 1 62 | --- !u!1 &1750526705564496 63 | GameObject: 64 | m_ObjectHideFlags: 1 65 | m_PrefabParentObject: {fileID: 0} 66 | m_PrefabInternal: {fileID: 100100000} 67 | serializedVersion: 5 68 | m_Component: 69 | - component: {fileID: 4759733800391364} 70 | m_Layer: 0 71 | m_Name: HeadPoint 72 | m_TagString: Untagged 73 | m_Icon: {fileID: 0} 74 | m_NavMeshLayer: 0 75 | m_StaticEditorFlags: 0 76 | m_IsActive: 1 77 | --- !u!1 &1960680474662942 78 | GameObject: 79 | m_ObjectHideFlags: 0 80 | m_PrefabParentObject: {fileID: 0} 81 | m_PrefabInternal: {fileID: 100100000} 82 | serializedVersion: 5 83 | m_Component: 84 | - component: {fileID: 4453742213633074} 85 | - component: {fileID: 212264372573828722} 86 | m_Layer: 0 87 | m_Name: Shadow 88 | m_TagString: Untagged 89 | m_Icon: {fileID: 0} 90 | m_NavMeshLayer: 0 91 | m_StaticEditorFlags: 0 92 | m_IsActive: 1 93 | --- !u!1 &1994862173395690 94 | GameObject: 95 | m_ObjectHideFlags: 0 96 | m_PrefabParentObject: {fileID: 0} 97 | m_PrefabInternal: {fileID: 100100000} 98 | serializedVersion: 5 99 | m_Component: 100 | - component: {fileID: 4245175704394982} 101 | - component: {fileID: 114598286488125252} 102 | - component: {fileID: 114802713360740362} 103 | - component: {fileID: 50767006543430618} 104 | - component: {fileID: 70369113468668262} 105 | m_Layer: 0 106 | m_Name: Player 107 | m_TagString: Player 108 | m_Icon: {fileID: 0} 109 | m_NavMeshLayer: 0 110 | m_StaticEditorFlags: 0 111 | m_IsActive: 1 112 | --- !u!4 &4245175704394982 113 | Transform: 114 | m_ObjectHideFlags: 1 115 | m_PrefabParentObject: {fileID: 0} 116 | m_PrefabInternal: {fileID: 100100000} 117 | m_GameObject: {fileID: 1994862173395690} 118 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 119 | m_LocalPosition: {x: -2.7732244, y: 0.8866484, z: 0.8866484} 120 | m_LocalScale: {x: 1, y: 1, z: 1} 121 | m_Children: 122 | - {fileID: 4539223230872016} 123 | - {fileID: 4453742213633074} 124 | - {fileID: 4563465236298422} 125 | m_Father: {fileID: 0} 126 | m_RootOrder: 0 127 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 128 | --- !u!4 &4453742213633074 129 | Transform: 130 | m_ObjectHideFlags: 1 131 | m_PrefabParentObject: {fileID: 0} 132 | m_PrefabInternal: {fileID: 100100000} 133 | m_GameObject: {fileID: 1960680474662942} 134 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 135 | m_LocalPosition: {x: 0, y: 0, z: 0} 136 | m_LocalScale: {x: 1, y: 1, z: 1} 137 | m_Children: [] 138 | m_Father: {fileID: 4245175704394982} 139 | m_RootOrder: 1 140 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 141 | --- !u!4 &4539223230872016 142 | Transform: 143 | m_ObjectHideFlags: 1 144 | m_PrefabParentObject: {fileID: 0} 145 | m_PrefabInternal: {fileID: 100100000} 146 | m_GameObject: {fileID: 1418991302863114} 147 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 148 | m_LocalPosition: {x: 0, y: 0, z: 0} 149 | m_LocalScale: {x: 1, y: 1, z: 1} 150 | m_Children: 151 | - {fileID: 4759733800391364} 152 | - {fileID: 4803963953150272} 153 | m_Father: {fileID: 4245175704394982} 154 | m_RootOrder: 0 155 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 156 | --- !u!4 &4563465236298422 157 | Transform: 158 | m_ObjectHideFlags: 1 159 | m_PrefabParentObject: {fileID: 0} 160 | m_PrefabInternal: {fileID: 100100000} 161 | m_GameObject: {fileID: 1409276963859092} 162 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 163 | m_LocalPosition: {x: 0, y: 0, z: 0} 164 | m_LocalScale: {x: 1, y: 1, z: 1} 165 | m_Children: [] 166 | m_Father: {fileID: 4245175704394982} 167 | m_RootOrder: 2 168 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 169 | --- !u!4 &4759733800391364 170 | Transform: 171 | m_ObjectHideFlags: 1 172 | m_PrefabParentObject: {fileID: 0} 173 | m_PrefabInternal: {fileID: 100100000} 174 | m_GameObject: {fileID: 1750526705564496} 175 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 176 | m_LocalPosition: {x: -0.068, y: 1.107, z: 0} 177 | m_LocalScale: {x: 1, y: 1, z: 1} 178 | m_Children: [] 179 | m_Father: {fileID: 4539223230872016} 180 | m_RootOrder: 0 181 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 182 | --- !u!4 &4803963953150272 183 | Transform: 184 | m_ObjectHideFlags: 1 185 | m_PrefabParentObject: {fileID: 0} 186 | m_PrefabInternal: {fileID: 100100000} 187 | m_GameObject: {fileID: 1059496636333258} 188 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 189 | m_LocalPosition: {x: -0.03, y: 0, z: 0} 190 | m_LocalScale: {x: 1.4, y: 1.4, z: 1} 191 | m_Children: [] 192 | m_Father: {fileID: 4539223230872016} 193 | m_RootOrder: 1 194 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 195 | --- !u!50 &50767006543430618 196 | Rigidbody2D: 197 | serializedVersion: 4 198 | m_ObjectHideFlags: 1 199 | m_PrefabParentObject: {fileID: 0} 200 | m_PrefabInternal: {fileID: 100100000} 201 | m_GameObject: {fileID: 1994862173395690} 202 | m_BodyType: 1 203 | m_Simulated: 1 204 | m_UseFullKinematicContacts: 0 205 | m_UseAutoMass: 0 206 | m_Mass: 1 207 | m_LinearDrag: 0 208 | m_AngularDrag: 0.05 209 | m_GravityScale: 1 210 | m_Material: {fileID: 0} 211 | m_Interpolate: 0 212 | m_SleepingMode: 1 213 | m_CollisionDetection: 1 214 | m_Constraints: 4 215 | --- !u!70 &70369113468668262 216 | CapsuleCollider2D: 217 | m_ObjectHideFlags: 1 218 | m_PrefabParentObject: {fileID: 0} 219 | m_PrefabInternal: {fileID: 100100000} 220 | m_GameObject: {fileID: 1994862173395690} 221 | m_Enabled: 1 222 | m_Density: 1 223 | m_Material: {fileID: 0} 224 | m_IsTrigger: 0 225 | m_UsedByEffector: 0 226 | m_UsedByComposite: 0 227 | m_Offset: {x: 0.0030827096, y: 0.015323464} 228 | m_Size: {x: 0.24582401, y: 0.058607634} 229 | m_Direction: 1 230 | --- !u!95 &95282629723722796 231 | Animator: 232 | serializedVersion: 3 233 | m_ObjectHideFlags: 1 234 | m_PrefabParentObject: {fileID: 0} 235 | m_PrefabInternal: {fileID: 100100000} 236 | m_GameObject: {fileID: 1059496636333258} 237 | m_Enabled: 1 238 | m_Avatar: {fileID: 0} 239 | m_Controller: {fileID: 9100000, guid: b09e60546065cf9448b36ebb7f759a91, type: 2} 240 | m_CullingMode: 0 241 | m_UpdateMode: 0 242 | m_ApplyRootMotion: 0 243 | m_LinearVelocityBlending: 0 244 | m_WarningMessage: 245 | m_HasTransformHierarchy: 1 246 | m_AllowConstantClipSamplingOptimization: 1 247 | --- !u!114 &114598286488125252 248 | MonoBehaviour: 249 | m_ObjectHideFlags: 1 250 | m_PrefabParentObject: {fileID: 0} 251 | m_PrefabInternal: {fileID: 100100000} 252 | m_GameObject: {fileID: 1994862173395690} 253 | m_Enabled: 1 254 | m_EditorHideFlags: 0 255 | m_Script: {fileID: 11500000, guid: 23df650133e7544be8c8d1b3b6fb2f38, type: 3} 256 | m_Name: 257 | m_EditorClassIdentifier: 258 | brainType: 0 259 | faceDirection: 1 260 | team: 0 261 | GFXTransform: {fileID: 4539223230872016} 262 | ShadowTransform: {fileID: 4453742213633074} 263 | shadowFix: {fileID: 1409276963859092} 264 | obstacleLayerMask: 265 | serializedVersion: 2 266 | m_Bits: 256 267 | onGround: 1 268 | onRoof: 0 269 | onPlatform: 0 270 | roofHeight: 0 271 | speed: 5 272 | speedModifierY: 0.65 273 | currentSpeed: 5 274 | maxJumpHeight: 2.3 275 | minJumpHeight: 1 276 | timeToJumpApex: 0.4 277 | skinWidth: 0.015 278 | zHeight: 0 279 | directionalInput: {x: 0, y: 0} 280 | velocity: {x: 0, y: 0, z: 0} 281 | slopeControl: 1 282 | slopeTagName: LevelBounds 283 | slopeRayLength: 10 284 | slopeAngle: 0 285 | headPoint: {fileID: 4759733800391364} 286 | underPlatform: 0 287 | --- !u!114 &114802713360740362 288 | MonoBehaviour: 289 | m_ObjectHideFlags: 1 290 | m_PrefabParentObject: {fileID: 0} 291 | m_PrefabInternal: {fileID: 100100000} 292 | m_GameObject: {fileID: 1994862173395690} 293 | m_Enabled: 1 294 | m_EditorHideFlags: 0 295 | m_Script: {fileID: 11500000, guid: c26518335bfb540598f9a1013b9fe250, type: 3} 296 | m_Name: 297 | m_EditorClassIdentifier: 298 | depthOverride: 0 299 | --- !u!212 &212264372573828722 300 | SpriteRenderer: 301 | m_ObjectHideFlags: 1 302 | m_PrefabParentObject: {fileID: 0} 303 | m_PrefabInternal: {fileID: 100100000} 304 | m_GameObject: {fileID: 1960680474662942} 305 | m_Enabled: 1 306 | m_CastShadows: 0 307 | m_ReceiveShadows: 0 308 | m_DynamicOccludee: 1 309 | m_MotionVectors: 1 310 | m_LightProbeUsage: 1 311 | m_ReflectionProbeUsage: 1 312 | m_Materials: 313 | - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} 314 | m_StaticBatchInfo: 315 | firstSubMesh: 0 316 | subMeshCount: 0 317 | m_StaticBatchRoot: {fileID: 0} 318 | m_ProbeAnchor: {fileID: 0} 319 | m_LightProbeVolumeOverride: {fileID: 0} 320 | m_ScaleInLightmap: 1 321 | m_PreserveUVs: 0 322 | m_IgnoreNormalsForChartDetection: 0 323 | m_ImportantGI: 0 324 | m_StitchLightmapSeams: 0 325 | m_SelectedEditorRenderState: 0 326 | m_MinimumChartSize: 4 327 | m_AutoUVMaxDistance: 0.5 328 | m_AutoUVMaxAngle: 89 329 | m_LightmapParameters: {fileID: 0} 330 | m_SortingLayerID: 0 331 | m_SortingLayer: 0 332 | m_SortingOrder: -1 333 | m_Sprite: {fileID: 21300000, guid: 7b3b37edd1cc147d997449cc99a8d0b6, type: 3} 334 | m_Color: {r: 1, g: 1, b: 1, a: 0.959} 335 | m_FlipX: 0 336 | m_FlipY: 0 337 | m_DrawMode: 0 338 | m_Size: {x: 0.64, y: 0.19} 339 | m_AdaptiveModeThreshold: 0.5 340 | m_SpriteTileMode: 0 341 | m_WasSpriteAssigned: 1 342 | m_MaskInteraction: 0 343 | --- !u!212 &212342524192979298 344 | SpriteRenderer: 345 | m_ObjectHideFlags: 1 346 | m_PrefabParentObject: {fileID: 0} 347 | m_PrefabInternal: {fileID: 100100000} 348 | m_GameObject: {fileID: 1409276963859092} 349 | m_Enabled: 1 350 | m_CastShadows: 0 351 | m_ReceiveShadows: 0 352 | m_DynamicOccludee: 1 353 | m_MotionVectors: 1 354 | m_LightProbeUsage: 1 355 | m_ReflectionProbeUsage: 1 356 | m_Materials: 357 | - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} 358 | m_StaticBatchInfo: 359 | firstSubMesh: 0 360 | subMeshCount: 0 361 | m_StaticBatchRoot: {fileID: 0} 362 | m_ProbeAnchor: {fileID: 0} 363 | m_LightProbeVolumeOverride: {fileID: 0} 364 | m_ScaleInLightmap: 1 365 | m_PreserveUVs: 0 366 | m_IgnoreNormalsForChartDetection: 0 367 | m_ImportantGI: 0 368 | m_StitchLightmapSeams: 0 369 | m_SelectedEditorRenderState: 0 370 | m_MinimumChartSize: 4 371 | m_AutoUVMaxDistance: 0.5 372 | m_AutoUVMaxAngle: 89 373 | m_LightmapParameters: {fileID: 0} 374 | m_SortingLayerID: 0 375 | m_SortingLayer: 0 376 | m_SortingOrder: -1 377 | m_Sprite: {fileID: 21300000, guid: 7b3b37edd1cc147d997449cc99a8d0b6, type: 3} 378 | m_Color: {r: 1, g: 1, b: 1, a: 1} 379 | m_FlipX: 0 380 | m_FlipY: 0 381 | m_DrawMode: 0 382 | m_Size: {x: 0.64, y: 0.19} 383 | m_AdaptiveModeThreshold: 0.5 384 | m_SpriteTileMode: 0 385 | m_WasSpriteAssigned: 1 386 | m_MaskInteraction: 0 387 | --- !u!212 &212779716415028494 388 | SpriteRenderer: 389 | m_ObjectHideFlags: 1 390 | m_PrefabParentObject: {fileID: 0} 391 | m_PrefabInternal: {fileID: 100100000} 392 | m_GameObject: {fileID: 1059496636333258} 393 | m_Enabled: 1 394 | m_CastShadows: 0 395 | m_ReceiveShadows: 0 396 | m_DynamicOccludee: 1 397 | m_MotionVectors: 1 398 | m_LightProbeUsage: 0 399 | m_ReflectionProbeUsage: 0 400 | m_Materials: 401 | - {fileID: 2100000, guid: 2629f671c7aad4a3c89b3d935e8f42cf, type: 2} 402 | m_StaticBatchInfo: 403 | firstSubMesh: 0 404 | subMeshCount: 0 405 | m_StaticBatchRoot: {fileID: 0} 406 | m_ProbeAnchor: {fileID: 0} 407 | m_LightProbeVolumeOverride: {fileID: 0} 408 | m_ScaleInLightmap: 1 409 | m_PreserveUVs: 0 410 | m_IgnoreNormalsForChartDetection: 0 411 | m_ImportantGI: 0 412 | m_StitchLightmapSeams: 0 413 | m_SelectedEditorRenderState: 0 414 | m_MinimumChartSize: 4 415 | m_AutoUVMaxDistance: 0.5 416 | m_AutoUVMaxAngle: 89 417 | m_LightmapParameters: {fileID: 0} 418 | m_SortingLayerID: 0 419 | m_SortingLayer: 0 420 | m_SortingOrder: 0 421 | m_Sprite: {fileID: 21300000, guid: 0540eeb6c369e1e499fc90e6880e6bce, type: 3} 422 | m_Color: {r: 1, g: 1, b: 1, a: 1} 423 | m_FlipX: 0 424 | m_FlipY: 0 425 | m_DrawMode: 0 426 | m_Size: {x: 1, y: 1} 427 | m_AdaptiveModeThreshold: 0.5 428 | m_SpriteTileMode: 0 429 | m_WasSpriteAssigned: 1 430 | m_MaskInteraction: 0 431 | -------------------------------------------------------------------------------- /Assets/Kit25D/Demo/Prefabs/PlatformTest.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1001 &100100000 4 | Prefab: 5 | m_ObjectHideFlags: 1 6 | serializedVersion: 2 7 | m_Modification: 8 | m_TransformParent: {fileID: 0} 9 | m_Modifications: [] 10 | m_RemovedComponents: [] 11 | m_ParentPrefab: {fileID: 0} 12 | m_RootGameObject: {fileID: 1649852699014982} 13 | m_IsPrefabParent: 1 14 | --- !u!1 &1401518578768652 15 | GameObject: 16 | m_ObjectHideFlags: 0 17 | m_PrefabParentObject: {fileID: 0} 18 | m_PrefabInternal: {fileID: 100100000} 19 | serializedVersion: 5 20 | m_Component: 21 | - component: {fileID: 4472279987396858} 22 | - component: {fileID: 212216610220372266} 23 | - component: {fileID: 114524439961067382} 24 | m_Layer: 0 25 | m_Name: Shadow 26 | m_TagString: Untagged 27 | m_Icon: {fileID: 0} 28 | m_NavMeshLayer: 0 29 | m_StaticEditorFlags: 0 30 | m_IsActive: 1 31 | --- !u!1 &1442251303156438 32 | GameObject: 33 | m_ObjectHideFlags: 0 34 | m_PrefabParentObject: {fileID: 0} 35 | m_PrefabInternal: {fileID: 100100000} 36 | serializedVersion: 5 37 | m_Component: 38 | - component: {fileID: 4474622860826384} 39 | - component: {fileID: 68292366647489672} 40 | m_Layer: 8 41 | m_Name: BelowJumpBlocker 42 | m_TagString: JumpBlocker 43 | m_Icon: {fileID: 0} 44 | m_NavMeshLayer: 0 45 | m_StaticEditorFlags: 0 46 | m_IsActive: 1 47 | --- !u!1 &1638023569609570 48 | GameObject: 49 | m_ObjectHideFlags: 0 50 | m_PrefabParentObject: {fileID: 0} 51 | m_PrefabInternal: {fileID: 100100000} 52 | serializedVersion: 5 53 | m_Component: 54 | - component: {fileID: 4719907234093434} 55 | - component: {fileID: 212660932107368396} 56 | - component: {fileID: 331692740637664210} 57 | m_Layer: 0 58 | m_Name: Shadow Receiver 59 | m_TagString: Untagged 60 | m_Icon: {fileID: 0} 61 | m_NavMeshLayer: 0 62 | m_StaticEditorFlags: 0 63 | m_IsActive: 1 64 | --- !u!1 &1649852699014982 65 | GameObject: 66 | m_ObjectHideFlags: 0 67 | m_PrefabParentObject: {fileID: 0} 68 | m_PrefabInternal: {fileID: 100100000} 69 | serializedVersion: 5 70 | m_Component: 71 | - component: {fileID: 4893435403445752} 72 | m_Layer: 0 73 | m_Name: PlatformTest 74 | m_TagString: Untagged 75 | m_Icon: {fileID: 0} 76 | m_NavMeshLayer: 0 77 | m_StaticEditorFlags: 0 78 | m_IsActive: 1 79 | --- !u!1 &1691963531853200 80 | GameObject: 81 | m_ObjectHideFlags: 0 82 | m_PrefabParentObject: {fileID: 0} 83 | m_PrefabInternal: {fileID: 100100000} 84 | serializedVersion: 5 85 | m_Component: 86 | - component: {fileID: 4965854979516076} 87 | - component: {fileID: 212496474678082742} 88 | - component: {fileID: 114275173017023768} 89 | - component: {fileID: 114212533666639028} 90 | - component: {fileID: 60305432322431356} 91 | m_Layer: 8 92 | m_Name: GFX 93 | m_TagString: Untagged 94 | m_Icon: {fileID: 0} 95 | m_NavMeshLayer: 0 96 | m_StaticEditorFlags: 0 97 | m_IsActive: 1 98 | --- !u!4 &4472279987396858 99 | Transform: 100 | m_ObjectHideFlags: 1 101 | m_PrefabParentObject: {fileID: 0} 102 | m_PrefabInternal: {fileID: 100100000} 103 | m_GameObject: {fileID: 1401518578768652} 104 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 105 | m_LocalPosition: {x: 0, y: -0.36000013, z: -2.2490375} 106 | m_LocalScale: {x: 1, y: 1, z: 1} 107 | m_Children: [] 108 | m_Father: {fileID: 4893435403445752} 109 | m_RootOrder: 1 110 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 111 | --- !u!4 &4474622860826384 112 | Transform: 113 | m_ObjectHideFlags: 1 114 | m_PrefabParentObject: {fileID: 0} 115 | m_PrefabInternal: {fileID: 100100000} 116 | m_GameObject: {fileID: 1442251303156438} 117 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 118 | m_LocalPosition: {x: -0.07, y: 2.47, z: 0} 119 | m_LocalScale: {x: 1, y: 1, z: 1} 120 | m_Children: [] 121 | m_Father: {fileID: 4893435403445752} 122 | m_RootOrder: 3 123 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 124 | --- !u!4 &4719907234093434 125 | Transform: 126 | m_ObjectHideFlags: 1 127 | m_PrefabParentObject: {fileID: 0} 128 | m_PrefabInternal: {fileID: 100100000} 129 | m_GameObject: {fileID: 1638023569609570} 130 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 131 | m_LocalPosition: {x: 0, y: 2.88, z: 0} 132 | m_LocalScale: {x: 1, y: 1, z: 1} 133 | m_Children: [] 134 | m_Father: {fileID: 4893435403445752} 135 | m_RootOrder: 2 136 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 137 | --- !u!4 &4893435403445752 138 | Transform: 139 | m_ObjectHideFlags: 1 140 | m_PrefabParentObject: {fileID: 0} 141 | m_PrefabInternal: {fileID: 100100000} 142 | m_GameObject: {fileID: 1649852699014982} 143 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 144 | m_LocalPosition: {x: -7.66, y: -2.67, z: -0.7809627} 145 | m_LocalScale: {x: 1, y: 1, z: 1} 146 | m_Children: 147 | - {fileID: 4965854979516076} 148 | - {fileID: 4472279987396858} 149 | - {fileID: 4719907234093434} 150 | - {fileID: 4474622860826384} 151 | m_Father: {fileID: 0} 152 | m_RootOrder: 0 153 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 154 | --- !u!4 &4965854979516076 155 | Transform: 156 | m_ObjectHideFlags: 1 157 | m_PrefabParentObject: {fileID: 0} 158 | m_PrefabInternal: {fileID: 100100000} 159 | m_GameObject: {fileID: 1691963531853200} 160 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 161 | m_LocalPosition: {x: 0, y: 2.9, z: -1.3090372} 162 | m_LocalScale: {x: 1, y: 1, z: 1} 163 | m_Children: [] 164 | m_Father: {fileID: 4893435403445752} 165 | m_RootOrder: 0 166 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 167 | --- !u!60 &60305432322431356 168 | PolygonCollider2D: 169 | m_ObjectHideFlags: 1 170 | m_PrefabParentObject: {fileID: 0} 171 | m_PrefabInternal: {fileID: 100100000} 172 | m_GameObject: {fileID: 1691963531853200} 173 | m_Enabled: 1 174 | m_Density: 1 175 | m_Material: {fileID: 0} 176 | m_IsTrigger: 1 177 | m_UsedByEffector: 0 178 | m_UsedByComposite: 0 179 | m_Offset: {x: 0, y: -2.84} 180 | m_SpriteTilingProperty: 181 | border: {x: 0, y: 0, z: 0, w: 0} 182 | pivot: {x: 0.5012064, y: 0.3326477} 183 | oldSize: {x: 4.02, y: 1.42} 184 | newSize: {x: 4.02, y: 1.42} 185 | adaptiveTilingThreshold: 0.5 186 | drawMode: 0 187 | adaptiveTiling: 0 188 | m_AutoTiling: 0 189 | m_Points: 190 | m_Paths: 191 | - - {x: 1.3789544, y: -0.44900012} 192 | - {x: 1.7902226, y: -0.28999996} 193 | - {x: 1.8823118, y: -0.10791111} 194 | - {x: 2.0100002, y: 0.16955471} 195 | - {x: 1.8704462, y: 0.31022286} 196 | - {x: 1.359777, y: 0.47066808} 197 | - {x: 0.98813343, y: 0.50066805} 198 | - {x: -0.0074572563, y: 0.51462364} 199 | - {x: -1.542757, y: 0.42648983} 200 | - {x: -1.8715467, y: 0.3019433} 201 | - {x: -2.01, y: 0.19} 202 | - {x: -1.8233433, y: -0.16911912} 203 | - {x: -1.79, y: -0.32} 204 | - {x: -1.598134, y: -0.36022282} 205 | - {x: -1.430419, y: -0.44871998} 206 | - {x: -1.0896988, y: -0.48141742} 207 | - {x: -0.083955765, y: -0.4727571} 208 | - {x: 0.33702087, y: -0.44880152} 209 | - {x: 0.7900853, y: -0.5006678} 210 | --- !u!68 &68292366647489672 211 | EdgeCollider2D: 212 | m_ObjectHideFlags: 1 213 | m_PrefabParentObject: {fileID: 0} 214 | m_PrefabInternal: {fileID: 100100000} 215 | m_GameObject: {fileID: 1442251303156438} 216 | m_Enabled: 1 217 | m_Density: 1 218 | m_Material: {fileID: 0} 219 | m_IsTrigger: 0 220 | m_UsedByEffector: 0 221 | m_UsedByComposite: 0 222 | m_Offset: {x: 0, y: 0} 223 | m_EdgeRadius: 0 224 | m_Points: 225 | - {x: -1.909474, y: 0.80163836} 226 | - {x: -1.5840555, y: 0.23450828} 227 | - {x: -1.2115256, y: 0.0674572} 228 | - {x: -0.80111665, y: -0.010119438} 229 | - {x: 1.411291, y: -0.0039703846} 230 | - {x: 1.8593744, y: 0.32732368} 231 | - {x: 2.0592306, y: 0.9073491} 232 | --- !u!114 &114212533666639028 233 | MonoBehaviour: 234 | m_ObjectHideFlags: 1 235 | m_PrefabParentObject: {fileID: 0} 236 | m_PrefabInternal: {fileID: 100100000} 237 | m_GameObject: {fileID: 1691963531853200} 238 | m_Enabled: 1 239 | m_EditorHideFlags: 0 240 | m_Script: {fileID: 11500000, guid: b580319b67b424533a8b4ffe5da921a9, type: 3} 241 | m_Name: 242 | m_EditorClassIdentifier: 243 | hasRoof: 1 244 | isPlatform: 1 245 | --- !u!114 &114275173017023768 246 | MonoBehaviour: 247 | m_ObjectHideFlags: 1 248 | m_PrefabParentObject: {fileID: 0} 249 | m_PrefabInternal: {fileID: 100100000} 250 | m_GameObject: {fileID: 1691963531853200} 251 | m_Enabled: 1 252 | m_EditorHideFlags: 0 253 | m_Script: {fileID: 11500000, guid: d0c0785f5351040388fea21e2567c230, type: 3} 254 | m_Name: 255 | m_EditorClassIdentifier: 256 | groundOffset: -2.32 257 | height: 1.01 258 | --- !u!114 &114524439961067382 259 | MonoBehaviour: 260 | m_ObjectHideFlags: 1 261 | m_PrefabParentObject: {fileID: 0} 262 | m_PrefabInternal: {fileID: 100100000} 263 | m_GameObject: {fileID: 1401518578768652} 264 | m_Enabled: 1 265 | m_EditorHideFlags: 0 266 | m_Script: {fileID: 11500000, guid: d0c0785f5351040388fea21e2567c230, type: 3} 267 | m_Name: 268 | m_EditorClassIdentifier: 269 | groundOffset: 0 270 | height: 0 271 | --- !u!212 &212216610220372266 272 | SpriteRenderer: 273 | m_ObjectHideFlags: 1 274 | m_PrefabParentObject: {fileID: 0} 275 | m_PrefabInternal: {fileID: 100100000} 276 | m_GameObject: {fileID: 1401518578768652} 277 | m_Enabled: 1 278 | m_CastShadows: 0 279 | m_ReceiveShadows: 0 280 | m_DynamicOccludee: 1 281 | m_MotionVectors: 1 282 | m_LightProbeUsage: 1 283 | m_ReflectionProbeUsage: 1 284 | m_Materials: 285 | - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} 286 | m_StaticBatchInfo: 287 | firstSubMesh: 0 288 | subMeshCount: 0 289 | m_StaticBatchRoot: {fileID: 0} 290 | m_ProbeAnchor: {fileID: 0} 291 | m_LightProbeVolumeOverride: {fileID: 0} 292 | m_ScaleInLightmap: 1 293 | m_PreserveUVs: 0 294 | m_IgnoreNormalsForChartDetection: 0 295 | m_ImportantGI: 0 296 | m_StitchLightmapSeams: 0 297 | m_SelectedEditorRenderState: 0 298 | m_MinimumChartSize: 4 299 | m_AutoUVMaxDistance: 0.5 300 | m_AutoUVMaxAngle: 89 301 | m_LightmapParameters: {fileID: 0} 302 | m_SortingLayerID: 0 303 | m_SortingLayer: 0 304 | m_SortingOrder: -5 305 | m_Sprite: {fileID: 21300000, guid: 0f185fd2cfa7046b49cae94ca601e2b7, type: 3} 306 | m_Color: {r: 1, g: 1, b: 1, a: 1} 307 | m_FlipX: 0 308 | m_FlipY: 0 309 | m_DrawMode: 0 310 | m_Size: {x: 4.03, y: 1.17} 311 | m_AdaptiveModeThreshold: 0.5 312 | m_SpriteTileMode: 0 313 | m_WasSpriteAssigned: 1 314 | m_MaskInteraction: 0 315 | --- !u!212 &212496474678082742 316 | SpriteRenderer: 317 | m_ObjectHideFlags: 1 318 | m_PrefabParentObject: {fileID: 0} 319 | m_PrefabInternal: {fileID: 100100000} 320 | m_GameObject: {fileID: 1691963531853200} 321 | m_Enabled: 1 322 | m_CastShadows: 0 323 | m_ReceiveShadows: 0 324 | m_DynamicOccludee: 1 325 | m_MotionVectors: 1 326 | m_LightProbeUsage: 1 327 | m_ReflectionProbeUsage: 1 328 | m_Materials: 329 | - {fileID: 2100000, guid: 934274f8f9c144ab3918c7937b794d36, type: 2} 330 | m_StaticBatchInfo: 331 | firstSubMesh: 0 332 | subMeshCount: 0 333 | m_StaticBatchRoot: {fileID: 0} 334 | m_ProbeAnchor: {fileID: 0} 335 | m_LightProbeVolumeOverride: {fileID: 0} 336 | m_ScaleInLightmap: 1 337 | m_PreserveUVs: 0 338 | m_IgnoreNormalsForChartDetection: 0 339 | m_ImportantGI: 0 340 | m_StitchLightmapSeams: 0 341 | m_SelectedEditorRenderState: 0 342 | m_MinimumChartSize: 4 343 | m_AutoUVMaxDistance: 0.5 344 | m_AutoUVMaxAngle: 89 345 | m_LightmapParameters: {fileID: 0} 346 | m_SortingLayerID: 0 347 | m_SortingLayer: 0 348 | m_SortingOrder: 0 349 | m_Sprite: {fileID: 21300000, guid: f2cc9d7a38c784d01852782b649796a7, type: 3} 350 | m_Color: {r: 1, g: 1, b: 1, a: 1} 351 | m_FlipX: 0 352 | m_FlipY: 0 353 | m_DrawMode: 0 354 | m_Size: {x: 4.02, y: 1.42} 355 | m_AdaptiveModeThreshold: 0.5 356 | m_SpriteTileMode: 0 357 | m_WasSpriteAssigned: 1 358 | m_MaskInteraction: 0 359 | --- !u!212 &212660932107368396 360 | SpriteRenderer: 361 | m_ObjectHideFlags: 1 362 | m_PrefabParentObject: {fileID: 0} 363 | m_PrefabInternal: {fileID: 100100000} 364 | m_GameObject: {fileID: 1638023569609570} 365 | m_Enabled: 1 366 | m_CastShadows: 0 367 | m_ReceiveShadows: 0 368 | m_DynamicOccludee: 1 369 | m_MotionVectors: 1 370 | m_LightProbeUsage: 1 371 | m_ReflectionProbeUsage: 1 372 | m_Materials: 373 | - {fileID: 10758, guid: 0000000000000000f000000000000000, type: 0} 374 | m_StaticBatchInfo: 375 | firstSubMesh: 0 376 | subMeshCount: 0 377 | m_StaticBatchRoot: {fileID: 0} 378 | m_ProbeAnchor: {fileID: 0} 379 | m_LightProbeVolumeOverride: {fileID: 0} 380 | m_ScaleInLightmap: 1 381 | m_PreserveUVs: 0 382 | m_IgnoreNormalsForChartDetection: 0 383 | m_ImportantGI: 0 384 | m_StitchLightmapSeams: 0 385 | m_SelectedEditorRenderState: 0 386 | m_MinimumChartSize: 4 387 | m_AutoUVMaxDistance: 0.5 388 | m_AutoUVMaxAngle: 89 389 | m_LightmapParameters: {fileID: 0} 390 | m_SortingLayerID: 0 391 | m_SortingLayer: 0 392 | m_SortingOrder: 5 393 | m_Sprite: {fileID: 21300000, guid: 0f185fd2cfa7046b49cae94ca601e2b7, type: 3} 394 | m_Color: {r: 1, g: 1, b: 1, a: 1} 395 | m_FlipX: 0 396 | m_FlipY: 0 397 | m_DrawMode: 0 398 | m_Size: {x: 4.03, y: 1.17} 399 | m_AdaptiveModeThreshold: 0.5 400 | m_SpriteTileMode: 0 401 | m_WasSpriteAssigned: 1 402 | m_MaskInteraction: 0 403 | --- !u!331 &331692740637664210 404 | SpriteMask: 405 | m_ObjectHideFlags: 1 406 | m_PrefabParentObject: {fileID: 0} 407 | m_PrefabInternal: {fileID: 100100000} 408 | m_GameObject: {fileID: 1638023569609570} 409 | m_Enabled: 1 410 | m_CastShadows: 1 411 | m_ReceiveShadows: 1 412 | m_DynamicOccludee: 1 413 | m_MotionVectors: 1 414 | m_LightProbeUsage: 1 415 | m_ReflectionProbeUsage: 1 416 | m_Materials: 417 | - {fileID: 10758, guid: 0000000000000000f000000000000000, type: 0} 418 | m_StaticBatchInfo: 419 | firstSubMesh: 0 420 | subMeshCount: 0 421 | m_StaticBatchRoot: {fileID: 0} 422 | m_ProbeAnchor: {fileID: 0} 423 | m_LightProbeVolumeOverride: {fileID: 0} 424 | m_ScaleInLightmap: 1 425 | m_PreserveUVs: 0 426 | m_IgnoreNormalsForChartDetection: 0 427 | m_ImportantGI: 0 428 | m_StitchLightmapSeams: 0 429 | m_SelectedEditorRenderState: 3 430 | m_MinimumChartSize: 4 431 | m_AutoUVMaxDistance: 0.5 432 | m_AutoUVMaxAngle: 89 433 | m_LightmapParameters: {fileID: 0} 434 | m_SortingLayerID: 0 435 | m_SortingLayer: 0 436 | m_SortingOrder: 0 437 | m_Sprite: {fileID: 21300000, guid: 0f185fd2cfa7046b49cae94ca601e2b7, type: 3} 438 | m_MaskAlphaCutoff: 0.2 439 | m_FrontSortingLayerID: 0 440 | m_BackSortingLayerID: 0 441 | m_FrontSortingLayer: 0 442 | m_BackSortingLayer: 0 443 | m_FrontSortingOrder: 0 444 | m_BackSortingOrder: 0 445 | m_IsCustomRangeActive: 0 446 | --------------------------------------------------------------------------------