我们虽然可以通过 Detail 面板下的 Transorm 下的 Scale 来改变它的大小,但是它有个很大的问题——当我们最后将它转换为 “Block Volume”的时候,它的 Scale 会被重置为 1,这显然不是我们想看到的结果。建议的方法是,通过修改 Brush Setting 下的 X, Y, Z 来修改大小
我们除了可以通过 Ctrl+C, Ctrl+V 来复制粘贴 BSP,还可以按住Alt + 鼠标拖动以达到同样目的。
如果我们不满足于 UE4 提供的基础 BSP,我们还可以自定义它的形状,通过选择 Mode 面板下的 Geometry Editing 选项卡,我们可以修改它的 边、面、点(如果选择了 Extrude,还可以增加截面,值得注意的是它的坐标系基于是局部坐标系的,并且得选中面才能奏效)。
细心的朋友可能早就注意到了 Brush Setting 下的 Brush Type 有 Additive 和 Subtractive 之分,
我们以 门型BSP 为例,Additive的效果:
Subtractive 的效果:
当我们将它移到墙壁上,可以看见墙上被镂空出了一个门型的“洞”:
我们还可以将 BSP 和 Mesh 相结合
首先我们通过右键点击 Import Asset,导入我们需要的 Mesh 到指定文件夹(既然我们使用了 BSP 作为障碍,那么 就不需要勾选 Auto Generate Collision),
接着我们新建一个 Blueprint,来组织我们刚导入的其中两个 Mesh:
1.新建一个 Blueprint Class,令其继承自 Actor 类;
2.通过 Add Component,依次添加我们需要的两个 Mesh。
然后,在场景中,事先放置一个 BSP Box
再把之前定义的 Blueprint Class 给拖到场景当中,调整其位置、大小和方向,是它恰好和 BSP Box契合
调整完,应该是如下的结果:
最后,重要的一步——选中 BSP Box,在 Detal 面板中选择 Convert Actor, 将其转换为 Blocking Volume(如果转换为 Blocking Volume,那么就不能用 Subtractive Brush )。
我们就可以看到 BSP Box 消失了(如果没有消失,则点击 ToolBar 上的 Build )
最后,补充一点,有时创建的规则 BSP 的碰撞检测不够精确,除了可以通过 Geometry Edit 的 Extrude功能进行补充修正,还可以通过 Staic Mesh Editor,生成近似的碰撞检测包络。
Static Mesh Editor 如图
Geometry Edit Extruding 如图:
注意: BSP 的 surface 的 多选可以通过 Detail 面板下的 Geometry / Select 进行选择,相关选项为:
(完)