CustomMeshComponent Part0: Intro
阅读目标
- 什么是 MeshComponent?
- CustomMeshComponent 的用途?为什么?
MeshComponents
UMeshComponent
作为 UActorComponent
的子类之一,并作为一些具有可渲染三角形集合的实例的抽象基类
最常见的 MeshComponent 如:UStaticMeshComponent
,负责渲染静态网格资源
为什么需要 CustomMeshComponents?
创建 CustomMeshComponent 能够允许我们获取对 Mesh 的完全控制权,主要有:
- VertexShader:对每个顶点的完全控制,能够做到 material editor 无法做到的功能,例如将顶点分组应用不同的变换;或者在
USkinnedMeshComponent
或USplineMeshComponent
中应用自定义的形变方式 - VertexShader 的输入参数与资源:根据需要在 vs 中执行的逻辑,向内传递需要的参数和绑定所需要的资源
- 控制 vertex buffer 和 vertex layout:能够自定义顶点布局中所需要的元素,从而最小化顶点 buffer 所占用的内存空间,或者添加额外的属性
- 几何预处理(geometry preprocessing):可以在使用前预处理 Mesh,即可在 CPU 上执行,也可以利用委托绑定到 GPU 上的一个 compute shader 上
总览
参考链接
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Fubuki の Donuts!