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 /
avatar image
0
Question by ThatOneGuy963 · Mar 13, 2017 at 04:27 PM · shadertransparencyzwrite

ZWrite only for the object itself

Can i enable ZWrite only for the object itself, so when it's half transparent only the front part is rendered, but have it disabled for others, so that the object appears through them ?I have this shader right now :

     Shader "Transparent/Diffuse ZWrite" {
     Properties{
         _Color("Main Color", Color) = (1,1,1,1)
         _MainTex("Base (RGB) Trans (A)", 2D) = "white" {}
     }
         SubShader{
         Tags{ "Queue" = "Transparent" "IgnoreProjector" = "True" "RenderType" = "Transparent" }
         LOD 200
 
         // extra pass that renders to depth buffer only
         Pass{
         ZWrite Off
         ColorMask 0
     }
 
         // paste in forward rendering passes from Transparent/Diffuse
         UsePass "Transparent/Diffuse/FORWARD"
     }
         Fallback "Transparent/VertexLit"
 }

If i set ZWrite Off transparency works, but i can see the faces whose normals face me, but are behind the visible part of the mesh. And when i set ZWrite On the mentioned faces are no longer visible, but nor are those hidden behind ANOTHER object in front of the original, whose transparency is set to 0.
Torus with Standard Material: alt text With Diffuse ZWrite Material, ZWrite Off: alt text With Diffuse ZWrite Material, ZWrite On (With a cube with the same material,completely transparent and partly covering the torus) alt text The obvious solution for two objects is to make two shaders, one with ZWrite on, and the other off, and that's what i'm trying to do right now, but it involves first alot of coding, and second changing shaders constantly, and i don't know if the last's healthy in terms of performance. Any ideas ? Thanks for reading !

defaultmaterial.png (64.2 kB)
zwriteoff.png (60.4 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

0 Replies

· Add your reply
  • Sort: 

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

4 People are following this question.

avatar image avatar image avatar image avatar image

Related Questions

URP – Order Independent Transparency 0 Answers

My Transparency Shader Is No Longer Working on Mobile? 0 Answers

Single model draws incorrectly when using transparency. 0 Answers

Rendering an entire object as transparent 1 Answer

Unity Mesh Based Shadows Overlap Issue 0 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