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 ...
随机推荐
- 【VMware虚拟化解决方案】设计和配置VMware vCenter 5.5
在这之前,我们已经对VMware ESXi 5.5进行了整个环境的设计和规划,虽然安装VMware ESXi 5.5在CPU的选型.网络的设计.共享存储的方式.虚拟化资源的需求和安装ESXI的模式等一 ...
- linux注销开关机
注销:exit 重启:reboot shutdown-r 表示延时分钟数 关机:halt shut -h
- jfreechart的使用案例
一:下载需要的2个jar文件 jcommon-版本号.jar,jfreechart-版本号.jar,注意版本不要太高. 实例一:比较简单的application版本的饼图 /** * */ packa ...
- 【Stirling Number】
两类Stirling Number的简介与区别(参考自ACdreamer的CSDN) Stirling Number I --- s(n,k):将n个物体排成k个非空循环排列(环)的方法数. 递推式: ...
- okhttputils开源库的混淆配置(Eclipse)
#=====================okhttputils框架===================== #====okhttputils==== -libraryjars libs/okht ...
- 关于System.Collections空间
System.Collections命名空间包含可使用的集合类和相关的接口,提供了集合的基本功能. 该命名空间下的.NET非泛型集合类如下所示: — System.Collections.ArrayL ...
- 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 ...
- spring分布式事务学习笔记
最近项目中使用了分布式事务,本文及接下来两篇文章总结一下在项目中学到的知识. 分布式事务对性能有一定的影响,所以不是最佳的解决方案,能通过设计避免最好尽量避免. 分布式事务(Distributed t ...
- C#保存上传来的图片示例代码
保存上传图片的方法有很多,在接下来的文章中为大家详细介绍下使用C#是如何做到的,感兴趣的朋友不要错过 复制代码代码如下: [HttpPost] public string UploadImage() ...
- WDatePicker 屏蔽onchange事件的解决办法
受下面文章的启发,使用DatePicker自带的年月日相关的change事件,可以“勉强”实现input控件的onchange(),直接上代码: 1.第一种方式:利用DatePicker提供的年.月. ...