diff --git a/Assets/Thirdparty/Ciathyza/Gridbox Prototype Materials/Textures/prototype_512x512_grey4.png b/Assets/Thirdparty/Ciathyza/Gridbox Prototype Materials/Textures/prototype_512x512_grey4.png index 61a15ae..cb750ed 100644 Binary files a/Assets/Thirdparty/Ciathyza/Gridbox Prototype Materials/Textures/prototype_512x512_grey4.png and b/Assets/Thirdparty/Ciathyza/Gridbox Prototype Materials/Textures/prototype_512x512_grey4.png differ diff --git a/Assets/Thirdparty/Ciathyza/Gridbox Prototype Materials/Textures/prototype_512x512_grey4.png.meta b/Assets/Thirdparty/Ciathyza/Gridbox Prototype Materials/Textures/prototype_512x512_grey4.png.meta index b1cdc89..7b18954 100644 --- a/Assets/Thirdparty/Ciathyza/Gridbox Prototype Materials/Textures/prototype_512x512_grey4.png.meta +++ b/Assets/Thirdparty/Ciathyza/Gridbox Prototype Materials/Textures/prototype_512x512_grey4.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 guid: ed0c2c8a99e92e14ba740ac8aa428288 TextureImporter: - internalIDToNameTable: [] + fileIDToRecycleName: {} externalObjects: {} - serializedVersion: 11 + serializedVersion: 7 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -57,33 +57,30 @@ TextureImporter: maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 - applyGammaDecoding: 1 platformSettings: - - serializedVersion: 3 + - serializedVersion: 2 buildTarget: DefaultTexturePlatform maxTextureSize: 512 resizeAlgorithm: 0 textureFormat: -1 - textureCompression: 1 + textureCompression: 2 compressionQuality: 50 crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 2 buildTarget: Standalone maxTextureSize: 512 resizeAlgorithm: 0 textureFormat: -1 - textureCompression: 1 + textureCompression: 2 compressionQuality: 50 crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 2 buildTarget: iPhone maxTextureSize: 512 resizeAlgorithm: 0 @@ -94,8 +91,7 @@ TextureImporter: allowsAlphaSplitting: 0 overridden: 0 androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 1 - - serializedVersion: 3 + - serializedVersion: 2 buildTarget: WebGL maxTextureSize: 512 resizeAlgorithm: 0 @@ -106,7 +102,6 @@ TextureImporter: allowsAlphaSplitting: 0 overridden: 0 androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 1 spriteSheet: serializedVersion: 2 sprites: [] @@ -114,12 +109,10 @@ TextureImporter: physicsShape: [] bones: [] spriteID: - internalID: 0 vertices: [] indices: edges: [] weights: [] - secondaryTextures: [] spritePackingTag: pSDRemoveMatte: 0 pSDShowRemoveMatteOption: 0 diff --git a/Assets/TransparrentRed.mat b/Assets/TransparrentRed.mat deleted file mode 100644 index ab22844..0000000 --- a/Assets/TransparrentRed.mat +++ /dev/null @@ -1,85 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: TransparrentRed - m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: - - _ALPHAPREMULTIPLY_ON - m_InvalidKeywords: [] - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 3000 - stringTagMap: - RenderType: Transparent - disabledShaderPasses: [] - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailAlbedoMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _OcclusionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ParallaxMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _BumpScale: 1 - - _Cutoff: 0.5 - - _DetailNormalMapScale: 1 - - _DstBlend: 10 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 3 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _UVSec: 0 - - _ZWrite: 0 - m_Colors: - - _Color: {r: 1, g: 0, b: 0, a: 0.5019608} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - m_BuildTextureStacks: [] diff --git a/Assets/Ultimate 10 Plus Shaders.meta b/Assets/Ultimate 10 Plus Shaders.meta new file mode 100644 index 0000000..743524b --- /dev/null +++ b/Assets/Ultimate 10 Plus Shaders.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 29720fcdf33dc1c44900e42bb5835507 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Ultimate 10 Plus Shaders/3D Models.meta b/Assets/Ultimate 10 Plus Shaders/3D Models.meta new file mode 100644 index 0000000..9fd3cbe --- /dev/null +++ b/Assets/Ultimate 10 Plus Shaders/3D Models.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 71999ee7a97214645a9f2eef1fa186c2 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Ultimate 10 Plus Shaders/3D Models/Grass_Mesh.fbx b/Assets/Ultimate 10 Plus Shaders/3D Models/Grass_Mesh.fbx new file mode 100644 index 0000000..9a9de22 Binary files /dev/null and b/Assets/Ultimate 10 Plus Shaders/3D Models/Grass_Mesh.fbx differ diff --git a/Assets/Ultimate 10 Plus Shaders/3D Models/Grass_Mesh.fbx.meta b/Assets/Ultimate 10 Plus Shaders/3D Models/Grass_Mesh.fbx.meta new file mode 100644 index 0000000..d6ad676 --- /dev/null +++ b/Assets/Ultimate 10 Plus Shaders/3D Models/Grass_Mesh.fbx.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: 446648e11dc37c4458f9af0b19ebb9d1 +ModelImporter: + serializedVersion: 19300 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 1 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Ultimate 10 Plus Shaders/3D Models/Rock.fbx b/Assets/Ultimate 10 Plus Shaders/3D Models/Rock.fbx new file mode 100644 index 0000000..306a4b9 Binary files /dev/null and b/Assets/Ultimate 10 Plus Shaders/3D Models/Rock.fbx differ diff --git a/Assets/Ultimate 10 Plus Shaders/3D Models/Rock.fbx.meta b/Assets/Ultimate 10 Plus Shaders/3D Models/Rock.fbx.meta new file mode 100644 index 0000000..b94e4ac --- /dev/null +++ b/Assets/Ultimate 10 Plus Shaders/3D Models/Rock.fbx.meta @@ -0,0 +1,70 @@ +fileFormatVersion: 2 +guid: dfb9706df9ac8264ebf1e58976096256 +ModelImporter: + serializedVersion: 19 + fileIDToRecycleName: + 4300000: Rock1_LP:polySurface1 + materials: + importMaterials: 0 + materialName: 0 + materialSearch: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleRotations: 1 + optimizeGameObjects: 0 + motionNodeName: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + importBlendShapes: 1 + swapUVChannels: 0 + generateSecondaryUV: 1 + useFileUnits: 1 + optimizeMeshForGPU: 1 + keepQuads: 0 + weldVertices: 1 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 0 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 4 + importAnimation: 1 + copyAvatar: 0 + humanDescription: + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + rootMotionBoneName: + hasTranslationDoF: 0 + lastHumanDescriptionAvatarSource: {instanceID: 0} + animationType: 1 + humanoidOversampling: 1 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Ultimate 10 Plus Shaders/Shaders.meta b/Assets/Ultimate 10 Plus Shaders/Shaders.meta new file mode 100644 index 0000000..e2d2b93 --- /dev/null +++ b/Assets/Ultimate 10 Plus Shaders/Shaders.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7abb74942295fc244bdfe8bb8236881d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Ultimate 10 Plus Shaders/Shaders/Blur.shader b/Assets/Ultimate 10 Plus Shaders/Shaders/Blur.shader new file mode 100644 index 0000000..138f4f8 --- /dev/null +++ b/Assets/Ultimate 10 Plus Shaders/Shaders/Blur.shader @@ -0,0 +1,125 @@ +/* + ██████╗░██╗░░░░░██╗░░░██╗██████╗░  ░██████╗██╗░░██╗░█████╗░██████╗░███████╗██████╗░ + ██╔══██╗██║░░░░░██║░░░██║██╔══██╗  ██╔════╝██║░░██║██╔══██╗██╔══██╗██╔════╝██╔══██╗ + ██████╦╝██║░░░░░██║░░░██║██████╔╝  ╚█████╗░███████║███████║██║░░██║█████╗░░██████╔╝ + ██╔══██╗██║░░░░░██║░░░██║██╔══██╗  ░╚═══██╗██╔══██║██╔══██║██║░░██║██╔══╝░░██╔══██╗ + ██████╦╝███████╗╚██████╔╝██║░░██║  ██████╔╝██║░░██║██║░░██║██████╔╝███████╗██║░░██║ + ╚═════╝░╚══════╝░╚═════╝░╚═╝░░╚═╝  ╚═════╝░╚═╝░░╚═╝╚═╝░░╚═╝╚═════╝░╚══════╝╚═╝░░╚═╝ + + █▀▀▄ █──█   ▀▀█▀▀ █──█ █▀▀   ░█▀▀▄ █▀▀ ▀█─█▀ █▀▀ █── █▀▀█ █▀▀█ █▀▀ █▀▀█ + █▀▀▄ █▄▄█   ─░█── █▀▀█ █▀▀   ░█─░█ █▀▀ ─█▄█─ █▀▀ █── █──█ █──█ █▀▀ █▄▄▀ + ▀▀▀─ ▄▄▄█   ─░█── ▀──▀ ▀▀▀   ░█▄▄▀ ▀▀▀ ──▀── ▀▀▀ ▀▀▀ ▀▀▀▀ █▀▀▀ ▀▀▀ ▀─▀▀ +____________________________________________________________________________________________________________________________________________ + + ▄▀█ █▀ █▀ █▀▀ ▀█▀ ▀   █░█ █░░ ▀█▀ █ █▀▄▀█ ▄▀█ ▀█▀ █▀▀   ▄█ █▀█ ▄█▄   █▀ █░█ ▄▀█ █▀▄ █▀▀ █▀█ █▀ + █▀█ ▄█ ▄█ ██▄ ░█░ ▄   █▄█ █▄▄ ░█░ █ █░▀░█ █▀█ ░█░ ██▄   ░█ █▄█ ░▀░   ▄█ █▀█ █▀█ █▄▀ ██▄ █▀▄ ▄█ +____________________________________________________________________________________________________________________________________________ +License: + The license is ATTRIBUTION 3.0 + + More license info here: + https://creativecommons.org/licenses/by/3.0/ +____________________________________________________________________________________________________________________________________________ +This shader has NOT been tested on any other PC configuration except the following: + CPU: Intel Core i5-6400 + GPU: NVidia GTX 750Ti + RAM: 16GB + Windows: 10 x64 + DirectX: 11 +____________________________________________________________________________________________________________________________________________ +*/ + +Shader "Ultimate 10+ Shaders/Blur" +{ + Properties + { + _Color ("Color", Color) = (1,1,1,1) + _BlurAmount ("Blur Amount", Range(0, 0.03)) = 0.0128 + } + SubShader + { + Tags { "Queue"="Transparent" } + Cull Back + ZTest Always + + GrabPass { } + + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + #include "UnityCG.cginc" + + struct appdata + { + float4 vertex : POSITION; + float3 normal : NORMAL; + }; + + struct v2f + { + float4 position : POSITION; + float4 screenPos : TEXCOORD0; + }; + + half _BlurAmount; + fixed4 _Color; + sampler2D _GrabTexture : register(s0); + + v2f vert(appdata input) + { + v2f output; + + output.position = UnityObjectToClipPos(input.vertex); + output.screenPos = output.position; + + return output; + } + + half4 pixel; + half2 uv; + fixed i = 0; + half iBlur; + half4 frag(v2f input) : SV_Target + { + uv = input.screenPos.xy / input.screenPos.w; + uv.x = (uv.x + 1) * .5; + uv.y = 1.0 - (uv.y + 1) * .5; + + pixel = 0; + + pixel += tex2D(_GrabTexture, half2(uv.x + 1.5 * _BlurAmount, uv.y + 0.5 * _BlurAmount)); + pixel += tex2D(_GrabTexture, half2(uv.x + 1.5 * _BlurAmount, uv.y - 0.5 * _BlurAmount)); + pixel += tex2D(_GrabTexture, half2(uv.x + 1.5 * _BlurAmount, uv.y - 1.5 * _BlurAmount)); + pixel += tex2D(_GrabTexture, half2(uv.x + 1.5 * _BlurAmount, uv.y - 2.5 * _BlurAmount)); + pixel += tex2D(_GrabTexture, half2(uv.x + 0.5 * _BlurAmount, uv.y + 2.5 * _BlurAmount)); + pixel += tex2D(_GrabTexture, half2(uv.x + 0.5 * _BlurAmount, uv.y + 1.5 * _BlurAmount)); + + pixel += tex2D(_GrabTexture, half2(uv.x + 0.5 * _BlurAmount, uv.y + 0.5 * _BlurAmount)); + pixel += tex2D(_GrabTexture, half2(uv.x + 0.5 * _BlurAmount, uv.y - 0.5 * _BlurAmount)); + + pixel += tex2D(_GrabTexture, half2(uv.x + 0.5 * _BlurAmount, uv.y - 1.5 * _BlurAmount)); + pixel += tex2D(_GrabTexture, half2(uv.x + 0.5 * _BlurAmount, uv.y - 2.5 * _BlurAmount)); + pixel += tex2D(_GrabTexture, half2(uv.x - 0.5 * _BlurAmount, uv.y + 2.5 * _BlurAmount)); + pixel += tex2D(_GrabTexture, half2(uv.x - 0.5 * _BlurAmount, uv.y + 1.5 * _BlurAmount)); + + pixel += tex2D(_GrabTexture, half2(uv.x - 0.5 * _BlurAmount, uv.y + 0.5 * _BlurAmount)); + pixel += tex2D(_GrabTexture, half2(uv.x - 0.5 * _BlurAmount, uv.y - 0.5 * _BlurAmount)); + + pixel += tex2D(_GrabTexture, half2(uv.x - 0.5 * _BlurAmount, uv.y - 1.5 * _BlurAmount)); + pixel += tex2D(_GrabTexture, half2(uv.x - 0.5 * _BlurAmount, uv.y - 2.5 * _BlurAmount)); + pixel += tex2D(_GrabTexture, half2(uv.x - 1.5 * _BlurAmount, uv.y + 2.5 * _BlurAmount)); + pixel += tex2D(_GrabTexture, half2(uv.x - 1.5 * _BlurAmount, uv.y + 1.5 * _BlurAmount)); + pixel += tex2D(_GrabTexture, half2(uv.x - 1.5 * _BlurAmount, uv.y + 0.5 * _BlurAmount)); + pixel += tex2D(_GrabTexture, half2(uv.x - 1.5 * _BlurAmount, uv.y - 0.5 * _BlurAmount)); + + pixel += tex2D(_GrabTexture, half2(uv.x, uv.y)); + + return (pixel / 20.0) * _Color; + } + ENDCG + } + } +} diff --git a/Assets/Ultimate 10 Plus Shaders/Shaders/Blur.shader.meta b/Assets/Ultimate 10 Plus Shaders/Shaders/Blur.shader.meta new file mode 100644 index 0000000..45a6457 --- /dev/null +++ b/Assets/Ultimate 10 Plus Shaders/Shaders/Blur.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: c1662f12eab0ae946b01744f1eb4e6d7 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Ultimate 10 Plus Shaders/Shaders/Depth Mask Edge Detection.shader b/Assets/Ultimate 10 Plus Shaders/Shaders/Depth Mask Edge Detection.shader new file mode 100644 index 0000000..1fb35dd --- /dev/null +++ b/Assets/Ultimate 10 Plus Shaders/Shaders/Depth Mask Edge Detection.shader @@ -0,0 +1,115 @@ +/* +██████╗░███████╗██████╗░████████╗██╗░░██╗  ███╗░░░███╗░█████╗░░██████╗██╗░░██╗  ███████╗██████╗░░██████╗░███████╗ +██╔══██╗██╔════╝██╔══██╗╚══██╔══╝██║░░██║  ████╗░████║██╔══██╗██╔════╝██║░██╔╝  ██╔════╝██╔══██╗██╔════╝░██╔════╝ +██║░░██║█████╗░░██████╔╝░░░██║░░░███████║  ██╔████╔██║███████║╚█████╗░█████═╝░  █████╗░░██║░░██║██║░░██╗░█████╗░░ +██║░░██║██╔══╝░░██╔═══╝░░░░██║░░░██╔══██║  ██║╚██╔╝██║██╔══██║░╚═══██╗██╔═██╗░  ██╔══╝░░██║░░██║██║░░╚██╗██╔══╝░░ +██████╔╝███████╗██║░░░░░░░░██║░░░██║░░██║  ██║░╚═╝░██║██║░░██║██████╔╝██║░╚██╗  ███████╗██████╔╝╚██████╔╝███████╗ +╚═════╝░╚══════╝╚═╝░░░░░░░░╚═╝░░░╚═╝░░╚═╝  ╚═╝░░░░░╚═╝╚═╝░░╚═╝╚═════╝░╚═╝░░╚═╝  ╚══════╝╚═════╝░░╚═════╝░╚══════╝ + + ██████╗░███████╗████████╗███████╗░█████╗░████████╗██╗░█████╗░███╗░░██╗ + ██╔══██╗██╔════╝╚══██╔══╝██╔════╝██╔══██╗╚══██╔══╝██║██╔══██╗████╗░██║ + ██║░░██║█████╗░░░░░██║░░░█████╗░░██║░░╚═╝░░░██║░░░██║██║░░██║██╔██╗██║ + ██║░░██║██╔══╝░░░░░██║░░░██╔══╝░░██║░░██╗░░░██║░░░██║██║░░██║██║╚████║ + ██████╔╝███████╗░░░██║░░░███████╗╚█████╔╝░░░██║░░░██║╚█████╔╝██║░╚███║ + ╚═════╝░╚══════╝░░░╚═╝░░░╚══════╝░╚════╝░░░░╚═╝░░░╚═╝░╚════╝░╚═╝░░╚══╝ + + ░██████╗██╗░░██╗░█████╗░██████╗░███████╗██████╗░ + ██╔════╝██║░░██║██╔══██╗██╔══██╗██╔════╝██╔══██╗ + ╚█████╗░███████║███████║██║░░██║█████╗░░██████╔╝ + ░╚═══██╗██╔══██║██╔══██║██║░░██║██╔══╝░░██╔══██╗ + ██████╔╝██║░░██║██║░░██║██████╔╝███████╗██║░░██║ + ╚═════╝░╚═╝░░╚═╝╚═╝░░╚═╝╚═════╝░╚══════╝╚═╝░░╚═╝ + + █▀▀▄ █──█   ▀▀█▀▀ █──█ █▀▀   ░█▀▀▄ █▀▀ ▀█─█▀ █▀▀ █── █▀▀█ █▀▀█ █▀▀ █▀▀█ + █▀▀▄ █▄▄█   ─░█── █▀▀█ █▀▀   ░█─░█ █▀▀ ─█▄█─ █▀▀ █── █──█ █──█ █▀▀ █▄▄▀ + ▀▀▀─ ▄▄▄█   ─░█── ▀──▀ ▀▀▀   ░█▄▄▀ ▀▀▀ ──▀── ▀▀▀ ▀▀▀ ▀▀▀▀ █▀▀▀ ▀▀▀ ▀─▀▀ +____________________________________________________________________________________________________________________________________________ + + ▄▀█ █▀ █▀ █▀▀ ▀█▀ ▀   █░█ █░░ ▀█▀ █ █▀▄▀█ ▄▀█ ▀█▀ █▀▀   ▄█ █▀█ ▄█▄   █▀ █░█ ▄▀█ █▀▄ █▀▀ █▀█ █▀ + █▀█ ▄█ ▄█ ██▄ ░█░ ▄   █▄█ █▄▄ ░█░ █ █░▀░█ █▀█ ░█░ ██▄   ░█ █▄█ ░▀░   ▄█ █▀█ █▀█ █▄▀ ██▄ █▀▄ ▄█ +____________________________________________________________________________________________________________________________________________ +License: + The license is ATTRIBUTION 3.0 + + More license info here: + https://creativecommons.org/licenses/by/3.0/ +____________________________________________________________________________________________________________________________________________ +This shader has NOT been tested on any other PC configuration except the following: + CPU: Intel Core i5-6400 + GPU: NVidia GTX 750Ti + RAM: 16GB + Windows: 10 x64 + DirectX: 11 +____________________________________________________________________________________________________________________________________________ +*/ + +Shader "Ultimate 10+ Shaders/Depth Mask Edge Detection" +{ + Properties + { + _Color ("Color", Color) = (1,1,1,1) + } + SubShader + { + Tags { "Queue"="Transparent" } + Cull Back + ZTest Always + + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + #include "UnityCG.cginc" + + struct appdata + { + float4 vertex : POSITION; + float3 normal : NORMAL; + }; + + struct v2f + { + float4 position : POSITION; + float4 screenPos : TEXCOORD0; + }; + + fixed4 _Color; + sampler2D _CameraDepthTexture; + + v2f vert(appdata input) + { + v2f output; + + output.position = UnityObjectToClipPos(input.vertex); + output.screenPos = output.position; + + return output; + } + + half4 pixel; + half2 uv; + fixed onePixelW, onePixelH; + half4 frag(v2f input) : SV_Target + { + uv = input.screenPos.xy / input.screenPos.w; + uv.x = (uv.x + 1) * .5; + uv.y = (uv.y + 1) * .5; + + onePixelW = 1.0 / _ScreenParams.x; + onePixelH = 1.0 / _ScreenParams.y; + + pixel = Linear01Depth(abs( + tex2D(_CameraDepthTexture, float2(uv.x - onePixelW, uv.y)) - + tex2D(_CameraDepthTexture, float2(uv.x + onePixelW, uv.y)) + + tex2D(_CameraDepthTexture, float2(uv.x, uv.y + onePixelH)) - + tex2D(_CameraDepthTexture, float2(uv.x, uv.y - onePixelH)) + )); + + return pixel * _Color; + } + ENDCG + } + } +} diff --git a/Assets/Ultimate 10 Plus Shaders/Shaders/Depth Mask Edge Detection.shader.meta b/Assets/Ultimate 10 Plus Shaders/Shaders/Depth Mask Edge Detection.shader.meta new file mode 100644 index 0000000..224361b --- /dev/null +++ b/Assets/Ultimate 10 Plus Shaders/Shaders/Depth Mask Edge Detection.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: e7a63e85a04f2f649805b8fbc5850027 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Ultimate 10 Plus Shaders/Shaders/Dissolve.shader b/Assets/Ultimate 10 Plus Shaders/Shaders/Dissolve.shader new file mode 100644 index 0000000..56302c5 --- /dev/null +++ b/Assets/Ultimate 10 Plus Shaders/Shaders/Dissolve.shader @@ -0,0 +1,100 @@ +/* + ██████╗░██╗░██████╗░██████╗░█████╗░██╗░░░░░██╗░░░██╗███████╗  ░██████╗██╗░░██╗░█████╗░██████╗░███████╗██████╗░ + ██╔══██╗██║██╔════╝██╔════╝██╔══██╗██║░░░░░██║░░░██║██╔════╝  ██╔════╝██║░░██║██╔══██╗██╔══██╗██╔════╝██╔══██╗ + ██║░░██║██║╚█████╗░╚█████╗░██║░░██║██║░░░░░╚██╗░██╔╝█████╗░░  ╚█████╗░███████║███████║██║░░██║█████╗░░██████╔╝ + ██║░░██║██║░╚═══██╗░╚═══██╗██║░░██║██║░░░░░░╚████╔╝░██╔══╝░░  ░╚═══██╗██╔══██║██╔══██║██║░░██║██╔══╝░░██╔══██╗ + ██████╔╝██║██████╔╝██████╔╝╚█████╔╝███████╗░░╚██╔╝░░███████╗  ██████╔╝██║░░██║██║░░██║██████╔╝███████╗██║░░██║ + ╚═════╝░╚═╝╚═════╝░╚═════╝░░╚════╝░╚══════╝░░░╚═╝░░░╚══════╝  ╚═════╝░╚═╝░░╚═╝╚═╝░░╚═╝╚═════╝░╚══════╝╚═╝░░╚═╝ + + █▀▀▄ █──█   ▀▀█▀▀ █──█ █▀▀   ░█▀▀▄ █▀▀ ▀█─█▀ █▀▀ █── █▀▀█ █▀▀█ █▀▀ █▀▀█ + █▀▀▄ █▄▄█   ─░█── █▀▀█ █▀▀   ░█─░█ █▀▀ ─█▄█─ █▀▀ █── █──█ █──█ █▀▀ █▄▄▀ + ▀▀▀─ ▄▄▄█   ─░█── ▀──▀ ▀▀▀   ░█▄▄▀ ▀▀▀ ──▀── ▀▀▀ ▀▀▀ ▀▀▀▀ █▀▀▀ ▀▀▀ ▀─▀▀ +____________________________________________________________________________________________________________________________________________ + + ▄▀█ █▀ █▀ █▀▀ ▀█▀ ▀   █░█ █░░ ▀█▀ █ █▀▄▀█ ▄▀█ ▀█▀ █▀▀   ▄█ █▀█ ▄█▄   █▀ █░█ ▄▀█ █▀▄ █▀▀ █▀█ █▀ + █▀█ ▄█ ▄█ ██▄ ░█░ ▄   █▄█ █▄▄ ░█░ █ █░▀░█ █▀█ ░█░ ██▄   ░█ █▄█ ░▀░   ▄█ █▀█ █▀█ █▄▀ ██▄ █▀▄ ▄█ +____________________________________________________________________________________________________________________________________________ +License: + The license is ATTRIBUTION 3.0 + + More license info here: + https://creativecommons.org/licenses/by/3.0/ +____________________________________________________________________________________________________________________________________________ +This shader has NOT been tested on any other PC configuration except the following: + CPU: Intel Core i5-6400 + GPU: NVidia GTX 750Ti + RAM: 16GB + Windows: 10 x64 + DirectX: 11 +____________________________________________________________________________________________________________________________________________ +*/ + +Shader "Ultimate 10+ Shaders/Dissolve" +{ + Properties + { + _Color ("Color", Color) = (1,1,1,1) + _MainTex ("Albedo (RGB)", 2D) = "white" {} + _NoiseTex ("Noise", 2D) = "white" {} + + _Cutoff ("Cut off", Range(0, 1)) = 0.25 + _EdgeWidth ("Edge Width", Range(0, 1)) = 0.05 + [HDR] _EdgeColor ("Edge Color", Color) = (1,1,1,1) + + [Enum(UnityEngine.Rendering.CullMode)] _Cull ("Cull", Float) = 2 + } + SubShader + { + Tags { "RenderType"="Geometry" "Queue"="Transparent" } + LOD 200 + Cull [_Cull] + + CGPROGRAM + // Physically based Standard lighting model, and enable shadows on all light types + #pragma surface surf Standard addshadow fullforwardshadows + + #ifndef SHADER_API_D3D11 + #pragma target 3.0 + #else + #pragma target 4.0 + #endif + + sampler2D _MainTex; + sampler2D _NoiseTex; + + half _Cutoff; + half _EdgeWidth; + + fixed4 _Color; + fixed4 _EdgeColor; + + struct Input + { + float2 uv_MainTex; + float2 uv_NoiseTex; + }; + + // Add instancing support for this shader. You need to check 'Enable Instancing' on materials that use the shader. + // See https://docs.unity3d.com/Manual/GPUInstancing.html for more information about instancing. + // #pragma instancing_options assumeuniformscaling + UNITY_INSTANCING_BUFFER_START(Props) + // put more per-instance properties here + UNITY_INSTANCING_BUFFER_END(Props) + + fixed4 noisePixel, pixel; + half cutoff; + void surf (Input IN, inout SurfaceOutputStandard o) + { + pixel = tex2D (_MainTex, IN.uv_MainTex) * _Color; + + o.Albedo = pixel.rgb; + + noisePixel = tex2D (_NoiseTex, IN.uv_NoiseTex); + + clip(noisePixel.r >= _Cutoff ? 1 : -1); + o.Emission = noisePixel.r >= (_Cutoff * (_EdgeWidth + 1.0)) ? 0 : _EdgeColor; + } + ENDCG + } + FallBack "Diffuse" +} diff --git a/Assets/Ultimate 10 Plus Shaders/Shaders/Dissolve.shader.meta b/Assets/Ultimate 10 Plus Shaders/Shaders/Dissolve.shader.meta new file mode 100644 index 0000000..e154d03 --- /dev/null +++ b/Assets/Ultimate 10 Plus Shaders/Shaders/Dissolve.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 8842c84d9ff79e24abe4295f91ae4a7a +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Ultimate 10 Plus Shaders/Shaders/Edge Detection.shader b/Assets/Ultimate 10 Plus Shaders/Shaders/Edge Detection.shader new file mode 100644 index 0000000..5560572 --- /dev/null +++ b/Assets/Ultimate 10 Plus Shaders/Shaders/Edge Detection.shader @@ -0,0 +1,110 @@ +/* + +███████╗██████╗░░██████╗░███████╗  ██████╗░███████╗████████╗███████╗░█████╗░████████╗██╗░█████╗░███╗░░██╗ +██╔════╝██╔══██╗██╔════╝░██╔════╝  ██╔══██╗██╔════╝╚══██╔══╝██╔════╝██╔══██╗╚══██╔══╝██║██╔══██╗████╗░██║ +█████╗░░██║░░██║██║░░██╗░█████╗░░  ██║░░██║█████╗░░░░░██║░░░█████╗░░██║░░╚═╝░░░██║░░░██║██║░░██║██╔██╗██║ +██╔══╝░░██║░░██║██║░░╚██╗██╔══╝░░  ██║░░██║██╔══╝░░░░░██║░░░██╔══╝░░██║░░██╗░░░██║░░░██║██║░░██║██║╚████║ +███████╗██████╔╝╚██████╔╝███████╗  ██████╔╝███████╗░░░██║░░░███████╗╚█████╔╝░░░██║░░░██║╚█████╔╝██║░╚███║ +╚══════╝╚═════╝░░╚═════╝░╚══════╝  ╚═════╝░╚══════╝░░░╚═╝░░░╚══════╝░╚════╝░░░░╚═╝░░░╚═╝░╚════╝░╚═╝░░╚══╝ + + ░██████╗██╗░░██╗░█████╗░██████╗░███████╗██████╗░ + ██╔════╝██║░░██║██╔══██╗██╔══██╗██╔════╝██╔══██╗ + ╚█████╗░███████║███████║██║░░██║█████╗░░██████╔╝ + ░╚═══██╗██╔══██║██╔══██║██║░░██║██╔══╝░░██╔══██╗ + ██████╔╝██║░░██║██║░░██║██████╔╝███████╗██║░░██║ + ╚═════╝░╚═╝░░╚═╝╚═╝░░╚═╝╚═════╝░╚══════╝╚═╝░░╚═╝ + + █▀▀▄ █──█   ▀▀█▀▀ █──█ █▀▀   ░█▀▀▄ █▀▀ ▀█─█▀ █▀▀ █── █▀▀█ █▀▀█ █▀▀ █▀▀█ + █▀▀▄ █▄▄█   ─░█── █▀▀█ █▀▀   ░█─░█ █▀▀ ─█▄█─ █▀▀ █── █──█ █──█ █▀▀ █▄▄▀ + ▀▀▀─ ▄▄▄█   ─░█── ▀──▀ ▀▀▀   ░█▄▄▀ ▀▀▀ ──▀── ▀▀▀ ▀▀▀ ▀▀▀▀ █▀▀▀ ▀▀▀ ▀─▀▀ +____________________________________________________________________________________________________________________________________________ + + ▄▀█ █▀ █▀ █▀▀ ▀█▀ ▀   █░█ █░░ ▀█▀ █ █▀▄▀█ ▄▀█ ▀█▀ █▀▀   ▄█ █▀█ ▄█▄   █▀ █░█ ▄▀█ █▀▄ █▀▀ █▀█ █▀ + █▀█ ▄█ ▄█ ██▄ ░█░ ▄   █▄█ █▄▄ ░█░ █ █░▀░█ █▀█ ░█░ ██▄   ░█ █▄█ ░▀░   ▄█ █▀█ █▀█ █▄▀ ██▄ █▀▄ ▄█ +____________________________________________________________________________________________________________________________________________ +License: + The license is ATTRIBUTION 3.0 + + More license info here: + https://creativecommons.org/licenses/by/3.0/ +____________________________________________________________________________________________________________________________________________ +This shader has NOT been tested on any other PC configuration except the following: + CPU: Intel Core i5-6400 + GPU: NVidia GTX 750Ti + RAM: 16GB + Windows: 10 x64 + DirectX: 11 +____________________________________________________________________________________________________________________________________________ +*/ + +Shader "Ultimate 10+ Shaders/Edge Detection" /* The edge detection algorithm that is implemented in this shader is named "Sobel Edge Detection" */ +{ + Properties + { + _Color ("Color", Color) = (1,1,1,1) + } + SubShader + { + Tags { "Queue"="Transparent" } + Cull Back + + GrabPass { } + + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #include "UnityCG.cginc" + + struct appdata + { + float4 vertex : POSITION; + float3 normal : NORMAL; + }; + + struct v2f + { + float4 position : POSITION; + float4 screenPos : TEXCOORD0; + }; + + fixed4 _Color; + sampler2D _GrabTexture : register(s0); + + v2f vert(appdata input) + { + v2f output; + + output.position = UnityObjectToClipPos(input.vertex); + output.screenPos = output.position; + + return output; + } + + half4 pixel; + half2 uv; + fixed onePixelW, onePixelH; + half4 frag(v2f input) : SV_Target + { + uv = input.screenPos.xy / input.screenPos.w; + uv.x = (uv.x + 1) * .5; + uv.y = 1.0 - (uv.y + 1) * .5; + + onePixelW = 1.0 / _ScreenParams.x; + onePixelH = 1.0 / _ScreenParams.y; + + pixel = 0; + pixel = abs( + tex2D(_GrabTexture, half2(uv.x - onePixelW, uv.y)) - + tex2D(_GrabTexture, half2(uv.x + onePixelW, uv.y)) + + tex2D(_GrabTexture, half2(uv.x, uv.y + onePixelH)) - + tex2D(_GrabTexture, half2(uv.x, uv.y - onePixelH)) + ); + + return pixel * _Color; + } + ENDCG + } + } +} diff --git a/Assets/Ultimate 10 Plus Shaders/Shaders/Edge Detection.shader.meta b/Assets/Ultimate 10 Plus Shaders/Shaders/Edge Detection.shader.meta new file mode 100644 index 0000000..99ee4e8 --- /dev/null +++ b/Assets/Ultimate 10 Plus Shaders/Shaders/Edge Detection.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 211b73cf71b1f6a48aa152214d4a886d +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Ultimate 10 Plus Shaders/Shaders/Force Field.shader b/Assets/Ultimate 10 Plus Shaders/Shaders/Force Field.shader new file mode 100644 index 0000000..bfc0482 --- /dev/null +++ b/Assets/Ultimate 10 Plus Shaders/Shaders/Force Field.shader @@ -0,0 +1,129 @@ +/* + ███████╗░█████╗░██████╗░░█████╗░███████╗  ███████╗██╗███████╗██╗░░░░░██████╗░ + ██╔════╝██╔══██╗██╔══██╗██╔══██╗██╔════╝  ██╔════╝██║██╔════╝██║░░░░░██╔══██╗ + █████╗░░██║░░██║██████╔╝██║░░╚═╝█████╗░░  █████╗░░██║█████╗░░██║░░░░░██║░░██║ + ██╔══╝░░██║░░██║██╔══██╗██║░░██╗██╔══╝░░  ██╔══╝░░██║██╔══╝░░██║░░░░░██║░░██║ + ██║░░░░░╚█████╔╝██║░░██║╚█████╔╝███████╗  ██║░░░░░██║███████╗███████╗██████╔╝ + ╚═╝░░░░░░╚════╝░╚═╝░░╚═╝░╚════╝░╚══════╝  ╚═╝░░░░░╚═╝╚══════╝╚══════╝╚═════╝░ + + ░██████╗██╗░░██╗░█████╗░██████╗░███████╗██████╗░ + ██╔════╝██║░░██║██╔══██╗██╔══██╗██╔════╝██╔══██╗ + ╚█████╗░███████║███████║██║░░██║█████╗░░██████╔╝ + ░╚═══██╗██╔══██║██╔══██║██║░░██║██╔══╝░░██╔══██╗ + ██████╔╝██║░░██║██║░░██║██████╔╝███████╗██║░░██║ + ╚═════╝░╚═╝░░╚═╝╚═╝░░╚═╝╚═════╝░╚══════╝╚═╝░░╚═╝ + + █▀▀▄ █──█   ▀▀█▀▀ █──█ █▀▀   ░█▀▀▄ █▀▀ ▀█─█▀ █▀▀ █── █▀▀█ █▀▀█ █▀▀ █▀▀█ + █▀▀▄ █▄▄█   ─░█── █▀▀█ █▀▀   ░█─░█ █▀▀ ─█▄█─ █▀▀ █── █──█ █──█ █▀▀ █▄▄▀ + ▀▀▀─ ▄▄▄█   ─░█── ▀──▀ ▀▀▀   ░█▄▄▀ ▀▀▀ ──▀── ▀▀▀ ▀▀▀ ▀▀▀▀ █▀▀▀ ▀▀▀ ▀─▀▀ +____________________________________________________________________________________________________________________________________________ + + ▄▀█ █▀ █▀ █▀▀ ▀█▀ ▀   █░█ █░░ ▀█▀ █ █▀▄▀█ ▄▀█ ▀█▀ █▀▀   ▄█ █▀█ ▄█▄   █▀ █░█ ▄▀█ █▀▄ █▀▀ █▀█ █▀ + █▀█ ▄█ ▄█ ██▄ ░█░ ▄   █▄█ █▄▄ ░█░ █ █░▀░█ █▀█ ░█░ ██▄   ░█ █▄█ ░▀░   ▄█ █▀█ █▀█ █▄▀ ██▄ █▀▄ ▄█ +____________________________________________________________________________________________________________________________________________ +License: + The license is ATTRIBUTION 3.0 + + More license info here: + https://creativecommons.org/licenses/by/3.0/ +____________________________________________________________________________________________________________________________________________ +This shader has NOT been tested on any other PC configuration except the following: + CPU: Intel Core i5-6400 + GPU: NVidia GTX 750Ti + RAM: 16GB + Windows: 10 x64 + DirectX: 11 +____________________________________________________________________________________________________________________________________________ +*/ + +Shader "Ultimate 10+ Shaders/Force Field" +{ + Properties + { + _MainTex ("Texture", 2D) = "white" {} + [HDR] _Color ("Color", Color) = (1,1,1,1) + + _FresnelPower("Fresnel Power", Range(0, 10)) = 3 + _ScrollDirection ("Scroll Direction", float) = (0, 0, 0, 0) + } + SubShader + { + Tags { "RenderType"="Transparent" "IgnoreProjector"="True" "Queue"="Transparent" } + Blend SrcAlpha OneMinusSrcAlpha + LOD 100 + Cull Back + Lighting Off + ZWrite On + + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + #include "UnityCG.cginc" + + #ifndef SHADER_API_D3D11 + #pragma target 3.0 + #else + #pragma target 4.0 + #endif + + struct appdata + { + float4 vertex : POSITION; + float2 uv : TEXCOORD0; + fixed3 normal : NORMAL; + }; + + struct v2f + { + float2 uv : TEXCOORD0; + float rim : TEXCOORD1; + float4 position : SV_POSITION; + }; + + sampler2D _MainTex; + float4 _MainTex_ST; + + fixed4 _Color; + half _FresnelPower; + half2 _ScrollDirection; + + + // Add instancing support for this shader. You need to check 'Enable Instancing' on materials that use the shader. + // See https://docs.unity3d.com/Manual/GPUInstancing.html for more information about instancing. + // #pragma instancing_options assumeuniformscaling + UNITY_INSTANCING_BUFFER_START(Props) + // put more per-instance properties here + UNITY_INSTANCING_BUFFER_END(Props) + + fixed3 viewDir; + v2f vert (appdata vert) + { + v2f output; + + output.position = UnityObjectToClipPos(vert.vertex); + output.uv = TRANSFORM_TEX(vert.uv, _MainTex); + + viewDir = normalize(ObjSpaceViewDir(vert.vertex)); + output.rim = 1.0 - saturate(dot(viewDir, vert.normal)); + + output.uv += _ScrollDirection * _Time.y; + + return output; + } + + fixed4 pixel; + fixed4 frag (v2f input) : SV_Target + { + pixel = tex2D(_MainTex, input.uv) * _Color * pow(_FresnelPower, input.rim); + pixel = lerp(0, pixel, input.rim); + + return clamp(pixel, 0, _Color); + } + ENDCG + } + } + FallBack "Diffuse" +} diff --git a/Assets/Ultimate 10 Plus Shaders/Shaders/Force Field.shader.meta b/Assets/Ultimate 10 Plus Shaders/Shaders/Force Field.shader.meta new file mode 100644 index 0000000..9dfa44c --- /dev/null +++ b/Assets/Ultimate 10 Plus Shaders/Shaders/Force Field.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 2bffc50af4b1ff34cb151aa15bb9edb4 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Ultimate 10 Plus Shaders/Shaders/Grass Sway.shader b/Assets/Ultimate 10 Plus Shaders/Shaders/Grass Sway.shader new file mode 100644 index 0000000..c2625aa --- /dev/null +++ b/Assets/Ultimate 10 Plus Shaders/Shaders/Grass Sway.shader @@ -0,0 +1,131 @@ +/* + ░██████╗░██████╗░░█████╗░░██████╗░██████╗  ░██████╗░██╗░░░░░░░██╗░█████╗░██╗░░░██╗ + ██╔════╝░██╔══██╗██╔══██╗██╔════╝██╔════╝  ██╔════╝░██║░░██╗░░██║██╔══██╗╚██╗░██╔╝ + ██║░░██╗░██████╔╝███████║╚█████╗░╚█████╗░  ╚█████╗░░╚██╗████╗██╔╝███████║░╚████╔╝░ + ██║░░╚██╗██╔══██╗██╔══██║░╚═══██╗░╚═══██╗  ░╚═══██╗░░████╔═████║░██╔══██║░░╚██╔╝░░ + ╚██████╔╝██║░░██║██║░░██║██████╔╝██████╔╝  ██████╔╝░░╚██╔╝░╚██╔╝░██║░░██║░░░██║░░░ + ░╚═════╝░╚═╝░░╚═╝╚═╝░░╚═╝╚═════╝░╚═════╝░  ╚═════╝░░░░╚═╝░░░╚═╝░░╚═╝░░╚═╝░░░╚═╝░░░ + + ░██████╗██╗░░██╗░█████╗░██████╗░███████╗██████╗░ + ██╔════╝██║░░██║██╔══██╗██╔══██╗██╔════╝██╔══██╗ + ╚█████╗░███████║███████║██║░░██║█████╗░░██████╔╝ + ░╚═══██╗██╔══██║██╔══██║██║░░██║██╔══╝░░██╔══██╗ + ██████╔╝██║░░██║██║░░██║██████╔╝███████╗██║░░██║ + ╚═════╝░╚═╝░░╚═╝╚═╝░░╚═╝╚═════╝░╚══════╝╚═╝░░╚═╝ + + █▀▀▄ █──█   ▀▀█▀▀ █──█ █▀▀   ░█▀▀▄ █▀▀ ▀█─█▀ █▀▀ █── █▀▀█ █▀▀█ █▀▀ █▀▀█ + █▀▀▄ █▄▄█   ─░█── █▀▀█ █▀▀   ░█─░█ █▀▀ ─█▄█─ █▀▀ █── █──█ █──█ █▀▀ █▄▄▀ + ▀▀▀─ ▄▄▄█   ─░█── ▀──▀ ▀▀▀   ░█▄▄▀ ▀▀▀ ──▀── ▀▀▀ ▀▀▀ ▀▀▀▀ █▀▀▀ ▀▀▀ ▀─▀▀ +____________________________________________________________________________________________________________________________________________ + + ▄▀█ █▀ █▀ █▀▀ ▀█▀ ▀   █░█ █░░ ▀█▀ █ █▀▄▀█ ▄▀█ ▀█▀ █▀▀   ▄█ █▀█ ▄█▄   █▀ █░█ ▄▀█ █▀▄ █▀▀ █▀█ █▀ + █▀█ ▄█ ▄█ ██▄ ░█░ ▄   █▄█ █▄▄ ░█░ █ █░▀░█ █▀█ ░█░ ██▄   ░█ █▄█ ░▀░   ▄█ █▀█ █▀█ █▄▀ ██▄ █▀▄ ▄█ +____________________________________________________________________________________________________________________________________________ +License: + The license is ATTRIBUTION 3.0 + + More license info here: + https://creativecommons.org/licenses/by/3.0/ +____________________________________________________________________________________________________________________________________________ +This shader has NOT been tested on any other PC configuration except the following: + CPU: Intel Core i5-6400 + GPU: NVidia GTX 750Ti + RAM: 16GB + Windows: 10 x64 + DirectX: 11 +____________________________________________________________________________________________________________________________________________ +*/ + +Shader "Ultimate 10+ Shaders/Grass Sway" +{ + Properties + { + _Color ("Color", Color) = (1,1,1,1) + _MainTex ("Albedo (RGB)", 2D) = "white" {} + _Normal ("Normal Map", 2D) = "bump" {} + _NormalStrength ("Normal Strength", float) = 0.25 + + _Smoothness ("Smoothness", Range(0, 1)) = 0.5 + _Metallic ("Metallic", Range(0, 1)) = 0.5 + + _Cutoff ("Cutoff", Range(0, 1)) = 0.25 + _Speed ("Speed", float) = 0.25 + _WindDirection ("Wind Direction", float) = (1,0,0,1) + + [Enum(UnityEngine.Rendering.CullMode)] _Cull ("Cull", Float) = 0 + } + SubShader + { + Tags { "RenderType"="Cutout" } + LOD 200 + Cull [_Cull] + + CGPROGRAM + // Physically based Standard lighting model, and enable shadows on all light types + #pragma surface surf Standard keepalpha fullforwardshadows addshadow + #pragma vertex vert + + #ifndef SHADER_API_D3D11 + #pragma target 3.0 + #else + #pragma target 4.0 + #endif + + fixed4 _Color; + + sampler2D _MainTex; + sampler2D _Normal; + half _NormalStrength; + + half _Smoothness; + half _Metallic; + + half _Cutoff; + half _Speed; + half4 _WindDirection; + + struct Input + { + float2 uv_MainTex; + float2 uv_Normal; + }; + + // Add instancing support for this shader. You need to check 'Enable Instancing' on materials that use the shader. + // See https://docs.unity3d.com/Manual/GPUInstancing.html for more information about instancing. + // #pragma instancing_options assumeuniformscaling + UNITY_INSTANCING_BUFFER_START(Props) + // put more per-instance properties here + UNITY_INSTANCING_BUFFER_END(Props) + + fixed4 pixel; + void surf (Input IN, inout SurfaceOutputStandard o) + { + pixel = tex2D (_MainTex, IN.uv_MainTex) * _Color; + o.Albedo = pixel.rgb; + clip(pixel.a - _Cutoff); + o.Alpha = pixel.a - _Cutoff; + + o.Smoothness = _Smoothness; + o.Metallic = _Metallic; + + o.Normal = UnpackNormal(tex2D (_Normal, IN.uv_Normal) * _NormalStrength); + } + + struct appdata { + float4 vertex : POSITION; + float4 tangent : TANGENT; + float3 normal : NORMAL; + float4 texcoord : TEXCOORD0; + float4 texcoord1 : TEXCOORD1; + fixed4 color : COLOR; + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + + void vert(inout appdata input){ + input.vertex += UnityObjectToWorldDir(input.vertex).y * _WindDirection * sin(_Time.y * _Speed); + } + ENDCG + } + FallBack "Diffuse" +} diff --git a/Assets/Ultimate 10 Plus Shaders/Shaders/Grass Sway.shader.meta b/Assets/Ultimate 10 Plus Shaders/Shaders/Grass Sway.shader.meta new file mode 100644 index 0000000..14f6214 --- /dev/null +++ b/Assets/Ultimate 10 Plus Shaders/Shaders/Grass Sway.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: a15eddaf83eb0bb40804b6d17af6f3df +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Ultimate 10 Plus Shaders/Shaders/Lava3D.shader b/Assets/Ultimate 10 Plus Shaders/Shaders/Lava3D.shader new file mode 100644 index 0000000..ff1bc9f --- /dev/null +++ b/Assets/Ultimate 10 Plus Shaders/Shaders/Lava3D.shader @@ -0,0 +1,109 @@ +/* + ██╗░░░░░░█████╗░██╗░░░██╗░█████╗░  ░██████╗██╗░░██╗░█████╗░██████╗░███████╗██████╗░ + ██║░░░░░██╔══██╗██║░░░██║██╔══██╗  ██╔════╝██║░░██║██╔══██╗██╔══██╗██╔════╝██╔══██╗ + ██║░░░░░███████║╚██╗░██╔╝███████║  ╚█████╗░███████║███████║██║░░██║█████╗░░██████╔╝ + ██║░░░░░██╔══██║░╚████╔╝░██╔══██║  ░╚═══██╗██╔══██║██╔══██║██║░░██║██╔══╝░░██╔══██╗ + ███████╗██║░░██║░░╚██╔╝░░██║░░██║  ██████╔╝██║░░██║██║░░██║██████╔╝███████╗██║░░██║ + ╚══════╝╚═╝░░╚═╝░░░╚═╝░░░╚═╝░░╚═╝  ╚═════╝░╚═╝░░╚═╝╚═╝░░╚═╝╚═════╝░╚══════╝╚═╝░░╚═╝ + + █▀▀▄ █──█   ▀▀█▀▀ █──█ █▀▀   ░█▀▀▄ █▀▀ ▀█─█▀ █▀▀ █── █▀▀█ █▀▀█ █▀▀ █▀▀█ + █▀▀▄ █▄▄█   ─░█── █▀▀█ █▀▀   ░█─░█ █▀▀ ─█▄█─ █▀▀ █── █──█ █──█ █▀▀ █▄▄▀ + ▀▀▀─ ▄▄▄█   ─░█── ▀──▀ ▀▀▀   ░█▄▄▀ ▀▀▀ ──▀── ▀▀▀ ▀▀▀ ▀▀▀▀ █▀▀▀ ▀▀▀ ▀─▀▀ +____________________________________________________________________________________________________________________________________________ + + ▄▀█ █▀ █▀ █▀▀ ▀█▀ ▀   █░█ █░░ ▀█▀ █ █▀▄▀█ ▄▀█ ▀█▀ █▀▀   ▄█ █▀█ ▄█▄   █▀ █░█ ▄▀█ █▀▄ █▀▀ █▀█ █▀ + █▀█ ▄█ ▄█ ██▄ ░█░ ▄   █▄█ █▄▄ ░█░ █ █░▀░█ █▀█ ░█░ ██▄   ░█ █▄█ ░▀░   ▄█ █▀█ █▀█ █▄▀ ██▄ █▀▄ ▄█ +____________________________________________________________________________________________________________________________________________ +License: + The license is ATTRIBUTION 3.0 + + More license info here: + https://creativecommons.org/licenses/by/3.0/ +____________________________________________________________________________________________________________________________________________ +This shader has NOT been tested on any other PC configuration except the following: + CPU: Intel Core i5-6400 + GPU: NVidia GTX 750Ti + RAM: 16GB + Windows: 10 x64 + DirectX: 11 +____________________________________________________________________________________________________________________________________________ +*/ + +Shader "Ultimate 10+ Shaders/Lava3D" +{ + Properties + { + [HDR] _Color ("Color", Color) = (1,1,1,1) + _MainTex ("Albedo (RGB)", 2D) = "white" {} + _HeightMap ("Height Map (Black and White)", 2D) = "bump" {} + _FlowDirection ("Flow Direction", Vector) = (1, 0, 0, 0) + _Speed ("Speed", float) = 0.25 + _Amplitude ("Amplitude", float) = 1.0 + + [Enum(UnityEngine.Rendering.CullMode)] _Cull ("Cull", Float) = 2 + } + SubShader + { + Tags { "RenderType"="Opaque" } + LOD 150 + Cull [_Cull] + + CGPROGRAM + // Physically based Standard lighting model, and enable shadows on all light typesv + #pragma surface surf Standard addshadow fullforwardshadows + #pragma vertex vert + + #ifndef SHADER_API_D3D11 + #pragma target 3.0 + #else + #pragma target 4.0 + #endif + + fixed4 _Color; + + sampler2D _MainTex; + sampler2D _HeightMap; + + half4 _FlowDirection; + half _Speed; + half _Amplitude; + + struct Input + { + float2 uv_MainTex; + float2 uv_HeightMap; + }; + + // Add instancing support for this shader. You need to check 'Enable Instancing' on materials that use the shader. + // See https://docs.unity3d.com/Manual/GPUInstancing.html for more information about instancing. + // #pragma instancing_options assumeuniformscaling + UNITY_INSTANCING_BUFFER_START(Props) + // put more per-instance properties here + UNITY_INSTANCING_BUFFER_END(Props) + + fixed4 pixel; + void surf (Input IN, inout SurfaceOutputStandard o) + { + pixel = tex2D (_MainTex, IN.uv_MainTex + _FlowDirection * fmod(_Time.y, 1200) * _Speed) * _Color; + o.Albedo = pixel.rgb; + } + + struct appdata { + float4 vertex : POSITION; + float4 tangent : TANGENT; + float3 normal : NORMAL; + float4 texcoord : TEXCOORD0; + float4 texcoord1 : TEXCOORD1; + fixed4 color : COLOR; + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + fixed4 texPixel; + void vert (inout appdata vert){ + texPixel = tex2Dlod(_HeightMap, vert.texcoord1 + _FlowDirection * fmod(_Time.y, 1200) * _Speed); + vert.vertex.y = texPixel.r * _Amplitude; + } + ENDCG + } + FallBack "Diffuse" +} diff --git a/Assets/Ultimate 10 Plus Shaders/Shaders/Lava3D.shader.meta b/Assets/Ultimate 10 Plus Shaders/Shaders/Lava3D.shader.meta new file mode 100644 index 0000000..57d99ef --- /dev/null +++ b/Assets/Ultimate 10 Plus Shaders/Shaders/Lava3D.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 0b65beeff2abd8f49a7633b323425f2c +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Ultimate 10 Plus Shaders/Shaders/Ocean.shader b/Assets/Ultimate 10 Plus Shaders/Shaders/Ocean.shader new file mode 100644 index 0000000..7bc8e36 --- /dev/null +++ b/Assets/Ultimate 10 Plus Shaders/Shaders/Ocean.shader @@ -0,0 +1,114 @@ +/* + ░█████╗░░█████╗░███████╗░█████╗░███╗░░██╗  ░██████╗██╗░░██╗░█████╗░██████╗░███████╗██████╗░ + ██╔══██╗██╔══██╗██╔════╝██╔══██╗████╗░██║  ██╔════╝██║░░██║██╔══██╗██╔══██╗██╔════╝██╔══██╗ + ██║░░██║██║░░╚═╝█████╗░░███████║██╔██╗██║  ╚█████╗░███████║███████║██║░░██║█████╗░░██████╔╝ + ██║░░██║██║░░██╗██╔══╝░░██╔══██║██║╚████║  ░╚═══██╗██╔══██║██╔══██║██║░░██║██╔══╝░░██╔══██╗ + ╚█████╔╝╚█████╔╝███████╗██║░░██║██║░╚███║  ██████╔╝██║░░██║██║░░██║██████╔╝███████╗██║░░██║ + ░╚════╝░░╚════╝░╚══════╝╚═╝░░╚═╝╚═╝░░╚══╝  ╚═════╝░╚═╝░░╚═╝╚═╝░░╚═╝╚═════╝░╚══════╝╚═╝░░╚═╝ + + █▀▀▄ █──█   ▀▀█▀▀ █──█ █▀▀   ░█▀▀▄ █▀▀ ▀█─█▀ █▀▀ █── █▀▀█ █▀▀█ █▀▀ █▀▀█ + █▀▀▄ █▄▄█   ─░█── █▀▀█ █▀▀   ░█─░█ █▀▀ ─█▄█─ █▀▀ █── █──█ █──█ █▀▀ █▄▄▀ + ▀▀▀─ ▄▄▄█   ─░█── ▀──▀ ▀▀▀   ░█▄▄▀ ▀▀▀ ──▀── ▀▀▀ ▀▀▀ ▀▀▀▀ █▀▀▀ ▀▀▀ ▀─▀▀ +____________________________________________________________________________________________________________________________________________ + + ▄▀█ █▀ █▀ █▀▀ ▀█▀ ▀   █░█ █░░ ▀█▀ █ █▀▄▀█ ▄▀█ ▀█▀ █▀▀   ▄█ █▀█ ▄█▄   █▀ █░█ ▄▀█ █▀▄ █▀▀ █▀█ █▀ + █▀█ ▄█ ▄█ ██▄ ░█░ ▄   █▄█ █▄▄ ░█░ █ █░▀░█ █▀█ ░█░ ██▄   ░█ █▄█ ░▀░   ▄█ █▀█ █▀█ █▄▀ ██▄ █▀▄ ▄█ +____________________________________________________________________________________________________________________________________________ +License: + The license is ATTRIBUTION 3.0 + + More license info here: + https://creativecommons.org/licenses/by/3.0/ +____________________________________________________________________________________________________________________________________________ +This shader has NOT been tested on any other PC configuration except the following: + CPU: Intel Core i5-6400 + GPU: NVidia GTX 750Ti + RAM: 16GB + Windows: 10 x64 + DirectX: 11 +____________________________________________________________________________________________________________________________________________ +*/ + +Shader "Ultimate 10+ Shaders/Ocean" +{ + Properties + { + _Color ("Color", Color) = (0.0,0.25,0.35,0.0) + + _Normal1 ("Normal Map (1)", 2D) = "white" {} + _NormalStrength1 ("Normal Strength (1)", Range(0, 2)) = 0.17 + _FlowDirection1("Flow Direction (1)", float) = (0.05, 0, 0, 1) + + _Normal2 ("Normal Map (2)", 2D) = "white" {} + _NormalStrength2 ("Normal Strength (2)", Range(0, 2)) = 0.8 + _FlowDirection2("Flow Direction (2)", float) = (0, 0.05, 0, 1) + + _Glossiness ("Smoothness", Range(0,1)) = 0.6 + _Metallic ("Metallic", Range(0,1)) = 0.2 + + [Enum(UnityEngine.Rendering.CullMode)] _Cull ("Cull", Float) = 2 + } + SubShader + { + Tags { "RenderType"="Transparent" "Queue"="Transparent" } + Blend SrcAlpha OneMinusSrcAlpha + LOD 150 + Cull [_Cull] + Lighting Off + ZWrite On + + CGINCLUDE + #define _GLOSSYENV 1 + #define UNITY_SETUP_BRDF_INPUT SpecularSetup + #define UNITY_SETUP_BRDF_INPUT MetallicSetup + ENDCG + + CGPROGRAM + // Physically based Standard lighting model, and disabled shadows (the ocean doesn't have a shadow :D) + #pragma surface surf Standard alpha + + #ifndef SHADER_API_D3D11 + #pragma target 3.0 + #else + #pragma target 4.0 + #endif + + fixed4 _Color; + + sampler2D _Normal1; + half _NormalStrength1; + half2 _FlowDirection1; + + sampler2D _Normal2; + half _NormalStrength2; + half2 _FlowDirection2; + + half _Glossiness; + half _Metallic; + + struct Input + { + float2 uv_Normal1; + float2 uv_Normal2; + }; + + fixed4 pixel; + void surf (Input IN, inout SurfaceOutputStandard o) + { + IN.uv_Normal1 += _Time.y * _FlowDirection1; + IN.uv_Normal2 += _Time.y * _FlowDirection2; + + pixel = (tex2D (_Normal1, IN.uv_Normal1) * _NormalStrength1 + tex2D(_Normal2, IN.uv_Normal2) * _NormalStrength2); + + o.Albedo = _Color.rgb; + o.Alpha = _Color.a; + + o.Metallic = _Metallic; + o.Smoothness = _Glossiness; + + o.Normal = UnpackNormal(pixel); + } + ENDCG + } + FallBack "Diffuse" +} diff --git a/Assets/Ultimate 10 Plus Shaders/Shaders/Ocean.shader.meta b/Assets/Ultimate 10 Plus Shaders/Shaders/Ocean.shader.meta new file mode 100644 index 0000000..aeb5c4d --- /dev/null +++ b/Assets/Ultimate 10 Plus Shaders/Shaders/Ocean.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 4889fcee5f0084a4e8a1c45f616a86dd +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Ultimate 10 Plus Shaders/Shaders/Outline.shader b/Assets/Ultimate 10 Plus Shaders/Shaders/Outline.shader new file mode 100644 index 0000000..d8ec4fe --- /dev/null +++ b/Assets/Ultimate 10 Plus Shaders/Shaders/Outline.shader @@ -0,0 +1,127 @@ +/* + ░█████╗░██╗░░░██╗████████╗██╗░░░░░██╗███╗░░██╗███████╗  ░██████╗██╗░░██╗░█████╗░██████╗░███████╗██████╗░ + ██╔══██╗██║░░░██║╚══██╔══╝██║░░░░░██║████╗░██║██╔════╝  ██╔════╝██║░░██║██╔══██╗██╔══██╗██╔════╝██╔══██╗ + ██║░░██║██║░░░██║░░░██║░░░██║░░░░░██║██╔██╗██║█████╗░░  ╚█████╗░███████║███████║██║░░██║█████╗░░██████╔╝ + ██║░░██║██║░░░██║░░░██║░░░██║░░░░░██║██║╚████║██╔══╝░░  ░╚═══██╗██╔══██║██╔══██║██║░░██║██╔══╝░░██╔══██╗ + ╚█████╔╝╚██████╔╝░░░██║░░░███████╗██║██║░╚███║███████╗  ██████╔╝██║░░██║██║░░██║██████╔╝███████╗██║░░██║ + ░╚════╝░░╚═════╝░░░░╚═╝░░░╚══════╝╚═╝╚═╝░░╚══╝╚══════╝  ╚═════╝░╚═╝░░╚═╝╚═╝░░╚═╝╚═════╝░╚══════╝╚═╝░░╚═╝ + + █▀▀▄ █──█   ▀▀█▀▀ █──█ █▀▀   ░█▀▀▄ █▀▀ ▀█─█▀ █▀▀ █── █▀▀█ █▀▀█ █▀▀ █▀▀█ + █▀▀▄ █▄▄█   ─░█── █▀▀█ █▀▀   ░█─░█ █▀▀ ─█▄█─ █▀▀ █── █──█ █──█ █▀▀ █▄▄▀ + ▀▀▀─ ▄▄▄█   ─░█── ▀──▀ ▀▀▀   ░█▄▄▀ ▀▀▀ ──▀── ▀▀▀ ▀▀▀ ▀▀▀▀ █▀▀▀ ▀▀▀ ▀─▀▀ +____________________________________________________________________________________________________________________________________________ + + ▄▀█ █▀ █▀ █▀▀ ▀█▀ ▀   █░█ █░░ ▀█▀ █ █▀▄▀█ ▄▀█ ▀█▀ █▀▀   ▄█ █▀█ ▄█▄   █▀ █░█ ▄▀█ █▀▄ █▀▀ █▀█ █▀ + █▀█ ▄█ ▄█ ██▄ ░█░ ▄   █▄█ █▄▄ ░█░ █ █░▀░█ █▀█ ░█░ ██▄   ░█ █▄█ ░▀░   ▄█ █▀█ █▀█ █▄▀ ██▄ █▀▄ ▄█ +____________________________________________________________________________________________________________________________________________ +License: + The license is ATTRIBUTION 3.0 + + More license info here: + https://creativecommons.org/licenses/by/3.0/ +____________________________________________________________________________________________________________________________________________ +This shader has NOT been tested on any other PC configuration except the following: + CPU: Intel Core i5-6400 + GPU: NVidia GTX 750Ti + RAM: 16GB + Windows: 10 x64 + DirectX: 11 +____________________________________________________________________________________________________________________________________________ +*/ + +Shader "Ultimate 10+ Shaders/Outline" +{ + Properties + { + _Color ("Color", Color) = (1,1,1,1) + _MainTex ("Albedo (RGB)", 2D) = "white" {} + + _OutlineColor ("Outline Color", Color) = (1,1,1,1) + _OutlineWidth ("Outline Width", Range(0, 4)) = 0.25 + + [Enum(UnityEngine.Rendering.CullMode)] _Cull ("Cull", Float) = 2 + } + SubShader + { + Tags { "RenderType"="Geometry" "Queue"="Transparent" } + LOD 200 + Cull [_Cull] + + Pass{ + ZWrite Off + CGPROGRAM + + #pragma vertex vert + #pragma fragment frag + + struct appdata { + float4 vertex : POSITION; + float4 tangent : TANGENT; + float3 normal : NORMAL; + float4 texcoord : TEXCOORD0; + fixed4 color : COLOR; + }; + + struct v2f{ + float4 pos : SV_POSITION; + float3 normal : NORMAL; + }; + + fixed4 _OutlineColor; + half _OutlineWidth; + + v2f vert(appdata input){ + input.vertex += float4(input.normal * _OutlineWidth, 1); + + v2f output; + + output.pos = UnityObjectToClipPos(input.vertex); + output.normal = mul(unity_ObjectToWorld, input.normal); + + return output; + } + + fixed4 frag(v2f input) : SV_Target + { + return _OutlineColor; + } + + ENDCG + } + + ZWrite On + CGPROGRAM + // Physically based Standard lighting model, and enable shadows on all light types + #pragma surface surf Standard fullforwardshadows + + #ifndef SHADER_API_D3D11 + #pragma target 3.0 + #else + #pragma target 4.0 + #endif + + // Add instancing support for this shader. You need to check 'Enable Instancing' on materials that use the shader. + // See https://docs.unity3d.com/Manual/GPUInstancing.html for more information about instancing. + // #pragma instancing_options assumeuniformscaling + UNITY_INSTANCING_BUFFER_START(Props) + // put more per-instance properties here + UNITY_INSTANCING_BUFFER_END(Props) + + struct Input + { + float2 uv_MainTex; + }; + + fixed4 _Color; + sampler2D _MainTex; + + fixed4 pixel; + void surf (Input IN, inout SurfaceOutputStandard o) + { + pixel = tex2D (_MainTex, IN.uv_MainTex) * _Color; + o.Albedo = pixel.rgb; + } + ENDCG + } + FallBack "Diffuse" +} diff --git a/Assets/Ultimate 10 Plus Shaders/Shaders/Outline.shader.meta b/Assets/Ultimate 10 Plus Shaders/Shaders/Outline.shader.meta new file mode 100644 index 0000000..ccb0a34 --- /dev/null +++ b/Assets/Ultimate 10 Plus Shaders/Shaders/Outline.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: a9a8211f737bfbd4fb8a469399c59177 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Ultimate 10 Plus Shaders/Shaders/Plasma.shader b/Assets/Ultimate 10 Plus Shaders/Shaders/Plasma.shader new file mode 100644 index 0000000..fdaccad --- /dev/null +++ b/Assets/Ultimate 10 Plus Shaders/Shaders/Plasma.shader @@ -0,0 +1,102 @@ +/* + ██████╗░██╗░░░░░░█████╗░░██████╗███╗░░░███╗░█████╗░  ░██████╗██╗░░██╗░█████╗░██████╗░███████╗██████╗░ + ██╔══██╗██║░░░░░██╔══██╗██╔════╝████╗░████║██╔══██╗  ██╔════╝██║░░██║██╔══██╗██╔══██╗██╔════╝██╔══██╗ + ██████╔╝██║░░░░░███████║╚█████╗░██╔████╔██║███████║  ╚█████╗░███████║███████║██║░░██║█████╗░░██████╔╝ + ██╔═══╝░██║░░░░░██╔══██║░╚═══██╗██║╚██╔╝██║██╔══██║  ░╚═══██╗██╔══██║██╔══██║██║░░██║██╔══╝░░██╔══██╗ + ██║░░░░░███████╗██║░░██║██████╔╝██║░╚═╝░██║██║░░██║  ██████╔╝██║░░██║██║░░██║██████╔╝███████╗██║░░██║ + ╚═╝░░░░░╚══════╝╚═╝░░╚═╝╚═════╝░╚═╝░░░░░╚═╝╚═╝░░╚═╝  ╚═════╝░╚═╝░░╚═╝╚═╝░░╚═╝╚═════╝░╚══════╝╚═╝░░╚═╝ + + █▀▀▄ █──█   ▀▀█▀▀ █──█ █▀▀   ░█▀▀▄ █▀▀ ▀█─█▀ █▀▀ █── █▀▀█ █▀▀█ █▀▀ █▀▀█ + █▀▀▄ █▄▄█   ─░█── █▀▀█ █▀▀   ░█─░█ █▀▀ ─█▄█─ █▀▀ █── █──█ █──█ █▀▀ █▄▄▀ + ▀▀▀─ ▄▄▄█   ─░█── ▀──▀ ▀▀▀   ░█▄▄▀ ▀▀▀ ──▀── ▀▀▀ ▀▀▀ ▀▀▀▀ █▀▀▀ ▀▀▀ ▀─▀▀ +____________________________________________________________________________________________________________________________________________ + + ▄▀█ █▀ █▀ █▀▀ ▀█▀ ▀   █░█ █░░ ▀█▀ █ █▀▄▀█ ▄▀█ ▀█▀ █▀▀   ▄█ █▀█ ▄█▄   █▀ █░█ ▄▀█ █▀▄ █▀▀ █▀█ █▀ + █▀█ ▄█ ▄█ ██▄ ░█░ ▄   █▄█ █▄▄ ░█░ █ █░▀░█ █▀█ ░█░ ██▄   ░█ █▄█ ░▀░   ▄█ █▀█ █▀█ █▄▀ ██▄ █▀▄ ▄█ +____________________________________________________________________________________________________________________________________________ +License: + The license is ATTRIBUTION 3.0 + + More license info here: + https://creativecommons.org/licenses/by/3.0/ +____________________________________________________________________________________________________________________________________________ +This shader has NOT been tested on any other PC configuration except the following: + CPU: Intel Core i5-6400 + GPU: NVidia GTX 750Ti + RAM: 16GB + Windows: 10 x64 + DirectX: 11 +____________________________________________________________________________________________________________________________________________ +*/ + +Shader "Ultimate 10+ Shaders/Plasma" +{ + Properties + { + [HDR] _Color ("Color", Color) = (1,1,1,1) + _MainTex ("Albedo (RGB)", 2D) = "white" {} + _Normal("Normal map", 2D) = "bump" {} + + _NoiseTex ("Noise", 2D) = "white" {} + _MovementDirection ("Movement Direction", float) = (0, -1, 0, 1) + + [Enum(UnityEngine.Rendering.CullMode)] _Cull ("Cull", Float) = 2 + } + SubShader + { + Tags{ "RenderType"="Transparent" "Queue"="Transparent"} + Blend SrcAlpha OneMinusSrcAlpha + LOD 100 + Cull [_Cull] + Lighting Off + ZWrite On + + CGPROGRAM + // Physically based Standard lighting model, and enable shadows on all light types + #pragma surface surf Standard fullforwardshadows alpha + + // Use shader model 3.0 target, to get nicer looking lighting + #pragma target 3.0 + + sampler2D _MainTex; + sampler2D _Normal; + sampler2D _NoiseTex; + + half2 _MovementDirection; + + struct Input + { + float2 uv_MainTex; + float2 uv_Normal; + float2 uv_NoiseTex; + }; + + fixed4 _Color; + + // Add instancing support for this shader. You need to check 'Enable Instancing' on materials that use the shader. + // See https://docs.unity3d.com/Manual/GPUInstancing.html for more information about instancing. + // #pragma instancing_options assumeuniformscaling + UNITY_INSTANCING_BUFFER_START(Props) + // put more per-instance properties here + UNITY_INSTANCING_BUFFER_END(Props) + + fixed4 pixel, alphaPixel; + void surf (Input IN, inout SurfaceOutputStandard o) + { + IN.uv_NoiseTex += _MovementDirection * _Time.y / 2.0; + IN.uv_MainTex += _MovementDirection * _Time.y; + IN.uv_Normal += _MovementDirection * _Time.y / 2.0; + + alphaPixel = tex2D (_NoiseTex, IN.uv_NoiseTex); + + pixel = tex2D (_MainTex, IN.uv_MainTex) * _Color * alphaPixel.r; + o.Albedo = pixel.rgb; + + o.Normal = tex2D(_Normal, IN.uv_Normal); + + o.Alpha = alphaPixel.r; + } + ENDCG + } + FallBack "Diffuse" +} diff --git a/Assets/Ultimate 10 Plus Shaders/Shaders/Plasma.shader.meta b/Assets/Ultimate 10 Plus Shaders/Shaders/Plasma.shader.meta new file mode 100644 index 0000000..8b7d947 --- /dev/null +++ b/Assets/Ultimate 10 Plus Shaders/Shaders/Plasma.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 19e79e6fdce5d29418196afe8a2347a0 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Ultimate 10 Plus Shaders/Shaders/Plexus.meta b/Assets/Ultimate 10 Plus Shaders/Shaders/Plexus.meta new file mode 100644 index 0000000..04d94e3 --- /dev/null +++ b/Assets/Ultimate 10 Plus Shaders/Shaders/Plexus.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 55684000f4861884493956bf176688a4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Ultimate 10 Plus Shaders/Shaders/Plexus/Plexus Line Material.mat b/Assets/Ultimate 10 Plus Shaders/Shaders/Plexus/Plexus Line Material.mat new file mode 100644 index 0000000..09c356a --- /dev/null +++ b/Assets/Ultimate 10 Plus Shaders/Shaders/Plexus/Plexus Line Material.mat @@ -0,0 +1,28 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Plexus Line Material + m_Shader: {fileID: 4800000, guid: f92fef4e8869e674b8dbc8fb64db23cd, type: 3} + m_ShaderKeywords: + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 1 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: [] + m_Floats: + - _Cull: 0 + m_Colors: + - _BoxDims: {r: 5, g: 4, b: 5, a: 1} + - _Color: {r: 0, g: 1, b: 0, a: 1} + - _Emission1: {r: 2.56, g: 0, b: 0, a: 1} + - _Emission2: {r: 0, g: 1.95, b: 2.52, a: 1} diff --git a/Assets/TransparrentRed.mat.meta b/Assets/Ultimate 10 Plus Shaders/Shaders/Plexus/Plexus Line Material.mat.meta similarity index 64% rename from Assets/TransparrentRed.mat.meta rename to Assets/Ultimate 10 Plus Shaders/Shaders/Plexus/Plexus Line Material.mat.meta index 5b5de8d..e3a9f0c 100644 --- a/Assets/TransparrentRed.mat.meta +++ b/Assets/Ultimate 10 Plus Shaders/Shaders/Plexus/Plexus Line Material.mat.meta @@ -1,8 +1,8 @@ fileFormatVersion: 2 -guid: 45fd8ac89ef24ee4a8f8aef5818a3179 +guid: 046739a9e8dbba24e8183a7a3cdfbb9a NativeFormatImporter: externalObjects: {} - mainObjectFileID: 2100000 + mainObjectFileID: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Ultimate 10 Plus Shaders/Shaders/Plexus/Plexus Line.shader b/Assets/Ultimate 10 Plus Shaders/Shaders/Plexus/Plexus Line.shader new file mode 100644 index 0000000..0e91402 --- /dev/null +++ b/Assets/Ultimate 10 Plus Shaders/Shaders/Plexus/Plexus Line.shader @@ -0,0 +1,107 @@ +/* + ██████╗░██╗░░░░░███████╗██╗░░██╗██╗░░░██╗░██████╗  ██╗░░░░░██╗███╗░░██╗███████╗ + ██╔══██╗██║░░░░░██╔════╝╚██╗██╔╝██║░░░██║██╔════╝  ██║░░░░░██║████╗░██║██╔════╝ + ██████╔╝██║░░░░░█████╗░░░╚███╔╝░██║░░░██║╚█████╗░  ██║░░░░░██║██╔██╗██║█████╗░░ + ██╔═══╝░██║░░░░░██╔══╝░░░██╔██╗░██║░░░██║░╚═══██╗  ██║░░░░░██║██║╚████║██╔══╝░░ + ██║░░░░░███████╗███████╗██╔╝╚██╗╚██████╔╝██████╔╝  ███████╗██║██║░╚███║███████╗ + ╚═╝░░░░░╚══════╝╚══════╝╚═╝░░╚═╝░╚═════╝░╚═════╝░  ╚══════╝╚═╝╚═╝░░╚══╝╚══════╝ + + ░██████╗██╗░░██╗░█████╗░██████╗░███████╗██████╗░ + ██╔════╝██║░░██║██╔══██╗██╔══██╗██╔════╝██╔══██╗ + ╚█████╗░███████║███████║██║░░██║█████╗░░██████╔╝ + ░╚═══██╗██╔══██║██╔══██║██║░░██║██╔══╝░░██╔══██╗ + ██████╔╝██║░░██║██║░░██║██████╔╝███████╗██║░░██║ + ╚═════╝░╚═╝░░╚═╝╚═╝░░╚═╝╚═════╝░╚══════╝╚═╝░░╚═╝ + █▀▀▄ █──█   ▀▀█▀▀ █──█ █▀▀   ░█▀▀▄ █▀▀ ▀█─█▀ █▀▀ █── █▀▀█ █▀▀█ █▀▀ █▀▀█ + █▀▀▄ █▄▄█   ─░█── █▀▀█ █▀▀   ░█─░█ █▀▀ ─█▄█─ █▀▀ █── █──█ █──█ █▀▀ █▄▄▀ + ▀▀▀─ ▄▄▄█   ─░█── ▀──▀ ▀▀▀   ░█▄▄▀ ▀▀▀ ──▀── ▀▀▀ ▀▀▀ ▀▀▀▀ █▀▀▀ ▀▀▀ ▀─▀▀ +____________________________________________________________________________________________________________________________________________ + + ▄▀█ █▀ █▀ █▀▀ ▀█▀ ▀   █░█ █░░ ▀█▀ █ █▀▄▀█ ▄▀█ ▀█▀ █▀▀   ▄█ █▀█ ▄█▄   █▀ █░█ ▄▀█ █▀▄ █▀▀ █▀█ █▀ + █▀█ ▄█ ▄█ ██▄ ░█░ ▄   █▄█ █▄▄ ░█░ █ █░▀░█ █▀█ ░█░ ██▄   ░█ █▄█ ░▀░   ▄█ █▀█ █▀█ █▄▀ ██▄ █▀▄ ▄█ +____________________________________________________________________________________________________________________________________________ +License: + The license is ATTRIBUTION 3.0 + + More license info here: + https://creativecommons.org/licenses/by/3.0/ +____________________________________________________________________________________________________________________________________________ +This shader has NOT been tested on any other PC configuration except the following: + CPU: Intel Core i5-6400 + GPU: NVidia GTX 750Ti + RAM: 16GB + Windows: 10 x64 + DirectX: 11 +____________________________________________________________________________________________________________________________________________ +*/ + +Shader "Ultimate 10+ Shaders/Plexus Line" +{ + Properties + { + _Color ("Color", Color) = (0, 1, 0, 1) + [HDR] _Emission1 ("Emission1", Color) = (2.56, 0, 0, 1) + [HDR] _Emission2 ("Emission2", Color) = (0, 1.95, 2.52, 1) + _BoxDims ("Box Dimensions", float) = (5, 5, 5, 1) // Controlled by Plexus.cs + + [Enum(UnityEngine.Rendering.CullMode)] _Cull ("Cull", Float) = 0 + } + SubShader + { + Tags { "RenderType"="Opaque" } + LOD 100 + Cull [_Cull] + + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + #include "UnityCG.cginc" + + struct appdata + { + float4 vertex : POSITION; + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + struct v2f + { + float4 vertex : SV_POSITION; + fixed4 col : TEXCOORD0; + }; + + fixed4 _Color; + fixed4 _Emission1, _Emission2; + half4 _BoxDims; + + // Add instancing support for this shader. You need to check 'Enable Instancing' on materials that use the shader. + // See https://docs.unity3d.com/Manual/GPUInstancing.html for more information about instancing. + // #pragma instancing_options assumeuniformscaling + UNITY_INSTANCING_BUFFER_START(Props) + // put more per-instance properties here + UNITY_INSTANCING_BUFFER_END(Props) + + v2f vert (appdata v) + { + v2f o; + + o.vertex = UnityObjectToClipPos(v.vertex); + o.col = fixed4((clamp(o.vertex.xyz/_BoxDims.xyz, -1, 1) + 1.0) / 2.0, 1); + + return o; + } + + fixed4 pixel; + fixed4 frag (v2f i) : SV_Target + { + pixel = _Color + lerp(_Emission1, _Emission2, i.col); + + return pixel; + } + ENDCG + } + } + FallBack "Diffuse" +} diff --git a/Assets/Ultimate 10 Plus Shaders/Shaders/Plexus/Plexus Line.shader.meta b/Assets/Ultimate 10 Plus Shaders/Shaders/Plexus/Plexus Line.shader.meta new file mode 100644 index 0000000..a3c7c49 --- /dev/null +++ b/Assets/Ultimate 10 Plus Shaders/Shaders/Plexus/Plexus Line.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: f92fef4e8869e674b8dbc8fb64db23cd +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Ultimate 10 Plus Shaders/Shaders/Plexus/Plexus.compute b/Assets/Ultimate 10 Plus Shaders/Shaders/Plexus/Plexus.compute new file mode 100644 index 0000000..ccd3870 --- /dev/null +++ b/Assets/Ultimate 10 Plus Shaders/Shaders/Plexus/Plexus.compute @@ -0,0 +1,94 @@ +/* +██████╗░██╗░░░░░███████╗██╗░░██╗██╗░░░██╗░██████╗  ░█████╗░░█████╗░███╗░░░███╗██████╗░██╗░░░██╗████████╗███████╗ +██╔══██╗██║░░░░░██╔════╝╚██╗██╔╝██║░░░██║██╔════╝  ██╔══██╗██╔══██╗████╗░████║██╔══██╗██║░░░██║╚══██╔══╝██╔════╝ +██████╔╝██║░░░░░█████╗░░░╚███╔╝░██║░░░██║╚█████╗░  ██║░░╚═╝██║░░██║██╔████╔██║██████╔╝██║░░░██║░░░██║░░░█████╗░░ +██╔═══╝░██║░░░░░██╔══╝░░░██╔██╗░██║░░░██║░╚═══██╗  ██║░░██╗██║░░██║██║╚██╔╝██║██╔═══╝░██║░░░██║░░░██║░░░██╔══╝░░ +██║░░░░░███████╗███████╗██╔╝╚██╗╚██████╔╝██████╔╝  ╚█████╔╝╚█████╔╝██║░╚═╝░██║██║░░░░░╚██████╔╝░░░██║░░░███████╗ +╚═╝░░░░░╚══════╝╚══════╝╚═╝░░╚═╝░╚═════╝░╚═════╝░  ░╚════╝░░╚════╝░╚═╝░░░░░╚═╝╚═╝░░░░░░╚═════╝░░░░╚═╝░░░╚══════╝ + + ░██████╗██╗░░██╗░█████╗░██████╗░███████╗██████╗░ + ██╔════╝██║░░██║██╔══██╗██╔══██╗██╔════╝██╔══██╗ + ╚█████╗░███████║███████║██║░░██║█████╗░░██████╔╝ + ░╚═══██╗██╔══██║██╔══██║██║░░██║██╔══╝░░██╔══██╗ + ██████╔╝██║░░██║██║░░██║██████╔╝███████╗██║░░██║ + ╚═════╝░╚═╝░░╚═╝╚═╝░░╚═╝╚═════╝░╚══════╝╚═╝░░╚═╝ + █▀▀▄ █──█   ▀▀█▀▀ █──█ █▀▀   ░█▀▀▄ █▀▀ ▀█─█▀ █▀▀ █── █▀▀█ █▀▀█ █▀▀ █▀▀█ + █▀▀▄ █▄▄█   ─░█── █▀▀█ █▀▀   ░█─░█ █▀▀ ─█▄█─ █▀▀ █── █──█ █──█ █▀▀ █▄▄▀ + ▀▀▀─ ▄▄▄█   ─░█── ▀──▀ ▀▀▀   ░█▄▄▀ ▀▀▀ ──▀── ▀▀▀ ▀▀▀ ▀▀▀▀ █▀▀▀ ▀▀▀ ▀─▀▀ +____________________________________________________________________________________________________________________________________________ + + ▄▀█ █▀ █▀ █▀▀ ▀█▀ ▀   █░█ █░░ ▀█▀ █ █▀▄▀█ ▄▀█ ▀█▀ █▀▀   ▄█ █▀█ ▄█▄   █▀ █░█ ▄▀█ █▀▄ █▀▀ █▀█ █▀ + █▀█ ▄█ ▄█ ██▄ ░█░ ▄   █▄█ █▄▄ ░█░ █ █░▀░█ █▀█ ░█░ ██▄   ░█ █▄█ ░▀░   ▄█ █▀█ █▀█ █▄▀ ██▄ █▀▄ ▄█ +____________________________________________________________________________________________________________________________________________ +License: + The license is ATTRIBUTION 3.0 + + More license info here: + https://creativecommons.org/licenses/by/3.0/ +____________________________________________________________________________________________________________________________________________ +This shader has NOT been tested on any other PC configuration except the following: + CPU: Intel Core i5-6400 + GPU: NVidia GTX 750Ti + RAM: 16GB + Windows: 10 x64 + DirectX: 11 +____________________________________________________________________________________________________________________________________________ +*/ + +#pragma kernel MoveParticels + +RWStructuredBuffer positions; +RWStructuredBuffer defaultPositions; +RWStructuredBuffer velocities; + +float deltaTime; +float elapsedTime; +float particleSpeed; + +// really rounded +#define PI 3.14 +#define PI_M_2 6.28 +#define PI_D_2 1.57 + +// Sine from Taylor series +half ta_sin(half theta) { + half a = theta + PI_D_2; + theta = ((a>0) ? a - PI_M_2*((int)(a / PI_M_2)) : (-a + PI_M_2*((int)(a / PI_M_2)))) - PI_D_2; + + if (theta > PI_D_2) + theta = PI - theta; + + half x3 = theta * theta * theta; + + return theta - (x3 / 6.0) + (x3 * theta * theta) / 120.0; +} + +half ta_cos(half theta) { + return ta_sin(90.0 - theta); +} + +float distSqr(half3 p1, half3 p2) +{ + return (p1.x - p2.x) * (p1.x - p2.x) + (p1.y - p2.y) * (p1.y - p2.y) + (p1.z - p2.z) * (p1.z - p2.z); +} + +half3 randomMovement(uint3 id) { + return + half3(frac(sin(id.x + ta_sin(id.x + ta_cos(elapsedTime))) * particleSpeed) - .5, + frac(cos(id.x + ta_sin(id.x + ta_sin(elapsedTime))) * particleSpeed) - .5, + frac(sin(id.x + ta_sin(id.x) * ta_cos(elapsedTime)) * particleSpeed) - .5 + ); +} + +[numthreads(1,1,1)] +void MoveParticels(uint3 id : SV_DispatchThreadID) +{ + // id.x + + velocities[id.x] += randomMovement(id.x) * .1; + velocities[id.x] += (defaultPositions[id.x] - positions[id.x]) * distSqr(positions[id.x], defaultPositions[id.x]) * .1; + + velocities[id.x] = normalize(velocities[id.x]); + + positions[id.x] += velocities[id.x] * particleSpeed * deltaTime; +} \ No newline at end of file diff --git a/Assets/Ultimate 10 Plus Shaders/Shaders/Plexus/Plexus.compute.meta b/Assets/Ultimate 10 Plus Shaders/Shaders/Plexus/Plexus.compute.meta new file mode 100644 index 0000000..b3270ad --- /dev/null +++ b/Assets/Ultimate 10 Plus Shaders/Shaders/Plexus/Plexus.compute.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0396ae06a645dc94696336944bc11f1f +ComputeShaderImporter: + externalObjects: {} + currentAPIMask: 4 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Ultimate 10 Plus Shaders/Shaders/Plexus/Plexus.cs b/Assets/Ultimate 10 Plus Shaders/Shaders/Plexus/Plexus.cs new file mode 100644 index 0000000..64315f5 --- /dev/null +++ b/Assets/Ultimate 10 Plus Shaders/Shaders/Plexus/Plexus.cs @@ -0,0 +1,237 @@ +/* + ██████╗░██╗░░░░░███████╗██╗░░██╗██╗░░░██╗░██████╗ + ██╔══██╗██║░░░░░██╔════╝╚██╗██╔╝██║░░░██║██╔════╝ + ██████╔╝██║░░░░░█████╗░░░╚███╔╝░██║░░░██║╚█████╗░ + ██╔═══╝░██║░░░░░██╔══╝░░░██╔██╗░██║░░░██║░╚═══██╗ + ██║░░░░░███████╗███████╗██╔╝╚██╗╚██████╔╝██████╔╝ + ╚═╝░░░░░╚══════╝╚══════╝╚═╝░░╚═╝░╚═════╝░╚═════╝░ + + █▀▀▄ █──█   ▀▀█▀▀ █──█ █▀▀   ░█▀▀▄ █▀▀ ▀█─█▀ █▀▀ █── █▀▀█ █▀▀█ █▀▀ █▀▀█ + █▀▀▄ █▄▄█   ─░█── █▀▀█ █▀▀   ░█─░█ █▀▀ ─█▄█─ █▀▀ █── █──█ █──█ █▀▀ █▄▄▀ + ▀▀▀─ ▄▄▄█   ─░█── ▀──▀ ▀▀▀   ░█▄▄▀ ▀▀▀ ──▀── ▀▀▀ ▀▀▀ ▀▀▀▀ █▀▀▀ ▀▀▀ ▀─▀▀ +____________________________________________________________________________________________________________________________________________ + + ▄▀█ █▀ █▀ █▀▀ ▀█▀ ▀   █░█ █░░ ▀█▀ █ █▀▄▀█ ▄▀█ ▀█▀ █▀▀   ▄█ █▀█ ▄█▄   █▀ █░█ ▄▀█ █▀▄ █▀▀ █▀█ █▀ + █▀█ ▄█ ▄█ ██▄ ░█░ ▄   █▄█ █▄▄ ░█░ █ █░▀░█ █▀█ ░█░ ██▄   ░█ █▄█ ░▀░   ▄█ █▀█ █▀█ █▄▀ ██▄ █▀▄ ▄█ +____________________________________________________________________________________________________________________________________________ +License: + The license is ATTRIBUTION 3.0 + + More license info here: + https://creativecommons.org/licenses/by/3.0/ +____________________________________________________________________________________________________________________________________________ +This shader has NOT been tested on any other PC configuration except the following: + CPU: Intel Core i5-6400 + GPU: NVidia GTX 750Ti + RAM: 16GB + Windows: 10 x64 + DirectX: 11 +____________________________________________________________________________________________________________________________________________ +*/ + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +//[ExecuteAlways] +public class Plexus : MonoBehaviour +{ + public ComputeShader plexus; + + public int amountOfPoints = 100; + public int PPPS = 2; // Processed Points Per Second + public float lineWidth = 0.02f; + public Material lineMaterial; + + public Vector3 box = new Vector3(4, 4, 4); + + public float particleSpeed = 1.0f; + public float maxConnDistance = 3.0f; // The maximum distance for two points to connect + private float maxConnDistanceSqr; + + private Vector3[] defaultPositions; + private Vector3[] velocities; + private Vector3[] positions; + + private Mesh lineMesh; + + private void Start() + { + lineMaterial.SetVector("_BoxDims", new Vector4(box.x, box.y, box.z, 1)); + + positions = new Vector3[amountOfPoints]; + defaultPositions = new Vector3[amountOfPoints]; + for (int i = 0; i < amountOfPoints; ++i) + { + positions[i] = new Vector3( + Random.Range(-box.x, box.x), + Random.Range(-box.y, box.y), + Random.Range(-box.z, box.z)); + + defaultPositions[i] = positions[i]; + } + + lineMesh = new Mesh(); + + int[] trigs = new int[6]; + + trigs[0] = 0; + trigs[1] = 1; + trigs[2] = 2; + + trigs[3] = 3; + trigs[4] = 2; + trigs[5] = 1; + + lineMesh.vertices = verts; + lineMesh.triangles = trigs; + + velocities = new Vector3[amountOfPoints]; + StartCoroutine(ConnectDots()); + } + + private void Update() + { + MovePoints(); + RenderLines(); + } + + private void MovePoints() + { + int kernelIndex = plexus.FindKernel("MoveParticels"); + + // sizeof(float3) == 12 + ComputeBuffer positionsBuffer = new ComputeBuffer(positions.Length, 12); + positionsBuffer.SetData(positions); + plexus.SetBuffer(kernelIndex, "positions", positionsBuffer); + + // sizeof(float3) == 12 + ComputeBuffer defaultPositionsBuffer = new ComputeBuffer(defaultPositions.Length, 12); + defaultPositionsBuffer.SetData(defaultPositions); + plexus.SetBuffer(kernelIndex, "defaultPositions", defaultPositionsBuffer); + + // sizeof(float3) == 12 + ComputeBuffer velocitiesBuffer = new ComputeBuffer(velocities.Length, 12); + velocitiesBuffer.SetData(velocities); + plexus.SetBuffer(kernelIndex, "velocities", velocitiesBuffer); + + + plexus.SetFloat("deltaTime", Time.deltaTime); + plexus.SetFloat("elapsedTime", Time.time); + plexus.SetFloat("particleSpeed", particleSpeed); + + plexus.Dispatch(kernelIndex, positions.Length, 1, 1); + + positionsBuffer.GetData(positions); + + positionsBuffer.Release(); + defaultPositionsBuffer.Release(); + velocitiesBuffer.Release(); + } + + private static float DistanceSqr(Vector3 p1, Vector3 p2) + { + return (p1.x - p2.x) * (p1.x - p2.x) + (p1.y - p2.y) * (p1.y - p2.y) + (p1.z - p2.z) * (p1.z - p2.z); + } + + Vector3 normal, side, p1, p2; + int startingVerticesIndex = 0; + List lineTrigs = new List(); + List lineVerts = new List(); + Vector3[] verts = new Vector3[4]; + int[] trigs = new int[6]; + private void RenderLines() + { + lineMesh = new Mesh(); + for (int i = 0; i < connected.Count; ++i) + { + // DrawLine(positions[connected[i].Key], positions[connected[i].Value]); + //transform.position - positions[connected[i].Key], // local to world space + //transform.position - positions[connected[i].Value]); // local to world space + + p1 = positions[connected[i].Key]; + p2 = positions[connected[i].Value]; + + normal = Vector3.Cross(p1, p2); + side = Vector3.Cross(normal, p2 - p1); + side.Normalize(); + + + startingVerticesIndex = lineVerts.Count; + + + verts[0] = p1 + side * (lineWidth / 2); + verts[1] = p1 + side * (lineWidth / -2); + verts[2] = p2 + side * (lineWidth / 2); + verts[3] = p2 + side * (lineWidth / -2); + + + trigs[0] = startingVerticesIndex; + trigs[1] = trigs[5] = startingVerticesIndex + 1; + trigs[2] = trigs[4] = startingVerticesIndex + 2; + trigs[3] = startingVerticesIndex + 3; + + + lineVerts.AddRange(verts); + lineTrigs.AddRange(trigs); + } + + lineMesh.vertices = lineVerts.ToArray(); + lineMesh.triangles = lineTrigs.ToArray(); + + // Drawing the mesh + lineMesh.RecalculateBounds(); + Graphics.DrawMesh(lineMesh, transform.localToWorldMatrix, lineMaterial, 0); + + // Emptying the memory + lineTrigs.Clear(); + lineVerts.Clear(); + } + + [HideInInspector] + public bool isEnabled = false; + List> connected = new List>(); + HashSet> connectedHashSet = new HashSet>(); + + private IEnumerator ConnectDots() + { + // the idea behind this code is to extend the connection of dots in time + // not to do it each frame for all points but instead of doing it each frame for + // N points + + WaitForEndOfFrame wfeof = new WaitForEndOfFrame(); + int indx = 0, i = 0, j = 0; + Vector3 currentPos; + + maxConnDistanceSqr = maxConnDistance * maxConnDistance; + + do + { + yield return wfeof; + for (j = 0; j < PPPS; ++j) + { + currentPos = positions[indx]; + + connected.RemoveAll(x => x.Key == indx || x.Value == indx); + connectedHashSet.RemoveWhere(x => x.Key == indx || x.Value == indx); + + for (i = 0; i < amountOfPoints; ++i) + { + if (i == indx) + continue; + + if (DistanceSqr(currentPos, positions[i]) < maxConnDistanceSqr) + { + KeyValuePair k = new KeyValuePair(indx, i); + if(connectedHashSet.Add(k)) + connected.Add(new KeyValuePair(indx, i)); + } + } + + ++indx; + if (indx >= amountOfPoints) + indx = 0; + } + } while (!isEnabled); + } +} diff --git a/Assets/Ultimate 10 Plus Shaders/Shaders/Plexus/Plexus.cs.meta b/Assets/Ultimate 10 Plus Shaders/Shaders/Plexus/Plexus.cs.meta new file mode 100644 index 0000000..c7089c5 --- /dev/null +++ b/Assets/Ultimate 10 Plus Shaders/Shaders/Plexus/Plexus.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 66bd5c73cd1c467458a55f95ff648743 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Ultimate 10 Plus Shaders/Shaders/Simple Sine Wave.shader b/Assets/Ultimate 10 Plus Shaders/Shaders/Simple Sine Wave.shader new file mode 100644 index 0000000..ae0e388 --- /dev/null +++ b/Assets/Ultimate 10 Plus Shaders/Shaders/Simple Sine Wave.shader @@ -0,0 +1,125 @@ +/* + ░██████╗██╗███╗░░░███╗██████╗░██╗░░░░░███████╗  ░██████╗██╗███╗░░██╗███████╗ + ██╔════╝██║████╗░████║██╔══██╗██║░░░░░██╔════╝  ██╔════╝██║████╗░██║██╔════╝ + ╚█████╗░██║██╔████╔██║██████╔╝██║░░░░░█████╗░░  ╚█████╗░██║██╔██╗██║█████╗░░ + ░╚═══██╗██║██║╚██╔╝██║██╔═══╝░██║░░░░░██╔══╝░░  ░╚═══██╗██║██║╚████║██╔══╝░░ + ██████╔╝██║██║░╚═╝░██║██║░░░░░███████╗███████╗  ██████╔╝██║██║░╚███║███████╗ + ╚═════╝░╚═╝╚═╝░░░░░╚═╝╚═╝░░░░░╚══════╝╚══════╝  ╚═════╝░╚═╝╚═╝░░╚══╝╚══════╝ + + ░██╗░░░░░░░██╗░█████╗░██╗░░░██╗███████╗  ░██████╗██╗░░██╗░█████╗░██████╗░███████╗██████╗░ + ░██║░░██╗░░██║██╔══██╗██║░░░██║██╔════╝  ██╔════╝██║░░██║██╔══██╗██╔══██╗██╔════╝██╔══██╗ + ░╚██╗████╗██╔╝███████║╚██╗░██╔╝█████╗░░  ╚█████╗░███████║███████║██║░░██║█████╗░░██████╔╝ + ░░████╔═████║░██╔══██║░╚████╔╝░██╔══╝░░  ░╚═══██╗██╔══██║██╔══██║██║░░██║██╔══╝░░██╔══██╗ + ░░╚██╔╝░╚██╔╝░██║░░██║░░╚██╔╝░░███████╗  ██████╔╝██║░░██║██║░░██║██████╔╝███████╗██║░░██║ + ░░░╚═╝░░░╚═╝░░╚═╝░░╚═╝░░░╚═╝░░░╚══════╝  ╚═════╝░╚═╝░░╚═╝╚═╝░░╚═╝╚═════╝░╚══════╝╚═╝░░╚═╝ + + █▀▀▄ █──█   ▀▀█▀▀ █──█ █▀▀   ░█▀▀▄ █▀▀ ▀█─█▀ █▀▀ █── █▀▀█ █▀▀█ █▀▀ █▀▀█ + █▀▀▄ █▄▄█   ─░█── █▀▀█ █▀▀   ░█─░█ █▀▀ ─█▄█─ █▀▀ █── █──█ █──█ █▀▀ █▄▄▀ + ▀▀▀─ ▄▄▄█   ─░█── ▀──▀ ▀▀▀   ░█▄▄▀ ▀▀▀ ──▀── ▀▀▀ ▀▀▀ ▀▀▀▀ █▀▀▀ ▀▀▀ ▀─▀▀ +____________________________________________________________________________________________________________________________________________ + + ▄▀█ █▀ █▀ █▀▀ ▀█▀ ▀   █░█ █░░ ▀█▀ █ █▀▄▀█ ▄▀█ ▀█▀ █▀▀   ▄█ █▀█ ▄█▄   █▀ █░█ ▄▀█ █▀▄ █▀▀ █▀█ █▀ + █▀█ ▄█ ▄█ ██▄ ░█░ ▄   █▄█ █▄▄ ░█░ █ █░▀░█ █▀█ ░█░ ██▄   ░█ █▄█ ░▀░   ▄█ █▀█ █▀█ █▄▀ ██▄ █▀▄ ▄█ +____________________________________________________________________________________________________________________________________________ +License: + The license is ATTRIBUTION 3.0 + + More license info here: + https://creativecommons.org/licenses/by/3.0/ +____________________________________________________________________________________________________________________________________________ +This shader has NOT been tested on any other PC configuration except the following: + CPU: Intel Core i5-6400 + GPU: NVidia GTX 750Ti + RAM: 16GB + Windows: 10 x64 + DirectX: 11 +____________________________________________________________________________________________________________________________________________ +*/ + +Shader "Ultimate 10+ Shaders/Simple Sine Wave" +{ + Properties + { + _Color ("Color", Color) = (1,1,1,1) + _MainTex ("Albedo (RGB)", 2D) = "white" {} + _Normal ("Normal Map", 2D) = "bump" {} + _Speed ("Speed", float) = 1.25 + _Amplitude ("Amplitude", float) = 1.0 + + _Smoothness ("Smoothness", Range(0, 1)) = 0.5 + _Metallic ("Metallic", Range(0, 1)) = 0.5 + + [Enum(UnityEngine.Rendering.CullMode)] _Cull ("Cull", Float) = 2 + } + SubShader + { + Tags { "RenderType"="Opaque" } + LOD 150 + Cull [_Cull] + ZWrite On + + CGPROGRAM + // Physically based Standard lighting model, and enable shadows on all light types + #pragma surface surf Standard addshadow fullforwardshadows + #pragma vertex vert + + #ifndef SHADER_API_D3D11 + #pragma target 3.0 + #else + #pragma target 4.0 + #endif + + fixed4 _Color; + + sampler2D _MainTex; + sampler2D _Normal; + + half _Smoothness; + half _Metallic; + + half _Speed; + half _Amplitude; + + struct Input + { + float2 uv_MainTex; + float2 uv_Normal; + }; + + // Add instancing support for this shader. You need to check 'Enable Instancing' on materials that use the shader. + // See https://docs.unity3d.com/Manual/GPUInstancing.html for more information about instancing. + // #pragma instancing_options assumeuniformscaling + UNITY_INSTANCING_BUFFER_START(Props) + // put more per-instance properties here + UNITY_INSTANCING_BUFFER_END(Props) + + fixed4 pixel; + void surf (Input IN, inout SurfaceOutputStandard o) + { + pixel = tex2D (_MainTex, IN.uv_MainTex) * _Color; + o.Albedo = pixel.rgb; + + o.Smoothness = _Smoothness; + o.Metallic = _Metallic; + + o.Normal = tex2D(_Normal, IN.uv_Normal); + } + + struct appdata { + float4 vertex : POSITION; + float4 tangent : TANGENT; + float3 normal : NORMAL; + float4 texcoord : TEXCOORD0; + float4 texcoord1 : TEXCOORD1; + fixed4 color : COLOR; + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + void vert(inout appdata v){ + v.vertex.y = sin((_Time.y + v.vertex.x) * _Speed) * _Amplitude; + } + + ENDCG + } + FallBack "Diffuse" +} diff --git a/Assets/Ultimate 10 Plus Shaders/Shaders/Simple Sine Wave.shader.meta b/Assets/Ultimate 10 Plus Shaders/Shaders/Simple Sine Wave.shader.meta new file mode 100644 index 0000000..9fd2764 --- /dev/null +++ b/Assets/Ultimate 10 Plus Shaders/Shaders/Simple Sine Wave.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 5e366272114d7d541bdf3e04c3a79d20 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Ultimate 10 Plus Shaders/Shaders/Snow.shader b/Assets/Ultimate 10 Plus Shaders/Shaders/Snow.shader new file mode 100644 index 0000000..5ad955f --- /dev/null +++ b/Assets/Ultimate 10 Plus Shaders/Shaders/Snow.shader @@ -0,0 +1,134 @@ +/* + ░██████╗███╗░░██╗░█████╗░░██╗░░░░░░░██╗  ░██████╗██╗░░██╗░█████╗░██████╗░███████╗██████╗░ + ██╔════╝████╗░██║██╔══██╗░██║░░██╗░░██║  ██╔════╝██║░░██║██╔══██╗██╔══██╗██╔════╝██╔══██╗ + ╚█████╗░██╔██╗██║██║░░██║░╚██╗████╗██╔╝  ╚█████╗░███████║███████║██║░░██║█████╗░░██████╔╝ + ░╚═══██╗██║╚████║██║░░██║░░████╔═████║░  ░╚═══██╗██╔══██║██╔══██║██║░░██║██╔══╝░░██╔══██╗ + ██████╔╝██║░╚███║╚█████╔╝░░╚██╔╝░╚██╔╝░  ██████╔╝██║░░██║██║░░██║██████╔╝███████╗██║░░██║ + ╚═════╝░╚═╝░░╚══╝░╚════╝░░░░╚═╝░░░╚═╝░░  ╚═════╝░╚═╝░░╚═╝╚═╝░░╚═╝╚═════╝░╚══════╝╚═╝░░╚═╝ + + █▀▀▄ █──█   ▀▀█▀▀ █──█ █▀▀   ░█▀▀▄ █▀▀ ▀█─█▀ █▀▀ █── █▀▀█ █▀▀█ █▀▀ █▀▀█ + █▀▀▄ █▄▄█   ─░█── █▀▀█ █▀▀   ░█─░█ █▀▀ ─█▄█─ █▀▀ █── █──█ █──█ █▀▀ █▄▄▀ + ▀▀▀─ ▄▄▄█   ─░█── ▀──▀ ▀▀▀   ░█▄▄▀ ▀▀▀ ──▀── ▀▀▀ ▀▀▀ ▀▀▀▀ █▀▀▀ ▀▀▀ ▀─▀▀ +____________________________________________________________________________________________________________________________________________ + + ▄▀█ █▀ █▀ █▀▀ ▀█▀ ▀   █░█ █░░ ▀█▀ █ █▀▄▀█ ▄▀█ ▀█▀ █▀▀   ▄█ █▀█ ▄█▄   █▀ █░█ ▄▀█ █▀▄ █▀▀ █▀█ █▀ + █▀█ ▄█ ▄█ ██▄ ░█░ ▄   █▄█ █▄▄ ░█░ █ █░▀░█ █▀█ ░█░ ██▄   ░█ █▄█ ░▀░   ▄█ █▀█ █▀█ █▄▀ ██▄ █▀▄ ▄█ +____________________________________________________________________________________________________________________________________________ +License: + The license is ATTRIBUTION 3.0 + + More license info here: + https://creativecommons.org/licenses/by/3.0/ +____________________________________________________________________________________________________________________________________________ +This shader has NOT been tested on any other PC configuration except the following: + CPU: Intel Core i5-6400 + GPU: NVidia GTX 750Ti + RAM: 16GB + Windows: 10 x64 + DirectX: 11 +____________________________________________________________________________________________________________________________________________ +*/ + +Shader "Ultimate 10+ Shaders/Snow" +{ + Properties + { + _Color ("Color", Color) = (1,1,1,1) + _MainTex ("Albedo (RGB)", 2D) = "white" {} + _Normal ("Normal Map", 2D) = "bump" {} + + _Glossiness ("Smoothness", Range(0,1)) = 0.5 + _Metallic ("Metallic", Range(0,1)) = 0.0 + + _SnowColor ("Snow Color", Color) = (1,1,1,1) + _SnowNormal ("Snow Normal Map", 2D) = "bump" {} + + _SnowGlossiness ("Snow Smoothness", Range(0,1)) = 0.5 + _SnowMetallic ("Snow Metallic", Range(0,1)) = 0.0 + + _SnowDirection ("Snow Direction", Vector) = (0, 1, 0, 1) + _SnowAmount ("Snow Amount", Range(0, 1)) = 0.75 + + [Enum(UnityEngine.Rendering.CullMode)] _Cull ("Cull", Float) = 2 + } + SubShader + { + Tags { "RenderType"="Opaque" } + LOD 150 + Cull [_Cull] + + CGPROGRAM + // Physically based Standard lighting model, and enable shadows on all light types + #pragma surface surf Standard fullforwardshadows + #pragma vertex vert + + #ifndef SHADER_API_D3D11 + #pragma target 3.0 + #else + #pragma target 4.0 + #endif + + fixed4 _Color; + sampler2D _MainTex; + sampler2D _Normal; + + half _Glossiness; + half _Metallic; + + fixed4 _SnowColor; + sampler2D _SnowNormal; + + half _SnowGlossiness; + half _SnowMetallic; + + half3 _SnowDirection; + fixed _SnowAmount; + + struct Input + { + float2 uv_MainTex; + float2 uv_Normal; + float2 uv_SnowNormal; + float dotProduct; + }; + + // Add instancing support for this shader. You need to check 'Enable Instancing' on materials that use the shader. + // See https://docs.unity3d.com/Manual/GPUInstancing.html for more information about instancing. + // #pragma instancing_options assumeuniformscaling + UNITY_INSTANCING_BUFFER_START(Props) + // put more per-instance properties here + UNITY_INSTANCING_BUFFER_END(Props) + + fixed4 pixel; + void surf (Input IN, inout SurfaceOutputStandard o) + { + pixel = lerp(tex2D (_MainTex, IN.uv_MainTex) * _Color, _SnowColor, IN.dotProduct); + + o.Albedo = pixel.rgb; + o.Normal = UnpackNormal(lerp(tex2D(_Normal, IN.uv_Normal), tex2D(_SnowNormal, IN.uv_SnowNormal), IN.dotProduct)); + + o.Metallic = lerp(_Metallic, _SnowMetallic, IN.dotProduct); + o.Smoothness = lerp(_Glossiness, _SnowGlossiness, IN.dotProduct); + } + + struct appdata { + float4 vertex : POSITION; + float4 tangent : TANGENT; + float3 normal : NORMAL; + float4 texcoord : TEXCOORD0; + float4 texcoord1 : TEXCOORD1; + float4 texcoord2 : TEXCOORD2; + fixed4 color : COLOR; + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + fixed4 texPixel; + void vert (inout appdata vert, out Input o){ + UNITY_INITIALIZE_OUTPUT(Input, o); + o.dotProduct = saturate(dot(UnityObjectToWorldDir(vert.normal), normalize(_SnowDirection))); + o.dotProduct = (o.dotProduct < 1.0 - _SnowAmount) ? 0 : o.dotProduct; + } + ENDCG + } + FallBack "Diffuse" +} diff --git a/Assets/Ultimate 10 Plus Shaders/Shaders/Snow.shader.meta b/Assets/Ultimate 10 Plus Shaders/Shaders/Snow.shader.meta new file mode 100644 index 0000000..96037e7 --- /dev/null +++ b/Assets/Ultimate 10 Plus Shaders/Shaders/Snow.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 8ab8c471adfe2654686be846e61fa1a2 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: