Your SlideShare is downloading. ×
Flash物理引擎 王成
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Flash物理引擎 王成

2,732
views

Published on


0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,732
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
74
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