FW: http://www.sineysoft.com/blog/post/wow_inspect1.html

没有办法WOW太经典,当自己碰到问题的时候再回头研究wow发现wow尽然没有问题,暴雪的游戏制作经验让wow一开始就设计的如此讲究,不得不感叹国内游戏同世界设计方面的差异。

由于没有wow的源代码,所有的分析想法都来自与wowmapview这个开源的wow地图察看器,wowmapview的代码写的很凌乱,但很容易理解,好了,我们开始吧!Gogo

wow场景是由一系列MapTile组成,这些MapTile的大小是1600/3 ≈ 533.33m,而每个MapTile又是由 16x16 个MapChunk组成,由此可以计算出每个MapChunk≈33.33m,如图:

在wow中,一个MapTile是有由一个adt文件描述。

比 如World/Maps/AhnQiraj/AhnQiraj_29_48.adt文件就描述在xz(29,48)位置的MapTile,每个 MapTile都包含了该tile内使用的贴图(引用外部)、模型(引用外部)、wmo(MapObject)、模型实例、wmo实例,所谓模型实例就是 相同模型在tile内不同摆放位置、大小、角度的说明信息,在wow引擎中的术语是doodad,即可以随意摆放的小东西,wmo实例类似。为了节省文件 尺寸,模式实例、wmo实例是通过index模型、wmo的方式保存的,同顶点索引类似。

每个MapChunk又由9x9+8x8个地形顶点高度,法线,若干贴图层(一般为4层),水面,Alpha贴图层(用于控制地表贴图的混合比例,一般为3张,尺寸64x64)和一层shadow map(64x64)组成。如图,由此可推算出wow的地面精度≈2m

Wow的地表是非常精细的,这与它使用了alpha贴图控制地表混合比例有关,而一般的引擎则把地表贴图的混合比例放在地表顶点中记录,这样地表的精度将同顶点密度保持一致。

Wow使用固定方向光照,所以可以使用shadow map来模拟树、房子等在地表透射的阴影,shadow map的尺寸也是64x64,可见阴影的精度也是非常高的。

这样的地形顶点分布是wow在最高地表精度下的高度顶点布局,当相机原理MapChunk时,这个高度顶点的布局可能是这样:

此时,地表的精度≈4m。

Wow 的地表是支持挖洞的,有意思的是为了节省空间,其标示挖洞的信息数据就是一个int,通过使用位运算来得到一个4x4精度的挖洞信息,我们不放把这种 4x4的洞叫做holeChunk,每个holeChunk支持4种状态来标示其内部2x2的洞分布状况,由此可见wow在数据结构方面已经发挥到了极 致:对于需要精密表现的地表好不吝啬的使用64x64混合贴图,而对于hole这种只需要粗略(一半还不使用的东西)的记录一个int。

Tags: wow  wowmapview
发布:siney 分类:游戏开发 评论:6 引用:0 浏览:1704 <script type="text/javascript" language="JavaScript">strBatchCount+="spn55=55,"</script>
  • 相关文章:
  •  1.clayman
  • 哦,非常不错的文章
    学习ing~~~
  • 2006-08-28 14:38:12 回复该留言
  •  2.RomanticLife
  • 哇,技术如此之强~!

    也是,WOW是一款超强的游戏!

  • 2006-08-31 17:06:17 回复该留言
  •  3.000000
  • "Wow的地表是非常精细的,这与它使用了alpha贴图控制地表混合比例有关,而一般的引擎则把地表贴图的混合比例放在地表顶点中记录,这样地表的精度将同顶点密度保持一致。"

    我猜测wow的alpha混合在渲染的时候也是放在顶点上的。只是在保存的时候作为单独的贴图来保存。

  • 2006-09-11 18:25:43 回复该留言
  •  4.星
  • http://www.sineysoft.com
  • 引自 000000

    "Wow的地表是非常精细的,这与它使用了alpha贴图控制地表混合比例有关,而一般的引擎则把地表贴图的混合比例放在地表顶点中记录,这样地表的精度将同顶点密度保持一致。"

    我猜测wow的alpha混合在渲染的时候也是放在顶点上的。只是在保存的时候作为单独的贴图来保存。

    不是这样,渲染的时候是像素级的,那张贴图会用在ps级别来决定混合的比例。

  • 2006-09-14 15:21:38 回复该留言
  •  5.亮
  • alpha信息保存在地表信息中,在实时渲染时把这些信息读出来,组成一张纹理,纹理的前三个通道分别表示三张detail texture的alpha信息,第四个通道表示什么我忘了,很久以前看的。
  • 2006-12-07 01:51:50 回复该留言
  •  6.久远
  • 这也算是2级静态LOD的吧?

