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 saswilson · Aug 18, 2013 at 03:48 PM · materialalphaprojectorblob shadow

Projector - blob shadow. How to change the material's alpha channel C#

Hi, Im using a projector for a blob shadow and I need to set up a script that allows me to lerp the shadow brightness from light to dark. How can I do this?
I know the material the blob shadow uses must have an alpha channel, so is that what I need to control to get from dark to light?

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

2 Replies

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

Answer by Sajidfarooq · Aug 18, 2013 at 04:15 PM

You could modify the materials colour directly, without going through the shader:

 Color newColour = GetComponent<Projector>().material.color;
         newColour.a = 0.1f;
         GetComponent<Projector>().material.color = newColour;

  

This will change your materials colour even outside play mode. Not a big deal, because you could change it back from the inspector if you want.

Comment
Add comment · Show 15 · 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 saswilson · Aug 18, 2013 at 04:56 PM 0
Share

thanks! looks like what I'm after.

avatar image whebert · Aug 18, 2013 at 06:56 PM 0
Share

Just a note, if you end up using a shader with the material that doesn't have a named _Color property, this method won't work. You'd have to use SetColor ins$$anonymous$$d.

avatar image Sajidfarooq · Aug 18, 2013 at 07:07 PM 0
Share

@whebert: Correct, but the OP specifically mentioned the blob projector, which does have that property.

avatar image whebert · Aug 18, 2013 at 11:04 PM 0
Share

Ah, thought the OP was using the Blob Shadow Projector, which uses the "Projector/$$anonymous$$ultiply" shader by default, which has no color property at all.

avatar image Sajidfarooq · Aug 18, 2013 at 11:11 PM 0
Share

@whebert: Actually I just checked, and indeed the Shadow Projector doesnt have a colour property. I was using the light projector.

Show more comments
avatar image
2

Answer by whebert · Aug 18, 2013 at 04:09 PM

Sounds like you might be able to do something like that by modifying your projector material's color - depending on what shader it is using.

Assuming modifying the color will work, including modifying the alpha channel of the color, you could do something like the following. Also, you have to know the name of the color property in the shader. Most of the time the main color is named "_Color" and you can access it with myMaterial.color. But in case it is named something else, you can do:

 // Get the current color value
 Color color = myMaterial.GetColor("_Color"); // or "_TintColor", whatever the shader uses.
 // Modify the color however you want, the whole color, just a channel like so, whatever.
 color.a = .1f;
 // Set the color back
 myMaterial.SetColor("_Color", color);
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 saswilson · Aug 18, 2013 at 04:56 PM 0
Share

thanks for your help!

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

18 People are following this question.

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

Related Questions

Blob Shadow Dynamic FarClipPlane Distance 0 Answers

Projectors issue/Bug after upgrading to Unity 5 3 Answers

Animating Projector Material 0 Answers

Video player component with cutout or alpha texture in material 0 Answers

Projector Shader that projects a material with a falloff & alpha 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