因此,我一直在使用 Farseer 来开发具有物理功能的平台游戏,但我开始遇到一些问题,如下所示:
当我希望我的角色跳跃时,我不仅想对角色 body 施加冲力,而且更现实的是,角色 body 应该向下推其下方的物体 (1),从而向上插入自身 (2) )。
当我希望我的角色移动时,这同样适用。当角色移动时,它应该施加力量并推开其下方的物体(1),而不是携带物体并因此向相反的方向移动(2)。
虽然我将在这个游戏中使用骨骼动画,但我想将其保留为边界框形状。这将是一个网络游戏,物理将通过服务器处理。我更喜欢避免服务器压力,因此我会将角色保留在边界框内,并将所有骨骼动画保留在客户端。
这是我的问题:
Am I forced to "fake" these forces?
Is it reasonable to duplicate skeletal animations on the server side, and just use capsule bodies for the different bones of each character? Will this be too intense?
游戏应该能够支持多个房间的每个房间 20-30 人。如果确实如此,我希望避免服务器压力过大。
我尝试将其发布到 GameDev,但我还没有在那里发布图像的声誉,所以我会首先尝试在这里找到答案。
最佳答案
不要向您希望玩家移动的方向施加力,而是向相反的方向施加力。这本质上会产生碰撞,盒子会将你的角色推上来。如果您尝试使用 body 恢复属性,您可能能够达到适合您的可接受的“弹性”。
您需要先检查您的播放器是否位于盒子顶部,否则您的播放器只会向下飞行。
关于c# - 平台物理 - XNA Farseer C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8858918/