BSP畫刷的概述和使用方法

什麼是BSP畫刷

BSP(Binary Space Partitioning,二進制空間分區)畫刷是UE早期設計關卡的主要工具

後來,隨着靜態網格體的優點越來越明顯,BSP畫刷在大型模型創建中的作用已經相對減少。

但由於BSP畫刷不需要藉助第三方3D建模軟件便能獨立完成三維模型製作,

因此其快捷、不需引入第三方軟件等的優點仍具有一定的實用價值。

用途

儘管現在主要使用StaticMeshes(靜態網格物體)來製作關卡,但是BSP畫刷在繪製關卡草圖等方面仍然有效,現在開發關卡的標準工作流程是:

▲設計出關卡草圖及關卡路徑。

▲運行關卡測試流程和遊戲性。

▲修改佈局並反覆測試

▲起始的光照環節

▲對碰撞及性能問題的遊戲測試。

▲潤色。

BSP畫刷的模式

UE中BSP畫刷共有4種模式:選擇、地形、植物和筆刷編輯,如圖所示:

img

BSP畫刷工具的選擇模式

相較於之前的版本,4.27BSP畫刷工具將常用的7種幾何體放置在“放置actor”的“幾何體”目錄下

使用時只需要將對應的幾何體拖到視口便可以創建相應的模型,如下圖所示。

BSP畫刷的其他模式放置在“模式”工具欄中,如圖所示。

image-20230829094245075

BSP畫刷的類型

在UE中,BSP畫刷設計了“添加”、“減去(挖空)”兩種幾何體類型。

拖拽“添加”類型到視口中,可在視口中添加對應的模型; 拖拽“減去(挖空)”類型幾何體到視口中,

其他BSP創建模型和“減去”類型相交的部分會補減去(注:減去類型對非BSP畫刷創建的類型無效)

添加類型

image-20230829105801490

減去(挖空)

image-20230829110613449

中空,牆壁厚度設置

我們用畫刷添加的盒體,默認是沒有添加中空的

image-20230829111514374

這樣的話,我們進入盒體就什麼都沒有,也就是沒有牆壁,這時候我們勾上中空

image-20230829111624723

可以看到,進入盒體之後,有牆壁了

有牆壁那肯定厚度的調整

image-20230829112405394

幾何體

幾何體屬性面板中有“選擇”和“對齊”兩個選項。

通過使用選擇選項可在對錶面進行材質和紋理的處理對相鄰或是相同表面進行批處理,可增強工作效率。

對齊是對錶面材質或紋理進行對齊。

image-20230829114601607

image-20230829114612812

表面屬性

image-20230829115018365

​ 你可以平移、旋轉、縮放材質的紋理

畫刷設置

筆刷類型

修改模型的類型,可將模型修改爲添加型或減去型。

筆刷形狀

修改筆刷的形狀,從而把模型修改爲7種常用模型,如下圖所示。

img

X、Y、Z

分別修改模型三個維度的大小。

牆壁厚度、中空

這兩個屬性不一般配合使用,中空主要用來設置模型內部是的空間屬性,

不選默認爲實心,勾選後模型內部爲空心;牆壁的厚度用來設置中空模型的牆壁厚度。

排序

和PS和PPT中的圖片相類似,UE中的模型也有其疊放順序,如減去型模型只能減去其下層的添加型模型,不能減去其上層的模型,其疊放順序可使用表面屬性中的排序進行調整,如圖所示:

img

固體性

固體:畫刷是畫刷的默認類型,具有以下屬性。

▲阻擋遊戲中的玩家和射彈;

▲可以是添加型或減去(挖空)型;

▲在周圍畫刷中創建BSP分割。

半固體:可以放置在關卡中且不會對周圍的世界幾何體創建BSP分割的碰撞畫刷,具有以下屬性。

▲阻擋玩家喝射彈,就像固體畫刷一樣;

▲只可以是添加型,絕對不可以是減去(挖空)型;

▲不會在周圍畫刷中創建BSP分割。

