Komponenty

Vzdálené vykreslování Azure používá systémový vzor komponenty entity . Zatímco entity představují pozici a hierarchické složení objektů, jsou zodpovědné za implementaci chování.

Nejčastěji používané typy komponent jsou mesh components , které přidávají sítě do kanálu vykreslování. Podobně se pro vyjmutí otevřených sítí používají lehké komponenty , které slouží k přidání osvětlení a řezu vyjmuté plochy .

Všechny tyto komponenty používají transformaci (pozice, otočení, škálování) entity, ke které jsou připojeni, jako jejich referenční bod.

Práce s komponentami

Komponenty můžete snadno přidat, odebrat a manipulovat programově:

// 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;

Komponenta je připojena k entitě při vytváření. Nedá se přesunout na jinou entitu později. Komponenty se explicitně odstraní pomocí Component.Destroy() nebo automaticky, když je zničena entita vlastníka součásti.

V jednom okamžiku může být do entity přidána pouze jedna instance každého typu součásti.

Specifické pro Unity

Integrace Unity má další funkce rozšíření pro interakci s komponentami. Viz objekty a komponenty hry Unity.

Dokumentace k rozhraní API

Další kroky