Siney's BLOG - 我也来分析魔兽世界-场景组织相关推荐

  1. 魔兽世界场景组织浅析

    没有办法WOW太经典,当自己碰到问题的时候再回头研究wow发现wow尽然没有问题,暴雪的游戏制作经验让wow一开始就设计的如此讲究,不得不感叹国内游戏同世界设计方面的差异. 由于没有wow的源代码,所 ...

  2. 12关于FFmpeg的四种时基和时基相关函数的分析及其场景用法

    12关于FFmpeg的四种时基和时基相关函数的分析及其场景用法 前言: AVRational类型:是一个分数.例如{1,25}表示1除以25即1/25. 时基:时间的单位,在ffmpeg下被描述成时基 ...

  3. Office 365有个AI「工作场所分析」掌握组织人力资源

    2019独角兽企业重金招聘Python工程师标准>>> 从企业管理阶层的角度来看,想维持员工们工作时的高效率,同时又得顾及每个人的工时负荷是否恰到好处,这一直以来就是个让人头疼的课题 ...

  4. F2FS文件系统架构与原理分析(五)——元数据组织及管理

    from : http://blog.chinaunix.net/uid-28989651-id-3911126.html 1. 元数据区域 元数据区域包含以下几种元数据(参见博文:F2FS文件系统架 ...

  5. java 设计模式 优缺点_java设计模式2:原型模式(机制\优缺点分析\使用场景)...

    1. 原型模式实现机制 原型模式在设计模式中相对比较简单,它直接通过实现 Cloneable接口,再重写 clone()方法返回想要的对象就OK 了. 一起来看下代码 : public class P ...

  6. 用户画像分析与场景应用

    一.用户画像 1.概念描述 用户画像,作为一种勾画目标用户.联系用户诉求与设计方向的有效工具,用户画像在各领域得到了广泛的应用.用户画像最初是在电商领域得到应用的,尤其在数字化营销范畴之内,核心的依赖 ...

  7. 【用户分析-用户场景】这TM才是产品思维!

    @奶牛Denny :很长一段时间里,市场推广/营销(Marketing)在中国似乎是一个大家很忌讳的词汇.市场推广无非就是夸大包装,炒作一下,卖卖情怀--很多人都是这么觉得的,因为确实有一部分急功近利 ...

  8. 破解数字化转型困局,企业分析协同场景案例解析

    随着互联网技术和数字化生存带来的众多商业模式创新,企业不断加速数字化转型,挖掘数据价值.指导业务决策,而高效流畅的协同能力却成为了企业组织管理和数据驱动的瓶颈. 典型场景有如企业数字化团队人员各自为战 ...

  9. 淘宝运营 智钻精准营销 智钻分析 应用场景 投放方案

    钻展在2017年升级成为智钻,整个的游戏规则都变了,不仅可以将内容优化后推给买家,还可以定向选择买家.对于创意内容.投放出价都有着自己的一套运行方案,智钻比钻展更加的数据化.智能化,今天就来聊聊智钻. ...

最新文章

  1. 改善深度学习训练的trick总结 | CSDN博文精选
  2. 程序员看了都会笑的20个瞬间...
  3. IT专业人士需要知道的2018年七大技术趋势
  4. 常见Java面试题之JVM加载class文件的原理机制
  5. Java黑皮书课后题第9章:*9.6(秒表)设计一个名为StopWatch的类,该类包含……。编写一个测试程序,用于测量使用选择排序对100000个数字进行排序的执行时间
  6. 使用Apache POI插入内容
  7. linux系统下载r软件安装,在Linux系统安装R
  8. 不知道怎么用GitHub怎么当程序员?拿出十分钟,包你会
  9. 仿OUTLOOK2007 多样化摺叠菜单
  10. 计算机绘图图库的创建,工程制图与计算机绘图.doc
  11. Web安全漏洞之SSRF
  12. 滴滴配合警方调证不超 10 分钟;苹果否认恶意芯片报道;贝索斯建火箭中心 | 极客头条...
  13. 2015年,我们一起经历的IT安全事件
  14. flow-shop调度问题、job shop调度问题、open shop调度问题 是什么 区别
  15. phalcon index.php,除了Phalcon php中的indexAction之外,无法调用indexController的动作
  16. 驻马店计算机招聘信息网,2017河南职称计算机考试报名:驻马店职称计算机报名入口...
  17. iOS webp图片展示处理
  18. ping服务器时显示的ttl是什么意思,运行PING本机IP的时候显示TTL=64是什么意思啊?这个数值? 爱问知识人...
  19. 如何在Mac上设置iCloud
  20. 树莓派存储方案_树莓派网络存储(NAS)

热门文章

  1. 线性代数行列式计算之元素拆分与凑项法
  2. GIS——地图比例尺
  3. dau计算公式_如何预估一个产品的日活(DAU)?
  4. echarts3d饼图
  5. Python判断空集
  6. Python绘制正弦、余弦函数图像
  7. 微软 MSN BEET SDET 面试经过和总结
  8. python 第三方插件登陆——QQ
  9. IM1253B交直流电能计量模块(艾锐达光电)
  10. Caffeine - Caches - Eviction