unity人物刚体移动_34-Unity入门学习13「刚体碰撞体与触发器」

#Unity引擎##游戏#

1.1、介绍

刚体【Rigibody】是Unity物理学模拟的一个重要的概念,它是指一个物体在受力的情况下,其外形、尺寸内部组织结构等都不受影响的一种特性。

1.2、刚体的添加与属性

①添加刚体(选中物体-->AddComponet-->输入rigidbody-->选择Rigidbody即可)

unity人物刚体移动_34-Unity入门学习13「刚体碰撞体与触发器」_第1张图片

​②刚体属性介绍

unity人物刚体移动_34-Unity入门学习13「刚体碰撞体与触发器」_第2张图片

③刚体的常用方法

1、给物体施加一个三维向量的力【AddForce()方法】使用方法如:【this.GetComponet().AddForce(Vector3.up*10F)】。

2、将刚体移动到指定的方位【MovePosition()方法】使用方法如:【this.GetComponet().MovePosition(this.localPositon+Vector3.up)】。

3、实现一个爆炸力的效果【AddExplosionForce()方法】使用方法如:【this.GetComponet().AddExplosionForce(30F,this.localPosition,10F)】。

4、对物体进行强制休眠,则不参加物体的模拟计算,提高资源运用效率【Sleep()方法】使用方法如:【this.GetComponet().Sleep()】。

5、将处于休眠状态的刚体唤醒,重新加入物理的模拟计算中【WakeUp()方法】使用方法如:【this.GetComponet().WakeUp()】。

二、碰撞体与触发器

2.1、介绍

碰撞体是用于检测游戏场景中的游戏对象是否相互碰撞,基本功能是使得物体之间不能穿过,还可以用于检测某个对象是否触碰到了另一个对象触发器是用于检测某个特定的游戏对象是否进入该区域,是碰撞体的一种属性。

2.2、碰撞体的属性

碰撞体主要包含6种碰撞体,如下:

①立方碰撞体【BoxCollider】、最为常用,最节省资源。

②球形碰撞体【SphereCollider】、常用于圆形物体上。

③胶囊碰撞体【CapsuleCollider】、常用于将囊体、圆柱体等模型上。

④网格碰撞体【MeshCollider】、可以无缝的贴合在模型的表面上,但是对系统的资源消耗最大,一般不建议使用。

⑤车轮碰撞体【WheelCollider】、一般用于车辆等模型上,对资源消耗也是很大,建议少用。

⑥地形碰撞体【TerrainCollider】、仅用于Terrain地形组件上。

2.3、碰撞体的碰撞检测事件函数

①碰撞进入检测函数【OnCollisionEnter()方法】。②碰撞停留检测函数【OnCollisionStay()方法】。③碰撞退出检测函数【OnCollisionExit()方法】。

unity人物刚体移动_34-Unity入门学习13「刚体碰撞体与触发器」_第3张图片

​2.3、碰撞体的触发检测使用场景:需要在场景中检测特定对象存在与否,一般使用触发器,触发器取消了碰撞体的阻挡效果,保留了碰撞事件函数功能。

①将碰撞体变为触发器的操作,只用勾选碰撞体的IsTrigger属性即可,如下所示:

unity人物刚体移动_34-Unity入门学习13「刚体碰撞体与触发器」_第4张图片

​②触发器的事件检测函数

1、进入触发检测【OnTriggerEnter()】。

2、停留触发检测【OnTriggerStay()】。

3、退出触发检测【OnTriggerExit()】。

注意:使用该触发器时,需要给主动去触发的物体添加刚体组件,取消重力,并且需要去触发的物体需要有碰撞体,如下所示:

unity人物刚体移动_34-Unity入门学习13「刚体碰撞体与触发器」_第5张图片
unity人物刚体移动_34-Unity入门学习13「刚体碰撞体与触发器」_第6张图片

你可能感兴趣的:(unity人物刚体移动)