• 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
Question by PuneetK · Sep 25, 2013 at 01:58 PM · texturematerialrenderer

changing secondary texture dynamically?

I want to change the texture of a secondary material on my 3d model ( a smiley face, in t$$anonymous$$s case).

When I use renderer.material.mainTexture, it changes the base texture of my model, and not the face texture Here is a screenshot of what my current texture/material set up is.

alt text

So, when I apply mainTexture = xyzTexture (example), the Texture of "body" gets changed whereas I want to change the texture of "happy" Anyone know any way to do t$$anonymous$$s?

untitled.png (92.8 kB)
untitled.png (92.8 kB)
Comment

People who like this

0 Show 1
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 Owen-Reynolds · Sep 25, 2013 at 02:50 PM 0
Share

Do you really mean 2nd Material?

Robertu explained how to change the 2nd texture on the first material (which is what you asked.) Like for the Detail Shader. But in your picture it looks like material Happy is on a subMesh. In that case, look at Materials[1] (using just dot-material is a shortcut for Materials[0].

1 Reply

· Add your reply
  • Sort: 
avatar image
Best Answer

Answer by robertbu · Sep 25, 2013 at 02:02 PM

You use Material.SetTexture(). Note that the name to used is the one in the shader, w$$anonymous$$ch may be different from the one shown in the Inspector. You may have to open the shader to get the name.

Comment
Tfreeman3000

People who like this

1 Show 4 · 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 PuneetK · Sep 25, 2013 at 02:05 PM 0
Share

Material.SetTexture only has 3 parameters, though, according to the documentation, none of which are of my concern. Could you post an example, or possibly a direct way to do this for my script?

avatar image PuneetK · Sep 25, 2013 at 02:27 PM 0
Share

You there?

avatar image robertbu · Sep 25, 2013 at 03:18 PM 0
Share

@Owen Reynolds is right. I did not read close enough. I think you want:

 renderer.materials[1].mainTexture = xyzTexture;
avatar image PuneetK · Sep 28, 2013 at 06:20 PM 0
Share

Thanks! This is it.

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

16 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

Related Questions

Changing two different objects renderer colour 1 Answer

Load Material Texture from File 2 Answers

Convert Texture to Texture2D e.g. renderer.material.mainTexture 3 Answers

"not a valid texture file name" error generated when importing Blender mesh into Unity 1 Answer

How to switch the texture being used by the material of the mesh renderer 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