• Like
[Flash开发者交流][2010.03.28]flash物理引擎(王成)
Upcoming SlideShare
Loading in...5
×

[Flash开发者交流][2010.03.28]flash物理引擎(王成)

  • 1,023 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,023
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
13
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. 什么是物理引擎? 主讲人 : 盛大创新院 王成
  • 2. 一个能模拟物理世界而又不和具体的应用场景相关的框架。 控制的对象:刚体或柔体 手段:平移、旋转、碰撞和连接 定义
  • 3. 物理引擎都能做哪些事情
  • 4. 物理引擎都做出了哪些游戏? 1 、切割类游戏 2 、探索解谜类游戏 3 、道具摆放类游戏 4 、绘制类游戏 5 、反弹类游戏 6 、平衡类游戏
  • 5. 主流物理引擎类游戏 切割类游戏 1 、智慧齿轮之刃 2 Mechanism II 3 、冰破维京船 Ice Breaker
  • 6. 主流物理引擎类游戏 探索解谜类游戏
  • 7. 主流物理引擎类游戏 道具摆放类游戏
  • 8. 主流物理引擎类游戏 绘制类游戏
  • 9. 主流物理引擎类游戏 反弹类游戏 1 、点火 Pyroll 2 、炮打笑面人 Roly-Poly Cannon
  • 10. 主流物理引擎类游戏 平衡类游戏
  • 11. 物理游戏对物理引擎的使用 1 、世界 2 、弹力 3 、摩擦力 4 、重力 5 、连接关系
  • 12. 目前物理引擎类游戏存在的问题 都是单机游戏… 不成系列…
  • 13. 主流的 Flash 物理引擎都有 哪些 ?
  • 14. 主流物理引擎
    • 2D Flash 物理引擎
      • Box2DFlash 2.10alpha
      • APE 0.5alpha
      • Flade
      • FOAM 0.1alpha
      • Fisix 0.5alpha
      • Motor 2release
      • Ffilmation 1.3.3
    • 3D Flash 物理引擎
      • WOW
      • JIGLib
  • 15. Box2DFlash & APE 比较
    • 资源消耗
      • 机器人 资源 消耗比较
    测试环境: Core2 Duo 3G , 2G 内存 , StageSize : 640*480 APE_24 APE_30 Box2D_24 Box2D_30
  • 16. Box2DFlash & APE 比较
    • 资源消耗
      • 多刚体资源 消耗比较
    测试环境: Core2 Duo 3G , 2G 内存 StageSize : 640*480 刚体数量: 50 矩形, 50 圆 APE1 APE2 Box2D100
  • 17. Box2DFlash & APE 比较
    • 碰撞检测流程
      • Box2DFlash:
        • BroadPhase :初测阶段,构建 pairManager 。
        • NarrowPhase :精测阶段,根据 pairManager 的分布情况构建碰撞对象岛 (Island) ,之后对岛进行约束分析 , 做出碰撞响应。
      • APE
        • 没有初测阶段的前期处理,直接对 Group 进行碰撞检测。
  • 18. Box2DFlash & APE 比较
    • 碰撞检测
    • Box2dflash : Box2d 使用 CCD( 连续碰撞检测 ) 来防止静态物体被穿透。
    • 对于动态物体,引擎会查找扫描中的新碰撞,并为这些碰撞计算碰撞时间 (TOI) ,物体会先被移动到它的第一个 TOI ,然后继续模拟,直到时间步结束。
    • APE : 速度快会穿透, constraintCollisionCycles 、 multisample 多次模拟 .
  • 19. Box2DFlash & APE 比较
    • 碰撞响应
    • Box2dflash : Baumgarte 算法,算法复杂度最低,存在稳定性的问题。
    • APE : 一锤子买卖,没有积分处理,效果不理想。
  • 20. Box2DFlash & APE 比较
    • 功能比较
      • 表 一 : 功能比较表
    Box2DFlash APE 多场景 支持 不支持 模型 模型多、功能强大 有基本模型,复杂模型需要自己实现 渲染 无渲染模型 有渲染模型 碰撞精确度 比较精确 有时存在视觉 bug 单位 MKS Pixel
  • 21. Ffilmation
    • 1 、设计理念
      • 不是纯粹的物理引擎,而是针对 2.5D 游戏的 lib
    • 2 、优点
      • 功能强大:以 XML 构建地图和场景,包含灯光和投影
    • 3 、缺陷
      • 缺乏网络交互模块
      • 性能消耗严重
      • 存在破面
    Ffilmation_example1_light Ffilmation_example2 Ffilmation_example3_4lights
  • 22. 如何对物理引擎进行扩展?
    • 形状扩展
      • 建立自己的几何模型
      • 处理新增的几何模型和旧有的几何模型之间的碰撞检测关系
    • 连接扩展
      • 根据自己的需求重新实现刚体间速度和位置的约束
  • 23. 我们该如何使用?
    • 一、如果需求比较复杂,需要使用较多复杂的物理模型则选用 Box2D 较好,或者对 Box2D 进行扩展和改进;如果项目较小,只需要使用一些常规的简单物理模型,则直接使用 APE ,或者对 APE 进行扩展。
    • 二、如考虑向其他语言或平台的延伸以及和 GIS 平台的对接,显然 Box2D 更具优势。
    • 三、 Ffilmation 怎么办 ? 关注、观望 或者 改造!
    • 四、做联机的物理游戏。
  • 24. THANK YOU! Q&A