没有合适的资源?快使用搜索试试~ 我知道了~
【Box2D】物理引擎入门003.docx
需积分: 5 0 下载量 139 浏览量
2019-05-31
15:15:10
上传
评论
收藏 51KB DOCX 举报
温馨提示
试读
29页
【Box2D】物理引擎入门003,
资源推荐
资源详情
资源评论
一、物理编辑器的使用
在本系列博客的第一篇就介绍了如何使用 内置的几种方式创建刚体的
材质,然而我们在开发游戏的时候需要根据很多非常复杂的物体创建对应的形
状,使用内置的多边形很难去描出合适的图形,所以 物理游戏引擎支
持外部导入文件进行物理刚体的创建。
1.1、根据物理编辑器文件创建物理刚体
首先使用 物理编辑器将需要创建的材质信息编辑好,然后导出
支持的 文件,假设我们将文件保存为“并放在资
源目录下的 文件夹里面。
创建精灵
创建车身精灵
!" !"#$%&'(
)'#$#
创建车轮精灵
*" !" *!"#$%+'(
"'#$#
* !" *!"#$,+'(
"'#$#
接下来就要使用物理编辑器导出的文件了:
"、创建刚体
#
类型:静态!#(平台!-#(动态
!#
!
.# +($# +#
'#
用户数据:存储用户的数据,可以是任何类型的数据。一般要求存储的数据
的类型是一致的
/
创建一个刚体对象,根据刚体定义创建
*$0#
、有了刚体,接下来就要创建材质,代码如下:
加载 的 格式文件
120$120#$234
#
把生成的刚体和形状绑在一起,- 即图片名
120$120#$4/5(
!"#
可以使用
120$120#$234
文件名路径#来加载物理编辑器导出的数据,然后通过
120$120#$4/5刚体对
象(精灵列表上的形状名称#来给刚体绑定材质信息。
根据 PhysicsEditor 编辑的文件创建刚体材质
刷新模拟器就可以看到编辑的车身显示在场景中(要开启物理调试模式)。
+、使用同样的方式创建汽车的两个车轮
."+,(&,#
/*"
3"*$0#
120$120#$4/5
3"(*!"#
."6,(&,#
/*
3*$0#
120$120#$4/5
3(*!"#
刷新模拟器,可以看到如下画面:
根据 PhysicsEditor 编辑的文件创建刚体材质
二、物理更新
2.1、物理更新
在这之前,其实物理世界并没有开始进行物理模拟,那么我们可以使用下面这
个代码来进行一次物理更新:
更新7物理世界8
/9-#
*/
时间步、速度迭代 :、位置迭代
:;(;+(+
物理引擎进行物理模拟,生成模拟后的数据
*$26'(:;(;#
注意:这个函数里面的“world”就是之前创建的物理世界,所以我们可以将
world 定义成全局的,以保证可以在任何地方访问。
调用物理世界的 2#方法可以进行一次物理模拟,方法的第一个参数是时间
步,第二个参数是速度迭代次数,第三个参数是位置迭代参数。
时间步用于控制物理模拟的时间间隔,我们一般让其与渲染世界同步,所以设置为
60,设备性能较低时可以设置为 40。
速度迭代:迭代次数越高,模拟越逼真,但是越耗性能。
位置迭代:迭代次数越高,模拟越逼真,但是越耗性能。
2.2、开启物理模拟
开启一个调度器来调用上面的这个函数,实现实时模拟:
20-("' 6'#
开启调度进行物理模拟的时候发现车身和车轮开始做只有落地运动,并且它们
散架了,这是因为车身和车轮之间没有连接到一起,为了让车身和车轮组成一
个整体,可以使用关节(约束)将他们连接到一起。
三、关节(b2Joint)
关节又称之为“约束”,是用于限制刚体运动的一些条件,在 中,常用的
关节有:鼠标关节、距离关节、移动关节、旋转关节等,其实这些关节的中文
名称并非翻译的很准确,很多诸如《0<2游戏开发》的书籍里面都不
进行翻译,而是直接使用关节的类名来进行讲解。
1、关节描述(b2JointDef)
与创建刚体一样,创建关节也需要先创建关节的描述,在 中,关节描
述 < 的定义如下:
/<
=
<#
=
!/-*<>
/?@AA>
B?@AA>
?@AA>
0>
C
5D/D
<5>
@E/D
:F/>
5E
FB>
5
F>
2G//
0>
C>
< 是一个结构体(/)类型,包含如下五个属性:
type:关节类型。
userData:用户数据(可以存放任意数据)。
bodyA:被关节约束的第一个刚体对象。
bodyB:被关节约束的第二个刚体对象。
collideConnected:被约束的两个刚体是否可以发生碰撞,true 表示可以发生碰撞。
剩余28页未读,继续阅读
资源评论
rjxyzwp1013
- 粉丝: 0
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功