关于Portal的自动生成

    目前,HL2,Quake3,Unreal2,Farcry的Portal都是手动生成。很明显,随着场景复杂度的提高,工作量会剧增,而且完全属于体力劳动,很容易让人厌烦。如果能自动生成,应该是一件很爽的事,下面是关于这方面的一些文章:
    A New Partitioning Method for Architectural Environments
    这篇文章提出一种自动生成Portal的方法,一个房间作为一个cell,通过Portal连接。很明显不适用任意场景,并且Portal不能任意方向。
    Visibility Preprocessing For Interactive Walkthroughs
    Teller在这篇文章中详细的介绍了bsp,portal,pvs,这篇文章被称之为bsp bible。他从平衡bsp自动生成portal,我们先来看看portal渲染的过程,如果视点在cell C里,伪码如下:
    1. draw the polygons of cell C.
    2. for each portal p of cell C,
       if p is visible then
          recursively call the procedure for the
          back cell of p.
    很多cell里只有少量的三角形,而Portal的数量很多,这样就花费大量的时间来决定portals是否可见。如果cells足够大,而且只有少量的Portal,那么效果就很理想了。
    Automatic Cell-and-portal Decomposition
    这篇文章就能满足上面的要求,适用于任意的场景。里面的Previous work一节列举了很多这方面的文章。另,这篇论文虽很长,但是很容易看懂,以我的英文水平居然能毫无理解障碍的读完,真是头一次。
    http://www.gamedev.net/reference/articles/article1891.asp
    Automatic Portal Generation
    呵呵,中国人写的,虽短,没看太明白,用的是Teller生成Portal的方法,但是最后剔除很多不必要的Portal。
   
   
   
 

posted on 2005-03-25 23:05  ChenA  阅读(612)  评论(0编辑  收藏  举报

导航