你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

组件

Azure 远程渲染使用实体组件系统模式。 实体代表对象的位置和层次结构组合,而组件则负责实现行为。

最常用的组件类型是mesh components,该类组件用于将网格添加到渲染管道。 同样,光线组件用于添加光线,而剖切面组件用于切开网格。

所有这些组件都使用它们所附着的实体的转换(位置、旋转、缩放)作为它们的参考点。

使用组件

可以通过编程方式轻松地添加、删除和操作组件:

// create a point light component
RenderingSession session = GetCurrentlyConnectedSession();
PointLightComponent lightComponent = session.Connection.CreateComponent(ObjectType.PointLightComponent, ownerEntity) as PointLightComponent;

lightComponent.Color = new Color4Ub(255, 150, 20, 255);
lightComponent.Intensity = 11;

// ...

// destroy the component
lightComponent.Destroy();
lightComponent = null;
// create a point light component
ApiHandle<RenderingSession> session = GetCurrentlyConnectedSession();

ApiHandle<PointLightComponent> lightComponent = session->Connection()->CreateComponent(ObjectType::PointLightComponent, ownerEntity)->as<PointLightComponent>();

// ...

// destroy the component
lightComponent->Destroy();
lightComponent = nullptr;

组件在创建时附加到实体。 之后不能将其迁移至其他实体。 使用 Component.Destroy() 显式删除组件,或者在组件的所有者实体被销毁时自动显式删除组件。

一次只能向一个实体添加每个组件类型的一个实例。

Unity 特定

Unity 集成具有其他扩展函数,用于与组件进行交互。 请参阅 Unity 游戏对象和组件

API 文档

后续步骤