Unity3d 如何找到游戏对象并改变其颜色
//游戏对象
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 如何找到游戏对象并改变其颜色的更多相关文章
- Unity3D研究院之游戏对象的访问绘制线与绘制面详解(十七)
一眨眼学习Unity3D 也有一段时间了,基本已经拿下了这套游戏引擎,回过头来想想以前写的RPG 游戏引擎,越来越发现以前写的就是垃圾.人果然是要不断学习与不断进步,好好学习,天天向上.哇咔咔- 加油 ...
- Unity3d获取游戏对象的几种方法
1.GameObject.Find() 通过场景里面的名子或者一个路径直接获取游戏对象. GameObject root = GameObject.Find("GameObject" ...
- 转载:Unity3D游戏对象消失enabled、Destroy与active的区别
转自:http://www.manew.com/3276.html Unity3D游戏对象消失三种方法的区别: gameObject.active:是否在场景中停用该物体,在你gameObject.a ...
- Unity3D 中的面向对象设计 {游戏对象(创建、删除、获取),以及添加修改组件}
一.创建游戏对象 游戏对象分三种:(1) 将物体模型等资源由Project工程面板拖拽到Hierarchy层次面板中 (2) 由GameObject菜单创建Unity自带的游戏对象,如Cube.Cam ...
- unity3d 获取游戏对象详解
原文地址:http://www.xuanyusong.com/archives/2768 我觉得Unity里面的Transform 和 GameObject就像两个双胞胎兄弟一样,这俩哥们很要好,我能 ...
- Unity3D入门基础之游戏对象 (GameObject) 和组件 (Component) 的关系
原文出处:http://edu.china.unity3d.com/learning_document/getData?file=/Manual/TheGameObject-ComponentRela ...
- Unity 改变游戏对象的Scale引起的不好结果
1. 当一个游戏对象的中心(它的x,y,z的交点) 不在它的正中间时,改变它的Scale时它的中心也会变的. 如图:这是用PlayMkaer做的,胶囊体碰到瓶子瓶子会碎,会在瓶子的中心位置那生成一个 ...
- Unity3D基础--动态创建和设置游戏对象
转载自原文:http://m.blog.csdn.net/blog/smbroe/43488627 1.如何动态创建对象:调用GameObject的CreatePrimitive方法可以按模型进行创建 ...
- unity3d通过代码动态创建销毁游戏对象
只能动态创建内部提供的游戏对象,代码如下: //按下C后创建 if (Input.GetKeyDown (KeyCode.C)) { GameObject s1 = GameObject.Create ...
随机推荐
- [转]让ORACLE LIKE 时不区分大小写
本文转自:http://hi.baidu.com/dosttyy/item/9073803df47ef9f62784f49a 让ORACLE LIKE 时不区分大小写: select * from t ...
- MySQL--INFORMATION_SCHEMA COLUMNS表
在程序中,若想要动态地得到某一个表的具体信息,就使用到了MySQL 中的 INFORMATION_SCHEMA 信息数据库,而它又包含很多表,见下: INFORMATION_SCHEMA SCHEMA ...
- toad for oracle 快捷键 转
序号 功能说明 快捷键 备注 1 隐藏查询结果 F2 2 查看对象详细信息 F4 3 清空屏幕 F7 4 调出以前执行的sql命令 F8 5 执行全部sql F9 6 直接执行当前sql CTRL+E ...
- [改善Java代码]避免带有变长参数的方法重载
建议4: 避免带有变长参数的方法重载 在项目和系统的开发中,为了提高方法的灵活度和可复用性,我们经常要传递不确定数量的参数到方法中,在Java 5之前常用的设计技巧就是把形参定义成Collection ...
- 网络编辑器插件ckeditor+ckfinder配置
原帖地址 另外一个 去掉编辑器的下边栏 在config.js中加入: config.removePlugins = 'elementspath'; config.resize_enabled = fa ...
- 模板引擎逻辑语句处理之对单层for循环的处理
先上代码 private function moldforExt(){//模板单层For循环处理 $SQL=$this->sql_obj; $URL=$this->url_obj; req ...
- 转 DevExpress-ASPxPageControl 动态添加 TabPage 内容
话不多说想看代码,在细说. 前台,很简单.主要看后台 </dx:ASPxPageControl> 后台,注意注释说明. private void GetUserAttendCellsNew ...
- 数组和ArrayList 相互转换
Dim params(10) As DbParameter params(0) = DBHelper.CreateDbParameter("@RegName", Jz_RegInf ...
- jQuery概述,代码举例及最新版下载
jQuery是一个快速的,小巧的,具有强大功能的JavaScript库. 它的基本功能包括: 1)访问和操作DOM元素 2)控制页面样式(可以兼容各种浏览器) 3)对页面事件的处理 4)大量插件在页面 ...
- 使用ptrace向已运行进程中注入.so并执行相关函数
这个总结的很好,从前一个项目也用到这中技术 转自:http://blog.csdn.net/myarrow/article/details/9630377 1. 简介 使用ptrace向已运行进程中注 ...