请大家来思考一下 蜡笔物理学 的实现原理

CraneInForest 2010-10-02 02:31:17
不知道大家玩过蜡笔物理学这款游戏没,我大概描述一下好了,整个游戏比较自由,画什么就是什么,比如画一个圆形,它就会表现为一个圆形物体,可以滚来滚去,画一个矩形,那它就表现为一个方石头,并且画的物体的大小和它的质量也成正比。总之所有画出来的物体都能在物理世界中真实的表现

我想问的是,如何实现画什么就是什么的原理,如何设计的?因为可以随意的画,形状都不可知,如何设计才能让其正确的碰撞和反应呢?如果把物体上的每一个点都设置为关键点,用BOX2D引擎倒也可以实现,但是如果这样做效率就非常低下了啊~~

想不通~~求解~~

谢谢!
...全文
322 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Baesky 2010-11-10
  • 打赏
  • 举报
回复
质量可以根据封闭图形的面积和非封闭图形的长度来"度量".
一个基本的牛顿定律+图形碰撞检测就可以模拟不同形状物体的基本行为,再加上些弹性碰撞检测基本也就是这样子吧~
CraneInForest 2010-11-10
  • 打赏
  • 举报
回复
HI~Silenker,能不能大概描述一下凸包计算的原理啊~~比如一个圆,如何计算呢?

"只要把鼠标在绘制时经过的所有点看成是一个点集"如果经过的每个点都计算在内,这个点可不少啊~~如何解决效率问题呢?

谢谢!
引力场变动源 2010-10-02
  • 打赏
  • 举报
回复
物理引擎里面有个概念叫“凸包”,就是能包围物体所有顶点的一个凸多边形或者凸多面体(即点集的最小包围体),用这个来进行计算的。一般物理引擎都支持这个概念的,比如PhysX里面叫Convex.
对于你说的那些形状,只要把鼠标在绘制时经过的所有点看成是一个点集,算出它的凸包,进行计算,就行了。

8,305

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