15得票2回答
一旦玩家旋转360度达到圆周率,转速如何?

因为Golang在游戏开发上表现良好,所以我选择使用它来制作游戏。我让玩家始终面向鼠标,但希望通过转弯率使某些角色的转向速度更慢。以下是它计算转弯圆周的方法:func (p *player) handleTurn(win pixelgl.Window, dt float64) { mo...

10得票2回答
给定任意凸2D多边形,如何计算其转动惯量?

我已经花了几个小时研究这个问题,但不知何故,我找不到解决方案。 给定一个凸多边形,该多边形以顺时针顺序围绕多边形的质心定义为点数组,如何计算多边形的惯性矩? 我已经能够找到各种形状的公式,例如矩形或圆形,但没有针对任意凸多边形的公式。 例如,质量为m,高度为h,宽度为w的矩形绕其质心旋转...

7得票1回答
处理3D游戏中的横向移动/侧步

我很新于游戏开发,成功建模了一个3D地形,并有一个能够在游戏世界中自由移动的相机,不过遇到了一个问题,我无法解决。 目前,我有以下方法来实现向前/向后移动: void Player::moveForward(const float speed) { Vector3 pos = ge...

15得票2回答
KD树分割

我目前正在为一个物理引擎(业余项目)编写KDTree。 KDTree不包含点。 相反,它包含用于环境中不同对象的轴对齐边界框。 我的问题是如何在节点满时决定如何拆分KDTree节点。 我正在尝试两种方法: 方法1:始终在最大轴上将节点完全平分。 这有一个优点,即树的分布相当均匀。 很...

8得票2回答
C++ 时间测量看起来太慢

我正在使用OpenGL GLUT代码编写游戏,并应用一种游戏开发技术,这种技术的核心是测量游戏主循环中每个迭代消耗的时间,以便可以将游戏场景更新与上次更新的时间成比例地进行。为了实现这一点,我在循环开始时使用以下代码: void logicLoop () { float final...

11得票2回答
4D和n维物理引擎

有人尝试实现实时的4D或n维物理引擎吗? 与3D和2D物理引擎相比,这种实现有哪些困难?其中之一当然是展示问题。研究4D超球体、超立方体、弹簧、关节、液体和其他物体是很有趣的。 我只是抱着好奇心,没有真正使用它的应用。 我的想法的概括是在Lobachevskian或Riemann几何中的...

20得票6回答
在Swift中的SpriteKit物理引擎——球体滑向墙壁而不是反弹

我一边学习SpriteKit(使用Ray Wenderlich等人的iOS Games by Tutorials),一边基于Breakout创建了一个非常简单的测试游戏,以查看我是否能够应用所学的概念。我决定通过使用.sks文件创建精灵节点并将手动边界检查和碰撞替换为物理体来简化代码。 然而...

9得票4回答
SAT多边形和圆形碰撞 - 解决速度方向上的交点并确定碰撞的一侧

概述 这个问题是关于 JavaScript 的,但任何语言、伪代码或仅仅是数学公式的回答都可以! 我一直在尝试实现 分离轴算法 来完成以下任务: 检测凸多边形和圆之间的交点。 找到一个可应用于圆形的平移以解决相交的问题,使得圆只与多边形接触,而不再在其中。 确定碰撞的轴(详情见问题末尾...

7得票2回答
requestAnimationFrame JavaScript:恒定帧率/流畅图形

根据几位开发者的说法(链接1,链接2),使用requestAnimationFrame实现恒定帧率的正确方式是在游戏循环中调整“上次渲染”时间,具体方法如下: function gameLoop() { requestAnimationFrame(gameLoop); n...

9得票1回答
在Android Studio中如何使用3D图形?

我想知道应用程序开发者如何创建具有3D动画和图形的游戏。有人知道这些游戏是如何制作的吗?并且它可以在Android Studio中完成吗?