Unity3d的一些小技巧

unity中有一些知识点比较碎,每次用到的时候都要去网上查,实在有些浪费时间,把这些知识点集中到一起倒是不错的想法,下面就是一些琐碎的知识点,以后会逐渐更新...

1,gameObject.active 表示是否在场景中停用改物体,当active=false的时候,GameObject无法find此物体,表现在编辑器中就是物体的Inspector里面显示对号没有勾选,

如果开始的时候active=true,你通过find获得了改物体,你可以setActive(false),此后此物体在场景中消失,此时你仍然可以使用setActive(true)使物体重新可以显示。

2,照相机组件中的一些用法很有意思,用法得到可以实现很多效果。你可以修改Depth的值,当你的场景中有好几个照相机的时候,Depth值大的照相机的视野会覆盖值小的照相机视野,

利用这个功能可以实现简易版的小地图,首先给场景中添加一个照相机Cam,调整Cam的Depth的值大于主照相机的Depth,然后调整Viewport Rect的值,W,H,X,Y分别代表width的大小,

height的大小,x起始位置,y的起始位置,它们的单位都是以1为单位,我们设置x=0.8,y=0.8w=0.2,h=0.2这样Cam就可以像我们看到的端游中的小地图一样显示在右上角,当然你可以根据情况调整这四个值的大小。

 相机中的Culling Mask选项,会根据物体在哪个层有选择的渲染,如果一个物体的Layer是“UI”,而Culling Mask没有选择UI这个层,那么场景中就无法看到这个物体。

 相机中的Field of View选项,用来修改照相机的视角大小,值越大视角越大,看起来感觉物体离的越远,不过要想这个选项生效,照相机的Projection必须是Perspective才可以,

利用这个选项,我们可以在代码中修改这个值来实现物体的拉近和拉远。

3,碰撞器,触发器和刚体

两个物体发生碰撞的必要条件是:两个物体都必须带有碰撞器(Collider),其中一个物体还必须带有Rigidbody刚体。碰撞器是一些组件,它包含了很多种类,

比如:Box Collider(盒碰撞体),Mesh Collider(网格碰撞体)等,这些碰撞器根据不同的场合应用在不同物体身上。游戏引擎根据碰撞器进行计算碰撞效果,

而刚体让物体在物理效果下运行。触发器是碰撞器组件中的一个属性,碰撞器和触发器都可以检测物体是否发生碰撞,并且unity也给我们提供了接口:

触发信息检测:

1.MonoBehaviour.OnTriggerEnter(Collider collider)当进入触发器

2.MonoBehaviour.OnTriggerExit(Collider collider)当退出触发器

3.MonoBehaviour.OnTriggerStay(Collider collider)当逗留触发器

碰撞信息检测:

1.MonoBehaviour.OnCollisionEnter(Collision collision) 当进入碰撞器

2.MonoBehaviour.OnCollisionExit(Collision collision) 当退出碰撞器

3.MonoBehaviour.OnCollisionStay(Collision collision)  当逗留碰撞器

那我们如何使用上面的接口,这些接口又有哪些区别呢?我们做个试验,分别创建两个物体,并且分别给它们添加碰撞器和刚体,当物体A和物体B发生碰撞的时候,

会有物理效果即碰撞效果,并且会进入方法OnCollisionEnter,当我们给一个物体的isTrigger打上勾之后,两个物体再次碰撞,此时没有物理效果,会相互穿过去,

并且会进入方法OnTriggerEnter。经过我上面的叙述,大家应该已经明白了触发器的作用了吧。

如果既要检测到物体的接触又不想让碰撞检测影响物体的物理状态就可以使用触发器。

时间: 2024-10-08 09:58:02

Unity3d的一些小技巧的相关文章

Unity3D使用小技巧

原地址:http://unity3d.9tech.cn/news/2014/0411/40178.html 1.Crtl+f摄像机自动适配场景. 2.可以用一个立方体作为底盘. 3.人物角色可以直接引入包,有第一人称和第三人称,已经封装好. 4.光源可以设置投影. 5.3DMax是Z轴向上,而一般游戏引擎是Y轴向上,所以导出的时候一定要注意选择YZ转化的格式(YZ转化选项一定要勾选). 另外,obj格式不支持动画,其实游戏中最常用的格式是"FBX"和"DAE"格式,

GJM : Unity3D - UI - UI边缘流光特效小技巧 [转载]

