饭中淹的避难所~~~~~

偶尔来避难的地方~

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  94 随笔 :: 0 文章 :: 257 评论 :: 0 Trackbacks
在MMORPG中,一般一个物体的坐标表示它的中心位置。通过坐标计算的可见性,是忽略了物体大小的。

当物体非常巨大的时候,会有一种物体突然出现突然消失的体验。

解决这个问题,可以将物体分为单足物体和多足物体,多足物体的足作为一个物体一样来通过坐标计算可见性。当物体的一个足进入视野时,即可以将整个物体载入到场景中。

但是,这种方法会收到多次的足出现和消失的信息。这种情况,可以将多足物体和单足物体的可见处理机制分开,为多足物体采用详细信息请求式的机制。

这里的足,可以是一般概念上的足,也可以是虚拟的足,只是为了给面积较大的物体一种平滑的可见性处理的方法。



在MMORPG中,除了巨大的怪物之外,载具,飞行平台,移动式大陆等都可以用这种方式来做。在这个基础上,我们可以形成一个树状的场景物件管理方法。客户端场景和物件,一般也是通过这种树状节点的方式来管理。通过客户端服务器端在场景的结构上的统一化,来实现游戏世界的表现和核心的统一,最终实现一个灵活多变,可玩性强的游戏世界。
posted on 2010-05-05 13:21 饭中淹 阅读(1843) 评论(6)  编辑 收藏 引用 所属分类: 游戏服务器游戏客户端数据算法分析

评论

# re: MMOPRG中面积巨大物件的场景可见性 2010-05-05 17:48 陈昱(CY)
视锥体和包围球的碰撞计算量很可观~  回复  更多评论
  

# re: MMOPRG中面积巨大物件的场景可见性 2010-05-05 18:21 饭中淹
@陈昱(CY)
你没看明白。。。。  回复  更多评论
  

# re: MMOPRG中面积巨大物件的场景可见性 2010-05-05 21:17 陈昱(CY)
还真的不明白,这里说的物体的显示是指服务端上要通知给客户端显示的物体?还有你说的单足物体和多足物体,还不明白是什么内容?  回复  更多评论
  

# re: MMOPRG中面积巨大物件的场景可见性 2010-05-05 21:33 饭中淹
@陈昱(CY)
是的,是服务器传给客户端显示的物体。
单足,就是只用一组坐标进行可见性检查。
多足,就是有多组坐标用于可见性的检查,只要一组坐标在可见范围内,就认为是可见。
  回复  更多评论
  

# re: MMOPRG中面积巨大物件的场景可见性 2010-05-06 04:54 陈梓瀚(vczh)
@饭中淹
一般情况下,应该是整个地图都下载到客户端,最后服务器端只负责更新“区别”吧。  回复  更多评论
  

# re: MMOPRG中面积巨大物件的场景可见性 2010-05-06 08:04 饭中淹
@陈梓瀚(vczh)
是的。
我这里描述的就是服务器在更新物件是否显示时,对大物件的处理。实际上物件的资源都在客户端。服务器只是让客户端显示或者不显示而已。
后面说的,关于客户端和服务器端在结构上的统一,是可以实现一个交互性更强的世界。比如一个完全由星球和飞船组成的世界。各部分都在靠近或者远离。  回复  更多评论
  


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理