SetColor
How do I use Set Color
Below are practical examples compiled from projects for learning and reference purposes
Featured Snippets
File name: Scalable.cs
Copy
47 public void SetEmission(Color color) {
48 renderer.material.SetColor("_EmissionColor", color);
49 //DynamicGI.UpdateMaterials(r);
50 //DynamicGI.UpdateEnvironment();
51 }
File name: Scalable.cs
Copy
53 public void SetColor(Color color) {
54 renderer.material.SetColor("_Color", color);
55 }
File name: BlockScript.cs
Copy
94 public void setBlockNumber(int blockNumber) {
95 this.blockNumber = blockNumber;
96 TextMesh textMesh = this.GetComponentInChildren
97 Material blockTextMaterial = gameObject.transform.Find ("BlockText").gameObject.GetComponent
98 MeshRenderer cube = gameObject.GetComponentInChildren
99 Color cubeColor = cube.GetComponent
100
101 //block doesn't exits
102 if(blockNumber == -2) {
103 cube.GetComponent
104 textMesh.text = "";
105 }
106 //block is empty
107 else if (blockNumber == -1 ) {
108 cube.GetComponent
109 cube.GetComponent
110 textMesh.text = "";
111 }
112 //block has a value
113 else {
114 cube.GetComponent
115 cube.material.color = this.getColor (blockNumber);
116 blockTextMaterial.SetColor ("_Color", new Color(1,1,1));
117 if(blockNumber == 0) blockTextMaterial.SetColor ("_Color", new Color(0.8f,0.8f,1));
118 textMesh.text = blockNumber.ToString();
119 transform.position = this.originalPosition;
120 }
121
122 }
File name: Descript.cs
Copy
14 public void setDesFont(BitmapFont desFont, Color color)
15 {
16 this.desFont = new BitmapFont(desFont, gameObject);
17 this.desFont.setColor(color);
18 }
File name: ImportTiled2Unity.Material.cs
Copy
19 public Material FixMaterialForMeshRenderer(string objName, Renderer renderer)
20 {
21 string xmlPath = ImportUtils.GetXmlPath(objName);
22
23 XDocument xml = XDocument.Load(xmlPath);
24
25 // The mesh to match
26 string meshName = renderer.name;
27
28 // The mesh name may be decorated by Unity
29 string pattern = @"_MeshPart[\d]$";
30 Regex regex = new Regex(pattern);
31 meshName = regex.Replace(meshName, "");
32
33 var assignMaterials = xml.Root.Elements("AssignMaterial");
34
35 // Find an assignment that matches the mesh renderer
36 XElement match = assignMaterials.FirstOrDefault(el => el.Attribute("mesh").Value == meshName);
37
38 if (match == null)
39 {
40 // The names of our meshes in the AssignMaterials elements may be wrong
41 // This happened before when Unity replaced whitespace with underscore in our named meshes
42 // That case is handled now, but there may be others
43 StringBuilder builder = new StringBuilder();
44 builder.AppendFormat("Could not find mesh named '{0}' for material matching\n", renderer.name);
45 string choices = String.Join("\n ", assignMaterials.Select(m => m.Attribute("mesh").Value).ToArray());
46 builder.AppendFormat("Choices are:\n {0}", choices);
47
48 Debug.LogError(builder.ToString());
49 return null;
50 }
51
52 string materialName = match.Attribute("material").Value;
53 string materialPath = ImportUtils.GetMaterialPath(materialName);
54
55 // Assign the material
56 renderer.sharedMaterial = AssetDatabase.LoadAssetAtPath(materialPath, typeof(Material)) as Material;
57
58 // Set the sorting layer for the mesh
59 string sortingLayer = match.Attribute("sortingLayerName").Value;
60 if (!String.IsNullOrEmpty(sortingLayer) && !SortingLayerExposedEditor.GetSortingLayerNames().Contains(sortingLayer))
61 {
62 Debug.LogError(string.Format("Sorting Layer \"{0}\" does not exist. Check your Project Settings -> Tags and Layers", sortingLayer));
63 renderer.sortingLayerName = "Default";
64 }
65 else
66 {
67 renderer.sortingLayerName = sortingLayer;
68 }
69
70 // Set the sorting order
71 renderer.sortingOrder = ImportUtils.GetAttributeAsInt(match, "sortingOrder");
72
73 // Do we have an alpha color key?
74 string htmlColor = ImportUtils.GetAttributeAsString(match, "alphaColorKey", "");
75 if (!String.IsNullOrEmpty(htmlColor))
76 {
77 // Take for granted color is in the form '#RRGGBB'
78 byte r = byte.Parse(htmlColor.Substring(1, 2), System.Globalization.NumberStyles.HexNumber);
79 byte g = byte.Parse(htmlColor.Substring(3, 2), System.Globalization.NumberStyles.HexNumber);
80 byte b = byte.Parse(htmlColor.Substring(5, 2), System.Globalization.NumberStyles.HexNumber);
81 Color color = new Color32(r, g, b, 255);
82 renderer.sharedMaterial.SetColor("_AlphaColorKey", color);
83 }
84
85 return renderer.sharedMaterial;
86 }
SetColor 174 lượt xem
Gõ tìm kiếm nhanh...