1. //游戏对象
  2. private var obj:GameObject;
  3. //渲染器
  4. private var render:Renderer;
  5. //贴图
  6. private var texture:Texture;
  7.  
  8. function Start ()
  9. {
  10. //获取游戏对象
  11. obj = GameObject.Find("Cube");
  12. //获取该游戏对象的渲染器
  13. render = obj.GetComponent("Renderer");
  14. }
  15.  
  16. function OnGUI()
  17. {
  18. if (GUILayout.Button("Color",GUILayout.Width(),GUILayout.Height()))
  19. {
  20. //改变渲染的颜色
  21. render.material.color = Color.green;
  22. //添加组件贴图
  23. render.material.mainTexture = null;
  24. }
  25.  
  26. if(GUILayout.Button("add",GUILayout.Width(),GUILayout.Height()))
  27. {
  28.  
  29. render.material = null;
  30. render.material.mainTexture = texture;
  31. }
  32. }

更改Shader

,如NewShader

  1. Shader "Custom/NewShader" {
  2. Properties {
  3. _Color ("Main Color", COLOR) = (,,,)
  4. _AmbientColor("Ambient Color",COLOR) =(,,,)
  5. }
  6. SubShader {
  7. Pass {
  8. Material {
  9. Diffuse [_Color]
  10. Ambient [_AmbientColor]
  11. }
  12. Lighting On
  13. }
  14. }
  15. }

在代码中设置颜色

  1. CubeObj.renderer.material.shader = Shader.Find("Custom/NewShader"); //设置材质的shader
  2. print(CubeObj.renderer.material.GetColor("_AmbientColor")); //获取_AmbientColor 的颜色
  3. CubeObj.renderer.material.SetColor("_AmbientColor", Color.red); //设置_AmbientColor的颜色

  1. //Renderer[] renders = obj.GetComponentsInChildren<Renderer>();
  2.  
  3. //foreach (Renderer one in renders)
  4. //{
  5. // one.material.shader = Shader.Find("Custom/NewShader");
  6. // Color changeColor = new Color(1,0.33f,1,1);
  7. // one.material.SetColor("_IlluminCol", changeColor); //设置颜色
  8. //}

Unity3d 如何找到游戏对象并改变其颜色的更多相关文章

  1. Unity3D研究院之游戏对象的访问绘制线与绘制面详解(十七)

    一眨眼学习Unity3D 也有一段时间了,基本已经拿下了这套游戏引擎,回过头来想想以前写的RPG 游戏引擎,越来越发现以前写的就是垃圾.人果然是要不断学习与不断进步,好好学习,天天向上.哇咔咔- 加油 ...

  2. Unity3d获取游戏对象的几种方法

    1.GameObject.Find() 通过场景里面的名子或者一个路径直接获取游戏对象. GameObject root = GameObject.Find("GameObject" ...

  3. 转载:Unity3D游戏对象消失enabled、Destroy与active的区别

    转自:http://www.manew.com/3276.html Unity3D游戏对象消失三种方法的区别: gameObject.active:是否在场景中停用该物体,在你gameObject.a ...

  4. Unity3D 中的面向对象设计 {游戏对象(创建、删除、获取),以及添加修改组件}

    一.创建游戏对象 游戏对象分三种:(1) 将物体模型等资源由Project工程面板拖拽到Hierarchy层次面板中 (2) 由GameObject菜单创建Unity自带的游戏对象,如Cube.Cam ...

  5. unity3d 获取游戏对象详解

    原文地址:http://www.xuanyusong.com/archives/2768 我觉得Unity里面的Transform 和 GameObject就像两个双胞胎兄弟一样,这俩哥们很要好,我能 ...

  6. Unity3D入门基础之游戏对象 (GameObject) 和组件 (Component) 的关系

    原文出处:http://edu.china.unity3d.com/learning_document/getData?file=/Manual/TheGameObject-ComponentRela ...

  7. Unity 改变游戏对象的Scale引起的不好结果

    1. 当一个游戏对象的中心(它的x,y,z的交点)  不在它的正中间时,改变它的Scale时它的中心也会变的. 如图:这是用PlayMkaer做的,胶囊体碰到瓶子瓶子会碎,会在瓶子的中心位置那生成一个 ...

  8. Unity3D基础--动态创建和设置游戏对象

    转载自原文:http://m.blog.csdn.net/blog/smbroe/43488627 1.如何动态创建对象:调用GameObject的CreatePrimitive方法可以按模型进行创建 ...

  9. unity3d通过代码动态创建销毁游戏对象

    只能动态创建内部提供的游戏对象,代码如下: //按下C后创建 if (Input.GetKeyDown (KeyCode.C)) { GameObject s1 = GameObject.Create ...

随机推荐

  1. 【VMware虚拟化解决方案】设计和配置VMware vCenter 5.5

    在这之前,我们已经对VMware ESXi 5.5进行了整个环境的设计和规划,虽然安装VMware ESXi 5.5在CPU的选型.网络的设计.共享存储的方式.虚拟化资源的需求和安装ESXI的模式等一 ...

  2. linux注销开关机

    注销:exit 重启:reboot shutdown-r 表示延时分钟数   关机:halt shut -h  

  3. jfreechart的使用案例

    一:下载需要的2个jar文件 jcommon-版本号.jar,jfreechart-版本号.jar,注意版本不要太高. 实例一:比较简单的application版本的饼图 /** * */ packa ...

  4. 【Stirling Number】

    两类Stirling Number的简介与区别(参考自ACdreamer的CSDN) Stirling Number I --- s(n,k):将n个物体排成k个非空循环排列(环)的方法数. 递推式: ...

  5. okhttputils开源库的混淆配置(Eclipse)

    #=====================okhttputils框架===================== #====okhttputils==== -libraryjars libs/okht ...

  6. 关于System.Collections空间

    System.Collections命名空间包含可使用的集合类和相关的接口,提供了集合的基本功能. 该命名空间下的.NET非泛型集合类如下所示: — System.Collections.ArrayL ...

  7. MyBatis(3.2.3) - Configuring MyBatis using XML, Mappers

    Mapper XML files contain the mapped SQL statements that will be executed by the application using st ...

  8. spring分布式事务学习笔记

    最近项目中使用了分布式事务,本文及接下来两篇文章总结一下在项目中学到的知识. 分布式事务对性能有一定的影响,所以不是最佳的解决方案,能通过设计避免最好尽量避免. 分布式事务(Distributed t ...

  9. C#保存上传来的图片示例代码

    保存上传图片的方法有很多,在接下来的文章中为大家详细介绍下使用C#是如何做到的,感兴趣的朋友不要错过 复制代码代码如下: [HttpPost]  public string UploadImage() ...

  10. WDatePicker 屏蔽onchange事件的解决办法

    受下面文章的启发,使用DatePicker自带的年月日相关的change事件,可以“勉强”实现input控件的onchange(),直接上代码: 1.第一种方式:利用DatePicker提供的年.月. ...