//游戏对象
private var obj:GameObject;
//渲染器
private var render:Renderer;
//贴图
private var texture:Texture; function Start ()
{
//获取游戏对象
obj = GameObject.Find("Cube");
//获取该游戏对象的渲染器
render = obj.GetComponent("Renderer");
} function OnGUI()
{
if (GUILayout.Button("Color",GUILayout.Width(),GUILayout.Height()))
{
//改变渲染的颜色
render.material.color = Color.green;
//添加组件贴图
render.material.mainTexture = null;
} if(GUILayout.Button("add",GUILayout.Width(),GUILayout.Height()))
{ render.material = null;
render.material.mainTexture = texture;
}
}

更改Shader

,如NewShader

Shader "Custom/NewShader" {
Properties {
_Color ("Main Color", COLOR) = (,,,)
_AmbientColor("Ambient Color",COLOR) =(,,,)
}
SubShader {
Pass {
Material {
Diffuse [_Color]
Ambient [_AmbientColor]
}
Lighting On
}
}
}

在代码中设置颜色

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

                //Renderer[] renders = obj.GetComponentsInChildren<Renderer>();

                //foreach (Renderer one in renders)
//{
// one.material.shader = Shader.Find("Custom/NewShader");
// Color changeColor = new Color(1,0.33f,1,1);
// one.material.SetColor("_IlluminCol", changeColor); //设置颜色
//}

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. 【基本计数方法---加法原理和乘法原理】UVa 11538 - Chess Queen

    题目链接 题意:给出m行n列的棋盘,当两皇后在同行同列或同对角线上时可以互相攻击,问共有多少种攻击方式. 分析:首先可以利用加法原理分情况讨论:①两皇后在同一行:②两皇后在同一列:③两皇后在同一对角线 ...

  2. hdu 1325 Is It A Tree?

    Is It A Tree? Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) To ...

  3. %r与%s的区别

    %r用rper()方法处理对象 %s用str()方法处理对象 有些情况下,两者处理的结果是一样的,比如说处理int型对象. 例一: print "I am %d years old.&quo ...

  4. Oracle 10g设置IP访问限制

    出于数据安全考虑,对Oracle数据库的IP做一些限制,只有固定的IP才能访问. 修改 db_1/NETWORK/ADMIN/sqlnet.ora文件 增加以下内容(红色表示注释): #开启ip限制功 ...

  5. Cocos2d-x内置粒子系统

    从类图中我们可以看到,Cocos2d-x中有内置的11粒子,这些粒子的属性都是预先定义好的,我们也可以在程序代码中单独修改某些属性,我们在上一节的实例中都已经实现了这些属性的设置. 内置粒子系统 内置 ...

  6. OpenGL2-绘制三角形

    代码下载 /*** 该例子展示如何使用OpenGL绘制三角形* 为什么说绘制三角形呢 ?三维空间里面,我们看到的机会大多数* 漂亮的模型,建筑,任务,机会都是有三角形网络组成.可以说三角形* 是组成三 ...

  7. JavaScript---Cookie

    用JavaScript创建.获取.删除Cookie的例子 1.创建cookie function setCookies(cName,cValue,exTimes){ var d = new Date( ...

  8. VS2013编译GLUI

    vs自带的OpenGL为1.1版本,太老了. 1,编译glut https://www.opengl.org/resources/libraries/glut/glut37.zip 查看生成路径,可以 ...

  9. web项目嵌入Jetty运行的两种方式(Jetty插件和自制Jetty服务器)

    在开发Java web项目时候,可以在项目中嵌入Jetty服务的方式来运行web程序. 由于最近开发web项目,自己使用的是比较旧的eclipse不支持导入tomcat来运行项目,于是就学习了下使用项 ...

  10. L012-oldboy-mysql-dba-lesson12

    L012-oldboy-mysql-dba-lesson12 graphite监控mysql可以达到秒级别 Zabbix for mysql NagiosXI daemontools linux    ...