From abfc6cd910c8a84bf19c7a1de02e697c2da8a099 Mon Sep 17 00:00:00 2001 From: Pasha Bibko Date: Fri, 2 May 2025 14:58:30 +0100 Subject: [PATCH] ghfghgfhgf --- .../Textures/prototype_512x512_grey4.png | Bin 3477 -> 2268 bytes .../Textures/prototype_512x512_grey4.png.meta | 23 +- Assets/TransparrentRed.mat | 85 ------- Assets/Ultimate 10 Plus Shaders.meta | 8 + .../Ultimate 10 Plus Shaders/3D Models.meta | 8 + .../3D Models/Grass_Mesh.fbx | Bin 0 -> 30944 bytes .../3D Models/Grass_Mesh.fbx.meta | 96 +++++++ .../3D Models/Rock.fbx | Bin 0 -> 39360 bytes .../3D Models/Rock.fbx.meta | 70 ++++++ Assets/Ultimate 10 Plus Shaders/Shaders.meta | 8 + .../Shaders/Blur.shader | 125 +++++++++ .../Shaders/Blur.shader.meta | 9 + .../Shaders/Depth Mask Edge Detection.shader | 115 +++++++++ .../Depth Mask Edge Detection.shader.meta | 9 + .../Shaders/Dissolve.shader | 100 ++++++++ .../Shaders/Dissolve.shader.meta | 9 + .../Shaders/Edge Detection.shader | 110 ++++++++ .../Shaders/Edge Detection.shader.meta | 9 + .../Shaders/Force Field.shader | 129 ++++++++++ .../Shaders/Force Field.shader.meta | 9 + .../Shaders/Grass Sway.shader | 131 ++++++++++ .../Shaders/Grass Sway.shader.meta | 9 + .../Shaders/Lava3D.shader | 109 ++++++++ .../Shaders/Lava3D.shader.meta | 9 + .../Shaders/Ocean.shader | 114 +++++++++ .../Shaders/Ocean.shader.meta | 9 + .../Shaders/Outline.shader | 127 ++++++++++ .../Shaders/Outline.shader.meta | 9 + .../Shaders/Plasma.shader | 102 ++++++++ .../Shaders/Plasma.shader.meta | 9 + .../Shaders/Plexus.meta | 8 + .../Shaders/Plexus/Plexus Line Material.mat | 28 +++ .../Plexus/Plexus Line Material.mat.meta} | 4 +- .../Shaders/Plexus/Plexus Line.shader | 107 ++++++++ .../Shaders/Plexus/Plexus Line.shader.meta | 9 + .../Shaders/Plexus/Plexus.compute | 94 +++++++ .../Shaders/Plexus/Plexus.compute.meta | 8 + .../Shaders/Plexus/Plexus.cs | 237 ++++++++++++++++++ .../Shaders/Plexus/Plexus.cs.meta | 11 + .../Shaders/Simple Sine Wave.shader | 125 +++++++++ .../Shaders/Simple Sine Wave.shader.meta | 9 + .../Shaders/Snow.shader | 134 ++++++++++ .../Shaders/Snow.shader.meta | 9 + 43 files changed, 2231 insertions(+), 102 deletions(-) delete mode 100644 Assets/TransparrentRed.mat create mode 100644 Assets/Ultimate 10 Plus Shaders.meta create mode 100644 Assets/Ultimate 10 Plus Shaders/3D Models.meta create mode 100644 Assets/Ultimate 10 Plus Shaders/3D Models/Grass_Mesh.fbx create mode 100644 Assets/Ultimate 10 Plus Shaders/3D Models/Grass_Mesh.fbx.meta create mode 100644 Assets/Ultimate 10 Plus Shaders/3D Models/Rock.fbx create mode 100644 Assets/Ultimate 10 Plus Shaders/3D Models/Rock.fbx.meta create mode 100644 Assets/Ultimate 10 Plus Shaders/Shaders.meta create mode 100644 Assets/Ultimate 10 Plus Shaders/Shaders/Blur.shader create mode 100644 Assets/Ultimate 10 Plus Shaders/Shaders/Blur.shader.meta create mode 100644 Assets/Ultimate 10 Plus Shaders/Shaders/Depth Mask Edge Detection.shader create mode 100644 Assets/Ultimate 10 Plus Shaders/Shaders/Depth Mask Edge Detection.shader.meta create mode 100644 Assets/Ultimate 10 Plus Shaders/Shaders/Dissolve.shader create mode 100644 Assets/Ultimate 10 Plus Shaders/Shaders/Dissolve.shader.meta create mode 100644 Assets/Ultimate 10 Plus Shaders/Shaders/Edge Detection.shader create mode 100644 Assets/Ultimate 10 Plus Shaders/Shaders/Edge Detection.shader.meta create mode 100644 Assets/Ultimate 10 Plus Shaders/Shaders/Force Field.shader create mode 100644 Assets/Ultimate 10 Plus Shaders/Shaders/Force Field.shader.meta create mode 100644 Assets/Ultimate 10 Plus Shaders/Shaders/Grass Sway.shader create mode 100644 Assets/Ultimate 10 Plus Shaders/Shaders/Grass Sway.shader.meta create mode 100644 Assets/Ultimate 10 Plus Shaders/Shaders/Lava3D.shader create mode 100644 Assets/Ultimate 10 Plus Shaders/Shaders/Lava3D.shader.meta create mode 100644 Assets/Ultimate 10 Plus Shaders/Shaders/Ocean.shader create mode 100644 Assets/Ultimate 10 Plus Shaders/Shaders/Ocean.shader.meta create mode 100644 Assets/Ultimate 10 Plus Shaders/Shaders/Outline.shader create mode 100644 Assets/Ultimate 10 Plus Shaders/Shaders/Outline.shader.meta create mode 100644 Assets/Ultimate 10 Plus Shaders/Shaders/Plasma.shader create mode 100644 Assets/Ultimate 10 Plus Shaders/Shaders/Plasma.shader.meta create mode 100644 Assets/Ultimate 10 Plus Shaders/Shaders/Plexus.meta create mode 100644 Assets/Ultimate 10 Plus Shaders/Shaders/Plexus/Plexus Line Material.mat rename Assets/{TransparrentRed.mat.meta => Ultimate 10 Plus Shaders/Shaders/Plexus/Plexus Line Material.mat.meta} (64%) create mode 100644 Assets/Ultimate 10 Plus Shaders/Shaders/Plexus/Plexus Line.shader create mode 100644 Assets/Ultimate 10 Plus Shaders/Shaders/Plexus/Plexus Line.shader.meta create mode 100644 Assets/Ultimate 10 Plus Shaders/Shaders/Plexus/Plexus.compute create mode 100644 Assets/Ultimate 10 Plus Shaders/Shaders/Plexus/Plexus.compute.meta create mode 100644 Assets/Ultimate 10 Plus Shaders/Shaders/Plexus/Plexus.cs create mode 100644 Assets/Ultimate 10 Plus Shaders/Shaders/Plexus/Plexus.cs.meta create mode 100644 Assets/Ultimate 10 Plus Shaders/Shaders/Simple Sine Wave.shader create mode 100644 Assets/Ultimate 10 Plus Shaders/Shaders/Simple Sine Wave.shader.meta create mode 100644 Assets/Ultimate 10 Plus Shaders/Shaders/Snow.shader create mode 100644 Assets/Ultimate 10 Plus Shaders/Shaders/Snow.shader.meta 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 61a15aeb7d61bcb65a9889bd22c5c2357464a3f0..cb750ed48e31dc4afbec5746f132f5e584598f99 100644 GIT binary patch literal 2268 zcmeAS@N?(olHy`uVBq!ia0y~yU;;9k7&t&wwUqN(AjMhW5n0T@z%2~Ij105pNB{*D zl0AZa85pWm85kOx85n;42huMY7)lKo7+xhXFj&oCU=Yur6o1r>fq^5*)5S5Q;?|p+ zj(L|OWR8FQH$OLIL6Os?RM+ChCWj8=0yVP@54`Ry3JU$o<``>c5$F&q`}?fYC7ovs zb%)P9-@IbiKU?+q+nxUN?dBRR-1mO{x^?f~zu$g4*XyLhCOLYLtfEjm&?HJ6 zPq}uW`w>Cc@PEp#_tn}yFJHdYd|qQA^J|~KX9KrHTcXVIDVGd**8NvHRw&b^`25e8 zFDbo~7+9<3_QkD# zz01sFBSX&iXlbaqqnT1i_G_O7FU`2X3Kf4${If-4Hz4M$s3q#LHU3jCOLYLtfEjm z&?HJ6Pq}uW`_Y5$fc&a^Ic8xqfN5j*-F2^bt$VF>NWr!5!N-q=OHFv1U+?dj^Vy;= z_jXxqc<59|ug>@P_eUpsJ+{yj>;7AJ|NCBGZ2tK1FMdS&#I}uS3G6Q_=9g&gqNn$s#Q{L2c=wP@-6$9Klr6z{8+N^kAlp9sU+zteZ|RskyomosUbcdg?M(qRx6 z7Z00J^<|fxy?wmi^ko`JX0zwco$Gq!>C>eQQ-lOdW7mgi2T%E>$&GS-*fMC?)URN_uT!< zJb%=oo6rG3$6e^^4S;Eu7|=+XP@QjCs|ohYmaK3yF)<+s!pFyF&z?Ohl`1zk_riq> z3WdVS$w@30^LV_fs;Z!%AfZrLQc{whp5ENt+}dw#rPjPK@PiUgXd_#PYkPyB(Htj-WfSbS(wH0+$c2#y7pIX3U;VQkTh9tV4^J_?vF|w(>;fF; zkyt48#pyN@R)2AKeRW_C*2jaq8#Hu~E`5e%4Z|2rmZso~P$?Hw-33<3Er?G$5tKNa zT51OO`~*g+e!#)Y-+q|R2@O66bg5rAgsnp&*#xTcnmJi92}+~3E>e$&{DaVyAs{P^ zKo<4B-y*XcI;I-M%NY-y1Zr4yW$!T~T#f|Abm<82X?z}J%xAzvk^$~OvJ1ftS{^arijtN~;uQ?Mqh)_K*h%r7D+*%vL|p zng(Xj=cOzFI*vuT|HH~Nu&Tc@Bsf=7Ig+ZnE9-A82eM!h<+BzXwrSsd|#V*7p>~!6D9o$hqMRWTfyvzLrW=LzGDJ9Yz7y8 zjp-v7DwM3P9m4kKCe+nz2+q@-dH~p`LLbG*brJyQiZJO8^GOifYlzE%Z}(zD2(Z^2 z@B~?hF5FRXp+TF62B1h1fBpAOAo1s+BK~129LaJl8ULWsK!AoEfOIJd_-M(y-WWJg zk%3u5J4JNLY#vFpZ%G`f$hi_ty{RWG7}L%K#*Wl06hV(JzON|;JO+2~usEMK96*)E zs)v}&SJ!3DoM~Puv({I(aL*nY-p(8Pi+v&-_~G;#{l&h43m=>0W!$G=`i?$8RxAb9 z?5=@7oU0X41#5oG#~V#)TAr2InmQs8X5FMrj~V_UTf1iNa^?b?zAMSBhf43L!*FNi z(dhJ#30l!p0}neO{v40v`i2Lvhr-cb5_ImXuo;YV>~c#nRSgZ=T97B+B#3i7++F$=VD@>}mzVBF~$%=)$L z9jBqEp2g4I6mbqJpEzY2P?D{2uHo#E-XyvAc3swM7Z>r)V(mb#I){fllZ(vnf4t?4 zwW}?Yn~KxAHz$YxbSRq4Z#4^JigdLGM%KM|j;#5hsK_DhZf^@hdi{|+W0eDe;bo1L zz=>4bLT%eH1HRsr?VL?v7_dm(p^?3#5}mL#zc!l2ueg&*NFeVF0LhIH6QCn}^j}g0 zrBAo_>hLA%w+sEcIU4IIqQs}h0f577Ce92{eDmxX+FL%0qR(UPFICg^mTvT|d;h0% zjF9m*nu5rfa&3fo-AVRM*=%Il@ueqr)2Z^i{xh7vVfP<5GeyHq-5s{m`zGvEtp` LJY6rlh*JIpN7GOx 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 0000000000000000000000000000000000000000..9a9de22525017c02db63de3b703427d91b0f2074 GIT binary patch literal 30944 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 k8MOtTmS$7 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..306a4b932e9accc74ac47e3074a2eeb1e1e26016 GIT binary patch literal 39360 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�xvBWWm=Z$oUh-ZU%B`y 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 _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: