Version:

Mesh 组件

Mesh 组件指定了一个要在场景中渲染的模型。模型资产使用 AssImp 支持和处理。

提供方

Atom Gem

Mesh 组件属性

mesh-component-base-properties

属性说明默认值
Model Asset设置该组件的模型资产。Model AssetNone
Sort Key透明模型首先按排序键绘制,然后是深度。使用它可以强制某些透明模型在其他模型之前或之后绘制。-2,147,483,648 to 2,147,483,6470
Exclude from reflection cubemaps如果启用,模型将不会在烘焙反射探针立方图中显示。BooleanDisabled
Use Forward Pass IBL Specular只使用影响最大的探测器(基于实体的位置)和全局 IBL 立方地图,在前向传递中渲染基于图像的照明 (IBL) 镜面反射。这种方法可以降低渲染成本,但只推荐用于受最多一个反射探针影响的静态物体。BooleanDisabled
Use ray tracing在光线跟踪计算中包含该模型。BooleanEnabled
LOD Type请参阅 LOD Type 下方。Default, Screen Coverage, Specific LODDefault
Add Material Component添加 Material 组件 到 实体的按钮。
Model Stats显示模型中每个 LOD 的网格数、顶点数和三角形数。

LOD Type

LOD Type 决定渲染时如何选择细节级别(LOD)。

lod-type-default

LOD Type: Default 使用配置的默认方法自动选择 LOD。O3DE 出厂时使用 Screen Coverage 方法作为默认方法。如果将来更改了默认方法,组件将自动使用新的默认方法。

lod-type-screen-coverage

LOD Type: Screen Coverage 会根据 LOD 所覆盖的屏幕大致比例来确定要渲染的 LOD。

属性说明默认值
LOD Configuration - Minimum Screen Coverage实体覆盖屏幕区域的最小比例。如果实体小于最小覆盖范围,就会被删除。0.0 to 1.01.0f / 1080.0f
LOD Configuration - Quality Decay Rate网格质量的衰减速度。

0 - 始终保持最高质量的 LOD。

1 - 立即降到最低质量的 LOD。
0.0 to 1.00.5

lod-type-specific-lod

LOD Type: Specific LOD 指定要渲染的 LOD,覆盖自动 LOD 计算。

属性说明默认值
LOD Configuration - LOD Override设置要渲染的特定 LOD。LOD 的数量取决于资产的 LOD 数量。LOD 0 (最高细节) 到 LOD n, 其中 n 是最低细节 LODLOD 0 (最高细节)

MeshComponentRequestBus

方法名称说明参数返回值可脚本化
SetModelAsset设置组件使用的模型资产。Model Asset: AssetNoneNo
GetModelAsset返回组件使用的模型资产。NoneModel Asset: AssetNo
SetModelAssetId通过资产 ID 设置组件使用的模型。Model AssetId: AssetIdNoneYes
GetModelAssetId返回组件使用的模型的 AssetId。NoneModel AssetId: AssetIdYes
SetModelAssetPath通过路径设置组件使用的模型。Asset Path: StringNoneYes
GetModelAssetPath返回组件使用的模型路径。NoneAsset Path: StringYes
GetModel返回组件使用的模型实例。NoneModel: InstanceNo
SetSortKey排序键Draw Item Sort Key: IntegerNone
GetSortKey排序键NoneDraw Item Sort Key: IntegerYes
SetLodTypeLOD 类型LOD Type: EnumNoneYes
GetLodTypeLOD 类型NoneLOD Type: EnumYes
SetLodOverrideLOD Type: Specific LOD TabLOD Override: IntegerNoneYes
GetLodOverrideLOD Type: Specific LOD TabNoneLOD Override: IntegerYes
SetMinimumScreenCoverageLOD Type: Screen Coverage TabMinimum Screen Coverage: FloatNoneYes
GetMinimumScreenCoverageLOD Type: Screen Coverage TabNoneMinimum Screen Coverage: FloatYes
SetQualityDecayRateLOD Type: Screen Coverage TabQuality Decay Rate: FloatNoneYes
GetQualityDecayRateLOD Type: Screen Coverage TabNoneQuality Decay Rate: FloatYes
SetVisibilitySets if the model should be visible (true) or hidden (false).Visibility: BooleanNoneNo
GetVisibility返回可见性。如果模型是可见的(true),这只意味着它没有被显式隐藏。任何正在渲染的视图可能仍然看不到该模型。如果模型不可见(false),则无论模型是否在视图区域内,都不会被任何视图渲染。NoneVisibility: BooleanNo
SetRayTracingEnabled使用光线追踪Is Ray Tracing Enabled: BooleanNoneYes
GetRayTracingEnabled使用光线追踪NoneIs Ray Tracing Enabled: BooleanYes
GetWorldBounds返回模型在其世界位置的轴对齐包围盒。NoneWorld Bounds: AabbNo
GetLocalBounds返回模型空间中轴对齐的包围盒。NoneLocal Bounds: AabbNo

MeshComponentNotificationBus

方法名称说明参数返回值可脚本化
OnModelReady加载模型时通知侦听器。如果首次连接到 MeshComponentNotificationBus 时模型已加载,则连接时将发生 OnModelReady 事件。Model Asset: Asset<T>, Model: Instance<T>NoneYes
OnModelPreDestroy当该组件的模型实例即将被释放时通知侦听器。NoneNoneNo