Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
  • Help Room /
avatar image
0
Question by ToastehBro · Aug 12, 2016 at 02:35 PM · shadershadersuv coordinates

Making clamped texture render parts outside of the uvs transparent

Hello. I'm using this shader which is just the standard shader but double sided so it doesn't cull backfaces. I need some help modifying it so that the texture is clamped. I really don't understand shaders from scratch let alone trying to modify this complicated shader.

 Shader "Standard(Two Sided)"
 {
     Properties
     {
         _Color("Color", Color) = (1,1,1,1)
         _MainTex("Albedo", 2D) = "white" {}
         
         _Cutoff("Alpha Cutoff", Range(0.0, 1.0)) = 0.5
 
         _Glossiness("Smoothness", Range(0.0, 1.0)) = 0.5
         [Gamma] _Metallic("Metallic", Range(0.0, 1.0)) = 0.0
         _MetallicGlossMap("Metallic", 2D) = "white" {}
 
         _BumpScale("Scale", Float) = 1.0
         _BumpMap("Normal Map", 2D) = "bump" {}
 
         _Parallax ("Height Scale", Range (0.005, 0.08)) = 0.02
         _ParallaxMap ("Height Map", 2D) = "black" {}
 
         _OcclusionStrength("Strength", Range(0.0, 1.0)) = 1.0
         _OcclusionMap("Occlusion", 2D) = "white" {}
 
         _EmissionColor("Color", Color) = (0,0,0)
         _EmissionMap("Emission", 2D) = "white" {}
         
         _DetailMask("Detail Mask", 2D) = "white" {}
 
         _DetailAlbedoMap("Detail Albedo x2", 2D) = "grey" {}
         _DetailNormalMapScale("Scale", Float) = 1.0
         _DetailNormalMap("Normal Map", 2D) = "bump" {}
 
         [Enum(UV0,0,UV1,1)] _UVSec ("UV Set for secondary textures", Float) = 0
 
 
         // Blending state
         [HideInInspector] _Mode ("__mode", Float) = 0.0
         [HideInInspector] _SrcBlend ("__src", Float) = 1.0
         [HideInInspector] _DstBlend ("__dst", Float) = 0.0
         [HideInInspector] _ZWrite ("__zw", Float) = 1.0
     }
 
     CGINCLUDE
         #define UNITY_SETUP_BRDF_INPUT MetallicSetup
     ENDCG
 
     SubShader
     {
         Tags { "RenderType"="Opaque" "PerformanceChecks"="False" }
         LOD 300
     
 
         // ------------------------------------------------------------------
         //  Base forward pass (directional light, emission, lightmaps, ...)
         Pass
         {
             Name "FORWARD" 
             Tags { "LightMode" = "ForwardBase" }
             Cull Off
             
             Blend [_SrcBlend] [_DstBlend]
             ZWrite [_ZWrite]
 
             CGPROGRAM
             #pragma target 3.0
             // TEMPORARY: GLES2.0 temporarily disabled to prevent errors spam on devices without textureCubeLodEXT
             #pragma exclude_renderers gles
             
             // -------------------------------------
                     
             #pragma shader_feature _NORMALMAP
             #pragma shader_feature _ _ALPHATEST_ON _ALPHABLEND_ON _ALPHAPREMULTIPLY_ON
             #pragma shader_feature _EMISSION
             #pragma shader_feature _METALLICGLOSSMAP 
             #pragma shader_feature ___ _DETAIL_MULX2
             #pragma shader_feature _PARALLAXMAP
             
             #pragma multi_compile_fwdbase
             #pragma multi_compile_fog
                 
             #pragma vertex vertForwardBase
             #pragma fragment fragForwardBase
 
             #include "UnityStandardCore.cginc"
 
             ENDCG
         }
         // ------------------------------------------------------------------
         //  Additive forward pass (one light per pass)
         Pass
         {
             Name "FORWARD_DELTA"
             Tags { "LightMode" = "ForwardAdd" }
             Blend [_SrcBlend] One
             Fog { Color (0,0,0,0) } // in additive pass fog should be black
             ZWrite Off
             ZTest LEqual
 
             CGPROGRAM
             #pragma target 3.0
             // GLES2.0 temporarily disabled to prevent errors spam on devices without textureCubeLodEXT
             #pragma exclude_renderers gles
 
             // -------------------------------------
 
             
             #pragma shader_feature _NORMALMAP
             #pragma shader_feature _ _ALPHATEST_ON _ALPHABLEND_ON _ALPHAPREMULTIPLY_ON
             #pragma shader_feature _METALLICGLOSSMAP
             #pragma shader_feature ___ _DETAIL_MULX2
             #pragma shader_feature _PARALLAXMAP
             
             #pragma multi_compile_fwdadd_fullshadows
             #pragma multi_compile_fog
             
             #pragma vertex vertForwardAdd
             #pragma fragment fragForwardAdd
 
             #include "UnityStandardCore.cginc"
 
             ENDCG
         }
         // ------------------------------------------------------------------
         //  Shadow rendering pass
         Pass {
             Name "ShadowCaster"
             Tags { "LightMode" = "ShadowCaster" }
             
             ZWrite On ZTest LEqual
 
             CGPROGRAM
             #pragma target 3.0
             // TEMPORARY: GLES2.0 temporarily disabled to prevent errors spam on devices without textureCubeLodEXT
             #pragma exclude_renderers gles
             
             // -------------------------------------
 
 
             #pragma shader_feature _ _ALPHATEST_ON _ALPHABLEND_ON _ALPHAPREMULTIPLY_ON
             #pragma multi_compile_shadowcaster
 
             #pragma vertex vertShadowCaster
             #pragma fragment fragShadowCaster
 
             #include "UnityStandardShadow.cginc"
 
             ENDCG
         }
         // ------------------------------------------------------------------
         //  Deferred pass
         Pass
         {
             Name "DEFERRED"
             Tags { "LightMode" = "Deferred" }
             Cull Off
 
             CGPROGRAM
             #pragma target 3.0
             // TEMPORARY: GLES2.0 temporarily disabled to prevent errors spam on devices without textureCubeLodEXT
             #pragma exclude_renderers nomrt gles
             
 
             // -------------------------------------
 
             #pragma shader_feature _NORMALMAP
             #pragma shader_feature _ _ALPHATEST_ON _ALPHABLEND_ON _ALPHAPREMULTIPLY_ON
             #pragma shader_feature _EMISSION
             #pragma shader_feature _METALLICGLOSSMAP
             #pragma shader_feature ___ _DETAIL_MULX2
             #pragma shader_feature _PARALLAXMAP
 
             #pragma multi_compile ___ UNITY_HDR_ON
             #pragma multi_compile LIGHTMAP_OFF LIGHTMAP_ON
             #pragma multi_compile DIRLIGHTMAP_OFF DIRLIGHTMAP_COMBINED DIRLIGHTMAP_SEPARATE
             #pragma multi_compile DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON
             
             #pragma vertex vertDeferred
             #pragma fragment fragDeferred
 
             #include "UnityStandardCore.cginc"
 
             ENDCG
         }
 
         // ------------------------------------------------------------------
         // Extracts information for lightmapping, GI (emission, albedo, ...)
         // This pass it not used during regular rendering.
         Pass
         {
             Name "META" 
             Tags { "LightMode"="Meta" }
 
             Cull Off
 
             CGPROGRAM
             #pragma vertex vert_meta
             #pragma fragment frag_meta
 
             #pragma shader_feature _EMISSION
             #pragma shader_feature _METALLICGLOSSMAP
             #pragma shader_feature ___ _DETAIL_MULX2
 
             #include "UnityStandardMeta.cginc"
             ENDCG
         }
     }
 
     SubShader
     {
         Tags { "RenderType"="Opaque" "PerformanceChecks"="False" }
         LOD 150
 
         // ------------------------------------------------------------------
         //  Base forward pass (directional light, emission, lightmaps, ...)
         Pass
         {
             Name "FORWARD" 
             Tags { "LightMode" = "ForwardBase" }
 
             Blend [_SrcBlend] [_DstBlend]
             ZWrite [_ZWrite]
 
             CGPROGRAM
             #pragma target 2.0
             
             #pragma shader_feature _NORMALMAP
             #pragma shader_feature _ _ALPHATEST_ON _ALPHABLEND_ON _ALPHAPREMULTIPLY_ON
             #pragma shader_feature _EMISSION 
             #pragma shader_feature _METALLICGLOSSMAP 
             #pragma shader_feature ___ _DETAIL_MULX2
             // SM2.0: NOT SUPPORTED shader_feature _PARALLAXMAP
 
             #pragma skip_variants SHADOWS_SOFT DIRLIGHTMAP_COMBINED DIRLIGHTMAP_SEPARATE
 
             #pragma multi_compile_fwdbase
             #pragma multi_compile_fog
     
             #pragma vertex vertForwardBase
             #pragma fragment fragForwardBase
 
             #include "UnityStandardCore.cginc"
 
             ENDCG
         }
         // ------------------------------------------------------------------
         //  Additive forward pass (one light per pass)
         Pass
         {
             Name "FORWARD_DELTA"
             Tags { "LightMode" = "ForwardAdd" }
             Blend [_SrcBlend] One
             Fog { Color (0,0,0,0) } // in additive pass fog should be black
             ZWrite Off
             ZTest LEqual
             
             CGPROGRAM
             #pragma target 2.0
 
             #pragma shader_feature _NORMALMAP
             #pragma shader_feature _ _ALPHATEST_ON _ALPHABLEND_ON _ALPHAPREMULTIPLY_ON
             #pragma shader_feature _METALLICGLOSSMAP
             #pragma shader_feature ___ _DETAIL_MULX2
             // SM2.0: NOT SUPPORTED shader_feature _PARALLAXMAP
             #pragma skip_variants SHADOWS_SOFT
             
             #pragma multi_compile_fwdadd_fullshadows
             #pragma multi_compile_fog
             
             #pragma vertex vertForwardAdd
             #pragma fragment fragForwardAdd
 
             #include "UnityStandardCore.cginc"
 
             ENDCG
         }
         // ------------------------------------------------------------------
         //  Shadow rendering pass
         Pass {
             Name "ShadowCaster"
             Tags { "LightMode" = "ShadowCaster" }
             
             ZWrite On ZTest LEqual
 
             CGPROGRAM
             #pragma target 2.0
 
             #pragma shader_feature _ _ALPHATEST_ON _ALPHABLEND_ON _ALPHAPREMULTIPLY_ON
             #pragma skip_variants SHADOWS_SOFT
             #pragma multi_compile_shadowcaster
 
             #pragma vertex vertShadowCaster
             #pragma fragment fragShadowCaster
 
             #include "UnityStandardShadow.cginc"
 
             ENDCG
         }
 
         // ------------------------------------------------------------------
         // Extracts information for lightmapping, GI (emission, albedo, ...)
         // This pass it not used during regular rendering.
         Pass
         {
             Name "META" 
             Tags { "LightMode"="Meta" }
 
             Cull Off
 
             CGPROGRAM
             #pragma vertex vert_meta
             #pragma fragment frag_meta
 
             #pragma shader_feature _EMISSION
             #pragma shader_feature _METALLICGLOSSMAP
             #pragma shader_feature ___ _DETAIL_MULX2
 
             #include "UnityStandardMeta.cginc"
             ENDCG
         }
     }
 
     FallBack "VertexLit"
     CustomEditor "StandardShaderGUI"
 }
 

