(转载)BOX2D V2.3.0 用户手册中文版(第13章)-限制
Chapter 13 限制 Box2D使用了一些数值近似来让模拟更高效。这就带来一些限制。 这是当前的限制: 1. 将重的物体放到相对很轻的物体上面,会不稳定。当质量比到10:1时,稳定性就会降低。 2. 用关节将body链接起来,如果是较轻的物体吊着较重的物体,body链接有可能被拉伸。比如,一条… 阅读更多 »(转载)BOX2D V2.3.0 用户手册中文版(第13章)-限制
Chapter 13 限制 Box2D使用了一些数值近似来让模拟更高效。这就带来一些限制。 这是当前的限制: 1. 将重的物体放到相对很轻的物体上面,会不稳定。当质量比到10:1时,稳定性就会降低。 2. 用关节将body链接起来,如果是较轻的物体吊着较重的物体,body链接有可能被拉伸。比如,一条… 阅读更多 »(转载)BOX2D V2.3.0 用户手册中文版(第13章)-限制
Chapter 12 调试绘图 实现 b2DebugDraw 可得到物理世界的细部图,这里是可用的实体: • 形状轮廓 • 关节连通性 • broad-phase axis-aligned bounding boxes (AABBs) • 质心 这是绘制这些物理实体的首选方法,比直接访问数据要好。因… 阅读更多 »(转载)BOX2D V2.3.0 用户手册中文版(第12章)-调试绘图
Chapter 11 杂项 11.1 用户数据 b2Fixture, b2Body 和 b2Joint 类都允许你通过一个 void 指针来附加用户数据。当你测试Box2D数据结构,并使其跟自己游戏引擎中的对象结合起来时,这样做是比较方便的。 举个典型的例子,角色上附有物体,并在物体中附加角色的指针… 阅读更多 »(转载)BOX2D V2.3.0 用户手册中文版(第11章)-杂项
Chapter 10 世界类 关于 b2World类包含物体和关节。它管理着模拟的方方面面,并允许异步查询(例如AABB查询和光线投射)。 你与Box2D的大部分交互都将通过 b2World 对象来完成。 创建和摧毁世界 创建world十分的简单。你只需提供一个重力矢量,和一个布尔量去指定物体是否可… 阅读更多 »(转载)BOX2D V2.3.0 用户手册中文版(第10章)-世界类
Chapter 9 接触(contact) 9.1 关于 接触(contact)是由 Box2D 创建的用于管理fixture间碰撞的对象。如果 fixture 有诸如链接形状之类的子 fixture ,那么每个相应的子 fixture 都存在接触。接触有不同的种类,它们都派生自 b2Contact… 阅读更多 »(转载)BOX2D V2.3.0 用户手册中文版(第9章)-接触
Chapter 8 关节 8.1 关于 关节用于把物体约束到世界,或约束到其它物体上。在游戏中,典型例子有木偶,跷跷板和滑轮。用不同的方式将关节结合起来使用,可以创造出有趣的运动。 有些关节提供了限制(limit),使你可以控制运动的范围。有些关节还提供了马达(motor),它可以以指定的速度驱动关… 阅读更多 »(转载)BOX2D V2.3.0 用户手册中文版(第8章)-关节
Chapter 7 夹具 7.1 关于 回想一下,形状不知道物体的存在,并可独立于物理模拟而被使用。因此Box2D提供b2Fixture类,用于将形状附加到物体上。一个物体可以有零个或多个fixture。拥有多个fixture的物体有时被叫做组合物体。 fixture具有下列属性: • 关联的形状 … 阅读更多 »(转载)BOX2D V2.3.0 用户手册中文版(第7章)-夹具
Chapter 6 物体 6.1 关于 物体具有位置和速度。你可以将力(forces)、扭矩(torques)、冲量(impulses)应用到物体上。 物体可以是静态的(static)、运动但不受力的(kinematic)或动态的(dynamic)。这是物体的类型定义: b2_staticBody … 阅读更多 »(转载)BOX2D V2.3.0 用户手册中文版(第6章)-物体
Chapter 5 力学模块 5.1 概述 力学模块是Box2D中最复杂的部分,也是与你交互最多的部分。力学模块构建在通用和碰撞模块的基础上,到现在你对这两个模块也应该有所了解了。 力学模块包括下面这些类: • 夹具 • 刚体 • 接触 • 关节 • 世界 • 监听者 这些类相互依赖,很难在不提及其… 阅读更多 »(转载)BOX2D V2.3.0 用户手册中文版(第5章)-力学模块
Chapter 4 碰撞模块 4.1 关于 碰撞模块包含了形状和操作形状的函数。该模块还包含了动态树(dynamic tree)和broad-phase,用于加快大型系统的碰撞处理速度。 碰撞模块被设计为可用于动态系统之外的地方。例如,你可以将动态树用于你的游戏中,除了物理之外的目的。 然而,Box… 阅读更多 »(转载)BOX2D V2.3.0 用户手册中文版(第4章)-碰撞模块
Chapter 3 通用模块 3.1 关于 通用模块包含了配置(Settings),内存管理(memory management)和矢量数学(vector math)。 3.2 配置 头文件 b2Settings.h 包含: • 类型,比如int32和float32 • 常数 • 分配器包装(All… 阅读更多 »(转载)BOX2D V2.3.0 用户手册中文版(第3章)-通用模块
(转载)BOX2D V2.3.0 用户手册中文版(第2章)-Hello Box2D Chapter 2 Hello Box2D Box2D的发布包中有个Hello World程序。程序创建了一个大大的地面盒(ground box)和一个小小的动态盒(dynamic box)。代码没有涉及到图形界面,… 阅读更多 »(转载)BOX2D V2.3.0 用户手册中文版(第2章)-Hello Box2D
Chapter 1 导言 1.1 关于 Box2D 是一个用于游戏的 2D 刚体仿真库。程序员可以在他们的游戏里使用它,它可以使物体的运动更加真实,并让游戏世界看起来更具交互性。从游戏引擎的视角来看,物理引擎就是一个程序性动画 (proceduralanimation)的系统。 (译注: 做动画常有… 阅读更多 »(转载)Box2D v2.3.0 用户手册中文版(第1章)-导言