人气 171

[游戏程序] bsp:关于剔除多余PORT [复制链接]

九艺网 2017-3-10 17:00:24

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
关于PORT的生成和BSP的分割可以查看“天堂里的死神”的译文和SAYA3D的“关于如何剔除多余PORTS”一文。。我想研究过BSP的分割和PORT生成的人都会有自己的办法解决多余PORT的剔除的。在这里我说说我的点看法。首先PORT是由连接该PORT的两个子节点切割NODE分割面得到的(当然还包括父节点中出现的分割面),多余PORT的生成主要是在选择对应分割面的子节点上。所以我们要想办法剔除掉不必要的子节点,如何剔除:我们很清楚叶子NODE与分割面相切(这点我不敢完全肯定,但是至少我没有想出任何特殊清楚不满足这个条件)才可能是我们想要的,否则剔除。这样我们可以剔除一系列的无用节点。剔除过程可以采用先包围盒,再顶点。这样可以更快。通过这个过程我们得到关于某个分割面的正反面可能的叶子节点,然后对他们做双重FOR循环的一一配对,进行对分割面所生成的足够大的矩形进行切割,这个过程中我们又可以通过一定方法剔除些无用的配对(如两个叶子节点的中心距离大于他们半径之和,那么矩形肯定被切割没了,通过这样可以很有效的快速剔除)。废话到此,觉得有问题的指出~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|小黑屋|九艺游戏动画论坛 ( 津ICP备2022000452号-1 )

GMT+8, 2024-5-13 01:49 , Processed in 0.136182 second(s), 23 queries .

Powered by Discuz! X3.4  © 2001-2017 Discuz Team.