├── .gitignore ├── Assembly-CSharp-Editor.pidb ├── Assembly-CSharp-firstpass.pidb ├── Assembly-CSharp.pidb ├── Assembly-UnityScript-Editor.pidb ├── Assembly-UnityScript-firstpass.pidb ├── Assembly-UnityScript.pidb ├── Assets ├── Animations.meta ├── Animations │ ├── Idle.meta │ ├── Idle │ │ ├── DefaultAvatar@TurnOnSpot.fbx │ │ ├── DefaultAvatar@TurnOnSpot.fbx.meta │ │ ├── Materials.meta │ │ ├── Materials │ │ │ ├── EyesMaterial.mat │ │ │ ├── EyesMaterial.mat.meta │ │ │ ├── SkinMaterial.mat │ │ │ ├── SkinMaterial.mat.meta │ │ │ ├── SuitMaterial.mat │ │ │ ├── SuitMaterial.mat.meta │ │ │ ├── TeethMaterial.mat │ │ │ ├── TeethMaterial.mat.meta │ │ │ ├── TongueMaterial.mat │ │ │ └── TongueMaterial.mat.meta │ │ ├── Player@Idle.fbx │ │ └── Player@Idle.fbx.meta │ ├── Jumping.meta │ ├── Jumping │ │ ├── Materials.meta │ │ ├── Materials │ │ │ ├── Beta_Body_MAT.mat │ │ │ ├── Beta_Body_MAT.mat.meta │ │ │ ├── Beta_Joints_MAT.mat │ │ │ ├── Beta_Joints_MAT.mat.meta │ │ │ ├── Default_Material.mat │ │ │ ├── Default_Material.mat.meta │ │ │ ├── Eye.mat │ │ │ ├── Eye.mat.meta │ │ │ ├── Frames.mat │ │ │ ├── Frames.mat.meta │ │ │ ├── Lens.mat │ │ │ ├── Lens.mat.meta │ │ │ ├── NewVincent_Texture_1k2.mat │ │ │ └── NewVincent_Texture_1k2.mat.meta │ │ ├── Player@Locomotion@Idle_Jump.fbx │ │ ├── Player@Locomotion@Idle_Jump.fbx.meta │ │ ├── Player@Locomotion@Run_Jump.fbm.meta │ │ ├── Player@Locomotion@Run_Jump.fbm │ │ │ ├── Eye.jpg │ │ │ ├── Eye.jpg.meta │ │ │ ├── NewVincent_NM_2k.jpg │ │ │ ├── NewVincent_NM_2k.jpg.meta │ │ │ ├── NewVincent_Texture_1k2.tga │ │ │ └── NewVincent_Texture_1k2.tga.meta │ │ ├── Player@Locomotion@Run_Jump.fbx │ │ └── Player@Locomotion@Run_Jump.fbx.meta │ ├── Locomotion.meta │ └── Locomotion │ │ ├── Jogging.meta │ │ ├── Jogging │ │ ├── Player@Jog_Fwd.fbx │ │ ├── Player@Jog_Fwd.fbx.meta │ │ ├── Player@Jog_Fwd_Turn_Med-R.fbx │ │ ├── Player@Jog_Fwd_Turn_Med-R.fbx.meta │ │ ├── Player@Jog_Fwd_Turn_Short-R.fbx │ │ ├── Player@Jog_Fwd_Turn_Short-R.fbx.meta │ │ ├── Player@Jog_Fwd_Turn_Wide-R.fbx │ │ └── Player@Jog_Fwd_Turn_Wide-R.fbx.meta │ │ ├── Running.meta │ │ ├── Running │ │ ├── DefaultAvatar@PlantNTurn135.fbx │ │ ├── DefaultAvatar@PlantNTurn135.fbx.meta │ │ ├── DefaultAvatar@PlantNTurn180.fbx │ │ ├── DefaultAvatar@PlantNTurn180.fbx.meta │ │ ├── DefaultAvatar@PlantNTurn90.fbx │ │ ├── DefaultAvatar@PlantNTurn90.fbx.meta │ │ ├── DefaultAvatar@RunForwardTurnRight_NtrlMedium.fbx │ │ ├── DefaultAvatar@RunForwardTurnRight_NtrlMedium.fbx.meta │ │ ├── DefaultAvatar@RunForwardTurnRight_NtrlWide.fbx │ │ ├── DefaultAvatar@RunForwardTurnRight_NtrlWide.fbx.meta │ │ ├── DefaultAvatar@RunForward_NtrlFaceFwd.fbx │ │ ├── DefaultAvatar@RunForward_NtrlFaceFwd.fbx.meta │ │ ├── Player@Run_Fwd_Turn_Short-R.fbx │ │ └── Player@Run_Fwd_Turn_Short-R.fbx.meta │ │ ├── Sprinting.meta │ │ ├── Sprinting │ │ ├── Player@Sprint_Fwd.fbx │ │ ├── Player@Sprint_Fwd.fbx.meta │ │ ├── Player@Sprint_Fwd_Turn_Med-R.fbx │ │ ├── Player@Sprint_Fwd_Turn_Med-R.fbx.meta │ │ ├── Player@Sprint_Fwd_Turn_Short-R.fbx │ │ ├── Player@Sprint_Fwd_Turn_Short-R.fbx.meta │ │ ├── Player@Sprint_Fwd_Turn_Wide-R.fbx │ │ ├── Player@Sprint_Fwd_Turn_Wide-R.fbx.meta │ │ ├── Player@Sprint_Pivot_135-L.fbx │ │ ├── Player@Sprint_Pivot_135-L.fbx.meta │ │ ├── Player@Sprint_Pivot_180-L.fbx │ │ ├── Player@Sprint_Pivot_180-L.fbx.meta │ │ ├── Player@Sprint_Pivot_90-L.fbx │ │ └── Player@Sprint_Pivot_90-L.fbx.meta │ │ ├── Walking.meta │ │ └── Walking │ │ ├── DefaultAvatar@WalkForwardTurnRight_NtrlMedium.fbx │ │ ├── DefaultAvatar@WalkForwardTurnRight_NtrlMedium.fbx.meta │ │ ├── DefaultAvatar@WalkForwardTurnRight_NtrlShort.fbx │ │ ├── DefaultAvatar@WalkForwardTurnRight_NtrlShort.fbx.meta │ │ ├── DefaultAvatar@WalkForwardTurnRight_NtrlWide.fbx │ │ ├── DefaultAvatar@WalkForwardTurnRight_NtrlWide.fbx.meta │ │ ├── DefaultAvatar@WalkForward_NtrlFaceFwd.fbx │ │ └── DefaultAvatar@WalkForward_NtrlFaceFwd.fbx.meta ├── Characters.meta ├── Characters │ ├── Beta.meta │ └── Beta │ │ ├── Beta.fbx │ │ ├── Beta.fbx.meta │ │ ├── Character.physicMaterial │ │ ├── Character.physicMaterial.meta │ │ ├── Materials.meta │ │ └── Materials │ │ ├── Beta_Body_MAT.mat │ │ ├── Beta_Body_MAT.mat.meta │ │ ├── Beta_Joints_MAT.mat │ │ └── Beta_Joints_MAT.mat.meta ├── Controller.meta ├── Controller │ ├── CharacterController.controller │ └── CharacterController.controller.meta ├── Effects.meta ├── Effects │ ├── AntialiasingAsPostEffect.js │ ├── AntialiasingAsPostEffect.js.meta │ ├── BarsEffect.cs │ ├── BarsEffect.cs.meta │ ├── Bloom.js │ ├── Bloom.js.meta │ ├── BloomAndLensFlares.js │ ├── BloomAndLensFlares.js.meta │ ├── CameraInfo.js │ ├── CameraInfo.js.meta │ ├── Editor.meta │ ├── Editor │ │ ├── AntialiasingAsPostEffectEditor.js │ │ ├── AntialiasingAsPostEffectEditor.js.meta │ │ ├── BarsEffectEditor.cs │ │ ├── BarsEffectEditor.cs.meta │ │ ├── BloomAndLensFlaresEditor.js │ │ ├── BloomAndLensFlaresEditor.js.meta │ │ ├── BloomEditor.js │ │ └── BloomEditor.js.meta │ ├── ImageEffectBase.cs │ ├── ImageEffectBase.cs.meta │ ├── ImageEffects.cs │ ├── ImageEffects.cs.meta │ ├── PostEffectsBase.js │ ├── PostEffectsBase.js.meta │ ├── PostEffectsHelper.js │ ├── PostEffectsHelper.js.meta │ ├── SSAOEffect.cs │ ├── SSAOEffect.cs.meta │ ├── _Sources.meta │ └── _Sources │ │ ├── Shaders.meta │ │ ├── Shaders │ │ ├── BarsEffect.shader │ │ ├── BarsEffect.shader.meta │ │ ├── BlendModesOverlay.shader │ │ ├── BlendModesOverlay.shader.meta │ │ ├── ConvertDepth.shader │ │ ├── ConvertDepth.shader.meta │ │ ├── NoiseAndGrain.shader │ │ ├── NoiseAndGrain.shader.meta │ │ ├── NoiseAndGrainDX11.shader │ │ ├── NoiseAndGrainDX11.shader.meta │ │ ├── NoiseEffectShaderRGB.shader │ │ ├── NoiseEffectShaderRGB.shader.meta │ │ ├── NoiseEffectShaderYUV.shader │ │ ├── NoiseEffectShaderYUV.shader.meta │ │ ├── SSAOShader.shader │ │ ├── SSAOShader.shader.meta │ │ ├── ShowAlphaChannel.shader │ │ ├── ShowAlphaChannel.shader.meta │ │ ├── SimpleClear.shader │ │ ├── SimpleClear.shader.meta │ │ ├── _Antialiasing.meta │ │ ├── _Antialiasing │ │ │ ├── DLAA.shader │ │ │ ├── DLAA.shader.meta │ │ │ ├── FXAA2.shader │ │ │ ├── FXAA2.shader.meta │ │ │ ├── FXAA3Console.shader │ │ │ ├── FXAA3Console.shader.meta │ │ │ ├── FXAAPreset2.shader │ │ │ ├── FXAAPreset2.shader.meta │ │ │ ├── FXAAPreset3.shader │ │ │ ├── FXAAPreset3.shader.meta │ │ │ ├── NFAA.shader │ │ │ ├── NFAA.shader.meta │ │ │ ├── SSAA.shader │ │ │ └── SSAA.shader.meta │ │ ├── _BloomAndFlares.meta │ │ ├── _BloomAndFlares │ │ │ ├── Blend.shader │ │ │ ├── Blend.shader.meta │ │ │ ├── BlendForBloom.shader │ │ │ ├── BlendForBloom.shader.meta │ │ │ ├── BlendOneOne.shader │ │ │ ├── BlendOneOne.shader.meta │ │ │ ├── BlurAndFlares.shader │ │ │ ├── BlurAndFlares.shader.meta │ │ │ ├── BrightPassFilter.shader │ │ │ ├── BrightPassFilter.shader.meta │ │ │ ├── BrightPassFilter2.shader │ │ │ ├── BrightPassFilter2.shader.meta │ │ │ ├── LensFlareCreate.shader │ │ │ ├── LensFlareCreate.shader.meta │ │ │ ├── MultiPassHollywoodFlares.shader │ │ │ ├── MultiPassHollywoodFlares.shader.meta │ │ │ ├── SeparableBlurPlus.shader │ │ │ ├── SeparableBlurPlus.shader.meta │ │ │ ├── VignetteShader.shader │ │ │ └── VignetteShader.shader.meta │ │ ├── frag_ao.cginc │ │ └── frag_ao.cginc.meta │ │ ├── Textures.meta │ │ └── Textures │ │ ├── ContrastEnhanced3D16.png │ │ ├── ContrastEnhanced3D16.png.meta │ │ ├── MotionBlurJitter.png │ │ ├── MotionBlurJitter.png.meta │ │ ├── Neutral3D16.png │ │ ├── Neutral3D16.png.meta │ │ ├── Noise.png │ │ ├── Noise.png.meta │ │ ├── NoiseAndGrain.png │ │ ├── NoiseAndGrain.png.meta │ │ ├── NoiseEffectGrain.png │ │ ├── NoiseEffectGrain.png.meta │ │ ├── NoiseEffectScratch.png │ │ ├── NoiseEffectScratch.png.meta │ │ ├── RandomVectors.png │ │ ├── RandomVectors.png.meta │ │ ├── TargetBars.png │ │ ├── TargetBars.png.meta │ │ ├── Thumbs.db │ │ ├── Thumbs.db.meta │ │ ├── VignetteMask.png │ │ ├── VignetteMask.png.meta │ │ ├── color correction ramp.png │ │ ├── color correction ramp.png.meta │ │ ├── grayscale ramp.png │ │ ├── grayscale ramp.png.meta │ │ ├── hexShape.psd │ │ ├── hexShape.psd.meta │ │ ├── sphereShape.psd │ │ └── sphereShape.psd.meta ├── Environment.meta ├── Environment │ ├── Geometry.meta │ ├── Geometry │ │ ├── Forest of Fairies.obj │ │ ├── Forest of Fairies.obj.meta │ │ ├── Grass.mtl │ │ ├── Grass.mtl.meta │ │ ├── Grass.obj │ │ ├── Grass.obj.meta │ │ ├── InvertedCubeRoom.obj │ │ ├── InvertedCubeRoom.obj.meta │ │ ├── Materials.meta │ │ └── Materials │ │ │ ├── Grass.mat │ │ │ ├── Grass.mat.meta │ │ │ ├── MainMat.mat │ │ │ ├── MainMat.mat.meta │ │ │ ├── RoofMat.mat │ │ │ ├── RoofMat.mat.meta │ │ │ ├── n0b0Mat.mat │ │ │ ├── n0b0Mat.mat.meta │ │ │ ├── n1b2Mat.mat │ │ │ ├── n1b2Mat.mat.meta │ │ │ ├── n2b3Mat.mat │ │ │ ├── n2b3Mat.mat.meta │ │ │ ├── n3b1Mat.mat │ │ │ ├── n3b1Mat.mat.meta │ │ │ ├── n4b4Mat.mat │ │ │ ├── n4b4Mat.mat.meta │ │ │ ├── n5b5Mat.mat │ │ │ ├── n5b5Mat.mat.meta │ │ │ ├── n6b6Mat.mat │ │ │ ├── n6b6Mat.mat.meta │ │ │ ├── n7b7Mat.mat │ │ │ └── n7b7Mat.mat.meta │ ├── Textures.meta │ └── Textures │ │ ├── Grass.png │ │ ├── Grass.png.meta │ │ ├── RotationFloor.psd │ │ ├── RotationFloor.psd.meta │ │ ├── Thumbs.db │ │ ├── Thumbs.db.meta │ │ ├── grid_floor.tga │ │ ├── grid_floor.tga.meta │ │ ├── grid_wall.tga │ │ └── grid_wall.tga.meta ├── Prefabs.meta ├── Prefabs │ ├── Beta.prefab │ ├── Beta.prefab.meta │ ├── CameraRig.prefab │ └── CameraRig.prefab.meta ├── Scenes.meta ├── Scenes │ ├── FairyForest.unity │ ├── FairyForest.unity.meta │ ├── Locomotion.unity │ └── Locomotion.unity.meta ├── Scripts.meta ├── Scripts │ ├── CharacterControllerLogic.cs │ ├── CharacterControllerLogic.cs.meta │ ├── DebugDraw.cs │ ├── DebugDraw.cs.meta │ ├── SceneViewCameraFollower.cs │ ├── SceneViewCameraFollower.cs.meta │ ├── ThirdPersonCamera.cs │ ├── ThirdPersonCamera.cs.meta │ ├── ThirdPersonCameraEditor.cs │ └── ThirdPersonCameraEditor.cs.meta ├── Shaders.meta ├── Shaders │ ├── DiffuseWorldUV.shader │ └── DiffuseWorldUV.shader.meta ├── Sounds.meta └── Sounds │ ├── CameraExitMode.wav │ ├── CameraExitMode.wav.meta │ ├── CameraFree.wav │ ├── CameraFree.wav.meta │ ├── CameraTarget.wav │ └── CameraTarget.wav.meta ├── ProjectSettings ├── AudioManager.asset ├── ClusterInputManager.asset ├── DynamicsManager.asset ├── EditorBuildSettings.asset ├── EditorSettings.asset ├── GraphicsSettings.asset ├── InputManager.asset ├── NavMeshAreas.asset ├── NavMeshLayers.asset ├── NetworkManager.asset ├── Physics2DSettings.asset ├── ProjectSettings.asset ├── ProjectVersion.txt ├── QualitySettings.asset ├── TagManager.asset ├── TimeManager.asset ├── UnityAdsSettings.asset └── UnityConnectSettings.asset ├── README.md └── UnityThirdPersonTutorial.userprefs /.gitignore: -------------------------------------------------------------------------------- 1 | [Ll]ibrary/ 2 | [Tt]emp/ 3 | [Oo]bj/ 4 | 5 | # Autogenerated VS/MD solution and project files 6 | *.csproj 7 | *.unityproj 8 | *.sln 9 | -------------------------------------------------------------------------------- /Assembly-CSharp-Editor.pidb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assembly-CSharp-Editor.pidb -------------------------------------------------------------------------------- /Assembly-CSharp-firstpass.pidb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assembly-CSharp-firstpass.pidb -------------------------------------------------------------------------------- /Assembly-CSharp.pidb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assembly-CSharp.pidb -------------------------------------------------------------------------------- /Assembly-UnityScript-Editor.pidb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assembly-UnityScript-Editor.pidb -------------------------------------------------------------------------------- /Assembly-UnityScript-firstpass.pidb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assembly-UnityScript-firstpass.pidb -------------------------------------------------------------------------------- /Assembly-UnityScript.pidb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assembly-UnityScript.pidb -------------------------------------------------------------------------------- /Assets/Animations.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5fa660f85d390b949abbf98056290caa 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Animations/Idle.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2fc9d1e2049fac4498dc0580a3fe61bf 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Animations/Idle/DefaultAvatar@TurnOnSpot.fbx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assets/Animations/Idle/DefaultAvatar@TurnOnSpot.fbx -------------------------------------------------------------------------------- /Assets/Animations/Idle/Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c4e10276f9d8c7046ac1e6b05458bf81 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Animations/Idle/Materials/EyesMaterial.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 3 6 | m_ObjectHideFlags: 0 7 | m_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: EyesMaterial 10 | m_Shader: {fileID: 7, guid: 0000000000000000e000000000000000, type: 0} 11 | m_SavedProperties: 12 | serializedVersion: 2 13 | m_TexEnvs: 14 | data: 15 | first: 16 | name: _MainTex 17 | second: 18 | m_Texture: {fileID: 0} 19 | m_Scale: {x: 1, y: 1} 20 | m_Offset: {x: 0, y: 0} 21 | m_Floats: {} 22 | m_Colors: 23 | data: 24 | first: 25 | name: _Color 26 | second: {r: 1, g: 1, b: 1, a: 1} 27 | -------------------------------------------------------------------------------- /Assets/Animations/Idle/Materials/EyesMaterial.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f27d2ee805de7634f82bf589bbc5f64a 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Animations/Idle/Materials/SkinMaterial.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 3 6 | m_ObjectHideFlags: 0 7 | m_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: SkinMaterial 10 | m_Shader: {fileID: 7, guid: 0000000000000000e000000000000000, type: 0} 11 | m_SavedProperties: 12 | serializedVersion: 2 13 | m_TexEnvs: 14 | data: 15 | first: 16 | name: _MainTex 17 | second: 18 | m_Texture: {fileID: 0} 19 | m_Scale: {x: 1, y: 1} 20 | m_Offset: {x: 0, y: 0} 21 | m_Floats: {} 22 | m_Colors: 23 | data: 24 | first: 25 | name: _Color 26 | second: {r: 1, g: .793600023, b: .741999984, a: 1} 27 | -------------------------------------------------------------------------------- /Assets/Animations/Idle/Materials/SkinMaterial.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b78a4678deffc364695a5af6f2d0d1da 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Animations/Idle/Materials/SuitMaterial.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 3 6 | m_ObjectHideFlags: 0 7 | m_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: SuitMaterial 10 | m_Shader: {fileID: 7, guid: 0000000000000000e000000000000000, type: 0} 11 | m_SavedProperties: 12 | serializedVersion: 2 13 | m_TexEnvs: 14 | data: 15 | first: 16 | name: _MainTex 17 | second: 18 | m_Texture: {fileID: 0} 19 | m_Scale: {x: 1, y: 1} 20 | m_Offset: {x: 0, y: 0} 21 | m_Floats: {} 22 | m_Colors: 23 | data: 24 | first: 25 | name: _Color 26 | second: {r: .122000001, g: .122000001, b: .122000001, a: 1} 27 | -------------------------------------------------------------------------------- /Assets/Animations/Idle/Materials/SuitMaterial.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8e7775d86334eb84ba8f0931034545c3 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Animations/Idle/Materials/TeethMaterial.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 3 6 | m_ObjectHideFlags: 0 7 | m_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: TeethMaterial 10 | m_Shader: {fileID: 7, guid: 0000000000000000e000000000000000, type: 0} 11 | m_SavedProperties: 12 | serializedVersion: 2 13 | m_TexEnvs: 14 | data: 15 | first: 16 | name: _MainTex 17 | second: 18 | m_Texture: {fileID: 0} 19 | m_Scale: {x: 1, y: 1} 20 | m_Offset: {x: 0, y: 0} 21 | m_Floats: {} 22 | m_Colors: 23 | data: 24 | first: 25 | name: _Color 26 | second: {r: 1, g: 1, b: 1, a: 1} 27 | -------------------------------------------------------------------------------- /Assets/Animations/Idle/Materials/TeethMaterial.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 89e59fd58013572489019ee98a6b151d 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Animations/Idle/Materials/TongueMaterial.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 3 6 | m_ObjectHideFlags: 0 7 | m_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: TongueMaterial 10 | m_Shader: {fileID: 7, guid: 0000000000000000e000000000000000, type: 0} 11 | m_SavedProperties: 12 | serializedVersion: 2 13 | m_TexEnvs: 14 | data: 15 | first: 16 | name: _MainTex 17 | second: 18 | m_Texture: {fileID: 0} 19 | m_Scale: {x: 1, y: 1} 20 | m_Offset: {x: 0, y: 0} 21 | m_Floats: {} 22 | m_Colors: 23 | data: 24 | first: 25 | name: _Color 26 | second: {r: .5, g: .176999986, b: .176999986, a: 1} 27 | -------------------------------------------------------------------------------- /Assets/Animations/Idle/Materials/TongueMaterial.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: afb28e67c9ea5be44b509599e77e6120 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Animations/Idle/Player@Idle.fbx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assets/Animations/Idle/Player@Idle.fbx -------------------------------------------------------------------------------- /Assets/Animations/Jumping.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 78cfb17da1fd7bb44ace51e6f8b6a879 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Animations/Jumping/Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cc5a016cc596e3e4cb90d1fa3b87ab6b 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Animations/Jumping/Materials/Beta_Body_MAT.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 3 6 | m_ObjectHideFlags: 0 7 | m_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: Beta_Body_MAT 10 | m_Shader: {fileID: 7, guid: 0000000000000000e000000000000000, type: 0} 11 | m_SavedProperties: 12 | serializedVersion: 2 13 | m_TexEnvs: 14 | data: 15 | first: 16 | name: _MainTex 17 | second: 18 | m_Texture: {fileID: 0} 19 | m_Scale: {x: 1, y: 1} 20 | m_Offset: {x: 0, y: 0} 21 | m_Floats: {} 22 | m_Colors: 23 | data: 24 | first: 25 | name: _Color 26 | second: {r: .408999979, g: .826344371, b: 1, a: 1} 27 | -------------------------------------------------------------------------------- /Assets/Animations/Jumping/Materials/Beta_Body_MAT.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2e6f450ef8cb4344a8a4bd8ab9d2f4c9 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Animations/Jumping/Materials/Beta_Joints_MAT.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 3 6 | m_ObjectHideFlags: 0 7 | m_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: Beta_Joints_MAT 10 | m_Shader: {fileID: 7, guid: 0000000000000000e000000000000000, type: 0} 11 | m_SavedProperties: 12 | serializedVersion: 2 13 | m_TexEnvs: 14 | data: 15 | first: 16 | name: _MainTex 17 | second: 18 | m_Texture: {fileID: 0} 19 | m_Scale: {x: 1, y: 1} 20 | m_Offset: {x: 0, y: 0} 21 | m_Floats: {} 22 | m_Colors: 23 | data: 24 | first: 25 | name: _Color 26 | second: {r: .0578599982, g: .0578599982, b: .0578599982, a: 1} 27 | -------------------------------------------------------------------------------- /Assets/Animations/Jumping/Materials/Beta_Joints_MAT.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8fa6ed6dc4e7c884abeb188dcfcbba83 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Animations/Jumping/Materials/Default_Material.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 3 6 | m_ObjectHideFlags: 0 7 | m_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: Default_Material 10 | m_Shader: {fileID: 7, guid: 0000000000000000e000000000000000, type: 0} 11 | m_SavedProperties: 12 | serializedVersion: 2 13 | m_TexEnvs: 14 | data: 15 | first: 16 | name: _MainTex 17 | second: 18 | m_Texture: {fileID: 0} 19 | m_Scale: {x: 1, y: 1} 20 | m_Offset: {x: 0, y: 0} 21 | m_Floats: {} 22 | m_Colors: 23 | data: 24 | first: 25 | name: _Color 26 | second: {r: .5, g: .5, b: .5, a: 1} 27 | -------------------------------------------------------------------------------- /Assets/Animations/Jumping/Materials/Default_Material.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e36962c37f8be2e478332902ad5ad3be 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Animations/Jumping/Materials/Eye.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 3 6 | m_ObjectHideFlags: 0 7 | m_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: Eye 10 | m_Shader: {fileID: 7, guid: 0000000000000000e000000000000000, type: 0} 11 | m_SavedProperties: 12 | serializedVersion: 2 13 | m_TexEnvs: 14 | data: 15 | first: 16 | name: _MainTex 17 | second: 18 | m_Texture: {fileID: 2800000, guid: 68b51cf92136c6248b89b2fa175c55a4, type: 3} 19 | m_Scale: {x: 1, y: 1} 20 | m_Offset: {x: 0, y: 0} 21 | m_Floats: {} 22 | m_Colors: 23 | data: 24 | first: 25 | name: _Color 26 | second: {r: 1, g: 1, b: 1, a: 1} 27 | -------------------------------------------------------------------------------- /Assets/Animations/Jumping/Materials/Eye.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 932c8027dbd513e46be5d890edc0b3da 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Animations/Jumping/Materials/Frames.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 3 6 | m_ObjectHideFlags: 0 7 | m_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: Frames 10 | m_Shader: {fileID: 7, guid: 0000000000000000e000000000000000, type: 0} 11 | m_SavedProperties: 12 | serializedVersion: 2 13 | m_TexEnvs: 14 | data: 15 | first: 16 | name: _MainTex 17 | second: 18 | m_Texture: {fileID: 0} 19 | m_Scale: {x: 1, y: 1} 20 | m_Offset: {x: 0, y: 0} 21 | m_Floats: {} 22 | m_Colors: 23 | data: 24 | first: 25 | name: _Color 26 | second: {r: 0, g: 0, b: 0, a: 1} 27 | -------------------------------------------------------------------------------- /Assets/Animations/Jumping/Materials/Frames.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4936b8c657105f14d80e1db58168dbc1 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Animations/Jumping/Materials/Lens.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 3 6 | m_ObjectHideFlags: 0 7 | m_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: Lens 10 | m_Shader: {fileID: 30, guid: 0000000000000000e000000000000000, type: 0} 11 | m_SavedProperties: 12 | serializedVersion: 2 13 | m_TexEnvs: 14 | data: 15 | first: 16 | name: _MainTex 17 | second: 18 | m_Texture: {fileID: 0} 19 | m_Scale: {x: 1, y: 1} 20 | m_Offset: {x: 0, y: 0} 21 | m_Floats: {} 22 | m_Colors: 23 | data: 24 | first: 25 | name: _Color 26 | second: {r: 0, g: 0, b: 0, a: .446666658} 27 | -------------------------------------------------------------------------------- /Assets/Animations/Jumping/Materials/Lens.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 173b009c77616b2478f1cab369772d28 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Animations/Jumping/Materials/NewVincent_Texture_1k2.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 3 6 | m_ObjectHideFlags: 0 7 | m_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: NewVincent_Texture_1k2 10 | m_Shader: {fileID: 2, guid: 0000000000000000e000000000000000, type: 0} 11 | m_SavedProperties: 12 | serializedVersion: 2 13 | m_TexEnvs: 14 | data: 15 | first: 16 | name: _MainTex 17 | second: 18 | m_Texture: {fileID: 2800000, guid: 71f6c5bfb4d293d499270e6976b0968b, type: 3} 19 | m_Scale: {x: 1, y: 1} 20 | m_Offset: {x: 0, y: 0} 21 | data: 22 | first: 23 | name: _BumpMap 24 | second: 25 | m_Texture: {fileID: 2800000, guid: a6d20d6d1793ce64a9cf5891ab00091c, type: 3} 26 | m_Scale: {x: 1, y: 1} 27 | m_Offset: {x: 0, y: 0} 28 | m_Floats: {} 29 | m_Colors: 30 | data: 31 | first: 32 | name: _Color 33 | second: {r: 1, g: 1, b: 1, a: 1} 34 | -------------------------------------------------------------------------------- /Assets/Animations/Jumping/Materials/NewVincent_Texture_1k2.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ecc62a1363d70124da1b41f3740142b8 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Animations/Jumping/Player@Locomotion@Idle_Jump.fbx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assets/Animations/Jumping/Player@Locomotion@Idle_Jump.fbx -------------------------------------------------------------------------------- /Assets/Animations/Jumping/Player@Locomotion@Run_Jump.fbm.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8a15c59f8eeb75e448418a3ca397b379 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Animations/Jumping/Player@Locomotion@Run_Jump.fbm/Eye.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assets/Animations/Jumping/Player@Locomotion@Run_Jump.fbm/Eye.jpg -------------------------------------------------------------------------------- /Assets/Animations/Jumping/Player@Locomotion@Run_Jump.fbm/Eye.jpg.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 68b51cf92136c6248b89b2fa175c55a4 3 | TextureImporter: 4 | serializedVersion: 2 5 | mipmaps: 6 | mipMapMode: 0 7 | enableMipMap: 1 8 | linearTexture: 0 9 | correctGamma: 0 10 | fadeOut: 0 11 | borderMipMap: 0 12 | mipMapFadeDistanceStart: 1 13 | mipMapFadeDistanceEnd: 3 14 | bumpmap: 15 | convertToNormalMap: 0 16 | externalNormalMap: 0 17 | heightScale: .25 18 | normalMapFilter: 0 19 | isReadable: 0 20 | grayScaleToAlpha: 0 21 | generateCubemap: 0 22 | seamlessCubemap: 0 23 | textureFormat: -1 24 | maxTextureSize: 1024 25 | textureSettings: 26 | filterMode: -1 27 | aniso: -1 28 | mipBias: -1 29 | wrapMode: -1 30 | nPOTScale: 1 31 | lightmap: 0 32 | compressionQuality: 50 33 | textureType: -1 34 | buildTargetSettings: [] 35 | userData: 36 | -------------------------------------------------------------------------------- /Assets/Animations/Jumping/Player@Locomotion@Run_Jump.fbm/NewVincent_NM_2k.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assets/Animations/Jumping/Player@Locomotion@Run_Jump.fbm/NewVincent_NM_2k.jpg -------------------------------------------------------------------------------- /Assets/Animations/Jumping/Player@Locomotion@Run_Jump.fbm/NewVincent_NM_2k.jpg.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a6d20d6d1793ce64a9cf5891ab00091c 3 | TextureImporter: 4 | serializedVersion: 2 5 | mipmaps: 6 | mipMapMode: 0 7 | enableMipMap: 1 8 | linearTexture: 1 9 | correctGamma: 0 10 | fadeOut: 0 11 | borderMipMap: 0 12 | mipMapFadeDistanceStart: 1 13 | mipMapFadeDistanceEnd: 3 14 | bumpmap: 15 | convertToNormalMap: 0 16 | externalNormalMap: 1 17 | heightScale: .25 18 | normalMapFilter: 0 19 | isReadable: 0 20 | grayScaleToAlpha: 0 21 | generateCubemap: 0 22 | seamlessCubemap: 0 23 | textureFormat: -1 24 | maxTextureSize: 1024 25 | textureSettings: 26 | filterMode: -1 27 | aniso: -1 28 | mipBias: -1 29 | wrapMode: -1 30 | nPOTScale: 1 31 | lightmap: 0 32 | compressionQuality: 50 33 | textureType: 1 34 | buildTargetSettings: [] 35 | userData: 36 | -------------------------------------------------------------------------------- /Assets/Animations/Jumping/Player@Locomotion@Run_Jump.fbm/NewVincent_Texture_1k2.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assets/Animations/Jumping/Player@Locomotion@Run_Jump.fbm/NewVincent_Texture_1k2.tga -------------------------------------------------------------------------------- /Assets/Animations/Jumping/Player@Locomotion@Run_Jump.fbm/NewVincent_Texture_1k2.tga.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 71f6c5bfb4d293d499270e6976b0968b 3 | TextureImporter: 4 | serializedVersion: 2 5 | mipmaps: 6 | mipMapMode: 0 7 | enableMipMap: 1 8 | linearTexture: 0 9 | correctGamma: 0 10 | fadeOut: 0 11 | borderMipMap: 0 12 | mipMapFadeDistanceStart: 1 13 | mipMapFadeDistanceEnd: 3 14 | bumpmap: 15 | convertToNormalMap: 0 16 | externalNormalMap: 0 17 | heightScale: .25 18 | normalMapFilter: 0 19 | isReadable: 0 20 | grayScaleToAlpha: 0 21 | generateCubemap: 0 22 | seamlessCubemap: 0 23 | textureFormat: -1 24 | maxTextureSize: 1024 25 | textureSettings: 26 | filterMode: -1 27 | aniso: -1 28 | mipBias: -1 29 | wrapMode: -1 30 | nPOTScale: 1 31 | lightmap: 0 32 | compressionQuality: 50 33 | textureType: -1 34 | buildTargetSettings: [] 35 | userData: 36 | -------------------------------------------------------------------------------- /Assets/Animations/Jumping/Player@Locomotion@Run_Jump.fbx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assets/Animations/Jumping/Player@Locomotion@Run_Jump.fbx -------------------------------------------------------------------------------- /Assets/Animations/Locomotion.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 07dc71e92c9f38b4b98784cf12fb367b 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Animations/Locomotion/Jogging.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: af007523691f57044855d67b77e39023 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Animations/Locomotion/Jogging/Player@Jog_Fwd.fbx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assets/Animations/Locomotion/Jogging/Player@Jog_Fwd.fbx -------------------------------------------------------------------------------- /Assets/Animations/Locomotion/Jogging/Player@Jog_Fwd_Turn_Med-R.fbx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assets/Animations/Locomotion/Jogging/Player@Jog_Fwd_Turn_Med-R.fbx -------------------------------------------------------------------------------- /Assets/Animations/Locomotion/Jogging/Player@Jog_Fwd_Turn_Short-R.fbx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assets/Animations/Locomotion/Jogging/Player@Jog_Fwd_Turn_Short-R.fbx -------------------------------------------------------------------------------- /Assets/Animations/Locomotion/Jogging/Player@Jog_Fwd_Turn_Wide-R.fbx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assets/Animations/Locomotion/Jogging/Player@Jog_Fwd_Turn_Wide-R.fbx -------------------------------------------------------------------------------- /Assets/Animations/Locomotion/Running.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d39a4e3b37847904ab2889912a59c648 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Animations/Locomotion/Running/DefaultAvatar@PlantNTurn135.fbx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assets/Animations/Locomotion/Running/DefaultAvatar@PlantNTurn135.fbx -------------------------------------------------------------------------------- /Assets/Animations/Locomotion/Running/DefaultAvatar@PlantNTurn180.fbx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assets/Animations/Locomotion/Running/DefaultAvatar@PlantNTurn180.fbx -------------------------------------------------------------------------------- /Assets/Animations/Locomotion/Running/DefaultAvatar@PlantNTurn90.fbx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assets/Animations/Locomotion/Running/DefaultAvatar@PlantNTurn90.fbx -------------------------------------------------------------------------------- /Assets/Animations/Locomotion/Running/DefaultAvatar@RunForwardTurnRight_NtrlMedium.fbx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assets/Animations/Locomotion/Running/DefaultAvatar@RunForwardTurnRight_NtrlMedium.fbx -------------------------------------------------------------------------------- /Assets/Animations/Locomotion/Running/DefaultAvatar@RunForwardTurnRight_NtrlWide.fbx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assets/Animations/Locomotion/Running/DefaultAvatar@RunForwardTurnRight_NtrlWide.fbx -------------------------------------------------------------------------------- /Assets/Animations/Locomotion/Running/DefaultAvatar@RunForward_NtrlFaceFwd.fbx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assets/Animations/Locomotion/Running/DefaultAvatar@RunForward_NtrlFaceFwd.fbx -------------------------------------------------------------------------------- /Assets/Animations/Locomotion/Running/Player@Run_Fwd_Turn_Short-R.fbx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assets/Animations/Locomotion/Running/Player@Run_Fwd_Turn_Short-R.fbx -------------------------------------------------------------------------------- /Assets/Animations/Locomotion/Sprinting.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c1e4c7e1e01a5554299aa7c6ffc9184b 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Animations/Locomotion/Sprinting/Player@Sprint_Fwd.fbx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assets/Animations/Locomotion/Sprinting/Player@Sprint_Fwd.fbx -------------------------------------------------------------------------------- /Assets/Animations/Locomotion/Sprinting/Player@Sprint_Fwd_Turn_Med-R.fbx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assets/Animations/Locomotion/Sprinting/Player@Sprint_Fwd_Turn_Med-R.fbx -------------------------------------------------------------------------------- /Assets/Animations/Locomotion/Sprinting/Player@Sprint_Fwd_Turn_Short-R.fbx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assets/Animations/Locomotion/Sprinting/Player@Sprint_Fwd_Turn_Short-R.fbx -------------------------------------------------------------------------------- /Assets/Animations/Locomotion/Sprinting/Player@Sprint_Fwd_Turn_Wide-R.fbx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assets/Animations/Locomotion/Sprinting/Player@Sprint_Fwd_Turn_Wide-R.fbx -------------------------------------------------------------------------------- /Assets/Animations/Locomotion/Sprinting/Player@Sprint_Pivot_135-L.fbx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assets/Animations/Locomotion/Sprinting/Player@Sprint_Pivot_135-L.fbx -------------------------------------------------------------------------------- /Assets/Animations/Locomotion/Sprinting/Player@Sprint_Pivot_180-L.fbx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assets/Animations/Locomotion/Sprinting/Player@Sprint_Pivot_180-L.fbx -------------------------------------------------------------------------------- /Assets/Animations/Locomotion/Sprinting/Player@Sprint_Pivot_90-L.fbx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assets/Animations/Locomotion/Sprinting/Player@Sprint_Pivot_90-L.fbx -------------------------------------------------------------------------------- /Assets/Animations/Locomotion/Walking.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: aab53e44d1014bd4a914a725e71e5eec 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Animations/Locomotion/Walking/DefaultAvatar@WalkForwardTurnRight_NtrlMedium.fbx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assets/Animations/Locomotion/Walking/DefaultAvatar@WalkForwardTurnRight_NtrlMedium.fbx -------------------------------------------------------------------------------- /Assets/Animations/Locomotion/Walking/DefaultAvatar@WalkForwardTurnRight_NtrlShort.fbx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assets/Animations/Locomotion/Walking/DefaultAvatar@WalkForwardTurnRight_NtrlShort.fbx -------------------------------------------------------------------------------- /Assets/Animations/Locomotion/Walking/DefaultAvatar@WalkForwardTurnRight_NtrlWide.fbx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assets/Animations/Locomotion/Walking/DefaultAvatar@WalkForwardTurnRight_NtrlWide.fbx -------------------------------------------------------------------------------- /Assets/Animations/Locomotion/Walking/DefaultAvatar@WalkForward_NtrlFaceFwd.fbx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assets/Animations/Locomotion/Walking/DefaultAvatar@WalkForward_NtrlFaceFwd.fbx -------------------------------------------------------------------------------- /Assets/Characters.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 464344e8d3702ad4bb516342c152317b 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Characters/Beta.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b7d2445ca9a7c1042975cdd2ffb14fe8 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Characters/Beta/Beta.fbx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assets/Characters/Beta/Beta.fbx -------------------------------------------------------------------------------- /Assets/Characters/Beta/Character.physicMaterial: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!134 &13400000 4 | PhysicMaterial: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_Name: Character 9 | dynamicFriction: 1 10 | staticFriction: 25 11 | bounciness: 0 12 | frictionCombine: 1 13 | bounceCombine: 1 14 | frictionDirection2: {x: 5, y: 5, z: 5} 15 | dynamicFriction2: 1 16 | staticFriction2: 25 17 | -------------------------------------------------------------------------------- /Assets/Characters/Beta/Character.physicMaterial.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8807a7d97971734408d2dea27600b2c7 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Characters/Beta/Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bc1adfd655c43234197dd44be6420ea7 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Characters/Beta/Materials/Beta_Body_MAT.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 3 6 | m_ObjectHideFlags: 0 7 | m_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: Beta_Body_MAT 10 | m_Shader: {fileID: 7, guid: 0000000000000000e000000000000000, type: 0} 11 | m_SavedProperties: 12 | serializedVersion: 2 13 | m_TexEnvs: 14 | data: 15 | first: 16 | name: _MainTex 17 | second: 18 | m_Texture: {fileID: 0} 19 | m_Scale: {x: 1, y: 1} 20 | m_Offset: {x: 0, y: 0} 21 | data: 22 | first: 23 | name: _WrapTex 24 | second: 25 | m_Texture: {fileID: 0} 26 | m_Scale: {x: 1, y: 1} 27 | m_Offset: {x: 0, y: 0} 28 | data: 29 | first: 30 | name: _IndicatorTex 31 | second: 32 | m_Texture: {fileID: 0} 33 | m_Scale: {x: 1, y: 1} 34 | m_Offset: {x: 0, y: 0} 35 | m_Floats: 36 | data: 37 | first: 38 | name: _Cutoff 39 | second: 0 40 | m_Colors: 41 | data: 42 | first: 43 | name: _Color 44 | second: {r: .99253732, g: .997807205, b: 1, a: 1} 45 | data: 46 | first: 47 | name: _Indicator 48 | second: {r: .0980392173, g: .137254909, b: .235294119, a: 1} 49 | -------------------------------------------------------------------------------- /Assets/Characters/Beta/Materials/Beta_Body_MAT.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 978c401288eda00499acb8225fcc8d72 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Characters/Beta/Materials/Beta_Joints_MAT.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 3 6 | m_ObjectHideFlags: 0 7 | m_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: Beta_Joints_MAT 10 | m_Shader: {fileID: 7, guid: 0000000000000000e000000000000000, type: 0} 11 | m_SavedProperties: 12 | serializedVersion: 2 13 | m_TexEnvs: 14 | data: 15 | first: 16 | name: _MainTex 17 | second: 18 | m_Texture: {fileID: 0} 19 | m_Scale: {x: 1, y: 1} 20 | m_Offset: {x: 0, y: 0} 21 | data: 22 | first: 23 | name: _WrapTex 24 | second: 25 | m_Texture: {fileID: 0} 26 | m_Scale: {x: 1, y: 1} 27 | m_Offset: {x: 0, y: 0} 28 | data: 29 | first: 30 | name: _IndicatorTex 31 | second: 32 | m_Texture: {fileID: 0} 33 | m_Scale: {x: 1, y: 1} 34 | m_Offset: {x: 0, y: 0} 35 | m_Floats: 36 | data: 37 | first: 38 | name: _Cutoff 39 | second: 0 40 | m_Colors: 41 | data: 42 | first: 43 | name: _Color 44 | second: {r: .0578599982, g: .0578599982, b: .0578599982, a: 1} 45 | data: 46 | first: 47 | name: _Indicator 48 | second: {r: .0980392173, g: .137254909, b: .235294119, a: 1} 49 | -------------------------------------------------------------------------------- /Assets/Characters/Beta/Materials/Beta_Joints_MAT.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c0229925cc3bf684ba418895db56dc1f 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Controller.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9bbd92ce8ce94cf4d808b277b3872b35 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Controller/CharacterController.controller.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1ac2a1891f6a2814dbcb83cbd24d5ee1 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Effects.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 212f955e73399e14b9d2df6a37a40ea4 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Effects/AntialiasingAsPostEffect.js: -------------------------------------------------------------------------------- 1 | 2 | #pragma strict 3 | 4 | @script ExecuteInEditMode 5 | @script RequireComponent (Camera) 6 | @script AddComponentMenu ("Image Effects/Antialiasing (Fullscreen)") 7 | 8 | enum AAMode { 9 | FXAA2 = 0, 10 | FXAA3Console = 1, 11 | FXAA1PresetA = 2, 12 | FXAA1PresetB = 3, 13 | NFAA = 4, 14 | SSAA = 5, 15 | DLAA = 6, 16 | } 17 | 18 | class AntialiasingAsPostEffect extends PostEffectsBase { 19 | public var mode : AAMode = AAMode.FXAA3Console; 20 | 21 | public var showGeneratedNormals : boolean = false; 22 | public var offsetScale : float = 0.2; 23 | public var blurRadius : float = 18.0; 24 | 25 | public var edgeThresholdMin : float = 0.05f; 26 | public var edgeThreshold : float = 0.2f; 27 | public var edgeSharpness : float = 4.0f; 28 | 29 | public var dlaaSharp : boolean = false; 30 | 31 | public var ssaaShader : Shader; 32 | private var ssaa : Material; 33 | public var dlaaShader : Shader; 34 | private var dlaa : Material; 35 | public var nfaaShader : Shader; 36 | private var nfaa : Material; 37 | public var shaderFXAAPreset2 : Shader; 38 | private var materialFXAAPreset2 : Material; 39 | public var shaderFXAAPreset3 : Shader; 40 | private var materialFXAAPreset3 : Material; 41 | public var shaderFXAAII : Shader; 42 | private var materialFXAAII : Material; 43 | public var shaderFXAAIII : Shader; 44 | private var materialFXAAIII : Material; 45 | 46 | function CurrentAAMaterial () : Material 47 | { 48 | var returnValue : Material = null; 49 | 50 | switch(mode) { 51 | case AAMode.FXAA3Console: 52 | returnValue = materialFXAAIII; 53 | break; 54 | case AAMode.FXAA2: 55 | returnValue = materialFXAAII; 56 | break; 57 | case AAMode.FXAA1PresetA: 58 | returnValue = materialFXAAPreset2; 59 | break; 60 | case AAMode.FXAA1PresetB: 61 | returnValue = materialFXAAPreset3; 62 | break; 63 | case AAMode.NFAA: 64 | returnValue = nfaa; 65 | break; 66 | case AAMode.SSAA: 67 | returnValue = ssaa; 68 | break; 69 | case AAMode.DLAA: 70 | returnValue = dlaa; 71 | break; 72 | default: 73 | returnValue = null; 74 | break; 75 | } 76 | 77 | return returnValue; 78 | } 79 | 80 | function CheckResources () { 81 | CheckSupport (false); 82 | 83 | materialFXAAPreset2 = CreateMaterial (shaderFXAAPreset2, materialFXAAPreset2); 84 | materialFXAAPreset3 = CreateMaterial (shaderFXAAPreset3, materialFXAAPreset3); 85 | materialFXAAII = CreateMaterial (shaderFXAAII, materialFXAAII); 86 | materialFXAAIII = CreateMaterial (shaderFXAAIII, materialFXAAIII); 87 | nfaa = CreateMaterial (nfaaShader, nfaa); 88 | ssaa = CreateMaterial (ssaaShader, ssaa); 89 | dlaa = CreateMaterial (dlaaShader, dlaa); 90 | 91 | if(!ssaaShader.isSupported) { 92 | NotSupported (); 93 | ReportAutoDisable (); 94 | } 95 | 96 | return isSupported; 97 | } 98 | 99 | function OnRenderImage (source : RenderTexture, destination : RenderTexture) { 100 | if(CheckResources()==false) { 101 | Graphics.Blit (source, destination); 102 | return; 103 | } 104 | 105 | // ............................................................................. 106 | // FXAA antialiasing modes ..................................................... 107 | 108 | if (mode == AAMode.FXAA3Console && (materialFXAAIII != null)) { 109 | materialFXAAIII.SetFloat("_EdgeThresholdMin", edgeThresholdMin); 110 | materialFXAAIII.SetFloat("_EdgeThreshold", edgeThreshold); 111 | materialFXAAIII.SetFloat("_EdgeSharpness", edgeSharpness); 112 | 113 | Graphics.Blit (source, destination, materialFXAAIII); 114 | } 115 | else if (mode == AAMode.FXAA1PresetB && (materialFXAAPreset3 != null)) { 116 | Graphics.Blit (source, destination, materialFXAAPreset3); 117 | } 118 | else if(mode == AAMode.FXAA1PresetA && materialFXAAPreset2 != null) { 119 | source.anisoLevel = 4; 120 | Graphics.Blit (source, destination, materialFXAAPreset2); 121 | source.anisoLevel = 0; 122 | } 123 | else if(mode == AAMode.FXAA2 && materialFXAAII != null) { 124 | Graphics.Blit (source, destination, materialFXAAII); 125 | } 126 | else if (mode == AAMode.SSAA && ssaa != null) { 127 | 128 | // ............................................................................. 129 | // SSAA antialiasing ........................................................... 130 | 131 | Graphics.Blit (source, destination, ssaa); 132 | } 133 | else if (mode == AAMode.DLAA && dlaa != null) { 134 | 135 | // ............................................................................. 136 | // DLAA antialiasing ........................................................... 137 | 138 | source.anisoLevel = 0; 139 | var interim : RenderTexture = RenderTexture.GetTemporary (source.width, source.height); 140 | Graphics.Blit (source, interim, dlaa, 0); 141 | Graphics.Blit (interim, destination, dlaa, dlaaSharp ? 2 : 1); 142 | RenderTexture.ReleaseTemporary (interim); 143 | } 144 | else if (mode == AAMode.NFAA && nfaa != null) { 145 | 146 | // ............................................................................. 147 | // nfaa antialiasing .............................................. 148 | 149 | source.anisoLevel = 0; 150 | 151 | nfaa.SetFloat("_OffsetScale", offsetScale); 152 | nfaa.SetFloat("_BlurRadius", blurRadius); 153 | 154 | Graphics.Blit (source, destination, nfaa, showGeneratedNormals ? 1 : 0); 155 | } 156 | else { 157 | // none of the AA is supported, fallback to a simple blit 158 | Graphics.Blit (source, destination); 159 | } 160 | } 161 | } 162 | -------------------------------------------------------------------------------- /Assets/Effects/AntialiasingAsPostEffect.js.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a9aaa3f5f2d574f228e4a21aa38b61e4 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: 6 | - ssaaShader: {fileID: 4800000, guid: b3728d1488b02490cbd196c7941bf1f8, type: 3} 7 | - dlaaShader: {fileID: 4800000, guid: 017ca72b9e8a749058d13ebd527e98fa, type: 3} 8 | - nfaaShader: {fileID: 4800000, guid: ce0cb2621f6d84e21a87414e471a3cce, type: 3} 9 | - shaderFXAAPreset2: {fileID: 4800000, guid: 6f1418cffd12146f2a83be795f6fa5a7, type: 3} 10 | - shaderFXAAPreset3: {fileID: 4800000, guid: c182fa94a5a0a4c02870641efcd38cd5, type: 3} 11 | - shaderFXAAII: {fileID: 4800000, guid: cd5b323dcc592457790ff18b528f5e67, type: 3} 12 | - shaderFXAAIII: {fileID: 4800000, guid: c547503fff0e8482ea5793727057041c, type: 3} 13 | executionOrder: 0 14 | icon: {instanceID: 0} 15 | userData: 16 | -------------------------------------------------------------------------------- /Assets/Effects/BarsEffect.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | [ExecuteInEditMode] 4 | [AddComponentMenu("Image Effects/BarsEffect")] 5 | public class BarsEffect : ImageEffectBase 6 | { 7 | public float coverage = 0.1f; 8 | public Texture barTexture; 9 | public static float NO_COVERAGE = -0.5f; 10 | public static float FULL_COVERAGE = 0.0f; 11 | 12 | // Called by camera to apply image effect 13 | void OnRenderImage(RenderTexture source, RenderTexture destination) 14 | { 15 | material.SetTexture("_BarTex", barTexture); 16 | material.SetFloat("_Coverage", Mathf.Lerp(NO_COVERAGE, FULL_COVERAGE, coverage)); 17 | Graphics.Blit(source, destination, material); 18 | } 19 | } -------------------------------------------------------------------------------- /Assets/Effects/BarsEffect.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f8891d133b6d44045a6e76cf5894e931 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Assets/Effects/Bloom.js.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a773099f140e846f7835d27351846623 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: 6 | - lensFlareVignetteMask: {fileID: 2800000, guid: 95ef4804fe0be4c999ddaa383536cde8, 7 | type: 3} 8 | - lensFlareShader: {fileID: 4800000, guid: 459fe69d2f6d74ddb92f04dbf45a866b, type: 3} 9 | - screenBlendShader: {fileID: 4800000, guid: 7856cbff0a0ca45c787d5431eb805bb0, type: 3} 10 | - blurAndFlaresShader: {fileID: 4800000, guid: be6e39cf196f146d5be72fbefb18ed75, 11 | type: 3} 12 | - brightPassFilterShader: {fileID: 4800000, guid: 0aeaa4cb29f5d4e9c8455f04c8575c8c, 13 | type: 3} 14 | executionOrder: 0 15 | icon: {instanceID: 0} 16 | userData: 17 | -------------------------------------------------------------------------------- /Assets/Effects/BloomAndLensFlares.js.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d35a90bed98554f4d8b92c9cd3cfbafa 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: 6 | - lensFlareVignetteMask: {fileID: 2800000, guid: 95ef4804fe0be4c999ddaa383536cde8, 7 | type: 3} 8 | - lensFlareShader: {fileID: 4800000, guid: 459fe69d2f6d74ddb92f04dbf45a866b, type: 3} 9 | - vignetteShader: {fileID: 4800000, guid: 562f620336e024ac99992ff05725a89a, type: 3} 10 | - separableBlurShader: {fileID: 4800000, guid: a9df009a214e24a5ebbf271595f8d5b6, 11 | type: 3} 12 | - addBrightStuffOneOneShader: {fileID: 4800000, guid: f7898d203e9b94c0dbe2bf9dd5cb32c0, 13 | type: 3} 14 | - screenBlendShader: {fileID: 4800000, guid: 53b3960ee3d3d4a5caa8d5473d120187, type: 3} 15 | - hollywoodFlaresShader: {fileID: 4800000, guid: e2baf3cae8edc4daf94c9adc2154be00, 16 | type: 3} 17 | - brightPassFilterShader: {fileID: 4800000, guid: 186c4c0d31e314f049595dcbaf4ca129, 18 | type: 3} 19 | executionOrder: 0 20 | icon: {instanceID: 0} 21 | userData: 22 | -------------------------------------------------------------------------------- /Assets/Effects/CameraInfo.js: -------------------------------------------------------------------------------- 1 | 2 | // pseudo image effect that displays useful info for your image effects 3 | 4 | #pragma strict 5 | 6 | @script ExecuteInEditMode 7 | @script RequireComponent (Camera) 8 | @script AddComponentMenu ("Image Effects/Camera Info") 9 | 10 | class CameraInfo extends MonoBehaviour { 11 | 12 | // display current depth texture mode 13 | public var currentDepthMode : DepthTextureMode; 14 | // render path 15 | public var currentRenderPath : RenderingPath; 16 | // number of official image fx used 17 | public var recognizedPostFxCount : int = 0; 18 | 19 | #if UNITY_EDITOR 20 | function Start () { 21 | UpdateInfo (); 22 | } 23 | 24 | function Update () { 25 | if (currentDepthMode != GetComponent.().depthTextureMode) 26 | GetComponent.().depthTextureMode = currentDepthMode; 27 | if (currentRenderPath != GetComponent.().actualRenderingPath) 28 | GetComponent.().renderingPath = currentRenderPath; 29 | 30 | UpdateInfo (); 31 | } 32 | 33 | function UpdateInfo () { 34 | currentDepthMode = GetComponent.().depthTextureMode; 35 | currentRenderPath = GetComponent.().actualRenderingPath; 36 | var fx : PostEffectsBase[] = gameObject.GetComponents. (); 37 | var fxCount : int = 0; 38 | for (var post : PostEffectsBase in fx) 39 | if (post.enabled) 40 | fxCount++; 41 | recognizedPostFxCount = fxCount; 42 | } 43 | #endif 44 | } 45 | -------------------------------------------------------------------------------- /Assets/Effects/CameraInfo.js.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 048717b96c1ea48749b22804d435dc60 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: 6 | - fogShader: {fileID: 4800000, guid: 70d8568987ac0499f952b54c7c13e265, type: 3} 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | -------------------------------------------------------------------------------- /Assets/Effects/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4a99138ad70b7c74080a6599013f4eea 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Effects/Editor/AntialiasingAsPostEffectEditor.js: -------------------------------------------------------------------------------- 1 | 2 | #pragma strict 3 | 4 | @CustomEditor (AntialiasingAsPostEffect) 5 | 6 | class AntialiasingAsPostEffectEditor extends Editor 7 | { 8 | var serObj : SerializedObject; 9 | 10 | var mode : SerializedProperty; 11 | 12 | var showGeneratedNormals : SerializedProperty; 13 | var offsetScale : SerializedProperty; 14 | var blurRadius : SerializedProperty; 15 | var dlaaSharp : SerializedProperty; 16 | 17 | var edgeThresholdMin : SerializedProperty; 18 | var edgeThreshold : SerializedProperty; 19 | var edgeSharpness : SerializedProperty; 20 | 21 | function OnEnable () { 22 | serObj = new SerializedObject (target); 23 | 24 | mode = serObj.FindProperty ("mode"); 25 | 26 | showGeneratedNormals = serObj.FindProperty ("showGeneratedNormals"); 27 | offsetScale = serObj.FindProperty ("offsetScale"); 28 | blurRadius = serObj.FindProperty ("blurRadius"); 29 | dlaaSharp = serObj.FindProperty ("dlaaSharp"); 30 | 31 | edgeThresholdMin = serObj.FindProperty("edgeThresholdMin"); 32 | edgeThreshold = serObj.FindProperty("edgeThreshold"); 33 | edgeSharpness = serObj.FindProperty("edgeSharpness"); 34 | } 35 | 36 | function OnInspectorGUI () { 37 | serObj.Update (); 38 | 39 | GUILayout.Label("Luminance based fullscreen antialiasing (edge blur)", EditorStyles.miniBoldLabel); 40 | 41 | EditorGUILayout.PropertyField (mode, new GUIContent ("Technique")); 42 | 43 | var mat : Material = (target as AntialiasingAsPostEffect).CurrentAAMaterial (); 44 | if(null == mat && (target as AntialiasingAsPostEffect).enabled) { 45 | EditorGUILayout.HelpBox("This AA technique is currently not supported. Choose a different technique or disable the effect and use MSAA instead.", MessageType.Warning); 46 | } 47 | 48 | if (mode.enumValueIndex == AAMode.NFAA) { 49 | EditorGUILayout.PropertyField (offsetScale, new GUIContent ("Edge Detect Ofs")); 50 | EditorGUILayout.PropertyField (blurRadius, new GUIContent ("Blur Radius")); 51 | EditorGUILayout.PropertyField (showGeneratedNormals, new GUIContent ("Show Normals")); 52 | } else if (mode.enumValueIndex == AAMode.DLAA) { 53 | EditorGUILayout.PropertyField (dlaaSharp, new GUIContent ("Sharp")); 54 | } else if (mode.enumValueIndex == AAMode.FXAA3Console) { 55 | EditorGUILayout.PropertyField (edgeThresholdMin, new GUIContent ("Edge Min Threshhold")); 56 | EditorGUILayout.PropertyField (edgeThreshold, new GUIContent ("Edge Threshhold")); 57 | EditorGUILayout.PropertyField (edgeSharpness, new GUIContent ("Edge Sharpness")); 58 | } 59 | 60 | serObj.ApplyModifiedProperties(); 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /Assets/Effects/Editor/AntialiasingAsPostEffectEditor.js.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 36f48f2018eba4c07a9ed16f79126f55 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Assets/Effects/Editor/BarsEffectEditor.cs: -------------------------------------------------------------------------------- 1 | /// 2 | /// UnityTutorials 3 | /// (c) John McElmurray and Julian Adams 2013 4 | /// 5 | /// GitHub homepage: https://github.com/jm991/UnityTutorials 6 | /// Fracture Studios homepage: http://www.fracture-studios.com/ 7 | /// 8 | /// This software is provided 'as-is', without any express or implied 9 | /// warranty. In no event will the authors be held liable for any damages 10 | /// arising from the use of this software. 11 | /// 12 | /// Permission is granted to anyone to use this software for any purpose 13 | /// and to alter it and redistribute it freely, subject to the following 14 | /// restrictions: 15 | /// 16 | /// 1. The origin of this software must not be misrepresented; you must not 17 | /// claim that you wrote the original software. If you use this software 18 | /// in a product, an acknowledgment in the product documentation would be 19 | /// appreciated but is not required. 20 | /// 2. This notice may not be removed or altered from any source distribution. 21 | /// 22 | 23 | using UnityEngine; 24 | using System.Collections; 25 | using UnityEditor; 26 | 27 | /// 28 | /// Editor class for widescreen bars effect. 29 | /// 30 | [CustomEditor (typeof(BarsEffect))] 31 | public class BarsEffectEditor : Editor 32 | { 33 | #region Variables (private) 34 | 35 | private BarsEffect effect; 36 | 37 | #endregion 38 | 39 | 40 | #region Unity event functions 41 | 42 | public void OnEnable() 43 | { 44 | effect = (BarsEffect) target; 45 | } 46 | 47 | public override void OnInspectorGUI() 48 | { 49 | effect.coverage = EditorGUILayout.Slider(effect.coverage, 0f, 1f); 50 | 51 | this.DrawDefaultInspector(); 52 | } 53 | 54 | #endregion 55 | } 56 | 57 | -------------------------------------------------------------------------------- /Assets/Effects/Editor/BarsEffectEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a92bb94cbd3bd784a932142e9752862f 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Assets/Effects/Editor/BloomAndLensFlaresEditor.js.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fa3c09c9b1eff448fa03c3cc1ffd0283 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Assets/Effects/Editor/BloomEditor.js.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cf6d8fc1580864a149a13b0e37bb6659 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Assets/Effects/ImageEffectBase.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | [RequireComponent (typeof(Camera))] 4 | [AddComponentMenu("")] 5 | public class ImageEffectBase : MonoBehaviour { 6 | /// Provides a shader property that is set in the inspector 7 | /// and a material instantiated from the shader 8 | public Shader shader; 9 | private Material m_Material; 10 | 11 | protected virtual void Start () 12 | { 13 | // Disable if we don't support image effects 14 | if (!SystemInfo.supportsImageEffects) { 15 | enabled = false; 16 | return; 17 | } 18 | 19 | // Disable the image effect if the shader can't 20 | // run on the users graphics card 21 | if (!shader || !shader.isSupported) 22 | enabled = false; 23 | } 24 | 25 | protected Material material { 26 | get { 27 | if (m_Material == null) { 28 | m_Material = new Material (shader); 29 | m_Material.hideFlags = HideFlags.HideAndDontSave; 30 | } 31 | return m_Material; 32 | } 33 | } 34 | 35 | protected virtual void OnDisable() { 36 | if( m_Material ) { 37 | DestroyImmediate( m_Material ); 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /Assets/Effects/ImageEffectBase.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f6469eb0ad1119d6d00011d98d76c639 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Assets/Effects/ImageEffects.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | //using System; 3 | 4 | /// A Utility class for performing various image based rendering tasks. 5 | [AddComponentMenu("")] 6 | public class ImageEffects 7 | { 8 | public static void RenderDistortion(Material material, RenderTexture source, RenderTexture destination, float angle, Vector2 center, Vector2 radius) 9 | { 10 | bool invertY = source.texelSize.y < 0.0f; 11 | if (invertY) 12 | { 13 | center.y = 1.0f - center.y; 14 | angle = -angle; 15 | } 16 | 17 | Matrix4x4 rotationMatrix = Matrix4x4.TRS(Vector3.zero, Quaternion.Euler(0, 0, angle), Vector3.one); 18 | 19 | material.SetMatrix("_RotationMatrix", rotationMatrix); 20 | material.SetVector("_CenterRadius", new Vector4(center.x, center.y, radius.x, radius.y)); 21 | material.SetFloat("_Angle", angle * Mathf.Deg2Rad); 22 | 23 | Graphics.Blit(source, destination, material); 24 | } 25 | 26 | [System.Obsolete("Use Graphics.Blit(source,dest) instead")] 27 | public static void Blit(RenderTexture source, RenderTexture dest) 28 | { 29 | Graphics.Blit(source, dest); 30 | } 31 | 32 | [System.Obsolete("Use Graphics.Blit(source, destination, material) instead")] 33 | public static void BlitWithMaterial(Material material, RenderTexture source, RenderTexture dest) 34 | { 35 | Graphics.Blit(source, dest, material); 36 | } 37 | } -------------------------------------------------------------------------------- /Assets/Effects/ImageEffects.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 89a037199d11087f1100e2b844295342 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: 6 | - blitCopyShader: {fileID: 4800000, guid: 3338b5ea2f3cb594698fae65cf060346, type: 3} 7 | - blitMultiplyShader: {fileID: 4800000, guid: 7034c801b78acab448cdcf845f7c352d, 8 | type: 3} 9 | - blitMultiply2XShader: {fileID: 4800000, guid: cde82987e0a884c4788c65f7b54390e8, 10 | type: 3} 11 | - blitAddShader: {fileID: 4800000, guid: c7515f214a63bdb42b6ae6335a00a8a4, type: 3} 12 | - blitAddSmoothShader: {fileID: 4800000, guid: 7741a77a7c455d0418bc429bd508dc87, 13 | type: 3} 14 | - blitBlendShader: {fileID: 4800000, guid: f1cf7e9c98754c4429ff0f7cc1d9dd7b, type: 3} 15 | executionOrder: 0 16 | icon: {instanceID: 0} 17 | userData: 18 | -------------------------------------------------------------------------------- /Assets/Effects/PostEffectsBase.js.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d9e12470535464538a29207930915629 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Assets/Effects/PostEffectsHelper.js: -------------------------------------------------------------------------------- 1 | 2 | @script ExecuteInEditMode 3 | @script RequireComponent (Camera) 4 | 5 | class PostEffectsHelper extends MonoBehaviour 6 | { 7 | function Start () { 8 | 9 | } 10 | 11 | 12 | function OnRenderImage (source : RenderTexture, destination : RenderTexture) { 13 | Debug.Log("OnRenderImage in Helper called ..."); 14 | } 15 | 16 | static function DrawLowLevelPlaneAlignedWithCamera( 17 | dist : float, 18 | source : RenderTexture, dest : RenderTexture, 19 | material : Material, 20 | cameraForProjectionMatrix : Camera ) 21 | { 22 | // Make the destination texture the target for all rendering 23 | RenderTexture.active = dest; 24 | // Assign the source texture to a property from a shader 25 | material.SetTexture("_MainTex", source); 26 | var invertY : boolean = true; // source.texelSize.y < 0.0f; 27 | // Set up the simple Matrix 28 | GL.PushMatrix(); 29 | GL.LoadIdentity(); 30 | GL.LoadProjectionMatrix(cameraForProjectionMatrix.projectionMatrix); 31 | 32 | var fovYHalfRad : float = cameraForProjectionMatrix.fieldOfView * 0.5 * Mathf.Deg2Rad; 33 | var cotangent : float = Mathf.Cos(fovYHalfRad) / Mathf.Sin(fovYHalfRad); 34 | var asp : float = cameraForProjectionMatrix.aspect; 35 | 36 | var x1 : float = asp/-cotangent; 37 | var x2 : float = asp/cotangent; 38 | var y1 : float = 1.0/-cotangent; 39 | var y2 : float = 1.0/cotangent; 40 | 41 | var sc : float = 1.0; // magic constant (for now) 42 | 43 | x1 *= dist * sc; 44 | x2 *= dist * sc; 45 | y1 *= dist * sc; 46 | y2 *= dist * sc; 47 | 48 | var z1 : float = -dist; 49 | 50 | for (var i : int = 0; i < material.passCount; i++) 51 | { 52 | material.SetPass(i); 53 | 54 | GL.Begin(GL.QUADS); 55 | var y1_ : float; var y2_ : float; 56 | if (invertY) 57 | { 58 | y1_ = 1.0; y2_ = 0.0; 59 | } 60 | else 61 | { 62 | y1_ = 0.0; y2_ = 1.0; 63 | } 64 | GL.TexCoord2(0.0, y1_); GL.Vertex3(x1, y1, z1); 65 | GL.TexCoord2(1.0, y1_); GL.Vertex3(x2, y1, z1); 66 | GL.TexCoord2(1.0, y2_); GL.Vertex3(x2, y2, z1); 67 | GL.TexCoord2(0.0, y2_); GL.Vertex3(x1, y2, z1); 68 | GL.End(); 69 | } 70 | 71 | GL.PopMatrix(); 72 | } 73 | 74 | static function DrawBorder ( 75 | dest : RenderTexture, 76 | material : Material ) 77 | { 78 | var x1 : float; 79 | var x2 : float; 80 | var y1 : float; 81 | var y2 : float; 82 | 83 | RenderTexture.active = dest; 84 | var invertY : boolean = true; // source.texelSize.y < 0.0f; 85 | // Set up the simple Matrix 86 | GL.PushMatrix(); 87 | GL.LoadOrtho(); 88 | 89 | for (var i : int = 0; i < material.passCount; i++) 90 | { 91 | material.SetPass(i); 92 | 93 | var y1_ : float; var y2_ : float; 94 | if (invertY) 95 | { 96 | y1_ = 1.0; y2_ = 0.0; 97 | } 98 | else 99 | { 100 | y1_ = 0.0; y2_ = 1.0; 101 | } 102 | 103 | // left 104 | x1 = 0.0; 105 | x2 = 0.0 + 1.0/(dest.width*1.0); 106 | y1 = 0.0; 107 | y2 = 1.0; 108 | GL.Begin(GL.QUADS); 109 | 110 | GL.TexCoord2(0.0, y1_); GL.Vertex3(x1, y1, 0.1); 111 | GL.TexCoord2(1.0, y1_); GL.Vertex3(x2, y1, 0.1); 112 | GL.TexCoord2(1.0, y2_); GL.Vertex3(x2, y2, 0.1); 113 | GL.TexCoord2(0.0, y2_); GL.Vertex3(x1, y2, 0.1); 114 | 115 | // right 116 | x1 = 1.0 - 1.0/(dest.width*1.0); 117 | x2 = 1.0; 118 | y1 = 0.0; 119 | y2 = 1.0; 120 | 121 | GL.TexCoord2(0.0, y1_); GL.Vertex3(x1, y1, 0.1); 122 | GL.TexCoord2(1.0, y1_); GL.Vertex3(x2, y1, 0.1); 123 | GL.TexCoord2(1.0, y2_); GL.Vertex3(x2, y2, 0.1); 124 | GL.TexCoord2(0.0, y2_); GL.Vertex3(x1, y2, 0.1); 125 | 126 | // top 127 | x1 = 0.0; 128 | x2 = 1.0; 129 | y1 = 0.0; 130 | y2 = 0.0 + 1.0/(dest.height*1.0); 131 | 132 | GL.TexCoord2(0.0, y1_); GL.Vertex3(x1, y1, 0.1); 133 | GL.TexCoord2(1.0, y1_); GL.Vertex3(x2, y1, 0.1); 134 | GL.TexCoord2(1.0, y2_); GL.Vertex3(x2, y2, 0.1); 135 | GL.TexCoord2(0.0, y2_); GL.Vertex3(x1, y2, 0.1); 136 | 137 | // bottom 138 | x1 = 0.0; 139 | x2 = 1.0; 140 | y1 = 1.0 - 1.0/(dest.height*1.0); 141 | y2 = 1.0; 142 | 143 | GL.TexCoord2(0.0, y1_); GL.Vertex3(x1, y1, 0.1); 144 | GL.TexCoord2(1.0, y1_); GL.Vertex3(x2, y1, 0.1); 145 | GL.TexCoord2(1.0, y2_); GL.Vertex3(x2, y2, 0.1); 146 | GL.TexCoord2(0.0, y2_); GL.Vertex3(x1, y2, 0.1); 147 | 148 | GL.End(); 149 | } 150 | 151 | GL.PopMatrix(); 152 | } 153 | 154 | static function DrawLowLevelQuad( x1 : float, x2 : float, y1 : float, y2 : float, source : RenderTexture, dest : RenderTexture, material : Material ) 155 | { 156 | // Make the destination texture the target for all rendering 157 | RenderTexture.active = dest; 158 | // Assign the source texture to a property from a shader 159 | material.SetTexture("_MainTex", source); 160 | var invertY : boolean = true; // source.texelSize.y < 0.0f; 161 | // Set up the simple Matrix 162 | GL.PushMatrix(); 163 | GL.LoadOrtho(); 164 | 165 | for (var i : int = 0; i < material.passCount; i++) 166 | { 167 | material.SetPass(i); 168 | 169 | GL.Begin(GL.QUADS); 170 | var y1_ : float; var y2_ : float; 171 | if (invertY) 172 | { 173 | y1_ = 1.0; y2_ = 0.0; 174 | } 175 | else 176 | { 177 | y1_ = 0.0; y2_ = 1.0; 178 | } 179 | GL.TexCoord2(0.0, y1_); GL.Vertex3(x1, y1, 0.1); 180 | GL.TexCoord2(1.0, y1_); GL.Vertex3(x2, y1, 0.1); 181 | GL.TexCoord2(1.0, y2_); GL.Vertex3(x2, y2, 0.1); 182 | GL.TexCoord2(0.0, y2_); GL.Vertex3(x1, y2, 0.1); 183 | GL.End(); 184 | } 185 | 186 | GL.PopMatrix(); 187 | } 188 | } -------------------------------------------------------------------------------- /Assets/Effects/PostEffectsHelper.js.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5a8c1b59f27344754b41795198b8f341 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Assets/Effects/SSAOEffect.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | [ExecuteInEditMode] 4 | [RequireComponent (typeof(Camera))] 5 | [AddComponentMenu("Image Effects/Screen Space Ambient Occlusion")] 6 | public class SSAOEffect : MonoBehaviour 7 | { 8 | public enum SSAOSamples { 9 | Low = 0, 10 | Medium = 1, 11 | High = 2, 12 | } 13 | 14 | public float m_Radius = 0.4f; 15 | public SSAOSamples m_SampleCount = SSAOSamples.Medium; 16 | public float m_OcclusionIntensity = 1.5f; 17 | public int m_Blur = 2; 18 | public int m_Downsampling = 2; 19 | public float m_OcclusionAttenuation = 1.0f; 20 | public float m_MinZ = 0.01f; 21 | 22 | public Shader m_SSAOShader; 23 | private Material m_SSAOMaterial; 24 | 25 | public Texture2D m_RandomTexture; 26 | 27 | private bool m_Supported; 28 | 29 | private static Material CreateMaterial (Shader shader) 30 | { 31 | if (!shader) 32 | return null; 33 | Material m = new Material (shader); 34 | m.hideFlags = HideFlags.HideAndDontSave; 35 | return m; 36 | } 37 | private static void DestroyMaterial (Material mat) 38 | { 39 | if (mat) 40 | { 41 | DestroyImmediate (mat); 42 | mat = null; 43 | } 44 | } 45 | 46 | 47 | void OnDisable() 48 | { 49 | DestroyMaterial (m_SSAOMaterial); 50 | } 51 | 52 | void Start() 53 | { 54 | if (!SystemInfo.supportsImageEffects || !SystemInfo.SupportsRenderTextureFormat (RenderTextureFormat.Depth)) 55 | { 56 | m_Supported = false; 57 | enabled = false; 58 | return; 59 | } 60 | 61 | CreateMaterials (); 62 | if (!m_SSAOMaterial || m_SSAOMaterial.passCount != 5) 63 | { 64 | m_Supported = false; 65 | enabled = false; 66 | return; 67 | } 68 | 69 | //CreateRandomTable (26, 0.2f); 70 | 71 | m_Supported = true; 72 | } 73 | 74 | void OnEnable () { 75 | GetComponent().depthTextureMode |= DepthTextureMode.DepthNormals; 76 | } 77 | 78 | private void CreateMaterials () 79 | { 80 | if (!m_SSAOMaterial && m_SSAOShader.isSupported) 81 | { 82 | m_SSAOMaterial = CreateMaterial (m_SSAOShader); 83 | m_SSAOMaterial.SetTexture ("_RandomTexture", m_RandomTexture); 84 | } 85 | } 86 | 87 | [ImageEffectOpaque] 88 | void OnRenderImage (RenderTexture source, RenderTexture destination) 89 | { 90 | if (!m_Supported || !m_SSAOShader.isSupported) { 91 | enabled = false; 92 | return; 93 | } 94 | CreateMaterials (); 95 | 96 | m_Downsampling = Mathf.Clamp (m_Downsampling, 1, 6); 97 | m_Radius = Mathf.Clamp (m_Radius, 0.05f, 1.0f); 98 | m_MinZ = Mathf.Clamp (m_MinZ, 0.00001f, 0.5f); 99 | m_OcclusionIntensity = Mathf.Clamp (m_OcclusionIntensity, 0.5f, 4.0f); 100 | m_OcclusionAttenuation = Mathf.Clamp (m_OcclusionAttenuation, 0.2f, 2.0f); 101 | m_Blur = Mathf.Clamp (m_Blur, 0, 4); 102 | 103 | // Render SSAO term into a smaller texture 104 | RenderTexture rtAO = RenderTexture.GetTemporary (source.width / m_Downsampling, source.height / m_Downsampling, 0); 105 | float fovY = GetComponent().fieldOfView; 106 | float far = GetComponent().farClipPlane; 107 | float y = Mathf.Tan (fovY * Mathf.Deg2Rad * 0.5f) * far; 108 | float x = y * GetComponent().aspect; 109 | m_SSAOMaterial.SetVector ("_FarCorner", new Vector3(x,y,far)); 110 | int noiseWidth, noiseHeight; 111 | if (m_RandomTexture) { 112 | noiseWidth = m_RandomTexture.width; 113 | noiseHeight = m_RandomTexture.height; 114 | } else { 115 | noiseWidth = 1; noiseHeight = 1; 116 | } 117 | m_SSAOMaterial.SetVector ("_NoiseScale", new Vector3 ((float)rtAO.width / noiseWidth, (float)rtAO.height / noiseHeight, 0.0f)); 118 | m_SSAOMaterial.SetVector ("_Params", new Vector4( 119 | m_Radius, 120 | m_MinZ, 121 | 1.0f / m_OcclusionAttenuation, 122 | m_OcclusionIntensity)); 123 | 124 | bool doBlur = m_Blur > 0; 125 | Graphics.Blit (doBlur ? null : source, rtAO, m_SSAOMaterial, (int)m_SampleCount); 126 | 127 | if (doBlur) 128 | { 129 | // Blur SSAO horizontally 130 | RenderTexture rtBlurX = RenderTexture.GetTemporary (source.width, source.height, 0); 131 | m_SSAOMaterial.SetVector ("_TexelOffsetScale", 132 | new Vector4 ((float)m_Blur / source.width, 0,0,0)); 133 | m_SSAOMaterial.SetTexture ("_SSAO", rtAO); 134 | Graphics.Blit (null, rtBlurX, m_SSAOMaterial, 3); 135 | RenderTexture.ReleaseTemporary (rtAO); // original rtAO not needed anymore 136 | 137 | // Blur SSAO vertically 138 | RenderTexture rtBlurY = RenderTexture.GetTemporary (source.width, source.height, 0); 139 | m_SSAOMaterial.SetVector ("_TexelOffsetScale", 140 | new Vector4 (0, (float)m_Blur/source.height, 0,0)); 141 | m_SSAOMaterial.SetTexture ("_SSAO", rtBlurX); 142 | Graphics.Blit (source, rtBlurY, m_SSAOMaterial, 3); 143 | RenderTexture.ReleaseTemporary (rtBlurX); // blurX RT not needed anymore 144 | 145 | rtAO = rtBlurY; // AO is the blurred one now 146 | } 147 | 148 | // Modulate scene rendering with SSAO 149 | m_SSAOMaterial.SetTexture ("_SSAO", rtAO); 150 | Graphics.Blit (source, destination, m_SSAOMaterial, 4); 151 | 152 | RenderTexture.ReleaseTemporary (rtAO); 153 | } 154 | 155 | /* 156 | private void CreateRandomTable (int count, float minLength) 157 | { 158 | Random.seed = 1337; 159 | Vector3[] samples = new Vector3[count]; 160 | // initial samples 161 | for (int i = 0; i < count; ++i) 162 | samples[i] = Random.onUnitSphere; 163 | // energy minimization: push samples away from others 164 | int iterations = 100; 165 | while (iterations-- > 0) { 166 | for (int i = 0; i < count; ++i) { 167 | Vector3 vec = samples[i]; 168 | Vector3 res = Vector3.zero; 169 | // minimize with other samples 170 | for (int j = 0; j < count; ++j) { 171 | Vector3 force = vec - samples[j]; 172 | float fac = Vector3.Dot (force, force); 173 | if (fac > 0.00001f) 174 | res += force * (1.0f / fac); 175 | } 176 | samples[i] = (samples[i] + res * 0.5f).normalized; 177 | } 178 | } 179 | // now scale samples between minLength and 1.0 180 | for (int i = 0; i < count; ++i) { 181 | samples[i] = samples[i] * Random.Range (minLength, 1.0f); 182 | } 183 | 184 | string table = string.Format ("#define SAMPLE_COUNT {0}\n", count); 185 | table += "const float3 RAND_SAMPLES[SAMPLE_COUNT] = {\n"; 186 | for (int i = 0; i < count; ++i) { 187 | Vector3 v = samples[i]; 188 | table += string.Format("\tfloat3({0},{1},{2}),\n", v.x, v.y, v.z); 189 | } 190 | table += "};\n"; 191 | Debug.Log (table); 192 | } 193 | */ 194 | } 195 | -------------------------------------------------------------------------------- /Assets/Effects/SSAOEffect.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b0923359e9e352a4b9b11c7b7161ad67 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: 6 | - m_SSAOShader: {fileID: 4800000, guid: 43ca18288c424f645aaa1e9e07f04c50, type: 3} 7 | - m_RandomTexture: {fileID: 2800000, guid: a181ca8e3c62f3e4b8f183f6c586b032, type: 3} 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | -------------------------------------------------------------------------------- /Assets/Effects/_Sources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c60d549d7b8ffdd479e6bedd2605e659 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Shaders.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b2145489f7c704db8acb14a52bddeee9 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Shaders/BarsEffect.shader: -------------------------------------------------------------------------------- 1 | Shader "Hidden/Bars Effect" 2 | { 3 | Properties 4 | { 5 | _MainTex ("Base (RGB)", 2D) = "white" {} 6 | _BarTex ("Base (RGB)", 2D) = "grayscaleRamp" {} 7 | _Coverage ("Screen coverage", float) = 1 8 | } 9 | 10 | SubShader 11 | { 12 | Pass 13 | { 14 | ZTest Always Cull Off ZWrite Off 15 | Fog { Mode off } 16 | 17 | CGPROGRAM 18 | #pragma vertex vert_img 19 | #pragma fragment frag 20 | #pragma fragmentoption ARB_precision_hint_fastest 21 | #include "UnityCG.cginc" 22 | 23 | uniform sampler2D _MainTex; 24 | uniform sampler2D _BarTex; 25 | float _Coverage; 26 | 27 | fixed4 frag (v2f_img i) : COLOR 28 | { 29 | fixed4 original = tex2D(_MainTex, i.uv); 30 | 31 | // Blend with bars 32 | float2 offset = float2(0, _Coverage); 33 | float2 flippedOffset = float2(0, _Coverage + 1); 34 | 35 | float2 flippedUVs = float2(i.uv.x, -1 * i.uv.y); 36 | 37 | float2 barUVs = (i.uv + offset); 38 | float2 flippedBarUVs = (flippedUVs + flippedOffset); 39 | 40 | return original * tex2D(_BarTex, barUVs) * tex2D(_BarTex, flippedBarUVs); 41 | } 42 | 43 | ENDCG 44 | } 45 | } 46 | 47 | Fallback off 48 | 49 | } -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Shaders/BarsEffect.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d843cea39eb53424b9eb9981ace48fe7 3 | ShaderImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Shaders/BlendModesOverlay.shader: -------------------------------------------------------------------------------- 1 | Shader "Hidden/BlendModesOverlay" { 2 | Properties { 3 | _MainTex ("Screen Blended", 2D) = "" {} 4 | _Overlay ("Color", 2D) = "grey" {} 5 | } 6 | 7 | CGINCLUDE 8 | 9 | #include "UnityCG.cginc" 10 | 11 | struct v2f { 12 | float4 pos : POSITION; 13 | float2 uv[2] : TEXCOORD0; 14 | }; 15 | 16 | sampler2D _Overlay; 17 | sampler2D _MainTex; 18 | 19 | half _Intensity; 20 | half4 _MainTex_TexelSize; 21 | 22 | v2f vert( appdata_img v ) { 23 | v2f o; 24 | o.pos = mul(UNITY_MATRIX_MVP, v.vertex); 25 | o.uv[0] = v.texcoord.xy; 26 | 27 | #if UNITY_UV_STARTS_AT_TOP 28 | if(_MainTex_TexelSize.y<0.0) 29 | o.uv[0].y = 1.0-o.uv[0].y; 30 | #endif 31 | 32 | o.uv[1] = v.texcoord.xy; 33 | return o; 34 | } 35 | 36 | half4 fragAddSub (v2f i) : COLOR { 37 | half4 toAdd = tex2D(_Overlay, i.uv[0]) * _Intensity; 38 | return tex2D(_MainTex, i.uv[1]) + toAdd; 39 | } 40 | 41 | half4 fragMultiply (v2f i) : COLOR { 42 | half4 toBlend = tex2D(_Overlay, i.uv[0]) * _Intensity; 43 | return tex2D(_MainTex, i.uv[1]) * toBlend; 44 | } 45 | 46 | half4 fragScreen (v2f i) : COLOR { 47 | half4 toBlend = (tex2D(_Overlay, i.uv[0]) * _Intensity); 48 | return 1-(1-toBlend)*(1-(tex2D(_MainTex, i.uv[1]))); 49 | } 50 | 51 | half4 fragOverlay (v2f i) : COLOR { 52 | half4 m = (tex2D(_Overlay, i.uv[0]));// * 255.0; 53 | half4 color = (tex2D(_MainTex, i.uv[1]));//* 255.0; 54 | 55 | // overlay blend mode 56 | //color.rgb = (color.rgb/255.0) * (color.rgb + ((2*m.rgb)/( 255.0 )) * (255.0-color.rgb)); 57 | //color.rgb /= 255.0; 58 | 59 | /* 60 | if (Target > ½) R = 1 - (1-2x(Target-½)) x (1-Blend) 61 | if (Target <= ½) R = (2xTarget) x Blend 62 | */ 63 | 64 | float3 check = step(0.5, color.rgb); 65 | float3 result = 0; 66 | 67 | result = check * (half3(1,1,1) - ( (half3(1,1,1) - 2*(color.rgb-0.5)) * (1-m.rgb))); 68 | result += (1-check) * (2*color.rgb) * m.rgb; 69 | 70 | return half4(lerp(color.rgb, result.rgb, (_Intensity)), color.a); 71 | } 72 | 73 | half4 fragAlphaBlend (v2f i) : COLOR { 74 | half4 toAdd = tex2D(_Overlay, i.uv[0]) ; 75 | return lerp(tex2D(_MainTex, i.uv[1]), toAdd, toAdd.a); 76 | } 77 | 78 | 79 | ENDCG 80 | 81 | Subshader { 82 | ZTest Always Cull Off ZWrite Off 83 | Fog { Mode off } 84 | ColorMask RGB 85 | 86 | Pass { 87 | 88 | CGPROGRAM 89 | #pragma fragmentoption ARB_precision_hint_fastest 90 | #pragma vertex vert 91 | #pragma fragment fragAddSub 92 | ENDCG 93 | } 94 | 95 | Pass { 96 | 97 | CGPROGRAM 98 | #pragma fragmentoption ARB_precision_hint_fastest 99 | #pragma vertex vert 100 | #pragma fragment fragScreen 101 | ENDCG 102 | } 103 | 104 | Pass { 105 | 106 | CGPROGRAM 107 | #pragma fragmentoption ARB_precision_hint_fastest 108 | #pragma vertex vert 109 | #pragma fragment fragMultiply 110 | ENDCG 111 | } 112 | 113 | Pass { 114 | 115 | CGPROGRAM 116 | #pragma fragmentoption ARB_precision_hint_fastest 117 | #pragma vertex vert 118 | #pragma fragment fragOverlay 119 | ENDCG 120 | } 121 | 122 | Pass { 123 | 124 | CGPROGRAM 125 | #pragma fragmentoption ARB_precision_hint_fastest 126 | #pragma vertex vert 127 | #pragma fragment fragAlphaBlend 128 | ENDCG 129 | } 130 | } 131 | 132 | Fallback off 133 | 134 | } // shader -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Shaders/BlendModesOverlay.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8c81db0e527d24acc9bcec04e87781bd 3 | ShaderImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Shaders/ConvertDepth.shader: -------------------------------------------------------------------------------- 1 | Shader "Hidden/ConvertDepth" { 2 | Properties { 3 | _MainTex ("Base (RGB)", 2D) = "" {} 4 | } 5 | 6 | // Shader code pasted into all further CGPROGRAM blocks 7 | CGINCLUDE 8 | 9 | #include "UnityCG.cginc" 10 | 11 | struct v2f { 12 | float4 pos : POSITION; 13 | float2 uv : TEXCOORD0; 14 | }; 15 | 16 | sampler2D _MainTex; 17 | sampler2D _CameraDepthTexture; 18 | 19 | v2f vert( appdata_img v ) 20 | { 21 | v2f o; 22 | o.pos = mul(UNITY_MATRIX_MVP, v.vertex); 23 | o.uv = v.texcoord.xy; 24 | return o; 25 | } 26 | 27 | half4 frag(v2f i) : COLOR 28 | { 29 | float d = UNITY_SAMPLE_DEPTH( tex2D(_CameraDepthTexture, i.uv.xy) ); 30 | d = Linear01Depth(d); 31 | 32 | if(d>0.99999) 33 | return half4(1,1,1,1); 34 | else 35 | return EncodeFloatRGBA(d); 36 | } 37 | 38 | ENDCG 39 | 40 | Subshader { 41 | 42 | Pass { 43 | ZTest Always Cull Off ZWrite Off 44 | Fog { Mode off } 45 | 46 | CGPROGRAM 47 | #pragma fragmentoption ARB_precision_hint_fastest 48 | #pragma vertex vert 49 | #pragma fragment frag 50 | ENDCG 51 | } 52 | } 53 | 54 | Fallback off 55 | 56 | } // shader -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Shaders/ConvertDepth.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 14768d3865b1342e3a861fbe19ba2db2 3 | ShaderImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Shaders/NoiseAndGrain.shader: -------------------------------------------------------------------------------- 1 | Shader "Hidden/NoiseAndGrain" { 2 | Properties { 3 | _MainTex ("Base (RGB)", 2D) = "white" {} 4 | _NoiseTex ("Noise (RGB)", 2D) = "white" {} 5 | } 6 | 7 | CGINCLUDE 8 | 9 | #include "UnityCG.cginc" 10 | 11 | sampler2D _MainTex; 12 | sampler2D _NoiseTex; 13 | float4 _NoiseTex_TexelSize; 14 | 15 | uniform float4 _MainTex_TexelSize; 16 | 17 | uniform float3 _NoisePerChannel; 18 | uniform float3 _NoiseTilingPerChannel; 19 | uniform float3 _NoiseAmount; 20 | uniform float3 _ThreshholdRGB; 21 | uniform float3 _MidGrey; 22 | 23 | struct v2f 24 | { 25 | float4 pos : SV_POSITION; 26 | float2 uv_screen : TEXCOORD0; 27 | float4 uvRg : TEXCOORD1; 28 | float2 uvB : TEXCOORD2; 29 | }; 30 | 31 | struct appdata_img2 32 | { 33 | float4 vertex : POSITION; 34 | float2 texcoord : TEXCOORD0; 35 | float2 texcoord1 : TEXCOORD1; 36 | }; 37 | 38 | inline float3 Overlay(float3 m, float3 color) { 39 | color = saturate(color); 40 | float3 check = step(float3(0.5,0.5,0.5), color.rgb); 41 | float3 result = check * (float3(1,1,1) - ((float3(1,1,1) - 2*(color.rgb-0.5)) * (1-m.rgb))); 42 | result += (1-check) * (2*color.rgb) * m.rgb; 43 | return result; 44 | } 45 | 46 | v2f vert (appdata_img2 v) 47 | { 48 | v2f o; 49 | 50 | o.pos = mul (UNITY_MATRIX_MVP, v.vertex); 51 | 52 | #if UNITY_UV_STARTS_AT_TOP 53 | o.uv_screen = v.vertex.xyxy; 54 | if (_MainTex_TexelSize.y < 0) 55 | o.uv_screen.y = 1-o.uv_screen.y; 56 | #else 57 | o.uv_screen = v.vertex.xy; 58 | #endif 59 | 60 | // different tiling for 3 channels 61 | o.uvRg = v.texcoord.xyxy + v.texcoord1.xyxy * _NoiseTilingPerChannel.rrgg * _NoiseTex_TexelSize.xyxy; 62 | o.uvB = v.texcoord.xy + v.texcoord1.xy * _NoiseTilingPerChannel.bb * _NoiseTex_TexelSize.xy; 63 | 64 | return o; 65 | } 66 | 67 | float4 frag ( v2f i ) : COLOR 68 | { 69 | float4 color = (tex2D (_MainTex, i.uv_screen.xy)); 70 | 71 | // black & white intensities 72 | float2 blackWhiteCurve = Luminance(color.rgb) - _MidGrey.x; // maybe tweak middle grey 73 | blackWhiteCurve.xy = saturate(blackWhiteCurve.xy * _MidGrey.yz); //float2(1.0/0.8, -1.0/0.2)); 74 | 75 | float finalIntensity = _NoiseAmount.x + max(0.0f, dot(_NoiseAmount.zy, blackWhiteCurve.xy)); 76 | 77 | // fetching & scaling noise (COMPILER BUG WORKAROUND) 78 | float3 m = float3(0,0,0); 79 | m += (tex2D(_NoiseTex, i.uvRg.xy) * float4(1,0,0,0)).rgb; 80 | m += (tex2D(_NoiseTex, i.uvRg.zw) * float4(0,1,0,0)).rgb; 81 | m += (tex2D(_NoiseTex, i.uvB.xy) * float4(0,0,1,0)).rgb; 82 | 83 | m = saturate(lerp(float3(0.5,0.5,0.5), m, _NoisePerChannel.rgb * float3(finalIntensity,finalIntensity,finalIntensity) )); 84 | 85 | return float4(Overlay(m, color.rgb), color.a); 86 | } 87 | 88 | float4 fragTmp ( v2f i ) : COLOR 89 | { 90 | float4 color = (tex2D (_MainTex, i.uv_screen.xy)); 91 | 92 | // black & white intensities 93 | float2 blackWhiteCurve = Luminance(color.rgb) - _MidGrey.x; // maybe tweak middle grey 94 | blackWhiteCurve.xy = saturate(blackWhiteCurve.xy * _MidGrey.yz); //float2(1.0/0.8, -1.0/0.2)); 95 | 96 | float finalIntensity = _NoiseAmount.x + max(0.0f, dot(_NoiseAmount.zy, blackWhiteCurve.xy)); 97 | 98 | // fetching & scaling noise (COMPILER BUG WORKAROUND) 99 | float3 m = float3(0,0,0); 100 | m += (tex2D(_NoiseTex, i.uvRg.xy) * float4(1,0,0,0)).rgb; 101 | m += (tex2D(_NoiseTex, i.uvRg.zw) * float4(0,1,0,0)).rgb; 102 | m += (tex2D(_NoiseTex, i.uvB.xy) * float4(0,0,1,0)).rgb; 103 | 104 | m = saturate(lerp(float3(0.5,0.5,0.5), m, _NoisePerChannel.rgb * float3(finalIntensity,finalIntensity,finalIntensity))); 105 | 106 | return float4(m.rgb, color.a); 107 | } 108 | 109 | float4 fragOverlayBlend ( v2f i ) : COLOR 110 | { 111 | float4 color = tex2D(_MainTex, i.uv_screen.xy); 112 | float4 m = tex2D(_NoiseTex, i.uv_screen.xy); 113 | 114 | return float4(Overlay(m, color.rgb), color.a); 115 | } 116 | 117 | ENDCG 118 | 119 | SubShader { 120 | ZTest Always Cull Off ZWrite Off Blend Off 121 | Fog { Mode off } 122 | 123 | Pass { 124 | 125 | CGPROGRAM 126 | 127 | #pragma vertex vert 128 | #pragma fragment frag 129 | #pragma fragmentoption ARB_precision_hint_fastest 130 | 131 | ENDCG 132 | 133 | } 134 | 135 | Pass { 136 | 137 | CGPROGRAM 138 | 139 | #pragma vertex vert 140 | #pragma fragment fragOverlayBlend 141 | #pragma fragmentoption ARB_precision_hint_fastest 142 | 143 | ENDCG 144 | 145 | } 146 | 147 | Pass { 148 | 149 | CGPROGRAM 150 | 151 | #pragma vertex vert 152 | #pragma fragment fragTmp 153 | #pragma fragmentoption ARB_precision_hint_fastest 154 | 155 | ENDCG 156 | 157 | } 158 | } 159 | FallBack Off 160 | } 161 | -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Shaders/NoiseAndGrain.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b0249d8c935344451aa4de6db76f0688 3 | ShaderImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Shaders/NoiseAndGrainDX11.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8b30686bb4322ab42ad5eb50a0210b58 3 | ShaderImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Shaders/NoiseEffectShaderRGB.shader: -------------------------------------------------------------------------------- 1 | Shader "Hidden/Noise Shader RGB" { 2 | Properties { 3 | _MainTex ("Base (RGB)", 2D) = "white" {} 4 | _GrainTex ("Base (RGB)", 2D) = "gray" {} 5 | _ScratchTex ("Base (RGB)", 2D) = "gray" {} 6 | } 7 | 8 | SubShader { 9 | Pass { 10 | ZTest Always Cull Off ZWrite Off Fog { Mode off } 11 | 12 | CGPROGRAM 13 | #pragma vertex vert 14 | #pragma fragment frag 15 | #pragma fragmentoption ARB_precision_hint_fastest 16 | #include "UnityCG.cginc" 17 | 18 | struct v2f { 19 | float4 pos : POSITION; 20 | float2 uv : TEXCOORD0; 21 | float2 uvg : TEXCOORD1; // grain 22 | float2 uvs : TEXCOORD2; // scratch 23 | }; 24 | 25 | uniform sampler2D _MainTex; 26 | uniform sampler2D _GrainTex; 27 | uniform sampler2D _ScratchTex; 28 | 29 | uniform float4 _GrainOffsetScale; 30 | uniform float4 _ScratchOffsetScale; 31 | uniform fixed4 _Intensity; // x=grain, y=scratch 32 | 33 | v2f vert (appdata_img v) 34 | { 35 | v2f o; 36 | o.pos = mul (UNITY_MATRIX_MVP, v.vertex); 37 | o.uv = MultiplyUV (UNITY_MATRIX_TEXTURE0, v.texcoord); 38 | o.uvg = v.texcoord.xy * _GrainOffsetScale.zw + _GrainOffsetScale.xy; 39 | o.uvs = v.texcoord.xy * _ScratchOffsetScale.zw + _ScratchOffsetScale.xy; 40 | return o; 41 | } 42 | 43 | fixed4 frag (v2f i) : COLOR 44 | { 45 | fixed4 col = tex2D(_MainTex, i.uv); 46 | 47 | // sample noise texture and do a signed add 48 | fixed3 grain = tex2D(_GrainTex, i.uvg).rgb * 2 - 1; 49 | col.rgb += grain * _Intensity.x; 50 | 51 | // sample scratch texture and do a signed add 52 | fixed3 scratch = tex2D(_ScratchTex, i.uvs).rgb * 2 - 1; 53 | col.rgb += scratch * _Intensity.y; 54 | 55 | return col; 56 | } 57 | ENDCG 58 | } 59 | } 60 | 61 | Fallback off 62 | 63 | } -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Shaders/NoiseEffectShaderRGB.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5d7f4c401ae8946bcb0d6ff68a9e7466 3 | ShaderImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Shaders/NoiseEffectShaderYUV.shader: -------------------------------------------------------------------------------- 1 | Shader "Hidden/Noise Shader YUV" { 2 | Properties { 3 | _MainTex ("Base (RGB)", 2D) = "white" {} 4 | _GrainTex ("Base (RGB)", 2D) = "gray" {} 5 | _ScratchTex ("Base (RGB)", 2D) = "gray" {} 6 | } 7 | 8 | SubShader { 9 | Pass { 10 | ZTest Always Cull Off ZWrite Off 11 | Fog { Mode off } 12 | 13 | CGPROGRAM 14 | #pragma vertex vert 15 | #pragma fragment frag 16 | #pragma fragmentoption ARB_precision_hint_fastest 17 | #include "UnityCG.cginc" 18 | 19 | struct v2f { 20 | float4 pos : POSITION; 21 | float2 uv : TEXCOORD0; 22 | float2 uvg : TEXCOORD1; // grain 23 | float2 uvs : TEXCOORD2; // scratch 24 | }; 25 | 26 | uniform sampler2D _MainTex; 27 | uniform sampler2D _GrainTex; 28 | uniform sampler2D _ScratchTex; 29 | 30 | uniform float4 _GrainOffsetScale; 31 | uniform float4 _ScratchOffsetScale; 32 | uniform fixed4 _Intensity; // x=grain, y=scratch 33 | 34 | v2f vert (appdata_img v) 35 | { 36 | v2f o; 37 | o.pos = mul (UNITY_MATRIX_MVP, v.vertex); 38 | o.uv = MultiplyUV (UNITY_MATRIX_TEXTURE0, v.texcoord); 39 | o.uvg = v.texcoord.xy * _GrainOffsetScale.zw + _GrainOffsetScale.xy; 40 | o.uvs = v.texcoord.xy * _ScratchOffsetScale.zw + _ScratchOffsetScale.xy; 41 | return o; 42 | } 43 | 44 | fixed4 frag (v2f i) : COLOR 45 | { 46 | fixed4 col = tex2D(_MainTex, i.uv); 47 | 48 | // convert to YUV 49 | fixed3 yuv; 50 | yuv.x = dot( col.rgb, half3(0.299,0.587,0.114) ); 51 | yuv.y = (col.b-yuv.x)*0.492; 52 | yuv.z = (col.r-yuv.x)*0.877; 53 | 54 | // sample noise texture and do a signed add 55 | fixed3 grain = tex2D(_GrainTex, i.uvg).rgb * 2 - 1; 56 | yuv.rgb += grain * _Intensity.x; 57 | 58 | // convert back to rgb 59 | col.r = yuv.z * 1.140 + yuv.x; 60 | col.g = yuv.z * (-0.581) + yuv.y * (-0.395) + yuv.x; 61 | col.b = yuv.y * 2.032 + yuv.x; 62 | 63 | // sample scratch texture and add 64 | fixed3 scratch = tex2D(_ScratchTex, i.uvs).rgb * 2 - 1; 65 | col.rgb += scratch * _Intensity.y; 66 | 67 | return col; 68 | } 69 | ENDCG 70 | } 71 | } 72 | 73 | Fallback off 74 | 75 | } -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Shaders/NoiseEffectShaderYUV.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0e447868506ba49f0a73235b8a8b647a 3 | ShaderImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Shaders/SSAOShader.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 43ca18288c424f645aaa1e9e07f04c50 3 | ShaderImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Shaders/ShowAlphaChannel.shader: -------------------------------------------------------------------------------- 1 | 2 | 3 | Shader "Hidden/ShowAlphaChannel" { 4 | Properties { 5 | _MainTex ("Base (RGB)", 2D) = "white" {} 6 | _EdgeTex ("_EdgeTex", 2D) = "white" {} 7 | } 8 | 9 | SubShader { 10 | Pass { 11 | ZTest Always Cull Off ZWrite Off 12 | Fog { Mode off } 13 | 14 | CGPROGRAM 15 | #pragma vertex vert 16 | #pragma fragment frag 17 | #pragma fragmentoption ARB_precision_hint_fastest 18 | 19 | #include "UnityCG.cginc" 20 | 21 | uniform sampler2D _MainTex; 22 | uniform sampler2D _EdgeTex; 23 | 24 | uniform float4 _MainTex_TexelSize; 25 | 26 | float filterRadius; 27 | 28 | struct v2f { 29 | float4 pos : POSITION; 30 | float2 uv : TEXCOORD0; 31 | }; 32 | 33 | v2f vert( appdata_img v ) 34 | { 35 | v2f o; 36 | o.pos = mul (UNITY_MATRIX_MVP, v.vertex); 37 | o.uv = v.texcoord.xy; 38 | 39 | return o; 40 | } 41 | 42 | half4 frag (v2f i) : COLOR 43 | { 44 | 45 | half4 color = tex2D(_MainTex, i.uv.xy); 46 | half edges = color.a; 47 | 48 | return edges; 49 | } 50 | ENDCG 51 | } 52 | } 53 | 54 | Fallback off 55 | 56 | } -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Shaders/ShowAlphaChannel.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: da310021e2a4142429d95c537846dc38 3 | ShaderImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Shaders/SimpleClear.shader: -------------------------------------------------------------------------------- 1 | 2 | 3 | Shader "Hidden/SimpleClear" { 4 | Properties { 5 | _MainTex ("Base (RGB)", 2D) = "white" {} 6 | } 7 | 8 | SubShader { 9 | Pass { 10 | ZTest Always Cull Off ZWrite Off 11 | Fog { Mode off } 12 | 13 | CGPROGRAM 14 | #pragma vertex vert 15 | #pragma fragment frag 16 | #pragma fragmentoption ARB_precision_hint_fastest 17 | #include "UnityCG.cginc" 18 | 19 | uniform sampler2D _MainTex; 20 | uniform float4 _MainTex_TexelSize; 21 | 22 | struct v2f { 23 | float4 pos : POSITION; 24 | }; 25 | 26 | v2f vert( appdata_img v ) 27 | { 28 | v2f o; 29 | o.pos = mul(UNITY_MATRIX_MVP, v.vertex); 30 | return o; 31 | } 32 | 33 | half4 frag (v2f i) : COLOR 34 | { 35 | return half4(0,0,0,0); 36 | } 37 | ENDCG 38 | } 39 | } 40 | 41 | Fallback off 42 | 43 | } -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Shaders/SimpleClear.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f688f89ed5eb847c5b19c934a0f1e772 3 | ShaderImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Shaders/_Antialiasing.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6d55b5e91b95c41739cdf4f804dd383d 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Shaders/_Antialiasing/DLAA.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 017ca72b9e8a749058d13ebd527e98fa 3 | ShaderImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Shaders/_Antialiasing/FXAA2.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cd5b323dcc592457790ff18b528f5e67 3 | ShaderImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Shaders/_Antialiasing/FXAA3Console.shader: -------------------------------------------------------------------------------- 1 | 2 | 3 | /*============================================================================ 4 | 5 | source taken from 6 | 7 | 8 | NVIDIA FXAA 3.11 by TIMOTHY LOTTES 9 | 10 | 11 | and adapted and ported to Unity by Unity Technologies 12 | 13 | 14 | ------------------------------------------------------------------------------ 15 | COPYRIGHT (C) 2010, 2011 NVIDIA CORPORATION. ALL RIGHTS RESERVED. 16 | ------------------------------------------------------------------------------ 17 | TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED 18 | *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS 19 | OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF 20 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL NVIDIA 21 | OR ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR 22 | CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR 23 | LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, 24 | OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR INABILITY TO USE 25 | THIS SOFTWARE, EVEN IF NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH 26 | DAMAGES. 27 | 28 | ============================================================================*/ 29 | 30 | 31 | Shader "Hidden/FXAA III (Console)" { 32 | Properties { 33 | _MainTex ("-", 2D) = "white" {} 34 | _EdgeThresholdMin ("Edge threshold min",float) = 0.125 35 | _EdgeThreshold("Edge Threshold", float) = 0.25 36 | _EdgeSharpness("Edge sharpness",float) = 4.0 37 | } 38 | SubShader { 39 | Pass { 40 | ZTest Always Cull Off ZWrite Off 41 | Fog { Mode off } 42 | 43 | CGPROGRAM 44 | #pragma vertex vert 45 | #pragma fragment frag 46 | #pragma glsl 47 | #pragma fragmentoption ARB_precision_hint_fastest 48 | #pragma target 3.0 49 | #pragma exclude_renderers d3d11_9x 50 | 51 | #include "UnityCG.cginc" 52 | 53 | uniform sampler2D _MainTex; 54 | uniform half _EdgeThresholdMin; 55 | uniform half _EdgeThreshold; 56 | uniform half _EdgeSharpness; 57 | 58 | struct v2f { 59 | float4 pos : SV_POSITION; 60 | float2 uv : TEXCOORD0; 61 | float4 interpolatorA : TEXCOORD1; 62 | float4 interpolatorB : TEXCOORD2; 63 | float4 interpolatorC : TEXCOORD3; 64 | }; 65 | 66 | float4 _MainTex_TexelSize; 67 | 68 | v2f vert (appdata_img v) 69 | { 70 | v2f o; 71 | o.pos = mul (UNITY_MATRIX_MVP, v.vertex); 72 | 73 | o.uv = v.texcoord.xy; 74 | 75 | float4 extents; 76 | float2 offset = ( _MainTex_TexelSize.xy ) * 0.5f; 77 | extents.xy = v.texcoord.xy - offset; 78 | extents.zw = v.texcoord.xy + offset; 79 | 80 | float4 rcpSize; 81 | rcpSize.xy = -_MainTex_TexelSize.xy * 0.5f; 82 | rcpSize.zw = _MainTex_TexelSize.xy * 0.5f; 83 | 84 | o.interpolatorA = extents; 85 | o.interpolatorB = rcpSize; 86 | o.interpolatorC = rcpSize; 87 | 88 | o.interpolatorC.xy *= 4.0; 89 | o.interpolatorC.zw *= 4.0; 90 | 91 | return o; 92 | } 93 | 94 | // hacky support for NaCl 95 | #if defined(SHADER_API_GLES) && defined(SHADER_API_DESKTOP) 96 | #define FxaaTexTop(t, p) tex2D(t, p) 97 | #else 98 | #define FxaaTexTop(t, p) tex2Dlod(t, float4(p, 0.0, 0.0)) 99 | #endif 100 | 101 | inline half TexLuminance( float2 uv ) 102 | { 103 | return Luminance(FxaaTexTop(_MainTex, uv).rgb); 104 | } 105 | 106 | half3 FxaaPixelShader(float2 pos, float4 extents, float4 rcpSize, float4 rcpSize2) 107 | { 108 | half lumaNw = TexLuminance(extents.xy); 109 | half lumaSw = TexLuminance(extents.xw); 110 | half lumaNe = TexLuminance(extents.zy); 111 | half lumaSe = TexLuminance(extents.zw); 112 | 113 | half3 centre = FxaaTexTop(_MainTex, pos).rgb; 114 | half lumaCentre = Luminance(centre); 115 | 116 | half lumaMaxNwSw = max( lumaNw , lumaSw ); 117 | lumaNe += 1.0/384.0; 118 | half lumaMinNwSw = min( lumaNw , lumaSw ); 119 | 120 | half lumaMaxNeSe = max( lumaNe , lumaSe ); 121 | half lumaMinNeSe = min( lumaNe , lumaSe ); 122 | 123 | half lumaMax = max( lumaMaxNeSe, lumaMaxNwSw ); 124 | half lumaMin = min( lumaMinNeSe, lumaMinNwSw ); 125 | 126 | half lumaMaxScaled = lumaMax * _EdgeThreshold; 127 | 128 | half lumaMinCentre = min( lumaMin , lumaCentre ); 129 | half lumaMaxScaledClamped = max( _EdgeThresholdMin , lumaMaxScaled ); 130 | half lumaMaxCentre = max( lumaMax , lumaCentre ); 131 | half dirSWMinusNE = lumaSw - lumaNe; 132 | half lumaMaxCMinusMinC = lumaMaxCentre - lumaMinCentre; 133 | half dirSEMinusNW = lumaSe - lumaNw; 134 | 135 | if(lumaMaxCMinusMinC < lumaMaxScaledClamped) 136 | return centre; 137 | 138 | half2 dir; 139 | dir.x = dirSWMinusNE + dirSEMinusNW; 140 | dir.y = dirSWMinusNE - dirSEMinusNW; 141 | 142 | dir = normalize(dir); 143 | half3 col1 = FxaaTexTop(_MainTex, pos.xy - dir * rcpSize.zw).rgb; 144 | half3 col2 = FxaaTexTop(_MainTex, pos.xy + dir * rcpSize.zw).rgb; 145 | 146 | half dirAbsMinTimesC = min( abs( dir.x ) , abs( dir.y ) ) * _EdgeSharpness; 147 | dir = clamp(dir.xy/dirAbsMinTimesC, -2.0, 2.0); 148 | 149 | half3 col3 = FxaaTexTop(_MainTex, pos.xy - dir * rcpSize2.zw).rgb; 150 | half3 col4 = FxaaTexTop(_MainTex, pos.xy + dir * rcpSize2.zw).rgb; 151 | 152 | half3 rgbyA = col1 + col2; 153 | half3 rgbyB = ((col3 + col4) * 0.25) + (rgbyA * 0.25); 154 | 155 | if((Luminance(rgbyA) < lumaMin) || (Luminance(rgbyB) > lumaMax)) 156 | return rgbyA * 0.5; 157 | else 158 | return rgbyB; 159 | } 160 | 161 | half4 frag (v2f i) : COLOR 162 | { 163 | half3 color = FxaaPixelShader(i.uv, i.interpolatorA, i.interpolatorB, i.interpolatorC); 164 | return half4(color, 1.0); 165 | } 166 | 167 | ENDCG 168 | } 169 | } 170 | FallBack Off 171 | } 172 | 173 | -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Shaders/_Antialiasing/FXAA3Console.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c547503fff0e8482ea5793727057041c 3 | ShaderImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Shaders/_Antialiasing/FXAAPreset2.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6f1418cffd12146f2a83be795f6fa5a7 3 | ShaderImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Shaders/_Antialiasing/FXAAPreset3.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c182fa94a5a0a4c02870641efcd38cd5 3 | ShaderImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Shaders/_Antialiasing/NFAA.shader: -------------------------------------------------------------------------------- 1 | 2 | Shader "Hidden/NFAA" { 3 | Properties { 4 | _MainTex ("Base (RGB)", 2D) = "white" {} 5 | _BlurTex ("Base (RGB)", 2D) = "white" {} 6 | 7 | } 8 | 9 | CGINCLUDE 10 | 11 | #include "UnityCG.cginc" 12 | 13 | uniform sampler2D _MainTex; 14 | uniform float4 _MainTex_TexelSize; 15 | uniform float _OffsetScale; 16 | uniform float _BlurRadius; 17 | 18 | struct v2f { 19 | float4 pos : POSITION; 20 | float2 uv[8] : TEXCOORD0; 21 | }; 22 | 23 | v2f vert( appdata_img v ) 24 | { 25 | v2f o; 26 | o.pos = mul (UNITY_MATRIX_MVP, v.vertex); 27 | 28 | float2 uv = v.texcoord.xy; 29 | 30 | float2 up = float2(0.0, _MainTex_TexelSize.y) * _OffsetScale; 31 | float2 right = float2(_MainTex_TexelSize.x, 0.0) * _OffsetScale; 32 | 33 | o.uv[0].xy = uv + up; 34 | o.uv[1].xy = uv - up; 35 | o.uv[2].xy = uv + right; 36 | o.uv[3].xy = uv - right; 37 | o.uv[4].xy = uv - right + up; 38 | o.uv[5].xy = uv - right -up; 39 | o.uv[6].xy = uv + right + up; 40 | o.uv[7].xy = uv + right -up; 41 | 42 | return o; 43 | } 44 | 45 | half4 frag (v2f i) : COLOR 46 | { 47 | // get luminance values 48 | // maybe: experiment with different luminance calculations 49 | float topL = Luminance( tex2D(_MainTex, i.uv[0]).rgb ); 50 | float bottomL = Luminance( tex2D(_MainTex, i.uv[1]).rgb ); 51 | float rightL = Luminance( tex2D(_MainTex, i.uv[2]).rgb ); 52 | float leftL = Luminance( tex2D(_MainTex, i.uv[3]).rgb ); 53 | float leftTopL = Luminance( tex2D(_MainTex, i.uv[4]).rgb ); 54 | float leftBottomL = Luminance( tex2D(_MainTex, i.uv[5]).rgb ); 55 | float rightBottomL = Luminance( tex2D(_MainTex, i.uv[6]).rgb ); 56 | float rightTopL = Luminance( tex2D(_MainTex, i.uv[7]).rgb ); 57 | 58 | // 2 triangle subtractions 59 | float sum0 = dot(float3(1,1,1), float3(rightTopL,bottomL,leftTopL)); 60 | float sum1 = dot(float3(1,1,1), float3(leftBottomL,topL,rightBottomL)); 61 | float sum2 = dot(float3(1,1,1), float3(leftTopL,rightL,leftBottomL)); 62 | float sum3 = dot(float3(1,1,1), float3(rightBottomL,leftL,rightTopL)); 63 | 64 | // figure out "normal" 65 | float2 blurDir = half2((sum0-sum1), (sum3-sum2)); 66 | blurDir *= _MainTex_TexelSize.xy * _BlurRadius; 67 | 68 | // reconstruct normal uv 69 | float2 uv_ = (i.uv[0] + i.uv[1]) * 0.5; 70 | 71 | float4 returnColor = tex2D(_MainTex, uv_); 72 | returnColor += tex2D(_MainTex, uv_+ blurDir.xy); 73 | returnColor += tex2D(_MainTex, uv_ - blurDir.xy); 74 | returnColor += tex2D(_MainTex, uv_ + float2(blurDir.x, -blurDir.y)); 75 | returnColor += tex2D(_MainTex, uv_ - float2(blurDir.x, -blurDir.y)); 76 | 77 | return returnColor * 0.2; 78 | } 79 | 80 | half4 fragDebug (v2f i) : COLOR 81 | { 82 | // get luminance values 83 | // maybe: experiment with different luminance calculations 84 | float topL = Luminance( tex2D(_MainTex, i.uv[0]).rgb ); 85 | float bottomL = Luminance( tex2D(_MainTex, i.uv[1]).rgb ); 86 | float rightL = Luminance( tex2D(_MainTex, i.uv[2]).rgb ); 87 | float leftL = Luminance( tex2D(_MainTex, i.uv[3]).rgb ); 88 | float leftTopL = Luminance( tex2D(_MainTex, i.uv[4]).rgb ); 89 | float leftBottomL = Luminance( tex2D(_MainTex, i.uv[5]).rgb ); 90 | float rightBottomL = Luminance( tex2D(_MainTex, i.uv[6]).rgb ); 91 | float rightTopL = Luminance( tex2D(_MainTex, i.uv[7]).rgb ); 92 | 93 | // 2 triangle subtractions 94 | float sum0 = dot(float3(1,1,1), float3(rightTopL,bottomL,leftTopL)); 95 | float sum1 = dot(float3(1,1,1), float3(leftBottomL,topL,rightBottomL)); 96 | float sum2 = dot(float3(1,1,1), float3(leftTopL,rightL,leftBottomL)); 97 | float sum3 = dot(float3(1,1,1), float3(rightBottomL,leftL,rightTopL)); 98 | 99 | // figure out "normal" 100 | float2 blurDir = half2((sum0-sum1), (sum3-sum2)); 101 | blurDir *= _MainTex_TexelSize.xy * _BlurRadius; 102 | 103 | // reconstruct normal uv 104 | float2 uv_ = (i.uv[0] + i.uv[1]) * 0.5; 105 | 106 | float4 returnColor = tex2D(_MainTex, uv_); 107 | returnColor += tex2D(_MainTex, uv_+ blurDir.xy); 108 | returnColor += tex2D(_MainTex, uv_ - blurDir.xy); 109 | returnColor += tex2D(_MainTex, uv_ + float2(blurDir.x, -blurDir.y)); 110 | returnColor += tex2D(_MainTex, uv_ - float2(blurDir.x, -blurDir.y)); 111 | 112 | blurDir = half2((sum0-sum1), (sum3-sum2)) * _BlurRadius; 113 | return half4(normalize( half3(blurDir,1) * 0.5 + 0.5), 1); 114 | return returnColor * 0.2; 115 | } 116 | 117 | ENDCG 118 | 119 | SubShader { 120 | Pass { 121 | ZTest Always Cull Off ZWrite Off 122 | Fog { Mode off } 123 | 124 | CGPROGRAM 125 | 126 | #pragma vertex vert 127 | #pragma fragment frag 128 | #pragma fragmentoption ARB_precision_hint_fastest 129 | #pragma exclude_renderers d3d11_9x 130 | #pragma glsl 131 | 132 | ENDCG 133 | } 134 | Pass { 135 | ZTest Always Cull Off ZWrite Off 136 | Fog { Mode off } 137 | 138 | CGPROGRAM 139 | 140 | #pragma vertex vert 141 | #pragma fragment fragDebug 142 | #pragma fragmentoption ARB_precision_hint_fastest 143 | #pragma exclude_renderers d3d11_9x 144 | #pragma glsl 145 | 146 | ENDCG 147 | } 148 | } 149 | /* 150 | #pragma vertex vert 151 | #pragma fragment frag 152 | #pragma fragmentoption ARB_precision_hint_fastest 153 | */ 154 | 155 | Fallback off 156 | 157 | } -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Shaders/_Antialiasing/NFAA.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ce0cb2621f6d84e21a87414e471a3cce 3 | ShaderImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Shaders/_Antialiasing/SSAA.shader: -------------------------------------------------------------------------------- 1 | 2 | Shader "Hidden/SSAA" { 3 | Properties { 4 | _MainTex ("Base (RGB)", 2D) = "white" {} 5 | } 6 | 7 | // very simple & fast AA by Emmanuel Julien 8 | 9 | SubShader { 10 | Pass { 11 | 12 | ZTest Always Cull Off ZWrite Off 13 | Fog { Mode off } 14 | 15 | CGPROGRAM 16 | 17 | #pragma vertex vert 18 | #pragma fragment frag 19 | #pragma fragmentoption ARB_precision_hint_fastest 20 | 21 | #include "UnityCG.cginc" 22 | 23 | uniform sampler2D _MainTex; 24 | uniform float4 _MainTex_TexelSize; 25 | 26 | struct v2f { 27 | float4 pos : POSITION; 28 | float2 uv[5] : TEXCOORD0; 29 | }; 30 | 31 | v2f vert( appdata_img v ) { 32 | v2f o; 33 | o.pos = mul (UNITY_MATRIX_MVP, v.vertex); 34 | 35 | float2 uv = v.texcoord.xy; 36 | 37 | float w = 1.75; 38 | 39 | float2 up = float2(0.0, _MainTex_TexelSize.y) * w; 40 | float2 right = float2(_MainTex_TexelSize.x, 0.0) * w; 41 | 42 | o.uv[0].xy = uv - up; 43 | o.uv[1].xy = uv - right; 44 | o.uv[2].xy = uv + right; 45 | o.uv[3].xy = uv + up; 46 | 47 | o.uv[4].xy = uv; 48 | 49 | return o; 50 | } 51 | 52 | half4 frag (v2f i) : COLOR 53 | { 54 | half4 outColor; 55 | 56 | float t = Luminance( tex2D( _MainTex, i.uv[0] ).xyz ); 57 | float l = Luminance( tex2D( _MainTex, i.uv[1] ).xyz); 58 | float r = Luminance( tex2D( _MainTex, i.uv[2] ).xyz); 59 | float b = Luminance( tex2D( _MainTex, i.uv[3] ).xyz); 60 | 61 | half2 n = half2( -( t - b ), r - l ); 62 | float nl = length( n ); 63 | 64 | if ( nl < (1.0 / 16.0) ) 65 | outColor = tex2D( _MainTex, i.uv[4] ); 66 | else { 67 | n *= _MainTex_TexelSize.xy / nl; 68 | 69 | half4 o = tex2D( _MainTex, i.uv[4]); 70 | half4 t0 = tex2D( _MainTex, i.uv[4] + n * 0.5) * 0.9; 71 | half4 t1 = tex2D( _MainTex, i.uv[4] - n * 0.5) * 0.9; 72 | half4 t2 = tex2D( _MainTex, i.uv[4] + n) * 0.75; 73 | half4 t3 = tex2D( _MainTex, i.uv[4] - n) * 0.75; 74 | 75 | outColor = (o + t0 + t1 + t2 + t3) / 4.3; 76 | } 77 | 78 | return outColor; 79 | } 80 | 81 | ENDCG 82 | } 83 | } 84 | 85 | Fallback off 86 | 87 | } -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Shaders/_Antialiasing/SSAA.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b3728d1488b02490cbd196c7941bf1f8 3 | ShaderImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Shaders/_BloomAndFlares.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d6ef58fc6f637406bbe6814a19c377f8 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Shaders/_BloomAndFlares/Blend.shader: -------------------------------------------------------------------------------- 1 | Shader "Hidden/Blend" { 2 | Properties { 3 | _MainTex ("Screen Blended", 2D) = "" {} 4 | _ColorBuffer ("Color", 2D) = "" {} 5 | } 6 | 7 | CGINCLUDE 8 | 9 | #include "UnityCG.cginc" 10 | 11 | struct v2f { 12 | float4 pos : POSITION; 13 | float2 uv[2] : TEXCOORD0; 14 | }; 15 | struct v2f_mt { 16 | float4 pos : POSITION; 17 | float2 uv[4] : TEXCOORD0; 18 | }; 19 | 20 | sampler2D _ColorBuffer; 21 | sampler2D _MainTex; 22 | 23 | half _Intensity; 24 | half4 _ColorBuffer_TexelSize; 25 | half4 _MainTex_TexelSize; 26 | 27 | v2f vert( appdata_img v ) { 28 | v2f o; 29 | o.pos = mul(UNITY_MATRIX_MVP, v.vertex); 30 | o.uv[0] = v.texcoord.xy; 31 | o.uv[1] = v.texcoord.xy; 32 | 33 | #if UNITY_UV_STARTS_AT_TOP 34 | if (_ColorBuffer_TexelSize.y < 0) 35 | o.uv[1].y = 1-o.uv[1].y; 36 | #endif 37 | 38 | return o; 39 | } 40 | 41 | v2f_mt vertMultiTap( appdata_img v ) { 42 | v2f_mt o; 43 | o.pos = mul(UNITY_MATRIX_MVP, v.vertex); 44 | o.uv[0] = v.texcoord.xy + _MainTex_TexelSize.xy * 0.5; 45 | o.uv[1] = v.texcoord.xy - _MainTex_TexelSize.xy * 0.5; 46 | o.uv[2] = v.texcoord.xy - _MainTex_TexelSize.xy * half2(1,-1) * 0.5; 47 | o.uv[3] = v.texcoord.xy + _MainTex_TexelSize.xy * half2(1,-1) * 0.5; 48 | return o; 49 | } 50 | 51 | half4 fragScreen (v2f i) : COLOR { 52 | half4 toBlend = saturate (tex2D(_MainTex, i.uv[0]) * _Intensity); 53 | return 1-(1-toBlend)*(1-tex2D(_ColorBuffer, i.uv[1])); 54 | } 55 | 56 | half4 fragAdd (v2f i) : COLOR { 57 | return tex2D(_MainTex, i.uv[0].xy) * _Intensity + tex2D(_ColorBuffer, i.uv[1]); 58 | } 59 | 60 | half4 fragVignetteBlend (v2f i) : COLOR { 61 | return tex2D(_MainTex, i.uv[0].xy) * tex2D(_ColorBuffer, i.uv[0]); 62 | } 63 | 64 | half4 fragMultiTap (v2f_mt i) : COLOR { 65 | half4 outColor = tex2D(_MainTex, i.uv[0].xy); 66 | outColor += tex2D(_MainTex, i.uv[1].xy); 67 | outColor += tex2D(_MainTex, i.uv[2].xy); 68 | outColor += tex2D(_MainTex, i.uv[3].xy); 69 | return outColor * 0.25; 70 | } 71 | 72 | ENDCG 73 | 74 | Subshader { 75 | ZTest Always Cull Off ZWrite Off 76 | Fog { Mode off } 77 | 78 | // 0: nicer & softer "screen" blend mode 79 | Pass { 80 | 81 | CGPROGRAM 82 | #pragma fragmentoption ARB_precision_hint_fastest 83 | #pragma vertex vert 84 | #pragma fragment fragScreen 85 | ENDCG 86 | } 87 | 88 | // 1: simple "add" blend mode 89 | Pass { 90 | 91 | CGPROGRAM 92 | #pragma fragmentoption ARB_precision_hint_fastest 93 | #pragma vertex vert 94 | #pragma fragment fragAdd 95 | ENDCG 96 | } 97 | // 2: used for "stable" downsampling 98 | Pass { 99 | 100 | CGPROGRAM 101 | #pragma fragmentoption ARB_precision_hint_fastest 102 | #pragma vertex vertMultiTap 103 | #pragma fragment fragMultiTap 104 | ENDCG 105 | } 106 | // 3: vignette blending 107 | Pass { 108 | 109 | CGPROGRAM 110 | #pragma fragmentoption ARB_precision_hint_fastest 111 | #pragma vertex vert 112 | #pragma fragment fragVignetteBlend 113 | ENDCG 114 | } 115 | } 116 | 117 | Fallback off 118 | 119 | } // shader -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Shaders/_BloomAndFlares/Blend.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 53b3960ee3d3d4a5caa8d5473d120187 3 | ShaderImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Shaders/_BloomAndFlares/BlendForBloom.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7856cbff0a0ca45c787d5431eb805bb0 3 | ShaderImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Shaders/_BloomAndFlares/BlendOneOne.shader: -------------------------------------------------------------------------------- 1 | Shader "Hidden/BlendOneOne" { 2 | Properties { 3 | _MainTex ("-", 2D) = "" {} 4 | } 5 | 6 | CGINCLUDE 7 | 8 | #include "UnityCG.cginc" 9 | 10 | struct v2f { 11 | float4 pos : POSITION; 12 | float2 uv : TEXCOORD0; 13 | }; 14 | 15 | sampler2D _MainTex; 16 | half _Intensity; 17 | 18 | v2f vert( appdata_img v ) { 19 | v2f o; 20 | o.pos = mul(UNITY_MATRIX_MVP, v.vertex); 21 | o.uv = v.texcoord.xy; 22 | return o; 23 | } 24 | 25 | half4 frag(v2f i) : COLOR { 26 | return tex2D(_MainTex, i.uv) * _Intensity; 27 | } 28 | 29 | ENDCG 30 | 31 | Subshader { 32 | 33 | Pass { 34 | BlendOp Add 35 | Blend One One 36 | 37 | ZTest Always Cull Off ZWrite Off 38 | Fog { Mode off } 39 | 40 | CGPROGRAM 41 | #pragma fragmentoption ARB_precision_hint_fastest 42 | #pragma vertex vert 43 | #pragma fragment frag 44 | ENDCG 45 | } 46 | } 47 | 48 | Fallback off 49 | 50 | } -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Shaders/_BloomAndFlares/BlendOneOne.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f7898d203e9b94c0dbe2bf9dd5cb32c0 3 | ShaderImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Shaders/_BloomAndFlares/BlurAndFlares.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: be6e39cf196f146d5be72fbefb18ed75 3 | ShaderImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Shaders/_BloomAndFlares/BrightPassFilter.shader: -------------------------------------------------------------------------------- 1 | Shader "Hidden/BrightPassFilterForBloom" 2 | { 3 | Properties 4 | { 5 | _MainTex ("Base (RGB)", 2D) = "" {} 6 | } 7 | 8 | CGINCLUDE 9 | 10 | #include "UnityCG.cginc" 11 | 12 | struct v2f 13 | { 14 | float4 pos : POSITION; 15 | float2 uv : TEXCOORD0; 16 | }; 17 | 18 | sampler2D _MainTex; 19 | 20 | half4 threshhold; 21 | half useSrcAlphaAsMask; 22 | 23 | v2f vert( appdata_img v ) 24 | { 25 | v2f o; 26 | o.pos = mul(UNITY_MATRIX_MVP, v.vertex); 27 | o.uv = v.texcoord.xy; 28 | return o; 29 | } 30 | 31 | half4 frag(v2f i) : COLOR 32 | { 33 | half4 color = tex2D(_MainTex, i.uv); 34 | //color = color * saturate((color-threshhold.x) * 75.0); // didn't go well with HDR and din't make sense 35 | color = color * lerp(1.0, color.a, useSrcAlphaAsMask); 36 | color = max(half4(0,0,0,0), color-threshhold.x); 37 | return color; 38 | } 39 | 40 | ENDCG 41 | 42 | Subshader 43 | { 44 | Pass 45 | { 46 | ZTest Always Cull Off ZWrite Off 47 | Fog { Mode off } 48 | 49 | CGPROGRAM 50 | 51 | #pragma fragmentoption ARB_precision_hint_fastest 52 | #pragma vertex vert 53 | #pragma fragment frag 54 | 55 | ENDCG 56 | } 57 | } 58 | Fallback off 59 | } -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Shaders/_BloomAndFlares/BrightPassFilter.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 186c4c0d31e314f049595dcbaf4ca129 3 | ShaderImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Shaders/_BloomAndFlares/BrightPassFilter2.shader: -------------------------------------------------------------------------------- 1 | Shader "Hidden/BrightPassFilter2" 2 | { 3 | Properties 4 | { 5 | _MainTex ("Base (RGB)", 2D) = "" {} 6 | } 7 | 8 | CGINCLUDE 9 | 10 | #include "UnityCG.cginc" 11 | 12 | struct v2f 13 | { 14 | float4 pos : POSITION; 15 | float2 uv : TEXCOORD0; 16 | }; 17 | 18 | sampler2D _MainTex; 19 | 20 | half4 _Threshhold; 21 | 22 | v2f vert( appdata_img v ) 23 | { 24 | v2f o; 25 | o.pos = mul(UNITY_MATRIX_MVP, v.vertex); 26 | o.uv = v.texcoord.xy; 27 | return o; 28 | } 29 | 30 | half4 fragScalarThresh(v2f i) : COLOR 31 | { 32 | half4 color = tex2D(_MainTex, i.uv); 33 | color.rgb = color.rgb; 34 | color.rgb = max(half3(0,0,0), color.rgb-_Threshhold.xxx); 35 | return color; 36 | } 37 | 38 | half4 fragColorThresh(v2f i) : COLOR 39 | { 40 | half4 color = tex2D(_MainTex, i.uv); 41 | color.rgb = max(half3(0,0,0), color.rgb-_Threshhold.rgb); 42 | return color; 43 | } 44 | 45 | ENDCG 46 | 47 | Subshader 48 | { 49 | Pass 50 | { 51 | ZTest Always Cull Off ZWrite Off 52 | Fog { Mode off } 53 | 54 | CGPROGRAM 55 | 56 | #pragma fragmentoption ARB_precision_hint_fastest 57 | #pragma vertex vert 58 | #pragma fragment fragScalarThresh 59 | 60 | ENDCG 61 | } 62 | 63 | Pass 64 | { 65 | ZTest Always Cull Off ZWrite Off 66 | Fog { Mode off } 67 | 68 | CGPROGRAM 69 | 70 | #pragma fragmentoption ARB_precision_hint_fastest 71 | #pragma vertex vert 72 | #pragma fragment fragColorThresh 73 | 74 | ENDCG 75 | } 76 | } 77 | Fallback off 78 | } -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Shaders/_BloomAndFlares/BrightPassFilter2.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0aeaa4cb29f5d4e9c8455f04c8575c8c 3 | ShaderImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Shaders/_BloomAndFlares/LensFlareCreate.shader: -------------------------------------------------------------------------------- 1 | Shader "Hidden/LensFlareCreate" { 2 | Properties { 3 | _MainTex ("Base (RGB)", 2D) = "" {} 4 | } 5 | 6 | CGINCLUDE 7 | 8 | #include "UnityCG.cginc" 9 | 10 | struct v2f { 11 | float4 pos : POSITION; 12 | float2 uv[4] : TEXCOORD0; 13 | }; 14 | 15 | fixed4 colorA; 16 | fixed4 colorB; 17 | fixed4 colorC; 18 | fixed4 colorD; 19 | 20 | sampler2D _MainTex; 21 | 22 | v2f vert( appdata_img v ) { 23 | v2f o; 24 | o.pos = mul(UNITY_MATRIX_MVP, v.vertex); 25 | 26 | o.uv[0] = ( ( v.texcoord.xy - 0.5 ) * -0.85 ) + 0.5; 27 | o.uv[1] = ( ( v.texcoord.xy - 0.5 ) * -1.45 ) + 0.5; 28 | o.uv[2] = ( ( v.texcoord.xy - 0.5 ) * -2.55 ) + 0.5; 29 | o.uv[3] = ( ( v.texcoord.xy - 0.5 ) * -4.15 ) + 0.5; 30 | return o; 31 | } 32 | 33 | fixed4 frag(v2f i) : COLOR { 34 | fixed4 color = float4 (0,0,0,0); 35 | color += tex2D(_MainTex, i.uv[0] ) * colorA; 36 | color += tex2D(_MainTex, i.uv[1] ) * colorB; 37 | color += tex2D(_MainTex, i.uv[2] ) * colorC; 38 | color += tex2D(_MainTex, i.uv[3] ) * colorD; 39 | return color; 40 | } 41 | 42 | ENDCG 43 | 44 | Subshader { 45 | Blend One One 46 | Pass { 47 | ZTest Always Cull Off ZWrite Off 48 | Fog { Mode off } 49 | 50 | CGPROGRAM 51 | 52 | #pragma fragmentoption ARB_precision_hint_fastest 53 | 54 | #pragma vertex vert 55 | #pragma fragment frag 56 | 57 | ENDCG 58 | } 59 | } 60 | 61 | Fallback off 62 | 63 | } // shader -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Shaders/_BloomAndFlares/LensFlareCreate.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 459fe69d2f6d74ddb92f04dbf45a866b 3 | ShaderImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Shaders/_BloomAndFlares/MultiPassHollywoodFlares.shader: -------------------------------------------------------------------------------- 1 | Shader "Hidden/MultipassHollywoodFlares" { 2 | Properties { 3 | _MainTex ("Base (RGB)", 2D) = "" {} 4 | _NonBlurredTex ("Base (RGB)", 2D) = "" {} 5 | } 6 | 7 | CGINCLUDE 8 | 9 | #include "UnityCG.cginc" 10 | 11 | struct v2f { 12 | half4 pos : POSITION; 13 | half2 uv : TEXCOORD0; 14 | }; 15 | 16 | struct v2f_opts { 17 | half4 pos : POSITION; 18 | half2 uv[7] : TEXCOORD0; 19 | }; 20 | 21 | half4 offsets; 22 | half4 tintColor; 23 | 24 | half stretchWidth; 25 | half2 _Threshhold; 26 | 27 | half4 _MainTex_TexelSize; 28 | 29 | sampler2D _MainTex; 30 | sampler2D _NonBlurredTex; 31 | 32 | v2f vert (appdata_img v) { 33 | v2f o; 34 | o.pos = mul(UNITY_MATRIX_MVP, v.vertex); 35 | o.uv = v.texcoord.xy; 36 | return o; 37 | } 38 | 39 | v2f_opts vertStretch (appdata_img v) { 40 | v2f_opts o; 41 | o.pos = mul(UNITY_MATRIX_MVP, v.vertex); 42 | half b = stretchWidth; 43 | o.uv[0] = v.texcoord.xy; 44 | o.uv[1] = v.texcoord.xy + b * 2.0 * offsets.xy; 45 | o.uv[2] = v.texcoord.xy - b * 2.0 * offsets.xy; 46 | o.uv[3] = v.texcoord.xy + b * 4.0 * offsets.xy; 47 | o.uv[4] = v.texcoord.xy - b * 4.0 * offsets.xy; 48 | o.uv[5] = v.texcoord.xy + b * 6.0 * offsets.xy; 49 | o.uv[6] = v.texcoord.xy - b * 6.0 * offsets.xy; 50 | return o; 51 | } 52 | 53 | v2f_opts vertVerticalCoords (appdata_img v) { 54 | v2f_opts o; 55 | o.pos = mul(UNITY_MATRIX_MVP, v.vertex); 56 | o.uv[0] = v.texcoord.xy; 57 | o.uv[1] = v.texcoord.xy + 0.5 * _MainTex_TexelSize.xy * half2(0,1); 58 | o.uv[2] = v.texcoord.xy - 0.5 * _MainTex_TexelSize.xy * half2(0,1); 59 | o.uv[3] = v.texcoord.xy + 1.5 * _MainTex_TexelSize.xy * half2(0,1); 60 | o.uv[4] = v.texcoord.xy - 1.5 * _MainTex_TexelSize.xy * half2(0,1); 61 | o.uv[5] = v.texcoord.xy + 2.5 * _MainTex_TexelSize.xy * half2(0,1); 62 | o.uv[6] = v.texcoord.xy - 2.5 * _MainTex_TexelSize.xy * half2(0,1); 63 | return o; 64 | } 65 | 66 | // deprecated 67 | half4 fragPrepare (v2f i) : COLOR { 68 | half4 color = tex2D (_MainTex, i.uv); 69 | half4 colorNb = tex2D (_NonBlurredTex, i.uv); 70 | return color * tintColor * 0.5 + colorNb * normalize (tintColor) * 0.5; 71 | } 72 | 73 | 74 | half4 fragPreAndCut (v2f_opts i) : COLOR { 75 | half4 color = tex2D (_MainTex, i.uv[0]); 76 | color += tex2D (_MainTex, i.uv[1]); 77 | color += tex2D (_MainTex, i.uv[2]); 78 | color += tex2D (_MainTex, i.uv[3]); 79 | color += tex2D (_MainTex, i.uv[4]); 80 | color += tex2D (_MainTex, i.uv[5]); 81 | color += tex2D (_MainTex, i.uv[6]); 82 | return max(color / 7.0 - _Threshhold.x, 0.0) * _Threshhold.y * tintColor; 83 | } 84 | 85 | half4 fragStretch (v2f_opts i) : COLOR { 86 | half4 color = tex2D (_MainTex, i.uv[0]); 87 | color = max (color, tex2D (_MainTex, i.uv[1])); 88 | color = max (color, tex2D (_MainTex, i.uv[2])); 89 | color = max (color, tex2D (_MainTex, i.uv[3])); 90 | color = max (color, tex2D (_MainTex, i.uv[4])); 91 | color = max (color, tex2D (_MainTex, i.uv[5])); 92 | color = max (color, tex2D (_MainTex, i.uv[6])); 93 | return color; 94 | } 95 | 96 | half4 fragPost (v2f_opts i) : COLOR { 97 | half4 color = tex2D (_MainTex, i.uv[0]); 98 | color += tex2D (_MainTex, i.uv[1]); 99 | color += tex2D (_MainTex, i.uv[2]); 100 | color += tex2D (_MainTex, i.uv[3]); 101 | color += tex2D (_MainTex, i.uv[4]); 102 | color += tex2D (_MainTex, i.uv[5]); 103 | color += tex2D (_MainTex, i.uv[6]); 104 | return color * 1.0/(7.0 + Luminance(color.rgb) + 0.5); // this also makes it a little noisy 105 | } 106 | 107 | ENDCG 108 | 109 | Subshader { 110 | ZTest Always Cull Off ZWrite Off 111 | Fog { Mode off } 112 | Pass { 113 | 114 | CGPROGRAM 115 | 116 | #pragma fragmentoption ARB_precision_hint_fastest 117 | #pragma vertex vert 118 | #pragma fragment fragPrepare 119 | 120 | ENDCG 121 | } 122 | 123 | Pass { 124 | 125 | CGPROGRAM 126 | 127 | #pragma fragmentoption ARB_precision_hint_fastest 128 | #pragma vertex vertStretch 129 | #pragma fragment fragStretch 130 | 131 | ENDCG 132 | } 133 | 134 | Pass { 135 | 136 | CGPROGRAM 137 | 138 | #pragma fragmentoption ARB_precision_hint_fastest 139 | #pragma vertex vertVerticalCoords 140 | #pragma fragment fragPreAndCut 141 | 142 | ENDCG 143 | } 144 | 145 | Pass { 146 | 147 | CGPROGRAM 148 | 149 | #pragma fragmentoption ARB_precision_hint_fastest 150 | #pragma vertex vertVerticalCoords 151 | #pragma fragment fragPost 152 | 153 | ENDCG 154 | } 155 | } 156 | 157 | Fallback off 158 | 159 | } -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Shaders/_BloomAndFlares/MultiPassHollywoodFlares.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e2baf3cae8edc4daf94c9adc2154be00 3 | ShaderImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Shaders/_BloomAndFlares/SeparableBlurPlus.shader: -------------------------------------------------------------------------------- 1 | Shader "Hidden/SeparableBlurPlus" { 2 | Properties { 3 | _MainTex ("Base (RGB)", 2D) = "" {} 4 | } 5 | 6 | CGINCLUDE 7 | 8 | #include "UnityCG.cginc" 9 | 10 | struct v2f { 11 | half4 pos : POSITION; 12 | half2 uv : TEXCOORD0; 13 | half4 uv01 : TEXCOORD1; 14 | half4 uv23 : TEXCOORD2; 15 | half4 uv45 : TEXCOORD3; 16 | half4 uv67 : TEXCOORD4; 17 | }; 18 | 19 | half4 offsets; 20 | 21 | sampler2D _MainTex; 22 | 23 | v2f vert (appdata_img v) { 24 | v2f o; 25 | o.pos = mul(UNITY_MATRIX_MVP, v.vertex); 26 | 27 | o.uv.xy = v.texcoord.xy; 28 | 29 | o.uv01 = v.texcoord.xyxy + offsets.xyxy * half4(1,1, -1,-1); 30 | o.uv23 = v.texcoord.xyxy + offsets.xyxy * half4(1,1, -1,-1) * 2.0; 31 | o.uv45 = v.texcoord.xyxy + offsets.xyxy * half4(1,1, -1,-1) * 3.0; 32 | o.uv67 = v.texcoord.xyxy + offsets.xyxy * half4(1,1, -1,-1) * 4.5; 33 | o.uv67 = v.texcoord.xyxy + offsets.xyxy * half4(1,1, -1,-1) * 6.5; 34 | 35 | return o; 36 | } 37 | 38 | half4 frag (v2f i) : COLOR { 39 | half4 color = half4 (0,0,0,0); 40 | 41 | color += 0.225 * tex2D (_MainTex, i.uv); 42 | color += 0.150 * tex2D (_MainTex, i.uv01.xy); 43 | color += 0.150 * tex2D (_MainTex, i.uv01.zw); 44 | color += 0.110 * tex2D (_MainTex, i.uv23.xy); 45 | color += 0.110 * tex2D (_MainTex, i.uv23.zw); 46 | color += 0.075 * tex2D (_MainTex, i.uv45.xy); 47 | color += 0.075 * tex2D (_MainTex, i.uv45.zw); 48 | color += 0.0525 * tex2D (_MainTex, i.uv67.xy); 49 | color += 0.0525 * tex2D (_MainTex, i.uv67.zw); 50 | 51 | return color; 52 | } 53 | 54 | ENDCG 55 | 56 | Subshader { 57 | Pass { 58 | ZTest Always Cull Off ZWrite Off 59 | Fog { Mode off } 60 | 61 | CGPROGRAM 62 | #pragma fragmentoption ARB_precision_hint_fastest 63 | // not enough temporary registers for flash 64 | #pragma exclude_renderers flash 65 | #pragma vertex vert 66 | #pragma fragment frag 67 | ENDCG 68 | } 69 | } 70 | 71 | Fallback off 72 | 73 | } // shader -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Shaders/_BloomAndFlares/SeparableBlurPlus.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a9df009a214e24a5ebbf271595f8d5b6 3 | ShaderImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Shaders/_BloomAndFlares/VignetteShader.shader: -------------------------------------------------------------------------------- 1 | Shader "Hidden/VignetteShader" { 2 | Properties { 3 | _MainTex ("Base (RGB)", 2D) = "" {} 4 | } 5 | 6 | CGINCLUDE 7 | 8 | #include "UnityCG.cginc" 9 | 10 | struct v2f { 11 | float4 pos : POSITION; 12 | float2 uv : TEXCOORD0; 13 | }; 14 | 15 | sampler2D _MainTex; 16 | 17 | float4 _MainTex_TexelSize; 18 | float vignetteIntensity; 19 | 20 | v2f vert( appdata_img v ) { 21 | v2f o; 22 | o.pos = mul(UNITY_MATRIX_MVP, v.vertex); 23 | 24 | o.uv = v.texcoord.xy; 25 | return o; 26 | } 27 | 28 | half4 frag(v2f i) : COLOR { 29 | half2 coords = i.uv; 30 | half2 uv = i.uv; 31 | 32 | coords = (coords - 0.5) * 2.0; 33 | half coordDot = dot (coords,coords); 34 | half4 color = tex2D (_MainTex, uv); 35 | 36 | float mask = 1.0 - coordDot * vignetteIntensity; 37 | return color * mask; 38 | } 39 | 40 | ENDCG 41 | 42 | Subshader { 43 | Pass { 44 | ZTest Always Cull Off ZWrite Off 45 | Fog { Mode off } 46 | 47 | CGPROGRAM 48 | 49 | #pragma fragmentoption ARB_precision_hint_fastest 50 | 51 | #pragma vertex vert 52 | #pragma fragment frag 53 | 54 | ENDCG 55 | } 56 | } 57 | 58 | Fallback off 59 | 60 | } // shader -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Shaders/_BloomAndFlares/VignetteShader.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 562f620336e024ac99992ff05725a89a 3 | ShaderImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Shaders/frag_ao.cginc: -------------------------------------------------------------------------------- 1 | 2 | half frag_ao (v2f_ao i, int sampleCount, float3 samples[INPUT_SAMPLE_COUNT]) 3 | { 4 | // read random normal from noise texture 5 | half3 randN = tex2D (_RandomTexture, i.uvr).xyz * 2.0 - 1.0; 6 | 7 | // read scene depth/normal 8 | float4 depthnormal = tex2D (_CameraDepthNormalsTexture, i.uv); 9 | float3 viewNorm; 10 | float depth; 11 | DecodeDepthNormal (depthnormal, depth, viewNorm); 12 | depth *= _ProjectionParams.z; 13 | float scale = _Params.x / depth; 14 | 15 | // accumulated occlusion factor 16 | float occ = 0.0; 17 | for (int s = 0; s < sampleCount; ++s) 18 | { 19 | // Reflect sample direction around a random vector 20 | half3 randomDir = reflect(samples[s], randN); 21 | 22 | // Make it point to the upper hemisphere 23 | half flip = (dot(viewNorm,randomDir)<0) ? 1.0 : -1.0; 24 | randomDir *= -flip; 25 | // Add a bit of normal to reduce self shadowing 26 | randomDir += viewNorm * 0.3; 27 | 28 | float2 offset = randomDir.xy * scale; 29 | float sD = depth - (randomDir.z * _Params.x); 30 | 31 | // Sample depth at offset location 32 | float4 sampleND = tex2D (_CameraDepthNormalsTexture, i.uv + offset); 33 | float sampleD; 34 | float3 sampleN; 35 | DecodeDepthNormal (sampleND, sampleD, sampleN); 36 | sampleD *= _ProjectionParams.z; 37 | float zd = saturate(sD-sampleD); 38 | if (zd > _Params.y) { 39 | // This sample occludes, contribute to occlusion 40 | occ += pow(1-zd,_Params.z); // sc2 41 | //occ += 1.0-saturate(pow(1.0 - zd, 11.0) + zd); // nullsq 42 | //occ += 1.0/(1.0+zd*zd*10); // iq 43 | } 44 | } 45 | occ /= sampleCount; 46 | return 1-occ; 47 | } 48 | 49 | -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Shaders/frag_ao.cginc.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 51ae11a5cd82fda468a85179946d672a 3 | ShaderImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Textures.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f9372f23586ef470b97d53856af88487 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Textures/ContrastEnhanced3D16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assets/Effects/_Sources/Textures/ContrastEnhanced3D16.png -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Textures/ContrastEnhanced3D16.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ecd9a2c463dcb476891e43d7c9f16ffa 3 | TextureImporter: 4 | serializedVersion: 2 5 | mipmaps: 6 | mipMapMode: 0 7 | enableMipMap: 0 8 | linearTexture: 0 9 | correctGamma: 0 10 | fadeOut: 0 11 | borderMipMap: 0 12 | mipMapFadeDistanceStart: 1 13 | mipMapFadeDistanceEnd: 3 14 | bumpmap: 15 | convertToNormalMap: 0 16 | externalNormalMap: 0 17 | heightScale: .25 18 | normalMapFilter: 0 19 | isReadable: 1 20 | grayScaleToAlpha: 0 21 | generateCubemap: 0 22 | seamlessCubemap: 0 23 | textureFormat: -3 24 | maxTextureSize: 2048 25 | textureSettings: 26 | filterMode: -1 27 | aniso: -1 28 | mipBias: -1 29 | wrapMode: -1 30 | nPOTScale: 1 31 | lightmap: 0 32 | compressionQuality: 50 33 | textureType: 5 34 | buildTargetSettings: [] 35 | userData: 36 | -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Textures/MotionBlurJitter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assets/Effects/_Sources/Textures/MotionBlurJitter.png -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Textures/MotionBlurJitter.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 31f5a8611c4ed1245b18456206e798dc 3 | TextureImporter: 4 | serializedVersion: 2 5 | mipmaps: 6 | mipMapMode: 0 7 | enableMipMap: 0 8 | linearTexture: 0 9 | correctGamma: 0 10 | fadeOut: 0 11 | borderMipMap: 0 12 | mipMapFadeDistanceStart: 2 13 | mipMapFadeDistanceEnd: 3 14 | bumpmap: 15 | convertToNormalMap: 0 16 | externalNormalMap: 0 17 | heightScale: .25 18 | normalMapFilter: 0 19 | isReadable: 0 20 | grayScaleToAlpha: 0 21 | generateCubemap: 0 22 | seamlessCubemap: 0 23 | textureFormat: 3 24 | maxTextureSize: 1024 25 | textureSettings: 26 | filterMode: 1 27 | aniso: 1 28 | mipBias: -1 29 | wrapMode: 0 30 | nPOTScale: 0 31 | lightmap: 0 32 | compressionQuality: 50 33 | textureType: -1 34 | buildTargetSettings: [] 35 | userData: 36 | -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Textures/Neutral3D16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assets/Effects/_Sources/Textures/Neutral3D16.png -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Textures/Neutral3D16.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a4b474cd484494a4aaa4bbf928219d09 3 | TextureImporter: 4 | serializedVersion: 2 5 | mipmaps: 6 | mipMapMode: 0 7 | enableMipMap: 0 8 | linearTexture: 0 9 | correctGamma: 0 10 | fadeOut: 0 11 | borderMipMap: 0 12 | mipMapFadeDistanceStart: 1 13 | mipMapFadeDistanceEnd: 3 14 | bumpmap: 15 | convertToNormalMap: 0 16 | externalNormalMap: 0 17 | heightScale: .25 18 | normalMapFilter: 0 19 | isReadable: 1 20 | grayScaleToAlpha: 0 21 | generateCubemap: 0 22 | seamlessCubemap: 0 23 | textureFormat: -3 24 | maxTextureSize: 2048 25 | textureSettings: 26 | filterMode: -1 27 | aniso: -1 28 | mipBias: -1 29 | wrapMode: -1 30 | nPOTScale: 1 31 | lightmap: 0 32 | compressionQuality: 50 33 | textureType: 5 34 | buildTargetSettings: [] 35 | userData: 36 | -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Textures/Noise.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assets/Effects/_Sources/Textures/Noise.png -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Textures/Noise.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e80c3c84ea861404d8a427db8b7abf04 3 | TextureImporter: 4 | serializedVersion: 2 5 | mipmaps: 6 | mipMapMode: 0 7 | enableMipMap: 0 8 | linearTexture: 0 9 | correctGamma: 0 10 | fadeOut: 0 11 | borderMipMap: 0 12 | mipMapFadeDistanceStart: 2 13 | mipMapFadeDistanceEnd: 3 14 | bumpmap: 15 | convertToNormalMap: 0 16 | externalNormalMap: 0 17 | heightScale: .25 18 | normalMapFilter: 0 19 | isReadable: 0 20 | grayScaleToAlpha: 0 21 | generateCubemap: 0 22 | seamlessCubemap: 0 23 | textureFormat: 3 24 | maxTextureSize: 64 25 | textureSettings: 26 | filterMode: 2 27 | aniso: 1 28 | mipBias: -1 29 | wrapMode: 0 30 | nPOTScale: 0 31 | lightmap: 0 32 | compressionQuality: 50 33 | textureType: -1 34 | buildTargetSettings: [] 35 | userData: 36 | -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Textures/NoiseAndGrain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assets/Effects/_Sources/Textures/NoiseAndGrain.png -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Textures/NoiseAndGrain.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7a632f967e8ad42f5bd275898151ab6a 3 | TextureImporter: 4 | serializedVersion: 2 5 | mipmaps: 6 | mipMapMode: 0 7 | enableMipMap: 0 8 | linearTexture: 1 9 | correctGamma: 1 10 | fadeOut: 0 11 | borderMipMap: 0 12 | mipMapFadeDistanceStart: 1 13 | mipMapFadeDistanceEnd: 3 14 | bumpmap: 15 | convertToNormalMap: 0 16 | externalNormalMap: 0 17 | heightScale: .25 18 | normalMapFilter: 0 19 | isReadable: 0 20 | grayScaleToAlpha: 1 21 | generateCubemap: 0 22 | seamlessCubemap: 0 23 | textureFormat: -1 24 | maxTextureSize: 64 25 | textureSettings: 26 | filterMode: -1 27 | aniso: -1 28 | mipBias: -1 29 | wrapMode: -1 30 | nPOTScale: 1 31 | lightmap: 0 32 | compressionQuality: 50 33 | textureType: 5 34 | buildTargetSettings: [] 35 | userData: 36 | -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Textures/NoiseEffectGrain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assets/Effects/_Sources/Textures/NoiseEffectGrain.png -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Textures/NoiseEffectGrain.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ffa9c02760c2b4e8eb9814ec06c4b05b 3 | TextureImporter: 4 | serializedVersion: 2 5 | mipmaps: 6 | mipMapMode: 0 7 | enableMipMap: 1 8 | linearTexture: 0 9 | correctGamma: 0 10 | fadeOut: 0 11 | borderMipMap: 0 12 | mipMapFadeDistanceStart: 2 13 | mipMapFadeDistanceEnd: 3 14 | bumpmap: 15 | convertToNormalMap: 0 16 | externalNormalMap: 0 17 | heightScale: .25 18 | normalMapFilter: 0 19 | isReadable: 0 20 | grayScaleToAlpha: 0 21 | generateCubemap: 0 22 | seamlessCubemap: 0 23 | textureFormat: 3 24 | maxTextureSize: 1024 25 | textureSettings: 26 | filterMode: 1 27 | aniso: 1 28 | mipBias: 0 29 | wrapMode: 0 30 | nPOTScale: 0 31 | lightmap: 0 32 | compressionQuality: 50 33 | textureType: -1 34 | buildTargetSettings: [] 35 | userData: 36 | -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Textures/NoiseEffectScratch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assets/Effects/_Sources/Textures/NoiseEffectScratch.png -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Textures/NoiseEffectScratch.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6205c27cc031f4e66b8ea90d1bfaa158 3 | TextureImporter: 4 | serializedVersion: 2 5 | mipmaps: 6 | mipMapMode: 0 7 | enableMipMap: 1 8 | linearTexture: 0 9 | correctGamma: 0 10 | fadeOut: 0 11 | borderMipMap: 0 12 | mipMapFadeDistanceStart: 2 13 | mipMapFadeDistanceEnd: 3 14 | bumpmap: 15 | convertToNormalMap: 0 16 | externalNormalMap: 0 17 | heightScale: .25 18 | normalMapFilter: 0 19 | isReadable: 0 20 | grayScaleToAlpha: 0 21 | generateCubemap: 0 22 | seamlessCubemap: 0 23 | textureFormat: -1 24 | maxTextureSize: 1024 25 | textureSettings: 26 | filterMode: 1 27 | aniso: 1 28 | mipBias: 0 29 | wrapMode: 0 30 | nPOTScale: 1 31 | lightmap: 0 32 | compressionQuality: 50 33 | textureType: 0 34 | buildTargetSettings: [] 35 | userData: 36 | -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Textures/RandomVectors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assets/Effects/_Sources/Textures/RandomVectors.png -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Textures/RandomVectors.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a181ca8e3c62f3e4b8f183f6c586b032 3 | TextureImporter: 4 | serializedVersion: 2 5 | mipmaps: 6 | mipMapMode: 0 7 | enableMipMap: 0 8 | linearTexture: 0 9 | correctGamma: 0 10 | fadeOut: 0 11 | borderMipMap: 0 12 | mipMapFadeDistanceStart: 2 13 | mipMapFadeDistanceEnd: 3 14 | bumpmap: 15 | convertToNormalMap: 0 16 | externalNormalMap: 0 17 | heightScale: .25 18 | normalMapFilter: 0 19 | isReadable: 0 20 | grayScaleToAlpha: 0 21 | generateCubemap: 0 22 | seamlessCubemap: 0 23 | textureFormat: 3 24 | maxTextureSize: 1024 25 | textureSettings: 26 | filterMode: 0 27 | aniso: 1 28 | mipBias: -1 29 | wrapMode: 0 30 | nPOTScale: 0 31 | lightmap: 0 32 | compressionQuality: 50 33 | textureType: -1 34 | buildTargetSettings: [] 35 | userData: 36 | -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Textures/TargetBars.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assets/Effects/_Sources/Textures/TargetBars.png -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Textures/TargetBars.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 12a43dc41561f6a44bed4047aedd1e9f 3 | TextureImporter: 4 | serializedVersion: 2 5 | mipmaps: 6 | mipMapMode: 0 7 | enableMipMap: 1 8 | linearTexture: 0 9 | correctGamma: 0 10 | fadeOut: 0 11 | borderMipMap: 0 12 | mipMapFadeDistanceStart: 1 13 | mipMapFadeDistanceEnd: 3 14 | bumpmap: 15 | convertToNormalMap: 0 16 | externalNormalMap: 0 17 | heightScale: .25 18 | normalMapFilter: 0 19 | isReadable: 0 20 | grayScaleToAlpha: 1 21 | generateCubemap: 0 22 | seamlessCubemap: 0 23 | textureFormat: -1 24 | maxTextureSize: 1024 25 | textureSettings: 26 | filterMode: 0 27 | aniso: -1 28 | mipBias: -1 29 | wrapMode: 1 30 | nPOTScale: 1 31 | lightmap: 0 32 | compressionQuality: 50 33 | textureType: -1 34 | buildTargetSettings: [] 35 | userData: 36 | -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Textures/Thumbs.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assets/Effects/_Sources/Textures/Thumbs.db -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Textures/Thumbs.db.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d6a8d02b7bd3a7f4694e5231f01cb0ec 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Textures/VignetteMask.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assets/Effects/_Sources/Textures/VignetteMask.png -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Textures/VignetteMask.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 95ef4804fe0be4c999ddaa383536cde8 3 | TextureImporter: 4 | serializedVersion: 2 5 | mipmaps: 6 | mipMapMode: 0 7 | enableMipMap: 1 8 | linearTexture: 0 9 | correctGamma: 0 10 | fadeOut: 0 11 | borderMipMap: 0 12 | mipMapFadeDistanceStart: 1 13 | mipMapFadeDistanceEnd: 3 14 | bumpmap: 15 | convertToNormalMap: 0 16 | externalNormalMap: 0 17 | heightScale: .25 18 | normalMapFilter: 0 19 | isReadable: 0 20 | grayScaleToAlpha: 0 21 | generateCubemap: 0 22 | seamlessCubemap: 0 23 | textureFormat: -1 24 | maxTextureSize: 1024 25 | textureSettings: 26 | filterMode: 1 27 | aniso: 1 28 | mipBias: 0 29 | wrapMode: 1 30 | nPOTScale: 1 31 | lightmap: 0 32 | compressionQuality: 50 33 | textureType: -1 34 | buildTargetSettings: [] 35 | userData: 36 | -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Textures/color correction ramp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assets/Effects/_Sources/Textures/color correction ramp.png -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Textures/color correction ramp.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d440902fad11e807d00044888d76c639 3 | TextureImporter: 4 | serializedVersion: 2 5 | mipmaps: 6 | mipMapMode: 0 7 | enableMipMap: 0 8 | linearTexture: 1 9 | correctGamma: 0 10 | fadeOut: 0 11 | borderMipMap: 0 12 | mipMapFadeDistanceStart: 2 13 | mipMapFadeDistanceEnd: 3 14 | bumpmap: 15 | convertToNormalMap: 0 16 | externalNormalMap: 0 17 | heightScale: .25 18 | normalMapFilter: 0 19 | isReadable: 0 20 | grayScaleToAlpha: 0 21 | generateCubemap: 0 22 | seamlessCubemap: 0 23 | textureFormat: -3 24 | maxTextureSize: 1024 25 | textureSettings: 26 | filterMode: 0 27 | aniso: 1 28 | mipBias: 0 29 | wrapMode: 1 30 | nPOTScale: 0 31 | lightmap: 0 32 | compressionQuality: 50 33 | textureType: -1 34 | buildTargetSettings: [] 35 | userData: 36 | -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Textures/grayscale ramp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assets/Effects/_Sources/Textures/grayscale ramp.png -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Textures/grayscale ramp.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e9a9781cad112c75d0008dfa8d76c639 3 | TextureImporter: 4 | serializedVersion: 2 5 | mipmaps: 6 | mipMapMode: 0 7 | enableMipMap: 1 8 | linearTexture: 0 9 | correctGamma: 0 10 | fadeOut: 0 11 | borderMipMap: 0 12 | mipMapFadeDistanceStart: 2 13 | mipMapFadeDistanceEnd: 3 14 | bumpmap: 15 | convertToNormalMap: 0 16 | externalNormalMap: 0 17 | heightScale: .25 18 | normalMapFilter: 0 19 | isReadable: 0 20 | grayScaleToAlpha: 0 21 | generateCubemap: 0 22 | seamlessCubemap: 0 23 | textureFormat: 3 24 | maxTextureSize: 1024 25 | textureSettings: 26 | filterMode: 1 27 | aniso: 1 28 | mipBias: 0 29 | wrapMode: 1 30 | nPOTScale: 0 31 | lightmap: 0 32 | compressionQuality: 50 33 | textureType: -1 34 | buildTargetSettings: [] 35 | userData: 36 | -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Textures/hexShape.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assets/Effects/_Sources/Textures/hexShape.psd -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Textures/hexShape.psd.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a4cdca73d61814d33ac1587f6c163bca 3 | TextureImporter: 4 | serializedVersion: 2 5 | mipmaps: 6 | mipMapMode: 0 7 | enableMipMap: 1 8 | linearTexture: 0 9 | correctGamma: 0 10 | fadeOut: 0 11 | borderMipMap: 0 12 | mipMapFadeDistanceStart: 1 13 | mipMapFadeDistanceEnd: 3 14 | bumpmap: 15 | convertToNormalMap: 0 16 | externalNormalMap: 0 17 | heightScale: .25 18 | normalMapFilter: 0 19 | isReadable: 0 20 | grayScaleToAlpha: 0 21 | generateCubemap: 0 22 | seamlessCubemap: 0 23 | textureFormat: -1 24 | maxTextureSize: 64 25 | textureSettings: 26 | filterMode: -1 27 | aniso: -1 28 | mipBias: -1 29 | wrapMode: 1 30 | nPOTScale: 1 31 | lightmap: 0 32 | compressionQuality: 50 33 | textureType: -1 34 | buildTargetSettings: [] 35 | userData: 36 | -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Textures/sphereShape.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assets/Effects/_Sources/Textures/sphereShape.psd -------------------------------------------------------------------------------- /Assets/Effects/_Sources/Textures/sphereShape.psd.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fc00ec05a89da4ff695a4273715cd5ce 3 | TextureImporter: 4 | serializedVersion: 2 5 | mipmaps: 6 | mipMapMode: 0 7 | enableMipMap: 1 8 | linearTexture: 0 9 | correctGamma: 0 10 | fadeOut: 0 11 | borderMipMap: 0 12 | mipMapFadeDistanceStart: 1 13 | mipMapFadeDistanceEnd: 3 14 | bumpmap: 15 | convertToNormalMap: 0 16 | externalNormalMap: 0 17 | heightScale: .25 18 | normalMapFilter: 0 19 | isReadable: 0 20 | grayScaleToAlpha: 0 21 | generateCubemap: 0 22 | seamlessCubemap: 0 23 | textureFormat: -1 24 | maxTextureSize: 64 25 | textureSettings: 26 | filterMode: -1 27 | aniso: -1 28 | mipBias: -1 29 | wrapMode: 1 30 | nPOTScale: 1 31 | lightmap: 0 32 | compressionQuality: 50 33 | textureType: -1 34 | buildTargetSettings: [] 35 | userData: 36 | -------------------------------------------------------------------------------- /Assets/Environment.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f986d7278cee28145a8c6583ef62877d 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Environment/Geometry.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 61be7ed7212e91a40865b4c42203301d 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Environment/Geometry/Forest of Fairies.obj.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5c8aeab6723ccd4479ebc9ea203d7c02 3 | ModelImporter: 4 | serializedVersion: 15 5 | fileIDToRecycleName: 6 | 100000: //RootNode 7 | 100002: n0b0 8 | 100004: n1b2 9 | 100006: n2b3 10 | 100008: n3b1 11 | 100010: n4b4 12 | 100012: n5b5 13 | 100014: n6b6 14 | 100016: n7b7 15 | 400000: //RootNode 16 | 400002: n0b0 17 | 400004: n1b2 18 | 400006: n2b3 19 | 400008: n3b1 20 | 400010: n4b4 21 | 400012: n5b5 22 | 400014: n6b6 23 | 400016: n7b7 24 | 2300000: n0b0 25 | 2300002: n1b2 26 | 2300004: n2b3 27 | 2300006: n3b1 28 | 2300008: n4b4 29 | 2300010: n5b5 30 | 2300012: n6b6 31 | 2300014: n7b7 32 | 3300000: n0b0 33 | 3300002: n1b2 34 | 3300004: n2b3 35 | 3300006: n3b1 36 | 3300008: n4b4 37 | 3300010: n5b5 38 | 3300012: n6b6 39 | 3300014: n7b7 40 | 4300000: n0b0 41 | 4300002: n1b2 42 | 4300004: n2b3 43 | 4300006: n3b1 44 | 4300008: n4b4 45 | 4300010: n5b5 46 | 4300012: n6b6 47 | 4300014: n7b7 48 | 9500000: //RootNode 49 | materials: 50 | importMaterials: 1 51 | materialName: 0 52 | materialSearch: 1 53 | animations: 54 | legacyGenerateAnimations: 4 55 | bakeSimulation: 0 56 | animationCompression: 1 57 | animationRotationError: .5 58 | animationPositionError: .5 59 | animationScaleError: .5 60 | animationWrapMode: 0 61 | clipAnimations: [] 62 | isReadable: 1 63 | meshes: 64 | lODScreenPercentages: [] 65 | globalScale: .00999999978 66 | meshCompression: 0 67 | addColliders: 0 68 | swapUVChannels: 0 69 | generateSecondaryUV: 0 70 | useFileUnits: 1 71 | optimizeMeshForGPU: 1 72 | secondaryUVAngleDistortion: 8 73 | secondaryUVAreaDistortion: 15.000001 74 | secondaryUVHardAngle: 88 75 | secondaryUVPackMargin: 4 76 | tangentSpace: 77 | normalSmoothAngle: 180 78 | splitTangentsAcrossUV: 1 79 | normalImportMode: 1 80 | tangentImportMode: 1 81 | importAnimation: 0 82 | copyAvatar: 0 83 | humanDescription: 84 | human: [] 85 | skeleton: [] 86 | handles: [] 87 | armTwist: .5 88 | foreArmTwist: .5 89 | upperLegTwist: .5 90 | legTwist: .5 91 | armStretch: .0500000007 92 | legStretch: .0500000007 93 | feetSpacing: 0 94 | rootMotionBoneName: 95 | lastHumanDescriptionAvatarSource: {instanceID: 0} 96 | additionalBone: 1 97 | animationType: 0 98 | userData: 99 | -------------------------------------------------------------------------------- /Assets/Environment/Geometry/Grass.mtl: -------------------------------------------------------------------------------- 1 | # MTL written from C:\Users\panta\Desktop\Grass.obj 2 | newmtl Grass 3 | Kd 0.8 0.8 0.8 4 | Ns 256 5 | d 1 6 | illum 2 7 | Ka 0 0 0 8 | Ks 0.2 0.2 0.2 9 | map_Kd C:\Users\panta\Pictures\Zelda\Wind Waker texture dump\Locales\Outset Island\Outside\Grass (used for particle too).png 10 | -------------------------------------------------------------------------------- /Assets/Environment/Geometry/Grass.mtl.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1735b7892b579ab499c3b87bc8e02480 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Environment/Geometry/Grass.obj: -------------------------------------------------------------------------------- 1 | # OBJ written from C:\Users\panta\Desktop\Grass.obj 2 | mtllib Grass.mtl 3 | 4 | g Mesh 5 | v -8.53266 48.1739 -22.5444 6 | v 0.457846 1.04243 -0.651773 7 | v -28.4251 147.762 -3.26106 8 | v -10.2729 51.4911 21.7663 9 | v -8.53266 48.1739 -22.5444 10 | v 18.888 158.708 -28.2248 11 | v 0.457846 1.04243 -0.651773 12 | v 27.9095 49.6498 0.842631 13 | v -10.2729 51.4911 21.7663 14 | v 0.457846 1.04243 -0.651773 15 | v 18.1762 162.698 25.2105 16 | v 27.9095 49.6498 0.842631 17 | v -8.53266 48.1739 -22.5444 18 | v 0.457846 1.04243 -0.651773 19 | v -44.4422 116.851 -38.4272 20 | v -33.0694 9.50918 -1.64051 21 | v 19.0323 10.9411 -29.1673 22 | v 0.457846 1.04243 -0.651773 23 | v 2.92767 163.498 -59.4468 24 | v -8.53266 48.1739 -22.5444 25 | v -10.2729 51.4911 21.7663 26 | v 0.457846 1.04243 -0.651773 27 | v -0.641656 123.38 53.4468 28 | v 18.7262 15.4711 31.5478 29 | v -33.0694 9.50918 -1.64051 30 | v 0.457846 1.04243 -0.651773 31 | v -47.7677 171.012 36.3142 32 | v -10.2729 51.4911 21.7663 33 | v 27.9095 49.6498 0.842631 34 | v 0.457846 1.04243 -0.651773 35 | v 55.3677 116.81 -29.1298 36 | v 19.0323 10.9411 -29.1673 37 | v 18.7262 15.4711 31.5478 38 | v 0.457846 1.04243 -0.651773 39 | v 50.332 170.14 34.2941 40 | v 27.9095 49.6498 0.842631 41 | vn 0.980818 0.193501 0.0235148 42 | vn 0.981036 0.193364 0.0134065 43 | vn 0.980501 0.193618 0.0336207 44 | vn -0.546739 0.205846 0.811606 45 | vn -0.671159 0.203135 0.712938 46 | vn -0.408528 0.203365 0.889802 47 | vn -0.470434 0.189446 -0.86186 48 | vn -0.649693 0.18901 -0.736325 49 | vn -0.268645 0.180808 -0.946118 50 | vn 0.295766 0.397944 0.868426 51 | vn 0.516118 0.43984 0.734958 52 | vn 0.055266 0.328937 0.942733 53 | vn 0.788197 0.198806 0.582428 54 | vn -0.423304 0.314002 0.849833 55 | vn -0.00971974 0.404338 -0.914558 56 | vn 0.787427 0.2552 -0.561099 57 | vn 0.0880083 0.235472 -0.967888 58 | vn 0.904704 0.318285 -0.283206 59 | vn -0.840801 0.466404 0.274812 60 | vn -0.844812 0.290109 -0.449588 61 | vn -0.887929 0.173883 0.425848 62 | vn -0.51799 0.316968 -0.794492 63 | vt 1 0 64 | vt 0.375 0.375 65 | vt 1 1 66 | vt 0.35 0.35 67 | vt 0 0 68 | usemtl Grass 69 | f 2/1/1 1/2/2 3/3/1 70 | f 4/2/3 2/1/1 3/3/1 71 | f 6/3/4 5/2/5 7/1/4 72 | f 8/2/6 6/3/4 7/1/4 73 | f 10/1/7 9/2/8 11/3/7 74 | f 12/2/9 10/1/7 11/3/7 75 | f 14/1/10 13/4/11 15/3/10 76 | f 16/5/12 14/1/10 15/3/10 77 | f 18/1/13 17/5/13 19/3/13 78 | f 20/4/14 18/1/14 19/3/14 79 | f 22/1/15 21/4/15 23/3/15 80 | f 24/5/16 22/1/16 23/3/16 81 | f 26/1/17 25/5/17 27/3/17 82 | f 28/4/18 26/1/18 27/3/18 83 | f 30/1/19 29/4/19 31/3/19 84 | f 32/5/20 30/1/20 31/3/20 85 | f 34/1/21 33/5/21 35/3/21 86 | f 36/4/22 34/1/22 35/3/22 87 | -------------------------------------------------------------------------------- /Assets/Environment/Geometry/Grass.obj.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 640267a933defe4408796df2914e6357 3 | ModelImporter: 4 | serializedVersion: 15 5 | fileIDToRecycleName: 6 | 100000: //RootNode 7 | 100002: Mesh 8 | 400000: //RootNode 9 | 400002: Mesh 10 | 2300000: Mesh 11 | 3300000: Mesh 12 | 4300000: Mesh 13 | 9500000: //RootNode 14 | materials: 15 | importMaterials: 1 16 | materialName: 0 17 | materialSearch: 1 18 | animations: 19 | legacyGenerateAnimations: 4 20 | bakeSimulation: 0 21 | animationCompression: 1 22 | animationRotationError: .5 23 | animationPositionError: .5 24 | animationScaleError: .5 25 | animationWrapMode: 0 26 | clipAnimations: [] 27 | isReadable: 1 28 | meshes: 29 | lODScreenPercentages: [] 30 | globalScale: .00999999978 31 | meshCompression: 0 32 | addColliders: 0 33 | swapUVChannels: 0 34 | generateSecondaryUV: 0 35 | useFileUnits: 1 36 | optimizeMeshForGPU: 1 37 | secondaryUVAngleDistortion: 8 38 | secondaryUVAreaDistortion: 15.000001 39 | secondaryUVHardAngle: 88 40 | secondaryUVPackMargin: 4 41 | tangentSpace: 42 | normalSmoothAngle: 60 43 | splitTangentsAcrossUV: 1 44 | normalImportMode: 0 45 | tangentImportMode: 1 46 | importAnimation: 0 47 | copyAvatar: 0 48 | humanDescription: 49 | human: [] 50 | skeleton: [] 51 | handles: [] 52 | armTwist: .5 53 | foreArmTwist: .5 54 | upperLegTwist: .5 55 | legTwist: .5 56 | armStretch: .0500000007 57 | legStretch: .0500000007 58 | feetSpacing: 0 59 | rootMotionBoneName: 60 | lastHumanDescriptionAvatarSource: {instanceID: 0} 61 | additionalBone: 1 62 | animationType: 0 63 | userData: 64 | -------------------------------------------------------------------------------- /Assets/Environment/Geometry/InvertedCubeRoom.obj: -------------------------------------------------------------------------------- 1 | # OBJ written from C:\Users\panta\Documents\GitHub\UnityTutorialsPracticeFile\Assets\Environment\Geometry\InvertedCubeRoom.obj 2 | mtllib InvertedCubeRoom.mtl 3 | 4 | g Main 5 | v -7.5 0 -7.5 6 | v -7.5 15 -7.5 7 | v 7.5 15 -7.5 8 | v 7.5 0 -7.5 9 | v -7.5 0 7.5 10 | v -7.5 15 7.5 11 | v 7.5 15 7.5 12 | v 7.5 0 7.5 13 | vn 0 0 1 14 | vn 1 0 0 15 | vn -1 0 0 16 | vn 0 1 0 17 | vn 0 0 -1 18 | vt 0.25 0 19 | vt 0.25 0.333333 20 | vt 0.5 0.333333 21 | vt 0.5 0 22 | vt 1 0.666667 23 | vt 1 0.333333 24 | vt 0.75 0.333333 25 | vt 0.75 0.666667 26 | vt 0.5 0.666667 27 | vt 0.25 0.666667 28 | vt 0 0.333333 29 | vt 0 0.666667 30 | vt 0.25 1 31 | vt 0.5 1 32 | usemtl Default 33 | f 1/1/1 4/2/1 3/3/1 2/4/1 34 | f 5/5/2 1/6/2 2/7/2 6/8/2 35 | f 7/9/3 3/3/3 4/2/3 8/10/3 36 | f 8/10/4 4/2/4 1/11/4 5/12/4 37 | f 5/13/5 6/14/5 7/9/5 8/10/5 38 | 39 | g Roof 40 | v -7.5 15 -7.5 41 | v 7.5 15 -7.5 42 | v -7.5 15 7.5 43 | v 7.5 15 7.5 44 | vn 0 -1 0 45 | vt 0.75 0.666667 46 | vt 0.75 0.333333 47 | vt 0.5 0.333333 48 | vt 0.5 0.666667 49 | usemtl Default 50 | f 11/15/6 9/16/6 10/17/6 12/18/6 51 | -------------------------------------------------------------------------------- /Assets/Environment/Geometry/InvertedCubeRoom.obj.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d4fb977d747bb9c4d8ea60911ec249c5 3 | ModelImporter: 4 | serializedVersion: 15 5 | fileIDToRecycleName: 6 | 100000: //RootNode 7 | 100002: Main 8 | 100004: Roof 9 | 400000: //RootNode 10 | 400002: Main 11 | 400004: Roof 12 | 2300000: Main 13 | 2300002: Roof 14 | 3300000: Main 15 | 3300002: Roof 16 | 4300000: Main 17 | 4300002: Roof 18 | 9500000: //RootNode 19 | materials: 20 | importMaterials: 1 21 | materialName: 0 22 | materialSearch: 1 23 | animations: 24 | legacyGenerateAnimations: 4 25 | bakeSimulation: 0 26 | animationCompression: 1 27 | animationRotationError: .5 28 | animationPositionError: .5 29 | animationScaleError: .5 30 | animationWrapMode: 0 31 | clipAnimations: [] 32 | isReadable: 1 33 | meshes: 34 | lODScreenPercentages: [] 35 | globalScale: 3 36 | meshCompression: 0 37 | addColliders: 0 38 | swapUVChannels: 0 39 | generateSecondaryUV: 0 40 | useFileUnits: 1 41 | optimizeMeshForGPU: 1 42 | secondaryUVAngleDistortion: 8 43 | secondaryUVAreaDistortion: 15.000001 44 | secondaryUVHardAngle: 88 45 | secondaryUVPackMargin: 4 46 | tangentSpace: 47 | normalSmoothAngle: 60 48 | splitTangentsAcrossUV: 1 49 | normalImportMode: 0 50 | tangentImportMode: 1 51 | importAnimation: 0 52 | copyAvatar: 0 53 | humanDescription: 54 | human: [] 55 | skeleton: [] 56 | handles: [] 57 | armTwist: .5 58 | foreArmTwist: .5 59 | upperLegTwist: .5 60 | legTwist: .5 61 | armStretch: .0500000007 62 | legStretch: .0500000007 63 | feetSpacing: 0 64 | rootMotionBoneName: 65 | lastHumanDescriptionAvatarSource: {instanceID: 0} 66 | additionalBone: 1 67 | animationType: 0 68 | userData: 69 | -------------------------------------------------------------------------------- /Assets/Environment/Geometry/Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ce3b6605b0987d64c95696ccfbab5943 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Environment/Geometry/Materials/Grass.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 3 6 | m_ObjectHideFlags: 0 7 | m_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: Grass 10 | m_Shader: {fileID: 51, guid: 0000000000000000e000000000000000, type: 0} 11 | m_SavedProperties: 12 | serializedVersion: 2 13 | m_TexEnvs: 14 | data: 15 | first: 16 | name: _MainTex 17 | second: 18 | m_Texture: {fileID: 2800000, guid: 36f5c9c3565c1e245a9d6dbb98517758, type: 3} 19 | m_Scale: {x: 1, y: 1} 20 | m_Offset: {x: 0, y: 0} 21 | m_Floats: 22 | data: 23 | first: 24 | name: _Cutoff 25 | second: .5 26 | m_Colors: 27 | data: 28 | first: 29 | name: _Color 30 | second: {r: .800000012, g: .800000012, b: .800000012, a: 1} 31 | -------------------------------------------------------------------------------- /Assets/Environment/Geometry/Materials/Grass.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 101a4db7257bccf4c93f14d9bda1a08e 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Environment/Geometry/Materials/MainMat.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 3 6 | m_ObjectHideFlags: 0 7 | m_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: MainMat 10 | m_Shader: {fileID: 4800000, guid: b652dab72d918bb46a4bf53592b58f58, type: 3} 11 | m_SavedProperties: 12 | serializedVersion: 2 13 | m_TexEnvs: 14 | data: 15 | first: 16 | name: _MainTex 17 | second: 18 | m_Texture: {fileID: 0} 19 | m_Scale: {x: 1, y: 1} 20 | m_Offset: {x: 0, y: 0} 21 | data: 22 | first: 23 | name: _Wall 24 | second: 25 | m_Texture: {fileID: 2800000, guid: be8ba36906c193046ad1bd6a3a00b1ad, type: 3} 26 | m_Scale: {x: 1, y: 1} 27 | m_Offset: {x: 0, y: 0} 28 | data: 29 | first: 30 | name: _Floor 31 | second: 32 | m_Texture: {fileID: 2800000, guid: 41a8eebfff5368c4e95f31f3d0fe4e61, type: 3} 33 | m_Scale: {x: 1, y: 1} 34 | m_Offset: {x: 0, y: 0} 35 | m_Floats: 36 | data: 37 | first: 38 | name: _Frequency 39 | second: .300000012 40 | m_Colors: 41 | data: 42 | first: 43 | name: _Color 44 | second: {r: .800000012, g: .800000012, b: .800000012, a: 1} 45 | -------------------------------------------------------------------------------- /Assets/Environment/Geometry/Materials/MainMat.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4000ff6faf0a6ed4a82a764319e85bc0 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Environment/Geometry/Materials/RoofMat.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 3 6 | m_ObjectHideFlags: 0 7 | m_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: RoofMat 10 | m_Shader: {fileID: 4800000, guid: b652dab72d918bb46a4bf53592b58f58, type: 3} 11 | m_SavedProperties: 12 | serializedVersion: 2 13 | m_TexEnvs: 14 | data: 15 | first: 16 | name: _MainTex 17 | second: 18 | m_Texture: {fileID: 0} 19 | m_Scale: {x: 1, y: 1} 20 | m_Offset: {x: 0, y: 0} 21 | data: 22 | first: 23 | name: _Wall 24 | second: 25 | m_Texture: {fileID: 2800000, guid: be8ba36906c193046ad1bd6a3a00b1ad, type: 3} 26 | m_Scale: {x: 1, y: 1} 27 | m_Offset: {x: 0, y: 0} 28 | data: 29 | first: 30 | name: _Floor 31 | second: 32 | m_Texture: {fileID: 2800000, guid: be8ba36906c193046ad1bd6a3a00b1ad, type: 3} 33 | m_Scale: {x: 1, y: 1} 34 | m_Offset: {x: 0, y: 0} 35 | m_Floats: 36 | data: 37 | first: 38 | name: _Frequency 39 | second: .300000012 40 | m_Colors: 41 | data: 42 | first: 43 | name: _Color 44 | second: {r: .800000012, g: .800000012, b: .800000012, a: 1} 45 | -------------------------------------------------------------------------------- /Assets/Environment/Geometry/Materials/RoofMat.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 68aa0f8d29e5f22429bf7145b4d37576 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Environment/Geometry/Materials/n0b0Mat.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 3 6 | m_ObjectHideFlags: 0 7 | m_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: n0b0Mat 10 | m_Shader: {fileID: 7, guid: 0000000000000000e000000000000000, type: 0} 11 | m_SavedProperties: 12 | serializedVersion: 2 13 | m_TexEnvs: 14 | data: 15 | first: 16 | name: _MainTex 17 | second: 18 | m_Texture: {fileID: 2800000, guid: dac6ac84c39acdb4ca67d64515dc0231, type: 3} 19 | m_Scale: {x: 1, y: 1} 20 | m_Offset: {x: 0, y: 0} 21 | m_Floats: {} 22 | m_Colors: 23 | data: 24 | first: 25 | name: _Color 26 | second: {r: .800000012, g: .800000012, b: .800000012, a: 1} 27 | -------------------------------------------------------------------------------- /Assets/Environment/Geometry/Materials/n0b0Mat.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7f91d9d2002408f48935f1080bd662d4 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Environment/Geometry/Materials/n1b2Mat.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 3 6 | m_ObjectHideFlags: 0 7 | m_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: n1b2Mat 10 | m_Shader: {fileID: 7, guid: 0000000000000000e000000000000000, type: 0} 11 | m_SavedProperties: 12 | serializedVersion: 2 13 | m_TexEnvs: 14 | data: 15 | first: 16 | name: _MainTex 17 | second: 18 | m_Texture: {fileID: 2800000, guid: be8f1d0af3d23b84d949ff0fe724bf6d, type: 3} 19 | m_Scale: {x: 1, y: 1} 20 | m_Offset: {x: 0, y: 0} 21 | m_Floats: {} 22 | m_Colors: 23 | data: 24 | first: 25 | name: _Color 26 | second: {r: .800000012, g: .800000012, b: .800000012, a: 1} 27 | -------------------------------------------------------------------------------- /Assets/Environment/Geometry/Materials/n1b2Mat.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 790eeba9c04d41d41b44bb5c84cd9cb0 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Environment/Geometry/Materials/n2b3Mat.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 3 6 | m_ObjectHideFlags: 0 7 | m_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: n2b3Mat 10 | m_Shader: {fileID: 7, guid: 0000000000000000e000000000000000, type: 0} 11 | m_SavedProperties: 12 | serializedVersion: 2 13 | m_TexEnvs: 14 | data: 15 | first: 16 | name: _MainTex 17 | second: 18 | m_Texture: {fileID: 0} 19 | m_Scale: {x: 1, y: 1} 20 | m_Offset: {x: 0, y: 0} 21 | m_Floats: {} 22 | m_Colors: 23 | data: 24 | first: 25 | name: _Color 26 | second: {r: 0, g: 0, b: 0, a: 1} 27 | -------------------------------------------------------------------------------- /Assets/Environment/Geometry/Materials/n2b3Mat.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8f27140c059afe34d8f2b9bb05df7523 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Environment/Geometry/Materials/n3b1Mat.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 3 6 | m_ObjectHideFlags: 0 7 | m_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: n3b1Mat 10 | m_Shader: {fileID: 7, guid: 0000000000000000e000000000000000, type: 0} 11 | m_SavedProperties: 12 | serializedVersion: 2 13 | m_TexEnvs: 14 | data: 15 | first: 16 | name: _MainTex 17 | second: 18 | m_Texture: {fileID: 2800000, guid: 8be5e136975c9504caef3e20bd9173d3, type: 3} 19 | m_Scale: {x: 1, y: 1} 20 | m_Offset: {x: 0, y: 0} 21 | m_Floats: {} 22 | m_Colors: 23 | data: 24 | first: 25 | name: _Color 26 | second: {r: .800000012, g: .800000012, b: .800000012, a: 1} 27 | -------------------------------------------------------------------------------- /Assets/Environment/Geometry/Materials/n3b1Mat.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 77527e9937415eb4783aceba32119035 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Environment/Geometry/Materials/n4b4Mat.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 3 6 | m_ObjectHideFlags: 0 7 | m_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: n4b4Mat 10 | m_Shader: {fileID: 7, guid: 0000000000000000e000000000000000, type: 0} 11 | m_SavedProperties: 12 | serializedVersion: 2 13 | m_TexEnvs: 14 | data: 15 | first: 16 | name: _MainTex 17 | second: 18 | m_Texture: {fileID: 2800000, guid: 61b7f41faf94c7647adbee81ccc3d6b5, type: 3} 19 | m_Scale: {x: 1, y: 1} 20 | m_Offset: {x: 0, y: 0} 21 | m_Floats: {} 22 | m_Colors: 23 | data: 24 | first: 25 | name: _Color 26 | second: {r: .800000012, g: .800000012, b: .800000012, a: 1} 27 | -------------------------------------------------------------------------------- /Assets/Environment/Geometry/Materials/n4b4Mat.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c6dd5f580bf81cf4bac08cfc81cb4860 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Environment/Geometry/Materials/n5b5Mat.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 3 6 | m_ObjectHideFlags: 0 7 | m_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: n5b5Mat 10 | m_Shader: {fileID: 7, guid: 0000000000000000e000000000000000, type: 0} 11 | m_SavedProperties: 12 | serializedVersion: 2 13 | m_TexEnvs: 14 | data: 15 | first: 16 | name: _MainTex 17 | second: 18 | m_Texture: {fileID: 2800000, guid: 821e9d11373c21c45b606ce85b61382f, type: 3} 19 | m_Scale: {x: 1, y: 1} 20 | m_Offset: {x: 0, y: 0} 21 | m_Floats: {} 22 | m_Colors: 23 | data: 24 | first: 25 | name: _Color 26 | second: {r: .800000012, g: .800000012, b: .800000012, a: 1} 27 | -------------------------------------------------------------------------------- /Assets/Environment/Geometry/Materials/n5b5Mat.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 58666cf156a1e6147b18bf000b227de3 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Environment/Geometry/Materials/n6b6Mat.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 3 6 | m_ObjectHideFlags: 0 7 | m_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: n6b6Mat 10 | m_Shader: {fileID: 7, guid: 0000000000000000e000000000000000, type: 0} 11 | m_SavedProperties: 12 | serializedVersion: 2 13 | m_TexEnvs: 14 | data: 15 | first: 16 | name: _MainTex 17 | second: 18 | m_Texture: {fileID: 0} 19 | m_Scale: {x: 1, y: 1} 20 | m_Offset: {x: 0, y: 0} 21 | m_Floats: {} 22 | m_Colors: 23 | data: 24 | first: 25 | name: _Color 26 | second: {r: 0, g: 0, b: 0, a: 1} 27 | -------------------------------------------------------------------------------- /Assets/Environment/Geometry/Materials/n6b6Mat.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cbec7a5ff41b2bb4f921e5f00054cddb 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Environment/Geometry/Materials/n7b7Mat.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 3 6 | m_ObjectHideFlags: 0 7 | m_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: n7b7Mat 10 | m_Shader: {fileID: 7, guid: 0000000000000000e000000000000000, type: 0} 11 | m_SavedProperties: 12 | serializedVersion: 2 13 | m_TexEnvs: 14 | data: 15 | first: 16 | name: _MainTex 17 | second: 18 | m_Texture: {fileID: 2800000, guid: 6a5c3f1f7d282f74ca4c3557b21ac84e, type: 3} 19 | m_Scale: {x: 1, y: 1} 20 | m_Offset: {x: 0, y: 0} 21 | m_Floats: {} 22 | m_Colors: 23 | data: 24 | first: 25 | name: _Color 26 | second: {r: .800000012, g: .800000012, b: .800000012, a: 1} 27 | -------------------------------------------------------------------------------- /Assets/Environment/Geometry/Materials/n7b7Mat.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 613f6f23159cb794faf4c944d4d34192 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Environment/Textures.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d3946885782baef40b8ddb8e3727bb55 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Environment/Textures/Grass.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assets/Environment/Textures/Grass.png -------------------------------------------------------------------------------- /Assets/Environment/Textures/Grass.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 36f5c9c3565c1e245a9d6dbb98517758 3 | TextureImporter: 4 | serializedVersion: 2 5 | mipmaps: 6 | mipMapMode: 0 7 | enableMipMap: 1 8 | linearTexture: 0 9 | correctGamma: 0 10 | fadeOut: 0 11 | borderMipMap: 0 12 | mipMapFadeDistanceStart: 1 13 | mipMapFadeDistanceEnd: 3 14 | bumpmap: 15 | convertToNormalMap: 0 16 | externalNormalMap: 0 17 | heightScale: .25 18 | normalMapFilter: 0 19 | isReadable: 0 20 | grayScaleToAlpha: 0 21 | generateCubemap: 0 22 | seamlessCubemap: 0 23 | textureFormat: -1 24 | maxTextureSize: 1024 25 | textureSettings: 26 | filterMode: -1 27 | aniso: -1 28 | mipBias: -1 29 | wrapMode: -1 30 | nPOTScale: 1 31 | lightmap: 0 32 | compressionQuality: 50 33 | textureType: -1 34 | buildTargetSettings: [] 35 | userData: 36 | -------------------------------------------------------------------------------- /Assets/Environment/Textures/RotationFloor.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assets/Environment/Textures/RotationFloor.psd -------------------------------------------------------------------------------- /Assets/Environment/Textures/RotationFloor.psd.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 41a8eebfff5368c4e95f31f3d0fe4e61 3 | TextureImporter: 4 | serializedVersion: 2 5 | mipmaps: 6 | mipMapMode: 0 7 | enableMipMap: 1 8 | linearTexture: 0 9 | correctGamma: 0 10 | fadeOut: 0 11 | borderMipMap: 0 12 | mipMapFadeDistanceStart: 1 13 | mipMapFadeDistanceEnd: 3 14 | bumpmap: 15 | convertToNormalMap: 0 16 | externalNormalMap: 0 17 | heightScale: .25 18 | normalMapFilter: 0 19 | isReadable: 0 20 | grayScaleToAlpha: 0 21 | generateCubemap: 0 22 | seamlessCubemap: 0 23 | textureFormat: -1 24 | maxTextureSize: 1024 25 | textureSettings: 26 | filterMode: -1 27 | aniso: 9 28 | mipBias: -1 29 | wrapMode: -1 30 | nPOTScale: 1 31 | lightmap: 0 32 | compressionQuality: 50 33 | textureType: -1 34 | buildTargetSettings: [] 35 | userData: 36 | -------------------------------------------------------------------------------- /Assets/Environment/Textures/Thumbs.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assets/Environment/Textures/Thumbs.db -------------------------------------------------------------------------------- /Assets/Environment/Textures/Thumbs.db.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 50f78f28be1a4c342a4873e96fb57dbf 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Environment/Textures/grid_floor.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assets/Environment/Textures/grid_floor.tga -------------------------------------------------------------------------------- /Assets/Environment/Textures/grid_floor.tga.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 621ea8562b7fa9243a26b3297666a9d7 3 | TextureImporter: 4 | serializedVersion: 2 5 | mipmaps: 6 | mipMapMode: 0 7 | enableMipMap: 1 8 | linearTexture: 0 9 | correctGamma: 0 10 | fadeOut: 0 11 | borderMipMap: 0 12 | mipMapFadeDistanceStart: 1 13 | mipMapFadeDistanceEnd: 3 14 | bumpmap: 15 | convertToNormalMap: 0 16 | externalNormalMap: 0 17 | heightScale: .25 18 | normalMapFilter: 0 19 | isReadable: 0 20 | grayScaleToAlpha: 0 21 | generateCubemap: 0 22 | seamlessCubemap: 0 23 | textureFormat: -1 24 | maxTextureSize: 1024 25 | textureSettings: 26 | filterMode: -1 27 | aniso: -1 28 | mipBias: -1 29 | wrapMode: -1 30 | nPOTScale: 1 31 | lightmap: 0 32 | compressionQuality: 50 33 | textureType: -1 34 | buildTargetSettings: [] 35 | userData: 36 | -------------------------------------------------------------------------------- /Assets/Environment/Textures/grid_wall.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assets/Environment/Textures/grid_wall.tga -------------------------------------------------------------------------------- /Assets/Environment/Textures/grid_wall.tga.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: be8ba36906c193046ad1bd6a3a00b1ad 3 | TextureImporter: 4 | serializedVersion: 2 5 | mipmaps: 6 | mipMapMode: 0 7 | enableMipMap: 1 8 | linearTexture: 0 9 | correctGamma: 0 10 | fadeOut: 0 11 | borderMipMap: 0 12 | mipMapFadeDistanceStart: 1 13 | mipMapFadeDistanceEnd: 3 14 | bumpmap: 15 | convertToNormalMap: 0 16 | externalNormalMap: 0 17 | heightScale: .25 18 | normalMapFilter: 0 19 | isReadable: 0 20 | grayScaleToAlpha: 0 21 | generateCubemap: 0 22 | seamlessCubemap: 0 23 | textureFormat: -1 24 | maxTextureSize: 1024 25 | textureSettings: 26 | filterMode: -1 27 | aniso: -1 28 | mipBias: -1 29 | wrapMode: -1 30 | nPOTScale: 1 31 | lightmap: 0 32 | compressionQuality: 50 33 | textureType: -1 34 | buildTargetSettings: [] 35 | userData: 36 | -------------------------------------------------------------------------------- /Assets/Prefabs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 48a8d64f8938e94409a6e9072d2f1a19 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Prefabs/Beta.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 79efd4c2b57a6d24f9555a5851c00ad1 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Prefabs/CameraRig.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e6e40eda5a3f31244baa1160274612a8 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Scenes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9de5844fc2e1a184ea0b42883d2ce321 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Scenes/FairyForest.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 719b8fe7bbea9a34eb1ea245f3ad91f8 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Scenes/Locomotion.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: faee5b9fb8dc80744937a3111b2cc112 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3b8c333e018e5be4291a473d86c38c97 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Scripts/CharacterControllerLogic.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4b216def2ca252840817bbbae8b9f6bf 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Assets/Scripts/DebugDraw.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System.Collections; 3 | 4 | public static class DebugDraw 5 | { 6 | #region Arrows 7 | 8 | public static void ArrowGizmo(Vector3 pos, Vector3 direction, float arrowHeadLength = 0.25f, float arrowHeadAngle = 20.0f) 9 | { 10 | Gizmos.DrawRay(pos, direction); 11 | 12 | Vector3 right = Quaternion.LookRotation(direction) * Quaternion.Euler(0,180+arrowHeadAngle,0) * new Vector3(0,0,1); 13 | Vector3 left = Quaternion.LookRotation(direction) * Quaternion.Euler(0,180-arrowHeadAngle,0) * new Vector3(0,0,1); 14 | Gizmos.DrawRay(pos + direction, right * arrowHeadLength); 15 | Gizmos.DrawRay(pos + direction, left * arrowHeadLength); 16 | } 17 | 18 | public static void ArrowGizmo(Vector3 pos, Vector3 direction, Color color, float arrowHeadLength = 0.25f, float arrowHeadAngle = 20.0f) 19 | { 20 | Gizmos.color = color; 21 | Gizmos.DrawRay(pos, direction); 22 | 23 | Vector3 right = Quaternion.LookRotation(direction) * Quaternion.Euler(0,180+arrowHeadAngle,0) * new Vector3(0,0,1); 24 | Vector3 left = Quaternion.LookRotation(direction) * Quaternion.Euler(0,180-arrowHeadAngle,0) * new Vector3(0,0,1); 25 | Gizmos.DrawRay(pos + direction, right * arrowHeadLength); 26 | Gizmos.DrawRay(pos + direction, left * arrowHeadLength); 27 | } 28 | 29 | public static void ArrowDebug(Vector3 pos, Vector3 direction, float length = 1f, float arrowHeadLength = 0.25f, float arrowHeadAngle = 20.0f) 30 | { 31 | Debug.DrawRay(pos, direction * length); 32 | 33 | Vector3 right = Quaternion.LookRotation(direction) * Quaternion.Euler(0,180+arrowHeadAngle,0) * new Vector3(0,0,1); 34 | Vector3 left = Quaternion.LookRotation(direction) * Quaternion.Euler(0,180-arrowHeadAngle,0) * new Vector3(0,0,1); 35 | Debug.DrawRay(pos + (direction * length), right * arrowHeadLength * length); 36 | Debug.DrawRay(pos + (direction * length), left * arrowHeadLength * length); 37 | } 38 | 39 | public static void ArrowDebug(Vector3 pos, Vector3 direction, Color color, float length = 1f, float arrowHeadLength = 0.25f, float arrowHeadAngle = 20.0f) 40 | { 41 | Debug.DrawRay(pos, direction * length, color); 42 | 43 | Vector3 right = Quaternion.LookRotation(direction) * Quaternion.Euler(0,180+arrowHeadAngle,0) * new Vector3(0,0,1); 44 | Vector3 left = Quaternion.LookRotation(direction) * Quaternion.Euler(0,180-arrowHeadAngle,0) * new Vector3(0,0,1); 45 | Debug.DrawRay(pos + (direction * length), right * arrowHeadLength * length, color); 46 | Debug.DrawRay(pos + (direction * length), left * arrowHeadLength * length, color); 47 | } 48 | 49 | #endregion 50 | 51 | 52 | #region Frustum methods 53 | 54 | private const int FRUSTUM_SIZE = 8; 55 | private const int BOTTOM_LEFT_POINT = 0; 56 | private const int TOP_LEFT_POINT = 1; 57 | private const int TOP_RIGHT_POINT = 2; 58 | private const int BOTTOM_RIGHT_POINT = 3; 59 | private const int BOTTOM_LEFT_VEC = 4; 60 | private const int TOP_LEFT_VEC = 5; 61 | private const int TOP_RIGHT_VEC = 6; 62 | private const int BOTTOM_RIGHT_VEC = 7; 63 | 64 | public static void DrawDebugFrustum(Vector3[] viewFrustum) 65 | { 66 | Color[] colors = new Color[] { Color.red, Color.green, Color.blue, Color.white, Color.cyan, Color.magenta, Color.yellow, Color.black }; 67 | 68 | for (int i = 0; i < BOTTOM_LEFT_VEC; i++) 69 | { 70 | // Cast lines clockwise around near clipping plane bounds 71 | Debug.DrawLine(viewFrustum[i], viewFrustum[(i + 1) % BOTTOM_LEFT_VEC], colors[i]); 72 | Gizmos.DrawWireSphere(viewFrustum[i], 0.05f); 73 | 74 | // Cast rays clockwise out of near clipping plane bounds 75 | Debug.DrawRay(viewFrustum[i], viewFrustum[i + BOTTOM_LEFT_VEC], colors[i + BOTTOM_LEFT_VEC]); 76 | } 77 | } 78 | 79 | public static Vector3[] CalculateViewFrustum(Camera cam, ref Vector3 dimensions) 80 | { 81 | Vector3[] frustum = new Vector3[FRUSTUM_SIZE]; 82 | 83 | // Near clipping plane bounds 84 | frustum[BOTTOM_LEFT_POINT] = cam.ViewportToWorldPoint(new Vector3(0f, 0f, cam.nearClipPlane)); 85 | frustum[TOP_LEFT_POINT] = cam.ViewportToWorldPoint(new Vector3(0f, 1f, cam.nearClipPlane)); 86 | frustum[BOTTOM_RIGHT_POINT] = cam.ViewportToWorldPoint(new Vector3(1f, 0f, cam.nearClipPlane)); 87 | frustum[TOP_RIGHT_POINT] = cam.ViewportToWorldPoint(new Vector3(1f, 1f, cam.nearClipPlane)); 88 | 89 | // Clipping planes: 0/left, 1/right, 2/bottom, 3/top, 4/near, 5/far 90 | Plane[] planes = GeometryUtility.CalculateFrustumPlanes(cam); 91 | frustum[BOTTOM_LEFT_VEC] = Vector3.Cross(planes[0].normal, planes[2].normal); 92 | frustum[TOP_LEFT_VEC] = Vector3.Cross(planes[3].normal, planes[0].normal); 93 | frustum[TOP_RIGHT_VEC] = Vector3.Cross(planes[1].normal, planes[3].normal); 94 | frustum[BOTTOM_RIGHT_VEC] = Vector3.Cross(planes[2].normal, planes[1].normal); 95 | 96 | dimensions.x = (frustum[BOTTOM_LEFT_POINT] - frustum[BOTTOM_RIGHT_POINT]).magnitude; 97 | dimensions.y = (frustum[TOP_LEFT_POINT] - frustum[BOTTOM_LEFT_POINT]).magnitude; 98 | 99 | // Radius needed for sphere cast - distance from corner to center of viewport 100 | dimensions.z = (frustum[BOTTOM_LEFT_POINT] - cam.ViewportToWorldPoint(new Vector3(0.5f, 0.5f, cam.nearClipPlane))).magnitude; 101 | 102 | return frustum; 103 | } 104 | 105 | #endregion 106 | } -------------------------------------------------------------------------------- /Assets/Scripts/DebugDraw.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8aa660c802317cb40be602179f71af82 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Assets/Scripts/SceneViewCameraFollower.cs: -------------------------------------------------------------------------------- 1 | //Allows multiple SceneView cameras in the editor to be setup to follow gameobjects. 2 | //October 2012 - Joshua Berberick 3 | 4 | using UnityEngine; 5 | using System.Collections; 6 | using System.Collections.Generic; 7 | 8 | [ExecuteInEditMode] 9 | public class SceneViewCameraFollower : MonoBehaviour 10 | { 11 | #if UNITY_EDITOR 12 | 13 | public bool on = true; 14 | public bool onlyInPlayMode = false; 15 | public SceneViewFollower[] sceneViewFollowers; 16 | private ArrayList sceneViews; 17 | 18 | void LateUpdate() 19 | { 20 | if(sceneViewFollowers != null && sceneViews != null) 21 | { 22 | foreach(SceneViewFollower svf in sceneViewFollowers) 23 | { 24 | if(svf.targetTransform == null) svf.targetTransform = transform; 25 | svf.size = Mathf.Clamp(svf.size, .01f, float.PositiveInfinity); 26 | svf.sceneViewIndex = Mathf.Clamp(svf.sceneViewIndex, 0, sceneViews.Count-1); 27 | } 28 | } 29 | 30 | if(Application.isPlaying) 31 | Follow(); 32 | } 33 | 34 | public void OnDrawGizmos() 35 | { 36 | if(!Application.isPlaying) 37 | Follow(); 38 | } 39 | 40 | void Follow() 41 | { 42 | sceneViews = UnityEditor.SceneView.sceneViews; 43 | if(sceneViewFollowers == null || !on || sceneViews.Count == 0) return; 44 | 45 | foreach(SceneViewFollower svf in sceneViewFollowers) 46 | { 47 | if(!svf.enable) continue; 48 | UnityEditor.SceneView sceneView = (UnityEditor.SceneView) sceneViews[svf.sceneViewIndex]; 49 | if(sceneView != null) 50 | { 51 | if((Application.isPlaying && onlyInPlayMode) || !onlyInPlayMode) 52 | { 53 | sceneView.orthographic = svf.orthographic; 54 | sceneView.LookAtDirect(svf.targetTransform.position + svf.positionOffset, (svf.enableFixedRotation) ? Quaternion.Euler(svf.fixedRotation) : svf.targetTransform.rotation, svf.size); 55 | } 56 | } 57 | } 58 | } 59 | 60 | [System.Serializable] 61 | public class SceneViewFollower 62 | { 63 | public bool enable; 64 | public Vector3 positionOffset; 65 | public bool enableFixedRotation; 66 | public Vector3 fixedRotation; 67 | public Transform targetTransform; 68 | public float size; 69 | public bool orthographic; 70 | public int sceneViewIndex; 71 | 72 | SceneViewFollower() 73 | { 74 | enable = false; 75 | positionOffset = Vector3.zero; 76 | enableFixedRotation = false; 77 | fixedRotation = Vector3.zero; 78 | size = 5; 79 | orthographic = true; 80 | sceneViewIndex = 0; 81 | } 82 | } 83 | 84 | #endif 85 | } -------------------------------------------------------------------------------- /Assets/Scripts/SceneViewCameraFollower.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9e189725cd50d5e4d9685014e9943197 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Assets/Scripts/ThirdPersonCamera.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b59969cb0b132da4683696fcedac6864 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Assets/Scripts/ThirdPersonCameraEditor.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System.Collections; 3 | using UnityEditor; 4 | 5 | [CustomEditor (typeof(ThirdPersonCamera))] 6 | public class ThirdPersonCameraEditor : Editor 7 | { 8 | public override void OnInspectorGUI() 9 | { 10 | DrawDefaultInspector(); 11 | EditorGUILayout.Space(); 12 | ThirdPersonCamera camera = (ThirdPersonCamera) target; 13 | ReadOnlyField(camera.CamState.GetType().ToString(), camera.CamState); 14 | } 15 | 16 | private void ReadOnlyField(string title, object content) 17 | { 18 | EditorGUILayout.BeginHorizontal(); 19 | EditorGUILayout.PrefixLabel(title); 20 | EditorGUILayout.LabelField(content.ToString()); 21 | EditorGUILayout.EndHorizontal(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /Assets/Scripts/ThirdPersonCameraEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 73b7fb5eaa5e48346935a6844321b3dd 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Assets/Shaders.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9f7b96da4d0277148a8d477f634863e4 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Shaders/DiffuseWorldUV.shader: -------------------------------------------------------------------------------- 1 | Shader "Debug/DiffuseWorldUV" 2 | { 3 | Properties 4 | { 5 | _Wall ("Wall", 2D) = "white" {} 6 | _Floor ("Floor", 2D) = "white" {} 7 | _Frequency ("Frequency", float) = 1 8 | } 9 | SubShader 10 | { 11 | Tags { "RenderType" = "Opaque" } 12 | LOD 200 13 | 14 | CGPROGRAM 15 | #pragma surface surf Lambert 16 | 17 | sampler2D _Wall; 18 | sampler2D _Floor; 19 | float _Frequency; 20 | 21 | struct Input 22 | { 23 | float2 uv_Wall; 24 | float3 worldPos; 25 | float3 worldNormal; 26 | }; 27 | 28 | void surf (Input IN, inout SurfaceOutput o) 29 | { 30 | // Use abs() for bottom facing polygons 31 | float2 UV; 32 | 33 | if (IN.worldNormal.y > 0.5 || IN.worldNormal.y < -0.5) 34 | { 35 | UV = IN.worldPos.xz; // top 36 | } 37 | else if (abs(IN.worldNormal.x) > 0.5) 38 | { 39 | UV = IN.worldPos.yz; // side 40 | } 41 | else 42 | { 43 | UV = IN.worldPos.xy; // front 44 | } 45 | 46 | half4 c = float4(1, 1, 1, 1); 47 | half4 wall = tex2D(_Wall, UV * _Frequency); 48 | half4 floor = tex2D(_Floor, UV * _Frequency); 49 | float s = step(IN.worldNormal.y, 0.5); 50 | c = (wall * (s)) + (floor * 0.5 * (1 - s)); 51 | o.Albedo = c.rgb; 52 | o.Alpha = c.a; 53 | } 54 | ENDCG 55 | } 56 | 57 | FallBack "Diffuse" 58 | } -------------------------------------------------------------------------------- /Assets/Shaders/DiffuseWorldUV.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b652dab72d918bb46a4bf53592b58f58 3 | ShaderImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Sounds.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ad6d80e3bb0f14a4cbf497099995ab6d 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Sounds/CameraExitMode.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assets/Sounds/CameraExitMode.wav -------------------------------------------------------------------------------- /Assets/Sounds/CameraExitMode.wav.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 535d5ea7cd1936b4d8bd21e8610349b8 3 | AudioImporter: 4 | serializedVersion: 4 5 | format: -1 6 | quality: -1 7 | stream: 1 8 | 3D: 1 9 | forceToMono: 0 10 | useHardware: 0 11 | loopable: 0 12 | userData: 13 | -------------------------------------------------------------------------------- /Assets/Sounds/CameraFree.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assets/Sounds/CameraFree.wav -------------------------------------------------------------------------------- /Assets/Sounds/CameraFree.wav.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d82029fec5404914889ae4b5b354adde 3 | AudioImporter: 4 | serializedVersion: 4 5 | format: -1 6 | quality: -1 7 | stream: 1 8 | 3D: 1 9 | forceToMono: 0 10 | useHardware: 0 11 | loopable: 0 12 | userData: 13 | -------------------------------------------------------------------------------- /Assets/Sounds/CameraTarget.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jm991/UnityThirdPersonTutorial/c1628dde0ae758a99b8d98404a5a62e07103c84c/Assets/Sounds/CameraTarget.wav -------------------------------------------------------------------------------- /Assets/Sounds/CameraTarget.wav.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fb92c8e72d3269046b967a3ad5c8efbc 3 | AudioImporter: 4 | serializedVersion: 4 5 | format: -1 6 | quality: -1 7 | stream: 1 8 | 3D: 1 9 | forceToMono: 0 10 | useHardware: 0 11 | loopable: 0 12 | userData: 13 | -------------------------------------------------------------------------------- /ProjectSettings/AudioManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!11 &1 4 | AudioManager: 5 | m_ObjectHideFlags: 0 6 | m_Volume: 1 7 | Rolloff Scale: 1 8 | m_SpeedOfSound: 347 9 | Doppler Factor: 1 10 | Default Speaker Mode: 2 11 | m_DSPBufferSize: 0 12 | -------------------------------------------------------------------------------- /ProjectSettings/ClusterInputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!236 &1 4 | ClusterInputManager: 5 | m_ObjectHideFlags: 0 6 | m_Inputs: [] 7 | -------------------------------------------------------------------------------- /ProjectSettings/DynamicsManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!55 &1 4 | PhysicsManager: 5 | m_ObjectHideFlags: 0 6 | m_Gravity: {x: 0, y: -9.81000042, z: 0} 7 | m_DefaultMaterial: {fileID: 0} 8 | m_BounceThreshold: 2 9 | m_SleepVelocity: .150000006 10 | m_SleepAngularVelocity: .140000001 11 | m_MaxAngularVelocity: 7 12 | m_MinPenetrationForPenalty: .00999999978 13 | m_SolverIterationCount: 6 14 | m_RaycastsHitTriggers: 1 15 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 16 | -------------------------------------------------------------------------------- /ProjectSettings/EditorBuildSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1045 &1 4 | EditorBuildSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Scenes: 8 | - enabled: 1 9 | path: Assets/Scenes/Locomotion.unity 10 | -------------------------------------------------------------------------------- /ProjectSettings/EditorSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!159 &1 4 | EditorSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_ExternalVersionControlSupport: Meta Files 8 | m_SerializationMode: 2 9 | m_WebSecurityEmulationEnabled: 0 10 | m_WebSecurityEmulationHostUrl: http://www.mydomain.com/mygame.unity3d 11 | -------------------------------------------------------------------------------- /ProjectSettings/GraphicsSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!30 &1 4 | GraphicsSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 5 7 | m_Deferred: 8 | m_Mode: 1 9 | m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} 10 | m_DeferredReflections: 11 | m_Mode: 1 12 | m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0} 13 | m_LegacyDeferred: 14 | m_Mode: 1 15 | m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0} 16 | m_AlwaysIncludedShaders: 17 | - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} 18 | - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0} 19 | - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0} 20 | - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} 21 | - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} 22 | - {fileID: 10782, guid: 0000000000000000f000000000000000, type: 0} 23 | m_PreloadedShaders: [] 24 | m_ShaderSettings: 25 | useScreenSpaceShadows: 1 26 | m_BuildTargetShaderSettings: [] 27 | m_LightmapStripping: 0 28 | m_FogStripping: 0 29 | m_LightmapKeepPlain: 1 30 | m_LightmapKeepDirCombined: 1 31 | m_LightmapKeepDirSeparate: 1 32 | m_LightmapKeepDynamicPlain: 1 33 | m_LightmapKeepDynamicDirCombined: 1 34 | m_LightmapKeepDynamicDirSeparate: 1 35 | m_FogKeepLinear: 1 36 | m_FogKeepExp: 1 37 | m_FogKeepExp2: 1 38 | -------------------------------------------------------------------------------- /ProjectSettings/NavMeshAreas.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!126 &1 4 | NavMeshLayers: 5 | m_ObjectHideFlags: 0 6 | Built-in Layer 0: 7 | name: Default 8 | cost: 1 9 | editType: 2 10 | Built-in Layer 1: 11 | name: Not Walkable 12 | cost: 1 13 | editType: 0 14 | Built-in Layer 2: 15 | name: Jump 16 | cost: 2 17 | editType: 2 18 | User Layer 0: 19 | name: 20 | cost: 1 21 | editType: 3 22 | User Layer 1: 23 | name: 24 | cost: 1 25 | editType: 3 26 | User Layer 2: 27 | name: 28 | cost: 1 29 | editType: 3 30 | User Layer 3: 31 | name: 32 | cost: 1 33 | editType: 3 34 | User Layer 4: 35 | name: 36 | cost: 1 37 | editType: 3 38 | User Layer 5: 39 | name: 40 | cost: 1 41 | editType: 3 42 | User Layer 6: 43 | name: 44 | cost: 1 45 | editType: 3 46 | User Layer 7: 47 | name: 48 | cost: 1 49 | editType: 3 50 | User Layer 8: 51 | name: 52 | cost: 1 53 | editType: 3 54 | User Layer 9: 55 | name: 56 | cost: 1 57 | editType: 3 58 | User Layer 10: 59 | name: 60 | cost: 1 61 | editType: 3 62 | User Layer 11: 63 | name: 64 | cost: 1 65 | editType: 3 66 | User Layer 12: 67 | name: 68 | cost: 1 69 | editType: 3 70 | User Layer 13: 71 | name: 72 | cost: 1 73 | editType: 3 74 | User Layer 14: 75 | name: 76 | cost: 1 77 | editType: 3 78 | User Layer 15: 79 | name: 80 | cost: 1 81 | editType: 3 82 | User Layer 16: 83 | name: 84 | cost: 1 85 | editType: 3 86 | User Layer 17: 87 | name: 88 | cost: 1 89 | editType: 3 90 | User Layer 18: 91 | name: 92 | cost: 1 93 | editType: 3 94 | User Layer 19: 95 | name: 96 | cost: 1 97 | editType: 3 98 | User Layer 20: 99 | name: 100 | cost: 1 101 | editType: 3 102 | User Layer 21: 103 | name: 104 | cost: 1 105 | editType: 3 106 | User Layer 22: 107 | name: 108 | cost: 1 109 | editType: 3 110 | User Layer 23: 111 | name: 112 | cost: 1 113 | editType: 3 114 | User Layer 24: 115 | name: 116 | cost: 1 117 | editType: 3 118 | User Layer 25: 119 | name: 120 | cost: 1 121 | editType: 3 122 | User Layer 26: 123 | name: 124 | cost: 1 125 | editType: 3 126 | User Layer 27: 127 | name: 128 | cost: 1 129 | editType: 3 130 | User Layer 28: 131 | name: 132 | cost: 1 133 | editType: 3 134 | -------------------------------------------------------------------------------- /ProjectSettings/NavMeshLayers.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!126 &1 4 | NavMeshLayers: 5 | m_ObjectHideFlags: 0 6 | Built-in Layer 0: 7 | name: Default 8 | cost: 1 9 | editType: 2 10 | Built-in Layer 1: 11 | name: Not Walkable 12 | cost: 1 13 | editType: 0 14 | Built-in Layer 2: 15 | name: Jump 16 | cost: 2 17 | editType: 2 18 | User Layer 0: 19 | name: 20 | cost: 1 21 | editType: 3 22 | User Layer 1: 23 | name: 24 | cost: 1 25 | editType: 3 26 | User Layer 2: 27 | name: 28 | cost: 1 29 | editType: 3 30 | User Layer 3: 31 | name: 32 | cost: 1 33 | editType: 3 34 | User Layer 4: 35 | name: 36 | cost: 1 37 | editType: 3 38 | User Layer 5: 39 | name: 40 | cost: 1 41 | editType: 3 42 | User Layer 6: 43 | name: 44 | cost: 1 45 | editType: 3 46 | User Layer 7: 47 | name: 48 | cost: 1 49 | editType: 3 50 | User Layer 8: 51 | name: 52 | cost: 1 53 | editType: 3 54 | User Layer 9: 55 | name: 56 | cost: 1 57 | editType: 3 58 | User Layer 10: 59 | name: 60 | cost: 1 61 | editType: 3 62 | User Layer 11: 63 | name: 64 | cost: 1 65 | editType: 3 66 | User Layer 12: 67 | name: 68 | cost: 1 69 | editType: 3 70 | User Layer 13: 71 | name: 72 | cost: 1 73 | editType: 3 74 | User Layer 14: 75 | name: 76 | cost: 1 77 | editType: 3 78 | User Layer 15: 79 | name: 80 | cost: 1 81 | editType: 3 82 | User Layer 16: 83 | name: 84 | cost: 1 85 | editType: 3 86 | User Layer 17: 87 | name: 88 | cost: 1 89 | editType: 3 90 | User Layer 18: 91 | name: 92 | cost: 1 93 | editType: 3 94 | User Layer 19: 95 | name: 96 | cost: 1 97 | editType: 3 98 | User Layer 20: 99 | name: 100 | cost: 1 101 | editType: 3 102 | User Layer 21: 103 | name: 104 | cost: 1 105 | editType: 3 106 | User Layer 22: 107 | name: 108 | cost: 1 109 | editType: 3 110 | User Layer 23: 111 | name: 112 | cost: 1 113 | editType: 3 114 | User Layer 24: 115 | name: 116 | cost: 1 117 | editType: 3 118 | User Layer 25: 119 | name: 120 | cost: 1 121 | editType: 3 122 | User Layer 26: 123 | name: 124 | cost: 1 125 | editType: 3 126 | User Layer 27: 127 | name: 128 | cost: 1 129 | editType: 3 130 | User Layer 28: 131 | name: 132 | cost: 1 133 | editType: 3 134 | -------------------------------------------------------------------------------- /ProjectSettings/NetworkManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!149 &1 4 | NetworkManager: 5 | m_ObjectHideFlags: 0 6 | m_DebugLevel: 0 7 | m_Sendrate: 15 8 | m_AssetToPrefab: {} 9 | -------------------------------------------------------------------------------- /ProjectSettings/Physics2DSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!19 &1 4 | Physics2DSettings: 5 | m_ObjectHideFlags: 0 6 | m_Gravity: {x: 0, y: -9.81000042} 7 | m_DefaultMaterial: {fileID: 0} 8 | m_VelocityIterations: 8 9 | m_PositionIterations: 3 10 | m_VelocityThreshold: 1 11 | m_MaxLinearCorrection: .200000003 12 | m_MaxAngularCorrection: 8 13 | m_MaxTranslationSpeed: 100 14 | m_MaxRotationSpeed: 360 15 | m_BaumgarteScale: .200000003 16 | m_BaumgarteTimeOfImpactScale: .75 17 | m_TimeToSleep: .5 18 | m_LinearSleepTolerance: .00999999978 19 | m_AngularSleepTolerance: 2 20 | m_RaycastsHitTriggers: 1 21 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 22 | -------------------------------------------------------------------------------- /ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 5.3.2f1 2 | m_StandardAssetsVersion: 0 3 | -------------------------------------------------------------------------------- /ProjectSettings/QualitySettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!47 &1 4 | QualitySettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 5 7 | m_CurrentQuality: 3 8 | m_QualitySettings: 9 | - serializedVersion: 2 10 | name: Fastest 11 | pixelLightCount: 0 12 | shadows: 0 13 | shadowResolution: 0 14 | shadowProjection: 1 15 | shadowCascades: 1 16 | shadowDistance: 15 17 | blendWeights: 1 18 | textureQuality: 1 19 | anisotropicTextures: 0 20 | antiAliasing: 0 21 | softParticles: 0 22 | softVegetation: 0 23 | vSyncCount: 0 24 | lodBias: .300000012 25 | maximumLODLevel: 0 26 | particleRaycastBudget: 4 27 | excludedTargetPlatforms: [] 28 | - serializedVersion: 2 29 | name: Fast 30 | pixelLightCount: 0 31 | shadows: 0 32 | shadowResolution: 0 33 | shadowProjection: 1 34 | shadowCascades: 1 35 | shadowDistance: 20 36 | blendWeights: 2 37 | textureQuality: 0 38 | anisotropicTextures: 0 39 | antiAliasing: 0 40 | softParticles: 0 41 | softVegetation: 0 42 | vSyncCount: 0 43 | lodBias: .400000006 44 | maximumLODLevel: 0 45 | particleRaycastBudget: 16 46 | excludedTargetPlatforms: [] 47 | - serializedVersion: 2 48 | name: Simple 49 | pixelLightCount: 1 50 | shadows: 1 51 | shadowResolution: 0 52 | shadowProjection: 1 53 | shadowCascades: 1 54 | shadowDistance: 20 55 | blendWeights: 2 56 | textureQuality: 0 57 | anisotropicTextures: 1 58 | antiAliasing: 0 59 | softParticles: 0 60 | softVegetation: 0 61 | vSyncCount: 0 62 | lodBias: .699999988 63 | maximumLODLevel: 0 64 | particleRaycastBudget: 64 65 | excludedTargetPlatforms: [] 66 | - serializedVersion: 2 67 | name: Good 68 | pixelLightCount: 2 69 | shadows: 2 70 | shadowResolution: 1 71 | shadowProjection: 1 72 | shadowCascades: 2 73 | shadowDistance: 40 74 | blendWeights: 2 75 | textureQuality: 0 76 | anisotropicTextures: 1 77 | antiAliasing: 0 78 | softParticles: 0 79 | softVegetation: 1 80 | vSyncCount: 1 81 | lodBias: 1 82 | maximumLODLevel: 0 83 | particleRaycastBudget: 256 84 | excludedTargetPlatforms: [] 85 | - serializedVersion: 2 86 | name: Beautiful 87 | pixelLightCount: 3 88 | shadows: 2 89 | shadowResolution: 2 90 | shadowProjection: 1 91 | shadowCascades: 2 92 | shadowDistance: 70 93 | blendWeights: 4 94 | textureQuality: 0 95 | anisotropicTextures: 2 96 | antiAliasing: 2 97 | softParticles: 1 98 | softVegetation: 1 99 | vSyncCount: 1 100 | lodBias: 1.5 101 | maximumLODLevel: 0 102 | particleRaycastBudget: 1024 103 | excludedTargetPlatforms: [] 104 | - serializedVersion: 2 105 | name: Fantastic 106 | pixelLightCount: 4 107 | shadows: 2 108 | shadowResolution: 2 109 | shadowProjection: 1 110 | shadowCascades: 4 111 | shadowDistance: 150 112 | blendWeights: 4 113 | textureQuality: 0 114 | anisotropicTextures: 2 115 | antiAliasing: 2 116 | softParticles: 1 117 | softVegetation: 1 118 | vSyncCount: 1 119 | lodBias: 2 120 | maximumLODLevel: 0 121 | particleRaycastBudget: 4096 122 | excludedTargetPlatforms: [] 123 | m_PerPlatformDefaultQuality: 124 | Android: 2 125 | FlashPlayer: 3 126 | GLES Emulation: 3 127 | PS3: 3 128 | Standalone: 3 129 | Web: 3 130 | Wii: 3 131 | XBOX360: 3 132 | iPhone: 2 133 | -------------------------------------------------------------------------------- /ProjectSettings/TagManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!78 &1 4 | TagManager: 5 | tags: 6 | - 7 | Builtin Layer 0: Default 8 | Builtin Layer 1: TransparentFX 9 | Builtin Layer 2: Ignore Raycast 10 | Builtin Layer 3: 11 | Builtin Layer 4: Water 12 | Builtin Layer 5: 13 | Builtin Layer 6: 14 | Builtin Layer 7: 15 | User Layer 8: 16 | User Layer 9: 17 | User Layer 10: 18 | User Layer 11: 19 | User Layer 12: 20 | User Layer 13: 21 | User Layer 14: 22 | User Layer 15: 23 | User Layer 16: 24 | User Layer 17: 25 | User Layer 18: 26 | User Layer 19: 27 | User Layer 20: 28 | User Layer 21: 29 | User Layer 22: 30 | User Layer 23: 31 | User Layer 24: 32 | User Layer 25: 33 | User Layer 26: 34 | User Layer 27: 35 | User Layer 28: 36 | User Layer 29: 37 | User Layer 30: 38 | User Layer 31: 39 | -------------------------------------------------------------------------------- /ProjectSettings/TimeManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!5 &1 4 | TimeManager: 5 | m_ObjectHideFlags: 0 6 | Fixed Timestep: .0199999996 7 | Maximum Allowed Timestep: .333333343 8 | m_TimeScale: 1 9 | -------------------------------------------------------------------------------- /ProjectSettings/UnityAdsSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!292 &1 4 | UnityAdsSettings: 5 | m_ObjectHideFlags: 0 6 | m_Enabled: 0 7 | m_InitializeOnStartup: 1 8 | m_TestMode: 0 9 | m_EnabledPlatforms: 4294967295 10 | m_IosGameId: 11 | m_AndroidGameId: 12 | -------------------------------------------------------------------------------- /ProjectSettings/UnityConnectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!310 &1 4 | UnityConnectSettings: 5 | m_ObjectHideFlags: 0 6 | UnityPurchasingSettings: 7 | m_Enabled: 0 8 | m_TestMode: 0 9 | UnityAnalyticsSettings: 10 | m_Enabled: 0 11 | m_InitializeOnStartup: 1 12 | m_TestMode: 0 13 | m_TestEventUrl: 14 | m_TestConfigUrl: 15 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | UnityThirdPersonTutorial 2 | ======================== 3 | 4 | Sample project showing third person camera behavior and Mecanim animations 5 | 6 | For more information, check out the YouTube playlist that walks through how this code was developed: 7 | https://www.youtube.com/watch?v=b0PvJ4AWvWQ&list=PLKFvhfT4QOqlEReJ2lSZJk_APVq5sxZ-x 8 | -------------------------------------------------------------------------------- /UnityThirdPersonTutorial.userprefs: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | --------------------------------------------------------------------------------