Angular Drag(角阻力):同样指的是空气阻力,用来阻碍物体旋转;
Use Gravity(使用重力):勾选了这个选项之后,游戏对象就会受到重力的影响。
要产生碰撞,必须为游戏对象添加刚体和碰撞器,刚体可以让物体在物理因素的影响下运动。碰撞器是物理组件的一类,它要与刚体一起添加到游戏对象上才能触发碰撞。如果有两个刚体相互撞在一起,除非两个对象都有碰撞器,物理引擎才会计算碰撞。否则在物理模拟中,没有碰撞器的刚体会相互穿过。在抛掷盛接系统中,我们给小球和木箱都添加碰撞器,模拟真实场景中小球落入木箱的碰撞效果。
Unity3D的碰撞器作为一群组件,它包含了很多种类,比如,Box Collider(盒子碰撞器)、Mesh Collider(网格碰撞器)等,这些碰撞器应用的场合不同。在需要进行碰撞器添加的时候,我们根据游戏模型的形状,挑选适合于应用的碰撞器。当勾选了碰撞器面板中的IsTrigger属性之后,在物体发生碰撞之时,碰撞函数会触发,但是物体会穿过被碰撞物体。下面介绍几种常用的碰撞函数[7]。
触发信息检测:
MonoBehaviour。OnTriggerEnter(Collider collider) 当进入触发器
MonoBehaviour。OnTriggerExit(Collider collider) 当退出触发器
MonoBehaviout。OnTriggerStay(Collider collider) 当逗留触发器
碰撞信息检测:
MonoBehaviour。OnCollisionEnter(Collision collision) 当进入碰撞器
MonoBehaviour。OnCollisionExit(Collision collision) 当退出碰撞器
MonoBehaviour。OnCollisionStay(Collision collision) 当逗留碰撞器
碰撞器是触发器的载体,而触发器只是碰撞器内的一个属性。当Is Trigger = false 时,碰撞器根据物理引擎发生碰撞,产生碰撞的效果,碰撞时会调用OnCollisionEnter()/Stay()/Exit()函数。在需要物体发生碰撞并产生碰撞效果的时候适用。当Is Trigger = true 时,碰撞器被物理引擎所忽略,物体发生碰撞时会相互穿过,碰撞时会调用OnTriggerEnter()/Stay()/Exit()函数,多用于想要检测物体在运动的过程中是否经过某个区域,而不想影响物体的运动轨迹的情况。
2。2。2 Unity3D环境浏览系统
利用Unity3D可以开发出简单的环境浏览系统,在添加了第一人称视角控制组件之后,就可以在快速编辑好的地形环境中进行场景的浏览。如下图2-3为Unity3D中的第一人称视角控制组件。
此第一人称视角控制组件,在程序整体运行时,会在屏幕上显示该组件z轴正方向视野范围内的全部景象,就好像第一人称游戏中,玩家操作的角色所能看到的场景。
下图2-4为利用Unity3D编辑的地形,以及第一人称组件视野范围内的地形内场景,当程序运行时,通过键盘的上下左右键可以移动该组件,达到浏览场景的效果。
3系统环境
系统的开发与运行都需要windows系统的支持,在正确安装了Kinect for windows的驱动程序之后,就可以使用Kinect设备。
3。1 开发环境
操作系统:windows7\windows10(支持KinectV1。0)、windows8(支持KinectV2。0)。
软件环境:Kinect for windows SDK1。*(支持KinectV1。0)、Kinect for windows SDK2。0(支持KinectV2。0)、Unity3D开发引擎。
开发语言:C#。
硬件要求:内存8GB、CPU(i7\i5)、硬盘至少100G。
3。2 运行环境
操作系统:windows7\windows10(支持KinectV1。0)、windows8(支持KinectV8。0)。
软件环境:Kinect for windows SDK1。*(支持KinectV1。0)、Kinect for windows SDK2。0(支持KinectV2。0)。
硬件要求:内存2GB、CPU(i5)、硬盘至少20G。