• 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 /
avatar image
0
Question by KuJIorpaMM · Jan 02, 2016 at 05:51 PM · shadertransparent

transparent shaded side of object

Hi! Im not familiar with shaders, but want to know - is it possible to create shader that makes transparent shaded part of object? alt text

On left side standard shader, on right side is what i want to create; dark side on left image is transparent on right image.

shader.png (38.2 kB)
Comment
Add comment
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

1 Reply

· Add your reply
  • Sort: 
avatar image
1
Best Answer

Answer by maccabbe · Jan 03, 2016 at 07:20 AM

Sure, a transparent shader that uses the light that hits the object to compute the alpha (instead of applying it to the rgb the color) can do this, i.e.

 Shader "Custom/Transparent Light"{
     Properties{
         _Color("Color", Color) = (1.0, 1.0, 1.0, 1.0)
     }
         SubShader{
         Pass{
         Tags{ "RenderType" = "Transparent" "Queue" = "Transparent" }
         ZWrite Off
         Blend SrcAlpha OneMinusSrcAlpha
 
         CGPROGRAM
 
 #pragma vertex vert
 #pragma fragment frag
 
 
         uniform float4 _Color;
     uniform float4 _LightColor0;
 
     struct toVert {
         float4 vertex : POSITION;
         float3 normal : NORMAL;
     };
     struct vertToFrag {
         float4 pos : SV_POSITION;
         float4 color: COLOR;
     };
 
     vertToFrag vert(toVert input)
     {
         vertToFrag o;
 
         float3 normalDirection = normalize(mul(float4(input.normal, 0.0), _World2Object).xyz);
         float3 lightDirection;
         float atten = 1.0;
 
         lightDirection = normalize(_WorldSpaceLightPos0.xyz);
 
         float3 diffuseReflection = atten*_LightColor0.xyz*max(0.0, dot(normalDirection, lightDirection));
         float alpha = (diffuseReflection.r + diffuseReflection.g + diffuseReflection.b)/3;
 
         o.color = float4(_Color.rgb, alpha);
 
         o.pos = mul(UNITY_MATRIX_MVP, input.vertex);
         return o;
     }
 
     float4 frag(vertToFrag input) : Color
     {
         return input.color;
     }
         ENDCG
 
     }
     }Fallback "Mobile/Diffuse"
 }


alt text


transparent.png (19.2 kB)
Comment
Add comment · Show 1 · 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
avatar image KuJIorpaMM · Jan 03, 2016 at 01:30 PM 0
Share

Thank you a lot, I did not hoped to get ready code

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.

Welcome to Unity Answers

If you’re new to Unity Answers, please check our User Guide to help you navigate through our website and refer to our FAQ for more information.

Before posting, make sure to check out our Knowledge Base for commonly asked Unity questions.

Check our Moderator Guidelines if you’re a new moderator and want to work together in an effort to improve Unity Answers and support our users.

Follow this Question

Answers Answers and Comments

3 People are following this question.

avatar image avatar image avatar image

Related Questions

Semi transparent Object behind walls? 1 Answer

Is there a way to get scene color after transparent pass in URP using the new 2D Renderer ? 0 Answers

Transparent Shader/Water With Shadows 1 Answer

Z-priming alpha-per-vertex 0 Answers

Transparent terrain shader not working 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