1.3 KiB
1.3 KiB
MeshRendererComponent::GetMaterial
获取指定槽位的材质指针。
Resources::Material* GetMaterial(size_t index) const;
参数
index- 材质槽索引。
返回值
- 若当前槽位已经有可用材质,返回对应
Material*。 - 否则返回
nullptr。
行为说明
按当前实现,这个访问器会先做两件事:
EnsureDeferredAsyncMaterialLoadStarted(index)ResolvePendingMaterials()
因此它不是纯只读 getter,而是一个“读访问 + 尝试推进材质兑现”的接口。
nullptr 的含义
返回 nullptr 并不只代表“索引越界”,还可能表示:
- 槽位存在,但路径为空。
- 槽位存在,材质还没完成异步加载。
- 同步或异步加载失败。
- 槽位越界。
如果调用方需要区分这些情况,应结合 GetMaterialPath 和 GetMaterialAssetRefs 一起判断。
使用建议
- 渲染提取或真正需要访问
Material对象时使用它。 - 如果只是想读取序列化主数据、调试路径或避免副作用,不要把它当作元数据 getter 使用。