Unreal Engine 4 動態切割模型實現

Unreal Engine 4 動態切割模型實現

《合金裝備:復仇》裏面,有一個很有趣的設定,遊戲裏大部分的場景和物件都可以用主角的刀動態切割。
UE4中的ProceduralMeshComponent這個組件可以很容易的就實現這種功能,下面介紹下實現的方法。

準備模型

首先我們準備一個模型。
準備一個模型

我做了一個簡單的圓柱體,用來測試。注意需要切割的地方,爲了保證細節,多放點頂點。
爲了能夠動態切割,我們要勾選這個模型的Allow CPUAccess選項。
勾選AllowCPU Access

新建藍圖

新建一個Actor藍圖,爲它添加兩個組件,一個是StaticMeshComponent,一個是ProceduralMeshComponent,在Construct Script中,將StaticMesh的模型數據拷貝到ProceduralMesh中去。
拷貝模型數據

調整ProceduralMesh參數

出於優化的目的,ProceduralMeshComponent默認勾選了UseComplexAs SimpleCollision這個屬性,爲了實現我們切割下來的能正常的進行物理模擬,需要把這個屬性給取消勾選。
這裏寫圖片描述

實現切割

這裏寫圖片描述
SliceProceduralMesh實現模型的切割。說下幾個參數:
* PlanePosition是切割平面的位置
* PlaneNormal 是切割平面的法線,也就是朝向
* Create Other Half 切割下來的部分,是否創建新的ProceduralMesh
* Cap Option No Cap,切面不縫合,Create New Section For Cap; 縫合,使用自定義的材質來貼補縫合的面; Use Last Section for Cap,使用模型的材質來貼補縫合的面。
具體效果如下:
這裏寫圖片描述

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