new 1

Mesh生成组件

ProcedualMeshComponent (PMC)

UE自带
CreateMeshSection:将零散的三角面集整理成 PMC 分段数据
CreateSceneProxy:将数据从 PMC 分段转换成代理版本,也就是渲染器数据
FPrimitiveSceneProxy:在渲染数据都准备就绪后,渲染器会在合适的时机在渲染线程调用一系列接口以获取渲染需要信息
UpdateCollision:更新组件的碰撞数据

SimpleDynamicMeshComponent (SDMC)

不支持物理

StaticMeshComponent (SMC)

UE自带

参数

UStreamableRenderAsset:用来序列化资源的,也就是对应硬盘上的资源
LockedProperties
RenderData

LODResources:
应用场景:当玩家靠近您在场景中放置的静态网格模型时,您想要让网格模型看起来非常细致。但是,一旦玩家远离网格模型,您就不需要让网格模型那么细致和复杂了。
LODs:Level of Details
LODVertexFactories
ScreenSize:默认8个屏幕大小配置
NaniteResources
Bounds

SourceModels

RuntimeMeshComponent (RMC)

第三方组件
参考网址:link

URuntimeMeshComponent

与UStaticMeshComponent相似

URuntimeMesh

不直接在主存中存储数据,依赖于URuntimeMeshProvider重新获取

URuntimeMeshProvider

其主要涉及一个URuntimeMesh如何获取配置,renderable mesh data 以及 碰撞信息 等

官方Mesh讲解

渲染流程

1、FPrimitiveSeceneProxy:为了保证线程安全,采用代理对象表示游戏线程
2、针对DynamicMesh,由于cache中没有与其相关的信息,通过调用GetDynamicMeshElement()获得FMeshBatch,达到FPrimitiveSeceneProxy与MeshPass解耦的效果
3、绘制,Traverse StaticMeshDrawList以及Drawing Policy
Drawing Policy指导绘制通道,包括基本通道以及阴影通道等
Traverse StaticMeshDrawList以及Drawing Policy功能:
构建Pipeline State,如shaders+graphics state
4、通过绘制得到RHICommandList commands集合
5、最后转换为DrawIndexedPrimitive

更改 4.22

去除Traverse StaticMeshDrawList以及Drawing Policy
FMeshDrawCommand

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值