搞定室内空间bsp分割,发文祝贺!

经过7天的努力,终于搞定了bsp基本分割算法和portal自生成算法了。
现在在网吧,不太方便,只有图可以放出来,相关的内容等能上网了以后再说。
下面是一个场景的截图(绿色线框就是自动生成的portal):
 初始模型:

init model in 3dmax7

 

反转后的模型:

after flip normal in 3dmax7

室内空间:

bsp space

bsp space 2

bsp space 3

全空间:

portals 1

portals 2

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
unity中的BSP(Binary Space Partitioning)是一种在游戏开发中常见的空间分割技术。其核心思想是将游戏场景或大型模型划分成一系列的二叉空间分割面,从而方便场景的渲染、碰撞检测、光照计算等。 BSP的基本原理是通过建立一棵二叉树来表示3D空间的分割结构。在建树过程中,将空间按照分隔面进行分割,并为每个分割面设置相应的隐式函数。这些分割面可以是平面、球体或其他形状,用于将空间划分为两个子空间,通常分为正面和背面。这样,树的叶子节点将是游戏中的实际几何物体。 使用BSP的优点之一是可以快速进行一些特殊效果的渲染,例如阴影计算和可视化剔除。通过判断相机是否位于BSP的一个子空间中,可以剔除掉不需要渲染的物体,提高渲染性能。另外,BSP也可以用于进行碰撞检测,例如判断一个物体是否与某个子空间相交。 然而,BSP也存在一些限制和挑战。当场景非常复杂时,BSP的构建和维护可能会变得非常耗时,并且需要大量的存储空间。此外,由于BSP是静态的,对于动态场景的更新和改变支持不够灵活。因此,对于大型地图或需要动态变化的场景,可能需要使用其他的空间分割技术。 综上所述,BSP是一种在unity游戏开发中常见的二叉空间分割技术。它通过建立二叉树来表示3D空间的分割结构,提高了渲染、碰撞检测和光照计算等方面的效率。然而,BSP也有其局限性,适用性受到场景复杂性和动态性的限制。通过合理的选择和应用,BSP可以为游戏开发带来很大的好处。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值