1. 程式人生 > 其它 >Unreal如何對布料和角色進行互動?

Unreal如何對布料和角色進行互動?

Hello . 大家好,今天給大家帶來Unreal如何對布料和角色進行互動?Unreal的布料系統從4.16以後,就使用了NVIDIA的NvCloth Solver替換了之前的Apex布料的解算器Solver,但是又仍然相容了之前的workflow(仍然可以通過第三方軟體來製作apx檔案然後匯入到引擎中)。比如說常見的三方軟體是指MAX,MAYA和PhysX SDK自帶的ClothingTool。

本次分享主要是在官網動畫效果的基礎上面,解決布料和人的外部碰撞。最後效果如下圖

我們這裡因為官網有詳細的教程,所以省略掉基本動畫的製作過程。

我們在完成好的布料裡面執行第三人稱遊戲發現,當前的角色與布料是沒有任何互動,因為當前布料不識別角色的碰撞,所以現在我們先右鍵布料,然後選擇Asset Actions中的Create Blueprint Using This,給布料建立一個藍圖

然後雙擊開啟我們的藍圖,選擇mesh,右邊屬性勾選Colide with Environment

完成以後儲存編譯將新藍圖拉到場景中並運行遊戲,

發現角色和布料之間還是沒有進行碰撞,但是和我們拉進去的box就會有碰撞效果。這是因為布料只能識別world static的碰撞預設,所以現在我們開啟第三人稱角色藍圖,勾選mesh的collision presets為BlockAll,然後儲存編譯

現在我們發現角色依然不能和布料進行碰撞,這是因為遊戲過程中布料的碰撞解算並沒有一直都在,所以需要開啟布料藍圖,然後新增如下節點。

表示我們不斷更改布料的位置,每次更改以後都會重新進行布料系統的碰撞計算。(能達到效果的同時也會比較效能的耗費也會比較高)現在我們儲存編譯並運行遊戲

可以看到有了互動效果,由於布料在隨時更新位置,所以具體需要看專案需求來進行合理運用。