- 博客(10)
- 资源 (6)
- 收藏
- 关注
翻译 基于2D多边形的碰撞检测和响应(七)
七、动态刚体为了不浪费时间介绍动态刚体,可以直接参参见下面的连接:http://www.d6.com/users/checker/dynamics.htm#articles这里,展示了如何在2D游戏中实施真实的物理。我将介绍一些我所做的扩展,首先,计算给定凸多边形的惯量是有技巧的。需要提醒你的是,惯量适用于角度变化,质量适用于线形变化。较高的惯量对应于较大的质量,在这种情况下物体将
2008-02-29 10:17:00 2875 1
翻译 基于2D多边形的碰撞检测和响应(六)
六、计算触点为了动态的移动刚体,我们需要精确计算两个碰撞多边形之间的触点。对于2D来说这并不复杂,但是在3D场景中会变得非常复杂。在2D情况下,可以考虑两种情况,点和边的相交或者是边和边的相交。 这个处理过程几乎不需要教程,但是它非常适合于一个可视化的演示
2008-02-28 17:34:00 2820
翻译 基于2D多边形的碰撞检测和响应(五)
五、处理旋转在许多游戏中都可以发现一些旋转的物体。与它们的碰撞会有一点复杂。旋转精灵的标准做法是通过一个简单的角度,通常的区间是[0,2*PI]。可以使用矩阵来存贮三角操作,因此一个角度可以被转化为2*2的矩阵 一个简单的处理旋转物体碰撞的方法是保存一个原始多边形的副本,并将其转化到当前位置和角度。这是非常简单的,因此我决定详细描述并给出一个通用的碰撞检测系统,这个系统同样可以用
2008-02-28 15:51:00 2771
翻译 基于2D多边形的碰撞检测和响应(四)
四、 基本弧碰撞响应下面要作的是用给定的量将两个物体分离,并添加一点摩擦和一些静态摩擦,以便使物体静止在斜面上。该部分使用简单的速度影响算法。同样,为了使碰撞响应更加真实,物体被赋予了质量(更好的是质量的倒数)。质量的倒数是比较常用的,该值为零意味着该物体具有无穷大的质量,并因此不能移动。同时速度响应中使用质量的倒数具有更好的物理精确性。现在我们知道多边形A在位置PA具有速度VA,
2008-02-28 13:22:00 3205
翻译 基于2D多边形的碰撞检测和响应(三)
三、对快速移动的物体做进一步扩展上述方法处理慢速移动物体时会取得非常好的效果。但是当物体移动的非常快时,碰撞系统将失去准确性,丢失碰撞,或者允许物体之间相互穿越,这可不是我们所期望的。 这里我们还是使用分离坐标轴的方法,并进一步扩展,并使用该算法检测未来某时刻的碰撞和交叠。 原理还是相同的,可以使用下面的图片解释:
2008-02-28 10:20:00 3634
翻译 基于2D多边形的碰撞检测和响应(二)
二、用于碰撞响应的扩展分离坐标轴方法检测多边形相交是非常有用的方法,但是可以做更多的事情。当多边形相交时,我想将他们移开以避免他们相交。 分离轴的方法可以非常好的用于这种情况,但是还需要作一些额外的工作。必须返回相交的深度,和推开多边形将它们分离的方向。相交的深度和方向的组合称为MTD,或者最小平移距离。这是用于将物体分离的的最小向量。 为了计算MTD,我们可以使用分离坐标轴。
2008-02-27 16:59:00 4161
翻译 基于2D多边形的碰撞检测和响应(一)
简介本文是阐述如何在2D动作游戏中进行精确而高效的碰撞检测。这里的碰撞是基于多边形而不是基于精灵的。这两者之间在设计上会有不同。 基于精灵的碰撞检测是通过精灵之间的重叠的像素来完成的。而多边形使用向量数学来精确计算交点,时间和碰撞方向。虽然多边形仅仅是精灵的一个近似,但是它比精灵系统要高级。 可以精确模拟逼真的简单物理学,例如反弹,摩擦,斜面的滑行
2008-02-27 16:06:00 16158 2
原创 DirectDraw Tutorial 2
DirectDraw Tutorial 2 Alpha混合 一、 基本alpha混合 Alhpa混合有多种算法,基本的计算公式如下:result = ALPHA * srcPixel + ( 1 - ALPHA ) * destPixel其中ALHPA的范围从0.0到1.0,result为混合后的颜色,srcPixel为前景色,destPixe
2008-02-24 22:22:00 1512
原创 选择文件夹对话框
选择文件夹对话框 在一个项目中用到了选择文件夹对话框,为了方便特意写了函数来显示并返回用户选择的文件夹的路径;其中具体参数的含义可以参考http://tag.csdn.net/tag/browseinfo.xml 调用时只需要:if( FolderBrowseDialog( strUserSelectPath, TEXT("选择资源文件夹"), 0, (LPCT
2008-02-21 13:21:00 904
原创 DirectDraw Tutorial 1
DirectDraw Tutorial 1 创建窗口并显示图片 一、处理窗口消息和消息泵 下面是一个基本的win32程序,我们的主要工作是修改消息响应和消息泵的结构,该程序包含一个菜单系统,但是并没有对他的消息做任何的响应,注意程序的结构和消息处理。 //This is a simple directdraw window and use d
2008-02-20 22:04:00 982
Tutorial 2 - Extending the method of separating axis for collision response
2008-02-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人