• 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 POLYGAMe · Jan 16, 2013 at 11:12 PM · texturesalphafade

Is it possible to fade between textures on a 3D object?

I know you can have multiple textures on a 3D object but I'm not entirely sure how to access them. I have been using mainTexture but how do I access the others?

Basically, what I want to do is have a load of textures on a certain object and when the game stage changes, fade the alpha down one one and up on another, so that I'm basically fading between graphics. I can work that bit out... just how does one access the different textures? It's probably something really simple but any help greatly appreciated.

Cheers!

EDIT: Just had a brainwave that it's probably just like any other array... will try now.

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 Bunny83 · Jan 17, 2013 at 12:02 AM

You need to write a custom shader for this. The shader in Erics answer here might by a good start ;)

What texture properties are available depends only on the shader you use. Usually the main texture property is called "_MainTex", see the ShaderLab documentation for more details.

To set a texture for a material / shader at runtime you have to use Material.SetTexture. The property mainTexture is just a simplification like this:

 // C# (decompiled from UnityEngine.dll)
 public Texture mainTexture
 {
     get
     {
         return this.GetTexture("_MainTex");
     }
     set
     {
         this.SetTexture("_MainTex", value);
     }
 }


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 POLYGAMe · Jan 17, 2013 at 12:13 AM 0
Share

Ah, okay, thanks. Will look into it. I have found a workaround, just swapping textures quickly, which is fine as it's a retro game but be good to sort this out for future reference. Cheers!

avatar image
0

Answer by cdrandin · Jan 16, 2013 at 11:15 PM

Like start() uses a texture. Over time reduce alpha channel to 0, then when at 0 import a new texture then raise the alpha channel back to normal. Simple fade out and fade in with new material.

  • not sure if alpha or transparency. I don't know textures or anything like that.

You could also store the textures as array or just individuality, like startTexture, fadeInTexture

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 POLYGAMe · Jan 16, 2013 at 11:25 PM 0
Share

That would fade out totally before fading back in. I need to fade from one texture to another, without fading to nothing in between, so I need two textures assigned to the object and fade the one on top to alpha of zero. I understand how to do that... but not sure how to access the other textures in the materials array... I need to scroll them etc.

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

10 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

Related Questions

Fade Shader- One texture fades in, the other fades out 2 Answers

How to make a "Click to Continue" text message? 1 Answer

alpha mask on a 0 Answers

Fade TextMesh font C# 4 Answers

Star Light Halo 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