码迷,mamicode.com
首页 > 编程语言 > 详细

关于Unity中物理引擎的使用

时间:2017-06-02 23:51:45      阅读:353      评论:0      收藏:0      [点我收藏+]

标签:表示   碰撞检测   angular   tom   间隔   不能   添加   背景图   机制   

物理引擎控制刚体,刚体上面贴上图片,所以看起来就是游戏运行起来的状态

物理世界计算刚体的运行状态,通过贴图显现出运算结果。

一、物理引擎

1:Unity 2D物理引擎基于Box2D封装而成;
2: 物理引擎模拟物理运动和计算,物理引擎帮助我们计算物体运动;
3: 重力加速度;
4: 碰撞器是物体的形状 + 碰撞的物理参数(物理材质);
5: 刚体控制物体运动和受力;

 

 

二、步骤

1.创建一个Canvas

2.对Canvas进行初始化,记得把Game视图的分辨率调成和Canvas里面设置的一样的分辨率640X960

3.创建一个Image的UI节点作为Canvas的子节点,名字叫bg,拖进背景图片到这个节点中。

4.创建一个Image的UI节点叫做item的子节点,颜色设置为红色

5.给item节点添加一个Rigidbody 2D的组件,有这个组件后再运行,就会发现这个item节点往下掉

6.Rigidbody 2D的组件的物理参数设置:

UseAutoMass/Mass:根据密度*面积自动计算出来,刚体质量。
Linear Drag: 线性阻尼,空气阻力等。
Angular Drag: 旋转阻尼,旋转阻力。
Gravity Scale: 重力缩放因子,1就是地球上的重力,0.6就是月球上的重力。
Is Kinematic: 静态刚体和动态刚体,静态刚体不能动,动态刚体可以动。
Sleep Mode模式: 刚体休眠模式。平时:刚体不受任何外力的情况下默认是进入休眠状态,不会参与运算,Never Sleep永不休眠,而默认是Start Awake,唤醒时启动。
Collistion DetectionMode: 刚体碰撞检测的模式(连续型检测/离散型检测)。Discrete离散,Continues连续。

 

注意:像子弹这种的刚体,Collistion DetectionMode运动模式要选择Continues连续,这样才不会因为速度太快,Update时间间隔太短而导致子弹穿透其他刚体,机制是判断运动期间是否碰撞某个刚体,如果有,就把状态拨回到两者碰撞前的状态,造成撞墙的效果。

   其他情况下默认选择Discrete离散。

 

7.只是加一个Rigidbody 2D的组件叫刚体,刚体是没有任何形状的。没有形状的刚体之间是不会产生碰撞效果的,会直接穿过去,像幽灵一样。两个物体想要实现碰撞效果,必须都有Box Collider 2D组件,其中任何一个没有Collider 2D组件都不行,都会直接穿过。

只有Collider 2D组件,没有Rigidbody 2D组件也是不行的,会相当于一个不受力的静止的物体,但是会和有Collider 2D组有碰撞效果产生。

我们需要再加一个组件叫做Box Collider 2D(矩形碰撞器),用来表示刚体的形状,其实还有圆形碰撞器Circle Collider 2D等等各种碰撞器。

绿色方框就是碰撞检测的有效区域。在Box Collider 2D组件的Size属性(半径radius)里面调整大小,一般设置成和图片大小一样的大小。

 

8.Box Collider 2D的物理参数设置:

Material:材质,表示碰撞物体表面的材质,物理材质就是下雨天的地面和水泥地地面的区别

Is trigger:是否仅作为触发器,当这个属性打钩的时候,那么其他刚体碰撞到它的时候,只会触发碰撞事件,不会有碰撞效果产生,就是说系统检测到碰撞,但是不在画面上显示碰撞的过程,会直接穿过去。可以把一些通过的传送门,金币的Is trigger打钩,

这样就可以达到我们想要的效果,就是有碰撞事件发生,但是没有碰撞的画面效果。

 

创建物理材质

右键-->create--> Physics2D Material,物理材质有两个属性,Bounciness弹力和Friction摩擦力。

创建好物理材质后,需要拖到对应的Box Collider 2D组件的Material属性中,Bounciness弹力为0.5就可以看出碰撞后物体会反弹一段时间

 

关于Unity中物理引擎的使用

标签:表示   碰撞检测   angular   tom   间隔   不能   添加   背景图   机制   

原文地址:http://www.cnblogs.com/HangZhe/p/6935489.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!