To help you understand, here is an image of what is currently happening: alt text

I need the parts that are stretched to be transparent. Thanks.

z5mpxuz.png (222.4 kB)
Comment
Add comment · Show 2
10 |3000 characters needed characters left characters exceeded
â–¼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image Namey5 · Aug 13, 2016 at 12:55 AM 0
Share

Well, the way I would go about doing it is setting the alpha of the edge pixels of your texture to 0 in something like photoshop, then setting the material's blending to "Fade". Seeing as this is just the 'container' of sorts for the standard shader, there's nothing you can really modify here. This whole shader simply makes references to built-in files with unity (includes) in which the shader is separated and stored.

avatar image ToastehBro · Aug 13, 2016 at 03:13 AM 0
Share

Okay so I was actually aware that that is a solution but it just seemed kind of hacky. I thought it would make more sense to do in a shader but if that's not possible then I guess I'll go with that method. Thanks.

1 Reply

· Add your reply
  • Sort: 
avatar image
0

Answer by Jayme65 · Nov 19, 2017 at 01:52 AM

I'm trying to achieve the exact same thing! How did you finaly achieved this please?

Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
â–¼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

5 People are following this question.

avatar image avatar image avatar image avatar image avatar image

Related Questions

Creating a 3D portal effect using stencil buffer with a deferred shading setup? 1 Answer

LWRP Shader Graph material fades away with distance. 0 Answers

How do I cell shade terrain? 0 Answers

Oculus Rift with LWRP shader problem 1 Answer

Shader Graph - position node with texture ? 2 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges