Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 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 wlad_s · Sep 10, 2012 at 08:36 PM · shaderalphadiffusecutoutseparate

Separate Alpha and Color Textures for CutOut Shader

Hi,

I've spent two days trying to get this work. I wanted to modify the built-in CutOut diffuse shader so that it has two texture slots. One for Diffuse Color, the other for Alpha(cutout). That would make it possible to move the diffuse texture along UVs or tile it while alpha cutout stays in place.

I've briefly studied some shaders and have modified some masking shader (from shaders wiki) to separate those channels. But the problem is that it doesn't work with Depth Of Field Effect.

Then I've tried strumpy shader editor and have successfully made a cutout shader but again, it doesn't work with DOF :(

Here's the image: [on the right is Unity built-in cutout diffuse shader on a plane and it works with DOF, on the left is what I get when I make a cutout shader in strumpy's editor]

alt text

Does anyone know what is that magic shader property that makes built-in cutout shaders work with DOF? I can't seem to find it. And two days ago, I didn't know anything about shaders (just to give you some info about my expertize). I plan on learning coding shaders but this is currently the only customization i need and it turned out to be a discouraging stumbling block :)

Thank you for your time you spent reading this.

prntscrn.jpg (34.5 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 wlad_s · Sep 10, 2012 at 09:48 PM 0
Share

O$$anonymous$$, I've managed to do it! I've downloaded a built-in cutout shader and added a texture for rgb only.

It works but it doesn't answer the question - what is it that makes it work with DOF? If someone knows, I'd still like to know what it is :)

avatar image wlad_s · Sep 10, 2012 at 10:31 PM 0
Share

Also, I've found out that the strumpy shader (left) works when in deferred rendering.

1 Reply

· Add your reply
  • Sort: 
avatar image
0

Answer by RyanBHI · Dec 18, 2014 at 09:57 PM

If anyone else is having issues with custom cutout shaders and depth of field, this may help. Depth of field is rendered using a replacement shader, so to have your custom cutout shader render correctly you need to have two things to have the replacement shader render as you'd expect:

  1. RenderType set to TransparentCutout

  2. A shader float property called _Cutoff that contains the alpha cutoff to use

And thats it, it should render your alpha cut stuff properly.

     Properties
     {
         [PerRendererData] _MainTex ("Sprite Texture", 2D) = "white" {}
         _Color ("Tint", Color) = (1,1,1,1)
         _Cutoff ("Alpha cutoff", Range(0,1)) = 0.5
     }
 
     SubShader
     {
         Tags
         { 
             "Queue"="Transparent" 
             "IgnoreProjector"="True" 
             "RenderType"="TransparentCutout" 
             "PreviewType"="Plane"
             "CanUseSpriteAtlas"="True"
         }
 
                ... your shader code here ...
     }

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

9 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Unity2D: Stretching Where Alpha Should Be 1 Answer

Merging (alpha) Unlit shader with Cutout shader 3 Answers

Color To Alpha shader for android not working 0 Answers

Transparent cutout shader for circular timer from Photoshop PNG is too messy/sloppy 1 Answer

How to add alpha cutout shader to this curveworld shader 1 Answer


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