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
- C# ComponentBase
- C# RenderingConnection. CreateComponent ()
- Entita jazyka C#. FindComponentOfType ()
- ComponentBase C++
- C++ RenderingConnection:: CreateComponent ()
- Entita C++:: FindComponentOfType ()