Összetevők

Az Azure Remote Rendering az Entity Component System mintát használja. Bár az entitások az objektumok pozícióját és hierarchikus összetételét képviselik, az összetevők felelősek a viselkedés megvalósításáért.

Az összetevők leggyakrabban használt típusai azok mesh components, amelyek hálókat adnak hozzá a renderelési folyamathoz. Hasonlóképpen, a világos összetevőket világítás hozzáadására használják, a vágott sík összetevőit pedig a nyitott hálók vágására használják.

Ezek az összetevők referenciapontként a csatolt entitás átalakítását (pozícióját, forgatását, skálázását) használják.

Összetevők használata

Egyszerűen adhat hozzá, távolíthat el és kezelhet összetevőket programozott módon:

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

Egy összetevő egy entitáshoz van csatolva a létrehozáskor. Később nem helyezhető át egy másik entitásba. Az összetevők explicit módon vagy automatikusan törlődnek Component.Destroy() az összetevő tulajdonosi entitásának megsemmisítésekor.

Egyszerre csak egy összetevőtípus-példány adható hozzá egy entitáshoz.

Unity-specifikus

A Unity-integráció további bővítményfüggvényekkel rendelkezik az összetevőkkel való interakcióhoz. Lásd a Unity játék objektumait és összetevőit.

API-dokumentáció

Következő lépések