UE4 使用CustomMesh动态创建网格体
CustomMesh組件?
? ? ? ? 記錄最近使用過的一個虛幻4的功能點,動態繪制網格體。
? ? ? ? 需求比較簡單,規則的圖形用幾何參數描述來動態繪制網格體。核心組件是Custom Mesh。
????????CustomMesh關聯的函數很少,都是圍繞三角形的。先列一下函數。
| 添加自定義網格體三角形 | Add Custom Mesh Triangles |
| 設置自定義網格體三角形 | Set Custom Mesh Triangles |
| 清除自定義網格體三角形 | Clear Custom Mesh Triangles |
????????添加自定義網格體三角形和設置自定義網格體三角形非常相似,設置自定義網格體三角形可以理解為清除之后添加,官方建議使用設置自定義網格體三角形。函數形式完全一直,都是需要一個CustomMeshTriangle的數組,目標為CustomMesh組件。調用之后模型就會在場景中繪制。
? ? ? ? CustomMeshTriangle的創建需要一個CreateCustomMeshTriangle函數。向量順序影響三角形法線朝向,虛幻為右手定則。這里我投了一下懶,使用了雙面材質,忽略了法線影響。
?我的使用
? ? ? ? 我在GameInstance?中放置一個三維向量的數組來存儲參數,UI操作調整幾何參數。點到三角形為硬編碼,固定的三角形組合方式。(沒想到太好的算法)
? ? ? ? 因為是硬編碼所以封裝了一個通過索引從集合取點創建?CustomMeshTriangle的宏。
? ? ? ? ?而后硬編碼創建CustomMeshTriangle集合。
?????????創建集合之后通過事件觸發更新,進行繪制。
總結
????????CustomMesh的使用本身比較簡單,但是目前硬編碼的方式不太友好,寫起來也是非??菰铩?/p>
? ? ? ? 我嘗試寫了一個算法,但是暫時沒有辦法規避面重合的問題,所以計算量非常大,再加上我用得SpinBox調整得參數導致引擎已經報無限循環的錯誤了。
? ? ? ? 如果有好辦法可以留言算法的思路。
總結
以上是生活随笔為你收集整理的UE4 使用CustomMesh动态创建网格体的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据库基础运维笔记
- 下一篇: distinct去重用法(简单明了)