Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 14 Next capture
2021 2022 2023
2 captures
13 Jun 22 - 14 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 /
  • Help Room /
avatar image
0
Question by usernotauser · Apr 08 at 11:43 AM · rendererselectioncolor changemeshrenderermaterial color

OnMouseEnter and OnMouseExit for multiple materials

Hey guys! I am writing a script to highlight the object in the scene. The object has 3 materials. So, using the example from the documentation for OnMouseOver ( https://docs.unity3d.com/ScriptReference/MonoBehaviour.OnMouseOver.html ) I wrote the script, which has the following idea:

MeshRenderer gets all materials from the object and puts in a list. Then in the for-loop the color of each material is added to the list of the initial materials' colors. In OnMouseEnter method each initial material is assigned a new color. And in the OnMouseExit (i haven't completed it yet) the initial materials are to be assigned to the object. Here is the script:

 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 using System.Linq;
 
 public class Selection : MonoBehaviour
 {
 
     public List<Material> bldg_mats_init;
     public List<Color> mat_color_init;
     private Material mat;
     Color colorSelection = Color.red;
     MeshRenderer m_Renderer;
     
     void Start()
     {
         m_Renderer = GetComponent<MeshRenderer>();
         List<Material> bldg_mats_init = m_Renderer.materials.ToList();
         
         Debug.Log("Numer of bldg_mats_init:" + bldg_mats_init.Count);
 
         for (int i = 0; i < bldg_mats_init.Count; i++)
         {
             mat = bldg_mats_init[i];
             mat_color_init.Add(mat.color);
 
             Debug.Log("Stored colors:" + mat_color_init.Count);        
         }
         Debug.Log("Number of init mat colors:" + mat_color_init.Count);
     }
     
      private void OnMouseEnter()
     {
         Debug.Log("Number of init materials (OME):" + bldg_mats_init.Count);
 
         Debug.Log("Number of init colors (OME):" + mat_color_init);
 
         for (int i=0; i < bldg_mats_init.Count; i++)
         {
             material_bldg = bldg_mats_init[i];
             m_Renderer.material.color = colorSelection;
         }
     }
     private void OnMouseExit()
     {
         for (int i = 0; i < bldg_mats_init.Count; i++)
         {
 
         }
 
     }
 }

And it doesn't work. So the Debug.Log in the OnMouseOver method doesn't return the right number of materials obtained in Start. What could be the problem?

Thank you in advance!

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

181 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 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 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 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 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 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 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 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 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 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 avatar image

Related Questions

change all materials color back to original 1 Answer

[Pictures Included] Change colour of a blurred Object Issue? 1 Answer

If instantiate prefab is selected how can i change the color? 1 Answer

Pink lines 0 Answers

Render.material.color doesnt work 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