游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1590|回复: 3

indoor+outdoor scene management and level editor design

[复制链接]

34

主题

629

帖子

629

积分

高级会员

Rank: 4

积分
629
发表于 2005-3-13 19:11:00 | 显示全部楼层 |阅读模式
我想在座的大大们,一定有人正在做这种类型场景的游戏吧,不知道大家都是如何做的,想听听大家的意见。

这几天算是马马虎虎把q3map.exe的分割部分看完了,基于PVS的渲染与portal有个很大的区别就是,PVS需要把场景中所有的brush分割到底,所以它的leaf要么是完全实心的,要么是完全空的,portal的bsp则只需要对主框架进行分割,有一个例子就是楼梯的n个台阶,基于PVS的每一个台阶在不同的leaf中,基于portal它们就在同一个leaf。我记录的数据是:某quake3地图,有大约3000个leaf,而比它大一些的doom3地图,却只有90几个leaf。。。

PVS的好处就是数据为静态,渲染的时候不需要计算,但它对动态物体的判断不够好,假如有一个需要3pass+perpixel light渲染的怪物(我说的就是doom3。。。)在某leaf中移动,如果用原始的view frustum做culling无法达到真正的剔除。

然后说说把一个个bsp房屋放在大规模室外场景中的办法,如果用PVS,对于任何一个房子,用它所有brush加上世界的边界盒做PVS,这样房子外的任何一点对于每个房子都有它自己的leaf,房子可以平移和旋转,当然只是在地图设计的时候,只要将分割平面与brush做对应变换就行了。这只是一个想法,总觉得动手做的时候会有麻烦,而且外部leaf的PVS精确性会随着场景变大而变低。。。
用portal好像才是正道,每个bsp有一个aabb,同时保存着对外部的入口比如各种门窗,渲染时候判断一下在不在bsp内,在内部的话就用leaf的portal,在外部就用外部的portal。

最后说下level editor,brush的编辑器用q3的就可以了,如果要输出portal,需要做小小的修改,或者用brush的一些属性来标识一下,doom3的编辑器是手动放portal的,如果把分割面指定好了,自动生成也是有办法的。。。

希望大家拍砖~~

190

主题

1801

帖子

2096

积分

金牌会员

Rank: 6Rank: 6

积分
2096
QQ
发表于 2005-3-13 21:27:00 | 显示全部楼层

Re:indoor+outdoor scene management and level editor design

q3的那编辑器,有版权问题吗
用他的编辑器做的场景,做成自己的格式搞到游戏里面的话,会不会有麻烦?

34

主题

629

帖子

629

积分

高级会员

Rank: 4

积分
629
 楼主| 发表于 2005-3-13 21:49:00 | 显示全部楼层

Re:indoor+outdoor scene management and level editor design

q3编辑器版权的问题我不清楚,不过用它只是生成brush,之后还要用自己的工具(根据q3map改写)将它编译成类似bsp的文件格式,这个格式就是自己的了。CSG工具自己写也可以,q3radiant的代码早就放出来了

33

主题

118

帖子

173

积分

注册会员

Rank: 2

积分
173
发表于 2005-3-14 10:17:00 | 显示全部楼层

Re:indoor+outdoor scene management and level editor design

hello,creamy_mami又看到一个研究bsp的,如果你需要对相关的问题进行讨论的话,可以到我的BLOG进行讨论好吗,当前我们也在讨论这个问题。URL

http://blog.gameres.com/thread.asp?BlogID=118&threadid=23754
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-24 20:09

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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