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 ...
随机推荐
- 有关ftp4j的FTPListParseException异常
昨天换了个ftp服务器,发现程序出现了异常it.sauronsoftware.ftp4j.FTPListParseException,网上搜了下,说是FTPClient.list()时it.sauro ...
- [改善Java代码]让多重继承成为现实
建议41: 让多重继承成为现实 在Java中一个类可以多重实现,但不能多重继承,也就是说一个类能够同时实现多个接口,但不能同时继承多个类.但有时候我们确实需要继承多个类,比如希望拥有两个类的行为功能, ...
- applicationContext-mail.xml 模板
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- Linux串口编程(转载)
在嵌入式Linux中,串口是一个字设备,访问具体的串行端口的编程与读/写文件 的操作类似,只需打开相应的设备文件即可操作.串口编程特殊在于串 口通信时相关参数与属性的设置.嵌入式Linux的串口编程时 ...
- 微信 redirect_uri参数错误 正确的处理
如果您若成功将微信搭建了到自己的服务器中的情况下,进行网页授权时出现如下图 解决方案: 开发->接口权限->找到类目为"网页服务->网页账号" 点击修改,注意,此 ...
- Django学习--9 多对一关系模型
保持前面的不变只是增加了一些 1.vim sdj/models.py class Blog(models.Model): name = models.CharField(max_leng ...
- C# 4 dynamic 动态对象 动态类型转换
public class User { //使用省缺参数,一般不需要再为多态做各种静态重载了 public User( string name = "anonym", string ...
- winform 渐变(非API)
public FrmMain() { InitializeComponent(); //窗体显示特效 Opacity = 0.0; //窗体透明度为0 fadeTimer.Start(); //计时开 ...
- C#性能优化实践
性能主要指两个方面:内存消耗和执行速度.性能优化简而言之,就是在不影响系统运行正确性的前提下,使之运行地更快,完成特定功能所需的时间更短. 本文以.NET平台下的控件产品MultiRow为例,描述C# ...
- Annotation注解与butterknife
注解分为三种,一般来讲我们使用的是运行时会加载及能够反射读取的注解类型, 其他编译器生效的类型和编译后放入类文件而运行期不能加载解析的对我们没啥用. 所以从普通理解上来看,注解要配合着反射用就好了. ...