Składniki

Usługa Azure Remote Rendering używa wzorca systemu składników jednostki. Chociaż jednostki reprezentują położenie i hierarchiczny skład obiektów, składniki są odpowiedzialne za implementowanie zachowania.

Najczęściej używane typy składników to mesh components, które dodają siatki do potoku renderowania. Podobnie do dodawania elementów oświetlenia i wycinania płaszczyzny są używane do wycinania otwartych siatk.

Wszystkie te składniki używają przekształcenia (pozycja, rotacja, skala) jednostki, do której są dołączone, jako punkt odniesienia.

Praca ze składnikami

Składniki można łatwo dodawać, usuwać i manipulować nimi programowo:

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

Składnik jest dołączany do jednostki w czasie tworzenia. Nie można go później przenieść do innej jednostki. Składniki są jawnie usuwane z Component.Destroy() lub automatycznie, gdy jednostka właściciela składnika zostanie zniszczona.

Do jednostki można dodać tylko jedno wystąpienie każdego typu składnika.

Specyficzne dla aparatu Unity

Integracja aparatu Unity ma dodatkowe funkcje rozszerzenia do interakcji ze składnikami. Zobacz Obiekty i składniki gry aparatu Unity.

Dokumentacja interfejsu API

Następne kroki