单一世界架构初探之角色视野
来源:互联网 发布:linux rm命令不询问 编辑:程序博客网 时间:2024/05/16 07:29
角色视野理论和世界粒度有密切的关系,主要为了解决客户端的计算量而单独提出来的。以前的例子曾经提到过国战的例子,都是从服务器角度来解析如何实现,却从来没有考虑客户端的情况,而角色视野就是从客户端角度来解决国战的例子。
我考察下,国战时,对客户端会有什么影响呢?首先,在角色视野将充斥大量的人和事物;其次,各种魔法和战斗将频繁发生;再次,和服务器的通讯量将激增;最后,本机计算量将飙升。很多质疑单一世界架构的可能性,就是认为,在现有架构下,无法解决这些问题。我们撇开不谈,先研究下,对于一个角色来说,参与国战的话,需要什么呢?
对于一个角色来说,他真正面对的,只是他视野内所有的东西,我举个荆棘谷的例子。我在荆棘谷的时候,曾经在部落营地发生过好几次战斗,在阿拉希高地也进攻过部落营地,幽暗城有一次,可惜刚入门口就死了,老是进不去,晕,没亡灵角色,不会走。格罗姆高营地的战斗有不少特点,首先,他的树多,视野不是很宽,还蛮多悬崖、废墟。但我们战斗的时候真正面向的只是眼前一个锥形视野,有时候,被部落从背后偷袭却没发现。当然,在你转身跳跃时,场景会急剧变化,成360度全景视野。
另外一个特点,我们真正看清楚的是周围大概30码球形范围内的东西,而超过30码外的,轮廓就很小了,可以看到他们正在和怪物战斗,但具体使用什么法术或者技能的细节却看不出来。比如术士使用死亡缠绕,怪物被恐惧到处跑,你可以看到怪跑动的过程,却看不到死亡缠绕发出的过程。而更远的山脉仅仅只能看到一个轮廓。这几个特点,和真实人类视野也是相似的。人真正看到的也是眼睛目力所及的一个锥形区域,越远的地方看到的也越小。
我们在世界粒度试图探讨,如何降低粒度来降低数据量,这个课题跟角色视野息息相关。假设有1千人在视野范围内进行战斗,你真正能够看到,看仔细的只会是很小距离内的一部分人,而其他人甚至头只要动下就能给你很好的视觉体验。
我们知道,角色视野是个球形区域,越远的视野将越小,粒度越粗。当粒度足够粗的时候,大可不必象细粒度那样计算。所以我在世界粒度篇曾经提过,如果降低粒度来换取计算量的减少。
还有另外方案,我们知道当视野超过一定距离时,粒度将相应降低,那么我们将角色限制在一个球形空间中,角色看到视野超过球形空间半径以外的东西,都是类似于视频那样的图象,而不是靠实时计算出来的。这种方案的基础是认为,网络传输给客户端的代价要远低于客户端的计算代价,这种方案有一定的理论基础。对视频来说,已经有足够的技术压缩一定范围内的视频图象,而角色看到的是粗粒度的图象实际上具有很大的压缩空间。对于近距离的角色变化,完成可以通过本地进行细粒度计算来完成。这样,可以降低了本地GPU的计算压力。
在国战模式下,在角色视野范围可能密布其他角色,由本地承担计算任务,以现在的GPU能力,控制在百人之内应该还是可以的。视野之外,由服务器计算完成,通过压缩到本地解开,合并成一个完整的角色视野。
- 单一世界架构初探之角色视野
- 单一世界架构初探之投影世界
- 单一世界架构初探之世界粒度
- 单一世界架构初探
- 单一世界架构初探之登录管理
- 单一世界架构初探之数据管理
- 单一世界架构初探之计算迁移
- 单一世界架构初探之动态分区
- 单一世界架构初探之边界冲突
- 单一世界架构初探之数据抽象
- 单一世界架构初探之高速通讯
- 单一世界架构初探之主动模式
- 单一世界架构初探之RTCP启示
- 单一世界架构初探之碰撞检测
- 单一世界架构初探之世界地图
- 单一世界架构初探之服务部署
- 单一世界架构初探之终端分布
- 单一世界架构初探之时间之轴
- 基本概念
- 家庭装修工作分解结构
- vc2005调试
- 浅谈linux中的模块加载 lsmod,modprobe,depmod
- 单一世界架构初探之世界粒度
- 单一世界架构初探之角色视野
- 设计模式20:Strategy Pattern (策略模式)
- 设计师
- 涉及日常凭证处理的几类凭证的基本概念
- 获得系统时间(年/月/日/。。。)
- 康德名言收藏
- 大型网站架构演变和知识体系
- 免费的数据库建模工具
- Rational产品客户服务资源