Unity3D里怎样隐藏物体

方法很多:

1、改position,移到视野外,推荐,最节省

2、gameObject.SetActive (false); //要提前引用,要不你就改不回来了。。。

3、renderer.enabled = false; //多个渲染器的话,遍历

4、Destroy//假如你不再用的话

5、改透明度renderer.material.color = new Color (1,1,1,0); //如果shader支持透明通道的话

6、遮罩mask来隐藏

7、关闭单独渲染次物体的相机

8、改layer,结合相机渲染layer和隐藏物体laye,即不去渲染

9、改大小transform.localScale = Vector3.zero; //这法子其实不错,记得xyz都要改0,要不占drawcalls

10、改mesh,删掉渲染的mesh,或者合并一点,或者干脆去掉MeshFilter。。。

11、自写shader,满足条件,去掉颜色值渲染或者顶点偏移

暂时想到这么多,等我想到新的再来加...

原文地址:https://www.cnblogs.com/cnwuchao/p/10604265.html

时间: 2024-10-15 20:45:58

Unity3D里怎样隐藏物体的相关文章

Unity3D游戏开发之如何隐藏物体

隐藏物体只需调用 GameObject 的 setActive 方法即可, GameObject.setActive(false):  // 隐藏 GameObject.setActive(true):  // 显示 但是偶尔会遇到隐藏后无法再次显示出来的情况,是因为开发者将 GameObject 弄成了局部变量,开发者让每一次对控件的操作都去现用现 Find ,但是 Find 方法只能 Find 到 setActive 为 true 的物体,Find 这个函数只返回活动的游戏物体,所以隐藏后

在Unity3D里使用DLL

开始第一篇的内容: 首先,我们需要新建一个类库项目,可以使用Visual Studio或者Monodevelop来做.我这里是使用vs2012来创建: 选择好项目类型.写好项目名称. 新生成的项目里面默认有一个Class1类 可以通过在解决方案资源管理器里面进行重命名改成自己想要的类名,比如我这里改成了Math3D 然后写一个简单的静态方法在里面.这里我写了个最简单的加法(Add).也可以不写静态方法,写出普通的public方法,用的时候new对象出来调用该方法也可以.这和正常的C#编程没区别.

Unity3D项目程序加密1——在Unity3D里使用自己的dll

Unity3D做出来的项目是非常容易被反编译的,被反编译后你的所有资源和代码都将会毫无遮掩的呈现出来.由于.net本身没什么加密的措施,所以我们一般都是使用混淆代码的方式来对程序进行一定的加密.接下来2篇博客,简单的讲一下我自己在Unity3D的程序加密做法.首先第一篇,我会简单的说明一下怎样在Unity3D里面使用dll动态链接库,然后第二篇会说明怎样对dll进行混淆. 开始第一篇的内容: 更多内容请访问[狗刨学习网]http://unity.gopedu.com 首先,我们需要新建一个类库项

Unity3D里的各种坐标系

一.Unity3D中有哪些坐标系? ??坐标系这个概念最早是由法国数学家笛卡尔提出的,并由此创造了用代数方法来研究几何图形的数学分支--解析几何.解析几何的基本思想是将几何图形抽象成点的运动轨迹,从而点可以作为组成图形的基本元素,而描述一个点的位置首先需要建立合适的坐标系.所以,首先我们来了解下Unity3D中都有哪些坐标系吧!Unity3D中的坐标系目前可以分为以下四类:世界坐标.屏幕坐标.视图坐标和GUI坐标.下面我们来对这5类坐标进行详细说明: 世界坐标 世界坐标按照笛卡尔坐标系定义出来的

【Unity3D基础】让物体动起来②--UGUI鼠标点击逐帧移动

背景 上一篇通过鼠标移动的代码很简单,所以看的人也不多,但是还是要感谢“武装三藏”在博客园给出的评论和支持,希望他也能看到第二篇,其实可以很简单,而且是精灵自控制,关键是代码少是我喜欢的方式,也再次印证了Unity3d的复杂性(同样的功能多次封装),代码如下: public class DebugTest : MonoBehaviour { RectTransform m_Rect; void Start () { m_Rect = GetComponent<RectTransform>();

【Unity3D基础】让物体动起来①--UGUI鼠标点击移动

背景 首先还是先声明自己是比较笨的一个人,总是找不到高效的学习方法,目前自己学习Unity3D的方式主要是两种,一种是直接看高质量的源码,另一种是光看不行还要自己动手,自己写一些有代表性的小程序,这也是本文的由来. 诚然,现在已经不是Unity3D发展的黄金期了,很多知识点已经有很多朋友总结分享了,但由于Unity3D的客观性就是依赖插件很厉害,这样就会照成插件满天飞,通用性不强,还有过时的风险,还有就是网上很多朋友发的帖子很多并不是学习总结,只是对于Unity3D IDE的使用及一些API的罗

unity3d GL画线/物体跟随/坐标系转换

看见标题的人是不是在想... 一个小小的GL画线难吗? 一个小小的物体跟随难吗? 嗯,的确,一点不难.... 我一开始也是像你们那样想的,但是实际操作起来,还是和理论有区别的 写这个demo起因是这样的: 面试到了一家虚拟现实的公司,因为没有去公司 网上直接谈的,谈妥了hr估计是想看看我能不能胜任 给了我一张效果图,让我去实现画线的功能 咳咳,要求还是比较细致的,这里我们后面说 废话不多说,老规矩,先上效果图,然后直接进入主题 第一张是hr给我的图,第二张是我自己实现的 需求如下: 1.模型是旋

unity3d里的XML读写示例

关于U3D里面XML读写办法,谢谢刘老师的指导(刘国栋) 代码: /**Project name:*    *Author:*    *Version:*    *Description:*    */ using UnityEngine;using System.Collections;using System.Xml;using System.Xml.Serialization;using System.IO;using System.Text;using System.Security.C

unity3d中检测一个物体是否在摄像机视野范围内

这个脚本最好是把模型对象的锚点设置在最低点.好了直接上脚本.可以直接复制代码,把CS文件拖到一个Camera上,然后把目标拖到targetTran中去就行了. using UnityEngine; using System.Collections; public class CameraT3 : MonoBehaviour { // public public Transform targetTran; // private private Rect screenRect; private Ca