unity 怎样识别unity获取父对象组件active 子对象active

7878人阅读
Unity显示与隐藏
在开发过程中常常需要对物体进行隐藏和显示操作,在这里总结一些;
一、设置Renderer状态
每一个可以被渲染的物体都会包含一个Renderer组件,用来渲染物体到屏幕上,如果禁用这个组件自然也就实现了隐藏物体。
代码示例如下:
usingUnityE
usingSystem.C
publicclass
test : MonoBehaviour {
&&&&publicTransform
&&&&voidStart(){
&&&&voidOnGUI(){
&&&&&&&&if(GUILayout.Button(&display&)){
&&&&&&&&&&&&MeshRenderer[]
marr = target.GetComponentsInChildren&MeshRenderer&(true);
&&&&&&&&&&&&foreach(MeshRenderer
m inmarr){
&&&&&&&&&&&&&&&&m.enabled
&&&&&&&&&&&&}
&&&&&&&&if(GUILayout.Button(&hide&)){
&&&&&&&&&&&&MeshRenderer[]
marr = target.GetComponentsInChildren&MeshRenderer&(true);
&&&&&&&&&&&&foreach(MeshRenderer
m inmarr){
&&&&&&&&&&&&&&&&m.enabled
&&&&&&&&&&&&}
在这里我做了一个遍历,可能一个物体会有多个面片,那就需要把物体的所有面片上的MeshRenderer全部禁用掉。
也可能会有一些较为复杂的渲染可能会有Trail Renderer,Line Renderer,Skinned Mesh Renderer,Mesh Renderer等,找到它,禁用/激活它来实现隐藏或显示。
二、设置Active
unity4.x写法:
gameObject.SetActive(true);//显示物体
gameObject.SetActive(false);//隐藏物体
unity3.x写法:
gameObject.SetActiveRecursively(true);显示物体
gameObject.SetActiveRecursively(false);隐藏物体
unity4.x会保持当前物体子物体所有的状态,unity3.x则是如果设置active为true,所有子物体全部变为true。 这也是unity升级后改进的一点。
三、设置Layer
假设现有Layer为:
Default = 0,TransparentFX = 1,Ignore Raycase = 2,Water = 4,MyLayer = 8.
设置相机Camera的Culling Mask为:Default+TransparentFX+Ignore Raycase+Water.
那么当设置物体的Layer为MyLayer时候,物体的Layer层在当前相机被忽略,也就相当于隐藏。具体代码为:
usingUnityE
usingSystem.C
publicclass
test : MonoBehaviour {
&&&&voidOnGUI
&&&&&&&&if(GUILayout.Button(&Display&)){
&&&&&&&&&&&&gameObject.layer
= LayerMask.NameToLayer(&Default&);
&&&&&&&&if(GUILayout.Button(&Hide&)){
&&&&&&&&&&&&gameObject.layer
= LayerMask.NameToLayer(&MyLayer&);
各种方案根据情况而定,酌情使用不同的方法.
好了,看到这,辛苦你了,大家帮帮忙,注册下号,有大用的(点击我的链接进入注册即可):
你想淘宝省钱么?你是淘宝达人么?现在有个好机会就可以在购物的同时,即可省下
一大笔钱。。赶紧来看看吧。。
MadeByLuckyDog
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:69658次
排名:千里之外
原创:16篇
转载:10篇
评论:16条
(1)(1)(3)(1)(1)(1)(1)(2)(1)(1)(2)(4)(7)
(window.slotbydup = window.slotbydup || []).push({
id: '4740881',
container: s,
size: '200,200',
display: 'inlay-fix'unity的物体被setactive(false)的时候调用什么函数 - Unity3d技术 - 泰课在线 - 国内专业的Unity在线学习平台|Unity3d培训|Unity教程|Unity教程 Unreal 虚幻 AR|移动开发|美术CG|UI平面设计|前端开发 - Powered By EduSohoActive Stereoscopic 3D for Unity
资源名称:Active Stereoscopic 3D for Unity
资源版本: v028
资源类型: .unitypackage
资源大小: 1.09MB
官网地址:
网盘下载地址:链接:
密码: kkk6
资源说明:
它可以带来真正好玩的三维立体游戏!
使用两个统一摄像机对象,这个插件提供了一个真正的主动立体3D信号的3D硬件。完美支持立体实时阴影和图像效果。设置包括眼睛的距离并行frustrum和视差。 仅适用于Windows。需要Unity Pro中的NVIDIA 3D Vision驱动程序。支持的硬件包括红外线发射器,DLP电视(DVI / HDMI电缆),液晶显示器(双链路DVI电缆),立体眼镜和任何HDMI 1.4兼容3D立体设备(电视,蓝光等)。不直接支持3D Vision的设备需要安装NVIDIA 3DTV播放软件。这个软件包包括一个免费的脚本修改版本Stereoskopix 3D。
资源图片:
<font color="#-10<font color="#-10<font color="#-31<font color="#-02<font color="#-01<font color="#-09<font color="#-09<font color="#-25<font color="#-26<font color="#-01
曾经说VR游戏面向B端反响出奇得好的开发团队,如今一年过去了,面对B端市场的VR游戏增...
上个月,迪士尼的D23博览会刚刚落下帷幕。这个以迪士尼成立年份命名(1923 年),面向...
99VR视界君带大家来看看目前VR体验店的生存状况是什么样的。
根据手游为主的TapTap平台显示,一款叫做《我的VR女友2.0》的VR游戏非常的火爆。上线2...
上个月中,国美落地了国内第一家VR影院,该影院配备HTC Vive以及Gear VR两种体验设备...}

我要回帖

更多关于 unity3d setactive 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信