Unity3D中改变模型的颜色问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity3D中改变模型的颜色问题相关的知识,希望对你有一定的参考价值。

初学者,在unity3d中创建几个cube立方体,要求被选中的改变颜色,选中其他一组的时候 之前的颜色恢复,类似框选桌面快捷图标的效果,怎么做?

你的代码是为被给脚本的物体服务的,所以他只改变那个被给的脚本的物体的颜色
要想改变子物体,必须要遍历子物体,遍历部分可以如下写法
*****************************************************************************************************
//得到所有可渲染的子物体
Renderer[] rds = transform.GetComponentsInChildren<Renderer>();
//逐一遍历他的子物体
foreach (Renderer r in rds)

//逐一遍历子物体的子材质
foreach (Material m in r.materials)

m.color = Color.black;

参考技术A render.material.maincolor
选中一个的时候,恢复上一个选中的颜色,然后修改选中项的颜色就可以了
因此还要一个变量来存一个当前选中物体追问

怎么判断选中?这个是关键

追答

哦~ 那推荐你看
Camera.ScreenPointToRay
这个是从相机发一条射线进场景


Physics.RayCast这个是用射线判断碰撞

这有个博客写的应该不错
http://www.cnblogs.com/xuling/archive/2013/03/04/2943154.html

以上是关于Unity3D中改变模型的颜色问题的主要内容,如果未能解决你的问题,请参考以下文章

unity3d中c#如何修改物体局部的颜色

Unity3D日常开发使用代码改变Text的字体颜色

Unity3D日常开发使用代码改变Text的字体颜色

unity3d怎么把动画导入模型?

unity3d 如何代码修改某个shader的颜色

Unity3d为啥我所有的模型都在移动中闪烁?