unity3d勾选unity eventtriggerr的情况下怎么添加重力

要产生碰撞必须为游戏对象添加刚体(Rigidbody)和碰撞器,刚体可以让物体在物理影响下运动。碰撞体是物理组件的一类,它要与刚体一起添加到游戏对象上才能触发碰撞。如果两个刚体相互撞在一起,除非两个对象有碰撞体时物理引擎才会计算碰撞,在物理模拟中,没有碰撞体的刚体会彼此相互穿过。
物体发生碰撞的必要条件
两个物体都必须带有碰撞器(Collider),其中一个物体还必须带有Rigidbody刚体。
在unity3d中,能检测碰撞发生的方式有两种,一种是利用碰撞器,另一种则是利用触发器。
碰撞器:一群组件,它包含了很多种类,比如:Box Collider(盒碰撞体),Mesh Collider(网格碰撞体)等,这些碰撞器应用的场合不同,但都必须加到GameObjecet身上。
触发器,只需要在检视面板中的碰撞器组件中勾选IsTrigger属性选择框。
触发信息检测:
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) &当逗留碰撞器
两个物体相接触时到底执行OnTriggerEnter还是执行OnCollisionEnter方法,这两个又有什么区别呢?
为了验证碰撞器与触发器的区别,现设计一个简单的游戏,让小汽车与小球发生碰撞。新建一个C#脚本文件,把它拖给小汽车对象,双击该脚本文件进入脚本编辑器,在该脚本中加入如下两个方法,并分别设置一个断点:
void OnTriggerEnter(Collider collider)
//进入触发器执行的代码
void OnCollisionEnter(Collision collision)
//进入碰撞器执行的代码
当未勾选碰撞器的Is Trigger选项时汽车与球体发生碰撞,进入方法OnCollisionEnter,碰撞之后汽车产生被球体撞飞的效果:
如果将碰撞器的Is Trigger属性选中,再次启动游戏让球体与汽车产生接触,这时进入方法OnTriggerEnter。之后球体直接穿过汽车,但球体与汽车都没有产生碰撞效果:
unity3d中的碰撞器和触发器的区别?
碰撞器是触发器的载体,而触发器只是碰撞器身上的一个属性
当Is Trigger=false时,碰撞器根据物理引擎引发碰撞,产生碰撞的效果,可以调用OnCollisionEnter/Stay/Exit函数;
当Is Trigger=true时,碰撞器被物理引擎所忽略,没有碰撞效果,可以调用OnTriggerEnter/Stay/Exit函数。
如果既要检测到物体的接触又不想让碰撞检测影响物体移动或要检测一个物件是否经过空间中的某个区域这时就可以用到触发器
碰撞器:汽车被撞飞、皮球掉在地上又弹起效果
触发器:人站在靠近门的位置门自动打开效果
阅读(...) 评论()Unity3D碰撞检测 及 Trigger触发器的使用及注意事项
Unity3D碰撞检测 及 Trigger触发器的使用及注意事项
发布时间: 17:13:31
编辑:www.fx114.net
本篇文章主要介绍了"Unity3D碰撞检测 及 Trigger触发器的使用及注意事项",主要涉及到Unity3D碰撞检测 及 Trigger触发器的使用及注意事项方面的内容,对于Unity3D碰撞检测 及 Trigger触发器的使用及注意事项感兴趣的同学可以参考一下。
首先新建一个Cube,其本身就已自带了碰撞器Collider,如图
要使用Trigger检测物体进入,则需要勾选Is Trigger选项
碰撞检测触发器Trigger 有别于碰撞检测器 Collision,其可以不受物理效果影响,一些可穿透区域的碰撞检测,可以使用Trigger来进行碰撞检测
常用方法如下:
OnTriggerEnter&进入时
OnTriggerExit 离开时
OnTriggerStay 处于时
同上碰撞检测器 Collision 也有3个方法:
OnCollisionEnter
OnCollisionExit
OnCollisionStay
这里我们需要为跑道添加一个终点撞线的机制,所以使用可穿透的碰撞检测触发器Trigger
代码如下:
&&&&void&OnTriggerEnter(Collider
&&&&&&&&print(collider.gameObject.name&+&&:&&+&Time.time);
OnTriggerEnter传入的参数必须为Collider,故能触发该函数的对象必须具有Collider组建。这里我们用的是角色控制器Character Controller 自带了Collider组建
此时每当有角色撞线时即会打印角色名及系统时间
接下来我们使用碰撞检测器 Collision 来进行一个碰撞检测
首先取消被撞击对象上的Is
一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!
二、互相尊重,对自己的言论和行为负责。
本文标题:
本页链接:您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
基于Unity3D的游戏开发及设计.pdf55页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
文档加载中...广告还剩秒
需要金币:200 &&
你可能关注的文档:
··········
··········
论文题目: 基于Unity3D的游戏开发与设计 作者姓名: 赵漫蝰 入学时间: 星Q呈2生鱼且 领瑚沼称:
让箕扭技本 研究方向:堂皇图形图傻处墼 指导教师: 逊丞墨 职 称: 麴
授 论文提交日期: 2Q曼垒鱼E量且 论文答辩日期: 2Q至垒生鱼旦 授予学位日期:
万方数据 删瞪一 Game’S and
Basedon Design
Uni圬3D Development ADissertationsubmittedinfulfillmentofthe ofthe of requirementsdegree MASTERoFENGINEElUNG from ofScienceand ShandongUniversity Technology by Zhao Haifeng Supervisor:ProfessorZhengYongguo of Scienceand InformationEngineering College June2014
万方数据 声 明 本人呈交给山东科技大学的这篇工程硕士学位论文,除了所列参考文献和 世所公认的文献外,全部是本人在导师指导下的研究成果。该论文资料尚没有 呈交于其它任何学术机关作鉴定。 工程硕士生签名: 日 AFFIRMATIoN infulfillmentofthe Ideclarethatthisdissertation,submitted requirements in ofScienceand of University theawardofMaster Shandong 蚤Dr Engineering of unlessreferenced ownwork acknowledge?The whollymy Technology,is academic for at
other hasnotbeensubmitted any document qualification institute. Signature: Date:
万方数据 东科技人学工程硕士学位论文 摘要 摘要 电子游戏作为虚拟现实领域的一项综合应用,3D游戏已经在电脑、手机、机顶盒 等多平台得到了普及,相对于传统的2D游戏,3D游戏让用户感觉更融入,更加享 受。Unity3D是一个全面整合的专业游戏引擎,支持多个平台并可以方便引入各方面的 插什创建诸如三维视频游戏、建筑可视化、实时三维动画等类型j!f:动的内容,论文研究 基于Unity3D的游戏的开发与设计方法。 论文讨论游戏开发的关键技术:仓库存储功能、物。f|Il管删功能、道具拾取功能、道 路指示功能、爆炸引力模拟功能
正在加载中,请稍后...Unity3D碰撞检测和小球打墙;碰撞检测;在unity3d中,能检测碰撞发生的方式有两种,;(一)碰撞器是一群组件,它包含了很多种类,比如:;(二)所谓触发器,只需要在检视面板中的碰撞器组件;(三)给主角添加刚体(Rigidbody)组件,;碰撞信息检测:;1、当进入碰撞器;MonoBehaviour.OnCollisio;2、当退出碰撞器;MonoBeh
Unity3D 碰撞检测和小球打墙
在unity3d中,能检测碰撞发生的方式有两种,一种是利用碰撞器,另一种则是利用触发器。这两种方式的应用非常广泛。为了完整的了解这两种方式,我们必须理解以下概念:
(一)碰撞器是一群组件,它包含了很多种类,比如:Box Collider,Capsule Collider等,
这些碰撞器应用的场合不同,但都必须加到GameObjecet身上。
(二)所谓触发器,只需要在检视面板中的碰撞器组件中勾选IsTrigger属性选择框。
(三)给主角添加刚体(Rigidbody)组件,并且取消刚体组件的重力选项UseGravity。
碰撞信息检测:
1、当进入碰撞器
MonoBehaviour.OnCollisionEnter( Collision collisionInfo )
2、当退出碰撞器
MonoBehaviour.OnCollisionExit( Collision collisionInfo )
3、当逗留碰撞器
MonoBehaviour.OnCollisionStay( Collision collisionInfo )
/ 碰撞接触的那一帧被调用
void OnCollisionEnter(Collision collision) {
Debug.Log(&enter&);
Debug.Log(collision.gameObject.name);
// 碰撞接触的每帧都被调用
void OnCollisionStay(Collision collision) {
Debug.Log(&Stay&);
// 碰撞结束被调用
void OnCollisionExit(Collision collision) {
Debug.Log(&Exit&);
触发信息检测:
1、当进入触发器
MonoBehaviour.OnTriggerEnter( Collider other )
2、当退出触发器
MonoBehaviour.OnTriggerExit( Collider other )
3、当逗留触发器
MonoBehaviour.OnTriggerStay( Collider other )
例如:// 触发接触的那一帧被调用
void OnTriggerEnter(Collider other) {
Debug.Log(&enter&);
Debug.Log(other.gameObject.name);
//触发接触的每帧都被调用
void OnTriggerStay(Collider other) {
Debug.Log(&Stay&);
// 触发结束被调用
void OnTriggerExit(Collider other) {
Debug.Log(&Exit&);
小球打墙代码如下:
using UnityE
using System.C
public class LabelText : MonoBehaviour {
public GameO//声明墙的对象
public GameO//声明子弹的对象
void Start () {
for(int i=0;i&5;i++){//建立行的循环
for(int j=0;j&10;j++){//建立列的循环
GameObject.Instantiate(wall,new Vector3 (j,i+1,0),Quaternion.identity);
// Update is called once per frame
void Update () {
float x = Input.GetAxis (&Horizontal&);//建立X水平移动方向
float z = Input.GetAxis (&Vertical&);//建立Z前后前后移动方向
transform.Translate(new Vector3(x,0,z));//使X水平,Z前后移动方向与对象建立联系 if(Input.GetButtonUp(&Fire1&)){//如果点击按钮左键确定为整
GameObject aa = GameObject.Instantiate (ball,transform.position,Quaternion.identity)as GameO
//Instantiate(生成的物体,生成物体的位置,生成物体转动的角度);
aa.rigidbody.AddForce (0,0,10000);//给生成物体的添加原力指向z轴正方向
Destroy (aa,3);//给生成物体添加销毁事件,时间为2秒
想了解更多到狗刨学习网
三亿文库包含各类专业文献、行业资料、各类资格考试、专业论文、生活休闲娱乐、外语学习资料、文学作品欣赏、Unity3D 碰撞检测和小球打墙38等内容。 
 Unity3D【碰撞与触发器】及打砖块 碰撞检测 在 unity3d 中,能检测碰撞发生的...打砖块游戏: 利用键盘的 W、S、A、D 键来控制子弹的前后左右发射子弹打墙 ...  unity3D技术之四种碰撞效果_计算机软件及应用_IT/计算机_专业资料。unity3D技术第一种函数:function OnControllerColliderHit (hit:ControllerColliderHit) 主角专用函数 例...  Unity3D添加球体碰撞使用说明_计算机软件及应用_IT/计算机_专业资料。unity3D基础知识学习Unity3D【初学之球体碰撞】 我们想要完成球体 Sphere 自由落体后撞击 倒桌面 ...  unity3D忽视碰撞和射线说明_计算机软件及应用_IT/计算机_专业资料。unity3D基础知识学习 Unity3D【忽视碰撞和射线】 MicrosoftInternetExplorer402DocumentNotSpecified7.8...  Unity3D 碰撞与射线忽略碰撞 有些时候我们不想让指定的两对象发生碰撞,即要忽略...例如:定义一个球 ball,当鼠标点击时,小球向前移动穿过 墙 public GameObject ...  3​D​碰​撞​检​测​,​o​b​b​,​A​A​B​B​,​包​围​球​等3D Collisions Not a lot could happen in a 3D...  unity3d游戏开发之风力区域、碰撞、刚体等_计算机软件及应用_IT/计算机_专业资料。unity3d游戏开发之风力区域、碰撞、刚体等1.风力区域(设置局部风) 添加方法 GameOb...  03-unity3d碰撞触发事件_计算机软件及应用_IT/计算机_专业资料。03-碰撞触发事件当子弹射入物体时,就输出被射击物体的名字 触发器与触发事件当子弹射入物体时,就...  { //返回球撞击处占 bat 宽度的比例,注意要是 float return (ballpos.x -...Unity3D【碰撞与触发器】... 暂无评价 4页 2下载券
打砖块 2页 免费Unity3D使用碰撞体做触发器实现简单的自动开门
在游戏制作中触发器的使用非常的方便也非常实用。这一张我们简单介绍一下如何使用一个简单的触发器来实现自动开门关门的效果。 首先确保你已经对门进行了动画的设置。 具体流程如下。 选择Window-&Animation打开动画窗口,选中需要添加动画的门之后点击红色按钮创建新动画。
23:50&&&[]
在游戏制作中触发器的使用非常的方便也非常实用。这一张我们简单介绍一下如何使用一个简单的触发器来实现自动开门关门的效果。 首先确保你已经对门进行了动画的设置。 具体流程如下。 选择Window-&Animation打开动画窗口,选中需要添加动画的门之后点击红色按钮创建新动画。
10:16&&&[]
了上述两种移动方法那么移动的物体必须勾选is Trigger ,这样才可以发生碰撞。如果要触发触发器那就两个物体全部勾选is Trigger。
下面是别人博客论述:
unity3d中的碰撞器和触发器的区别?
碰撞器是触发器的载体,而触发器只是碰撞器身上的一个属性
当Is Trigger
17:03&&&[]
Unity3D中UGUI各类触发事件主要通过EventSystem进行控制,当我们需要定制按钮的各类触发事件时,可以通过EventTrigger进行定制。
在Unity3D中,EventTrigger包含多个接口,每个接口均实现了一种实现方式,接口包括: IBeginDragHandler
19:03&&&[]
前话 在许多类型游戏中我们经常会使用到背包,利用背包来设置相应角色属性,多了背包也会让游戏增色拓展不少。
那在Unity3D游戏开发中该如何编写背包系统呢?因为有高人开发了NGUI插件,因此我们进行简单编写代码设置即可实现一个简单的背包功能了。 准备工作
新建一个工程PackageDemo
22:52&&&[]
1.Unity3D介绍 Unity3D是跨平台(IOS、Android、Windows Phone、Windows、Flash、XBOX360、PS3、Wii等)游戏引擎,可以开发2D、2.5D、3D游戏。appstore手机上有1500+款用Unity3D开发的游戏。 什么是游戏引擎?开发简单
15:25&&&[]
完美的关卡编辑器。例如,我们使用 TuDee来创建3D Tile-Based的游戏,这使我们可以获得对Tile友好的工具的益处(网格约束,90度倍数的旋转,2D视图,快速Tile选择等)。从一个XML文件来实例化Prefab也很简单。详见 Guerrilla Tool Development
09:53&&&[]
; & & 第一一种是鼠标的Input.GetMouseButtonDown(0)和Input.GetMouseButton(0)计算偏移量; & & & 第二种就是使用虚拟轴 & & &&float offetX
12:25&&&[]
Trigger为选中状态,表明cube是一个触发器,当小球碰撞它是会触发小球脚本(BallControl.cs)中OnTriggerEnter的事件,接下来cube就会被禁用,不会显示在Game中。 如果不选中Is Trigger,那么则无法用脚本来控制小球的移动。 碰撞前:
注意 触发事件
22:04&&&[]
地形&&编辑器&& 编辑器 Unity3D &地形
最近再做地形编辑器,想知道这个画刷怎么实现的.
跟着鼠标移动的画刷,貌似不是&灰度图&直接贴出来的.
有知道的,请指点下.谢谢了
回复讨论(解决方案
15:11&&&[]
工作中遇到了串口的问题,通过查资料&实验写出了下面代码; 关于串口的代码我在网上看了好多,一种是用事件来做,另外一种使用线程来做; 看完以后,个人感觉比较麻烦,所以就用了下面的方式; PS:也可以改成用IEnumerator 或者Invoke来写
1 using UnityEngine
19:14&&&[]
C#版的Lua。万能的google的帮我找到了UniLua(/xebecnan/UniLua),特别感谢其作者xebecnan。PS:xebecnan貌似是云风(云风BLOG)团队的,当看到UniLua是国人实现的,且云风的Unity3d项目也在使用时,便立刻决定
15:49&&&[]}

我要回帖

更多关于 unity event trigger 的文章

更多推荐

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

点击添加站长微信