非固體:在周圍時間幾何體也不會創建BSP分割的非碰撞畫刷。它們具有可視化的效果,但是使用任何方式都無法與它們互動,具有以下屬性。

▲不會阻擋玩家或射彈;

▲只可以是添加型,絕對不可以是挖空型;

▲不會再周圍畫刷中創建BSP分割。

BSP 畫刷工具的編輯

image-20230829141126917

img

編輯

直接在視口中選擇面、邊緣或頂點。使用操縱器來平移、旋轉或縮放現有幾何體。

image-20230829141502374

在筆刷編輯界面

按住ctrl鍵的同時複選模型的多個頂點,而後沿最後一個頂點上的座標軸移動可調整選中頂點所構成的線或面,如下圖所示。

另外,視口界面可調出模型的三視圖,在不同的視圖中可方便框選所要調整的項點,提高模型的修改效率。

image-20230829142609741

分割

創建一系列錨點,以此創建阻擋體積或自由形狀幾何體。

注意:必須在2D視口中擁有聚焦才能使用筆面工具。

在一個正交視口中創健至少3個錨點,使用空格健確定錨點。

在第一個錨的上方創鍵一個錨來完放形狀。使用帶ExtrudeDepth的bAutoExtrude來創建一個3D形狀。

選中一條直線,使用分割功能可以以線的中點爲項點在模型中創建一個垂直於直線的平面,如下圖所示,分別在正方形的兩條邊上創建一個平面。

image-20230829142838297

分割完後

image-20230829142935885

結合

將選擇的所有頂點合併到首個選擇的頂點,即選擇的第一個頂點就是結合最終的頂點。

image-20230829143251738

優化

合併可形成單個凸面多邊形的所有多邊形,以此優化選定的幾何體。

如上圖中,金字塔模型中冗餘的面太多,選中金字塔後點擊優化後要削除多餘的面,如下圖所示

優化前

image-20230829144242260

優化後

image-20230829144322521

編輯案例-做一個屋頂

1.選一個好看的材質 ,拉出一個盒體

image-20230829145027613

2.使用編輯裏面的切割工具,切割成四份

image-20230829145311894

3.選中中間的點結合旁邊的點

選中,結合之前

image-20230829145541716

image-20230829145701623

結合之後

image-20230829145725500

再結合另一邊

image-20230829150019943

這樣就出現了一個屋頂,

我們再切換一下試圖,來進行拉伸,位移

image-20230829150516177

試圖切換後

image-20230829150627349

拉伸

image-20230829150729277

移動

image-20230829150852510

切換一下視圖,可以看到一個房頂

image-20230829151008696

使用BSP工具搭建場景

上面說了這麼多,現在開始搭建一個場景

創建地面和基本盒體

使用幾何體 -> 盒體 -> 設置x,y

image-20230829152110098

再拉出一個盒體,並設置x,y,z 爲500

image-20230829152332777

添加第三人稱工具包

image-20230829152601849

image-20230829152631062

添加完成後,在下面的路徑中會有小白人

image-20230829152835122

把這個小白人拖到場景中

image-20230829153120959

設置小白人的控制

上面只是添加了一個第三人稱角色,但是還沒有設置角色的控制,選中小白人

在搜索詳情中輸入 poss ,設置自動控制玩家,選擇玩家0

image-20230829153624369

運行

在設置完成後,點擊運行,即可呈現小白人控制

image-20230829154054713

構建“別墅”雛形

首先在上面基礎上面,修改下 盒體

image-20230829162503585

讓它看起來像個房子,並且可以設置一下門面的材質

再構建一個挖空型 盒體畫刷,製造一個門

image-20230829162657748

看正面效果

image-20230829162815682

製作第二層和地板

選擇這個"房子的盒體",複製一個,並進行壓扁,這樣一個地板就出現了

image-20230829163431756

設置壓縮

image-20230829163504252

再次複製一個,成爲第二層,這樣我們操行有點古怪的房子就出現了

image-20230829163839720

參考資料

https://zhuanlan.zhihu.com/p/576290823

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章