游戏开发论坛

 找回密码
 立即注册
搜索
查看: 6664|回复: 4

请教一下,服务器端的运动模拟和碰撞检测应该使用物理

[复制链接]

149

主题

4981

帖子

5033

积分

论坛元老

Rank: 8Rank: 8

积分
5033
QQ
发表于 2007-7-13 18:35:00 | 显示全部楼层 |阅读模式
目前我用的是Bullet,服务器端和客户端都是Bullet,不知道是我使用的问题还是它本身的问题,似乎总体上运行效率很成问题……
我在我的电脑上同时运行了客户端和服务器端,客户端使用OGRE来渲染,场景里只有一个天空盒,然后就是需要同步的自由落体,这些裸体的运动由服务器端和客户端的物理引擎Bullet来模拟,渲染fps限制在60。
每个物体的同步频率为20hz。我先设置100个物体,但是客户端不渲染它,物理引擎也没有模拟它的运动,这时同步数据包从服务器端发出到客户端开始处理它所经过的延时都很低,只有十几毫秒。
然后,我让物体能被正常渲染、运动模拟,当落体数量<=40时,延时仍然只有十几毫秒,但当物体超过40时延时就会迅速上升到无法接受……这样的性能我也无法接受……
所以我现在在考虑是否要自己实现简单的碰撞检测和物理模拟,毕竟专门的物理引擎里可能有很多是我目前还不需要的……请各位大牛指点一二,谢谢…… [em5]

0

主题

199

帖子

199

积分

注册会员

Rank: 2

积分
199
发表于 2007-7-14 15:19:00 | 显示全部楼层

Re:请教一下,服务器端的运动模拟和碰撞检测应该使用物

不明白为什么需要在服务器端模拟物理引擎 —— 这样只怕网络要求会太高。
根据以往的经验,在线性增加负荷的情况下,性能的突然降低,最常见的情况使用了虚拟内存。

149

主题

4981

帖子

5033

积分

论坛元老

Rank: 8Rank: 8

积分
5033
QQ
 楼主| 发表于 2007-7-14 18:53:00 | 显示全部楼层

Re:请教一下,服务器端的运动模拟和碰撞检测应该使用物

谢谢……
我已经决定自己做场景管理了,本来是想借助物理引擎来做场景管理的,现在看来这个懒是偷不得了……

10

主题

69

帖子

69

积分

注册会员

Rank: 2

积分
69
发表于 2007-7-16 13:26:00 | 显示全部楼层

Re:请教一下,服务器端的运动模拟和碰撞检测应该使用物

个人感觉楼主的客户端应该不需要用到BULLET,客户端仅仅是获得用户输入,而后传输到服务端,服务端根据用户输入修改刚体的参数,进行physics simulation,服务端每完成一帧的simulation发信息到客户端同步即可.

0

主题

6

帖子

90

积分

注册会员

Rank: 2

积分
90
发表于 2016-5-9 11:20:43 | 显示全部楼层
conquerors 发表于 2007-7-16 13:26
个人感觉楼主的客户端应该不需要用到BULLET,客户端仅仅是获得用户输入,而后传输到服务端,服务端根据用户输 ...

每一帧都同步吗???
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2024-5-20 07:58

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表