游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1554|回复: 2

经验谈。谈谈在3D世界中的使用XY矩阵数据模式所存在的

[复制链接]

197

主题

1041

帖子

1104

积分

金牌会员

Rank: 6Rank: 6

积分
1104
QQ
发表于 2005-10-10 10:17:00 | 显示全部楼层 |阅读模式
起初只是考虑到地形高低起伏,还有存在某些障碍物的地形系统。结果地形往后发展,发生了很多新的需求。高山,庞大的山脉,悬崖系统,你设计terrain系统时考虑过在2D矩阵中实现悬崖吗?~包括垂直悬崖的凹凸问题,还有垂直悬崖的纹理问题~

我本来想捡懒,在原有的基础上再加一层,一层垂直层地形算法,这样来实现大型悬崖需求。

原有的地形模式为

  height
----------------

加上的一层垂直层
           |
           | height
           |
           |
height
_________

但结果不行。因为我用的是XY的2D矩阵做的数据库,有数据结构陷阱。现在我正着手从新设计数据库这一块。

我深有感想。要做真正的3D地形系统,在地形存储数据结构上一定要用3D矩阵。

再补充一下,是无限地形算法,起初是因为XY比较容易控制和实现。但走到后来,我面对大型悬崖问题时,发现在XY的圈子里根本不可能完美解决有大型悬崖这种问题。

经验谈啊。做地形系统的数据结构时,一定要用XYZ做数据交换,还有存储。

严格来说,现有的3D游戏,包括很多优秀的3D游戏,他们在terrain的解决程度上,大多都达不到我所说的以上几点。大部分用的是2D矩阵在做数据交换。2D矩阵做3D地形系统有个极大的陷阱,就是垂直地形,就是大型悬崖和大型山脉。

121

主题

2029

帖子

2034

积分

金牌会员

Rank: 6Rank: 6

积分
2034
QQ
发表于 2005-10-10 11:59:00 | 显示全部楼层

Re:经验谈。谈谈在3D世界中的使用XY矩阵数据模式所存在的

可使用分区块的2d数据。。。

2

主题

18

帖子

24

积分

注册会员

Rank: 2

积分
24
发表于 2005-10-11 00:46:00 | 显示全部楼层

Re:经验谈。谈谈在3D世界中的使用XY矩阵数据模式所存在的

xy+height的方法优势不仅仅在于地形数据简单性上,在其他方面,比如在碰撞检测和拾取系统上可以使系统效率大大提高。它几乎影响到你以后所有计算,至于搂主所说的垂直悬崖我觉得实现了固然好,但是因为实现这个,如果使系统效率大大下降,那就得不偿失。所谓的82定律。一个东西最重要的是实用,无数失败的项目的原因是追求完美。我认为,用最简单的最有效的方法得到最好的效果,才是精髓所在。暴雪的3d图形就是很经典的例子。另,魔兽世界就是xy+height地形。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-28 07:54

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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