当前位置:首页 > 嵌入式培训 > 嵌入式学习 > 讲师博文 > 《愤怒的小鸟》中的2D物理系统实现

《愤怒的小鸟》中的2D物理系统实现 时间:2018-09-28      来源:未知

除了3D项目,在2D项目中,为了模拟出一些运动效果,也需要使用到物理引擎。以模拟出一些例如抛射物,滚球等等效果。例如在《愤怒的小鸟》等等项目中,就会出现2D物理引擎的使用。

2D physics物理系统组件

在创建项目的时候,需要注意可以将项目设置为2D模式。在2D模式下,会比较方便进行编辑。

在新场景中,我们需要新建一个2D Object创建一个新的Sprite。作为我们在2D场景中的物体。

在Sprite设置中,我们可以使用Sprite来选择对应的精灵,而Order in Layer可以决定目标物体的显示层级。数值越大,显示位置在前一级别。

我们需要在Sprite物体上绑定Rigidbody 2D组件以及Box Collider 2D 组件。

此时点击运行,我们就会发现,场景中的物件开始降落了。

属性 作用

BodyType 刚体模式(包括动力学,运动学,静态)

Material 物理材质

Simulated 启用模拟,如果想关闭物理交互,可以将其勾掉

Use Auto Mass 启用自动质量(将根据Sprite大小来计算质量)

Mass 质量

Linear Drag 线阻力

Angular Drag 角阻力

Collision Detecion 是否碰撞检测

Sleeping Mode 休眠模式(降低物理引擎CPU开销的使用模式)

Constraints 约束

Rigidbody组件功能

同样我们可以通过脚本在某个Sprite上施加力的作用,如下方的方法,我们是如果我们在Start方法中添加这个以下方法,点击运行,在开始的时候,挂载了脚本就会受到冲击,向上弹起。

语句 GetComponent<Rigidbody2D>().AddRelativeForce(Vector2 relativeforce, ForceMode2D);

参数 Vector2类型力方向;力的模式(相对力,冲击力)

作用 在Rigidbody上添加一个力

例子 //在物体上添加了一个爆炸力,方向为正上

this.GetComponent<Rigidbody2D>().AddRelativeForce(new Vector2(0, 10), ForceMode2D.Impulse);

上一篇:netty核心组件

下一篇:同步ubuntu粘贴板和windows系统粘贴板

热点文章推荐
华清学员就业榜单
高薪学员经验分享
热点新闻推荐
前台专线:010-82525158 企业培训洽谈专线:010-82525379 院校合作洽谈专线:010-82525379 Copyright © 2004-2022 北京华清远见科技集团有限公司 版权所有 ,京ICP备16055225号-5京公海网安备11010802025203号

回到顶部