感谢您的阅读.喜欢的.有用的就请大哥大嫂们高抬贵手"推荐一下"吧!你的精神支持是博主强大的写作动力以及转载收藏动力.欢迎转载! 版权声明:本文原创发表于 [请点击连接前往] ,未经作者同意必须保留此段声明!如有侵权请联系我删帖处理! 我的博客:http://www.cnblogs.com/GJM6/  -  传送门:[点击前往] 今天给大家说一个做UI特效的小技巧,先来看看效果吧 首先找你们UI组要一个需要制作特效的UI 然后在max里按照UI尺寸创建一个面片 然后UI当作贴图帖上去&

DevStore技术详解:Unity3D编辑器的那些小技巧

摘要:Unity引擎以其上手简单易懂而被广大开发者熟知,却很少有人对Unity编辑器的功能做一个全面细致的了解,一些非常实用的小功能在开发者的日常生活中往往被忽略,但是它的确对我们的工作效率的提升有不小的帮助,跟随小编,细数那些被我们遗漏的小技巧~ 1)锁定Inspector-在inspector面板上方有一个小"锁"图标,点击锁住后可以将inspector面板锁定在当前选择的GameObject上.在你需要大量设置某个GameObject的参数时非常有效(例如为一个数组里添加大量引用

《转》Unity3D研究院之UGUI一个优化效率小技巧

无意间发现了一个小技巧.如下图所示,可以发现UGUI的Image组件的RaycastTarget勾选以后会消耗一些效率,为了节省效率就不要勾选它了,不仅Image组件Text组件也有这样的问题. 一般UI里也就是按钮才需要接收响应事件,那么大部分image和text是是不需要开RaycastTarget的. 但是问题就来了,Unity默认在hierarchy窗口Create->UI->Image .Text的时候就会自动帮我们勾选上RaycastTarget, 一个复杂点的界面至少也300+个

使用Unity3D的50个技巧:Unity3D最佳实践

刚开始学习Unity3D时间不长,在看各种资料.除了官方的手册以外,其他人的经验也是非常有益的.偶尔看到老外这篇文章,觉得还不错,于是翻译过来和大家共享.原文地址:http://devmag.org.za/2012/07/12/50-tips-for-working-with-unity-best-practices/,下面是译文. 欢迎转载,请注明出处:燕良@游戏开发.另外,欢迎各路高手加入我的QQ群:264656505,切磋交流技术. 关于这些技巧 这些技巧不可能适用于每个项目. 这些是基于

做预解释题的一点小方法和小技巧

在JavaScript中的函数理解中预解释是一个比较难懂的话题.原理虽然简单,寥寥数言,但其内涵却有深意,精髓难懂.如何在轻松活跃的头脑中将它学会,现在针对我在学习中的一点小窍门给大家分享一下,希望能给大家一些帮助: 万事需遵循"原理"--"预解释"无节操和"this"指向:(可先看例题解析然后结合原理进行学习) (感谢蕾蕾老师给归纳的预解释无节操原理:) 如果函数传参数则先于以下执行,就相当于在函数私有作用域下var了一个变量:根据作用域原理,

给你一个云端的大脑01:印象笔记小技巧

我在上课时,很多学员们给我的反馈都是:老师你讲的太精彩啦,但我记不住.我最重视的就是学员的反馈,因为我是一个完美主义者,凡事既然做就要做到最好.而学员就像我的一面镜子,反馈是我改进的方向. 很久以前,我听到这样的反馈第一反应就是自己还是讲得不够好,但后来我的讲课都能hold住全场300多人的时候,我发现这个反馈仍然频繁出现,这不是我的问题而是学员们不会学习的问题,这样的学员在工作中也是缺乏自我培养的能力. 所以从今天起,我的平台又加入一个主题:给你一个云端的大脑.告诉你如何记笔记,如何整理大脑记

思科命令配置小技巧三:alias 命令

大家都用过手机上的快捷拨号设置 思科设备是否支持命令的快捷键定义呢 答案是肯定的 suzhouxiaoniu(config)#alias exec xx show ip inter bri  xx是自定义的快捷键名称,可以是数字 suzhouxiaoniu#xx 直接敲定义好的名称Interface                  IP-Address      OK? Method Status                ProtocolFastEthernet1/0          

思科命令配置小技巧四:用ACL控制debug 输出

使用debug命令可以帮助我们TS,但是使用debug命令往往会输出一大堆信息,很多是我们不需要用的,也会造成CPU高负荷,这种情况下我们可以限制debug的输出 可以应用ACL到debug以限定仅输出要求的debug信息. 如仅查看从1.1.1.1到1.1.1.2的ICMP包: Router(config)# access-list 100 permit icmp host 1.1.1.1 host 1.1.1.2 Router# debug ip packet detail 100 思科命令