###### tags: `UE4` # UE4 使用藍圖生成物體 Part 2 * 創立新的Actor藍圖物件,並且將其命名為BP_Blocker。 ![](https://koenig-media.raywenderlich.com/uploads/2016/12/30-181x500.png) ![](https://koenig-media.raywenderlich.com/uploads/2016/12/31.png) * 點選左上Add componment 新增 StaticMesh物件,在右手邊StaticMesh選項中添加障礙物骨骼,點選compile & Save。 ![](https://i.imgur.com/GV8U1TU.png) * 回到BP_FloorTile,建立Arrow物件三個,並將其命名為SpawnPoint,SpawnPointL,SpawnPointR ,將三個物件分別放到地板的中間,左邊,右邊靠近盡頭的位置,大約Location "X"為890 Y請自行調整至左右邊即可。 ![](https://i.imgur.com/NkAIbbX.png) * 接下來我們要新增一個函式,點選左側+Function 並將其改名為 SetSpawnPoint。 ![](https://i.imgur.com/amBaiAI.png) * 接下來將我們剛剛新增的三個Arrow物件按著CTRL拖曳進藍圖區。 ![](https://i.imgur.com/2FDOohb.png) * 新增 Get Relative Transform 將三個Spawn Point給連接上去。接下來新增 Make Array 點選Add pin生成出三個節點將 Return Value 連接上去 ![](https://i.imgur.com/XIBvrAv.png) * 接下來右鍵Array節點,點選Promote to Variable,將數值改變為變量。並將其改名為SpawnPoints,將Set Spawn Point 連接到SET上,按下Compile & Save。 ![](https://i.imgur.com/uhfN8wV.png) ![](https://i.imgur.com/jgoDzOc.png) * 接著點選上方Construction Script,將左側Set Spawn Points 拉進去藍圖區域,並和Construction Script連接。 ![](https://i.imgur.com/UyJyGJB.png) * 新增一個函式,點選左側+Function 並將其改名為 SpawnBlocker。 ![](https://i.imgur.com/amBaiAI.png) * 在藍圖空白處右鍵新增 AddChildActor Component,點選左側SpawnPoints元件,將其拖曳進藍圖中。 ![](https://i.imgur.com/kilKJDz.png) * 並且將Child Actor Class 設定為BP_Blocker ![](https://i.imgur.com/yR7xxwu.png) * 接下來右鍵新增Get和SpawnPoints連接,並且將GET連接到Relative Transform。 ![](https://i.imgur.com/wUXjcZc.png) ![](https://i.imgur.com/VONMas7.png) * 點選上方回到Construction Script,將Spawn Blocker從左側拖曳進藍圖,並且和Set Spawn Point連接。 ![](https://i.imgur.com/dlukwWX.png) * 點選上方回到 Spawn Blocker,右鍵藍圖空白處新增 Random interger in range,並且點選Spawn point 物件節點拉出來後新增 Last index,將其連接到 Random interger in range 的 MAX,再將Return Value 連接回 GET 綠色節點。 ![](https://i.imgur.com/npuklOs.png) * 按下Compile & Save,返回主畫面,你可以看到路面上會隨機生成障礙物,可式障礙物此時骨骼還沒有被加入,所以點回BP_Blocker,在右手邊點選StaticMesh ,點兩下你選擇的骨骼進入靜態網格物體裡,點選上方Collision,選擇Auto convex Collicion,點選右側Apply按鈕並儲存。 ![](https://i.imgur.com/Lg8SaTk.png) ![](https://i.imgur.com/DW42Cch.png) * 返回主畫面,案Play進行測試。 ![](https://i.imgur.com/oVEjNfN.png)