Delen via


Luchtreflecties

In Azure Remote Rendering wordt een luchtpatroon gebruikt om objecten realistisch te verlichten. Voor augmented reality-toepassingen moet dit patroon lijken op uw echte omgeving om objecten overtuigend te maken. In dit artikel wordt beschreven hoe u het patroon van de lucht kunt wijzigen. De lucht is alleen van invloed op het weergeven van PBR-materialen. Kleurmaterialen en puntwolken worden niet beïnvloed.

Notitie

De luchttextuur wordt ook wel een omgevingskaart genoemd. Deze termen worden door elkaar gebruikt.

Objectverlichting

Azure Remote Rendering maakt gebruik van fysiek gebaseerde rendering (PBR) voor realistische belichtingsberekeningen. Hoewel u lichtbronnen aan uw scène kunt toevoegen, heeft het gebruik van een goede luchttextuur de grootste impact.

De onderstaande afbeeldingen tonen resultaten van het verlichten van verschillende oppervlakken alleen met een luchtpatroon:

Ruwheid 0 0,25 0,5 0.75 1
Niet-metaal Diëlektrische, ruwheid=0 Dilektriciteit, Ruwheid=0,25 Diëlektrische, ruwheid=0,5 Diëlektrische, ruwheid=0,75 Diëlektrische, ruwheid=1
Metaal Metaal, ruwheid=0 Metaal, ruwheid=0,25 Metaal, ruwheid=0,5 Metaal, ruwheid=0,75 Metaal, ruwheid=1

Zie het hoofdstuk materialen voor meer informatie over het verlichtingsmodel.

Belangrijk

Azure Remote Rendering maakt alleen gebruik van het luchtpatroon voor verlichtingsmodellen. Het geeft de hemel niet weer als achtergrond, omdat Augmented Reality-toepassingen al een juiste achtergrond hebben - de echte wereld.

Het luchtpatroon wijzigen

Als u de omgevingstoewijzing wilt wijzigen, hoeft u alleen maar een patroon te laden en de sessie te SkyReflectionSettingswijzigen:

async void ChangeEnvironmentMap(RenderingSession session)
{
    try
    {
        Texture skyTex = await session.Connection.LoadTextureFromSasAsync(new LoadTextureFromSasOptions("builtin://VeniceSunset", TextureType.CubeMap));
        session.Connection.SkyReflectionSettings.SkyReflectionTexture = skyTex;
    }
    catch (RRException exception)
    {
        System.Console.WriteLine($"Setting sky reflection failed: {exception.Message}");
    }
}
void ChangeEnvironmentMap(ApiHandle<RenderingSession> session)
{
    LoadTextureFromSasOptions params;
    params.TextureType = TextureType::CubeMap;
    params.TextureUri = "builtin://VeniceSunset";
    session->Connection()->LoadTextureFromSasAsync(params, [&](Status status, ApiHandle<Texture> res) {
        if (status == Status::OK)
        {
            ApiHandle<SkyReflectionSettings> settings = session->Connection()->GetSkyReflectionSettings();
            settings->SetSkyReflectionTexture(res);
        }
        else
        {
            printf("Texture loading failed!\n");
        }
    });
}

De LoadTextureFromSasAsync variant wordt hierboven gebruikt omdat een ingebouwde textuur wordt geladen. Wanneer u in plaats daarvan vanuit gekoppelde blobopslags laadt , gebruikt u de LoadTextureAsync variant.

Sky-patroontypen

U kunt zowel kubuskaarten als 2D-patronen gebruiken als omgevingskaarten.

Alle patronen moeten een ondersteunde textuurindeling hebben. U hoeft geen mipmaps op te geven voor luchttextuur.

Kubusomgevingstoewijzingen

Ter referentie ziet u hier een uitgepakte kubuskaart:

Een uitgepakte kubuskaart

Gebruik RenderingSession.Connection.LoadTextureAsync/ LoadTextureFromSasAsync dit om TextureType.CubeMap cubemap-patronen te laden.

Sphere-omgevingskaarten

Wanneer u een 2D-patroon als omgevingskaart gebruikt, moet de afbeelding zich in de bolvormige coördinaatruimte bevinden.

Een hemelafbeelding in bolvormige coördinaten

Gebruik RenderingSession.Connection.LoadTextureAsync dit om TextureType.Texture2D sferische omgevingskaarten te laden.

Ingebouwde omgevingstoewijzingen

Azure Remote Rendering biedt een aantal ingebouwde omgevingstoewijzingen die altijd beschikbaar zijn. Alle ingebouwde omgevingstoewijzingen zijn kubuskaarten.

Identificatie Beschrijving Illustratie
builtin://Autoshop Verscheidenheid aan stripe verlichting, heldere binnenbasisverlichting AutoShop skybox gebruikt om een object te verlichten
builtin://BoilerRoom Heldere binnenlichtinstelling, meerdere vensterlichten BoilerRoom skybox gebruikt om een object te verlichten
builtin://ColorfulStudio Variërend gekleurde lichten in middellichte binneninstelling ColorfulStudio skybox gebruikt om een object te verlichten
builtin://Hangar Gemiddeld helder omgevingshallicht SmallHangar skybox gebruikt om een object te verlichten
builtin://IndustrialPipeAndValve Dim indoor instelling met licht-donker contrast IndustrialPipeAndValve skybox gebruikt om een object te verlichten
builtin://Lebombo Overdag omgevingsruimtelicht, helder vensterlicht Lebombo skybox gebruikt om een object te verlichten
builtin://SataraNight Donkere nachthemel en grond met veel omringende lichten SataraNight skybox gebruikt om een object te verlichten
builtin://SunnyVondelpark Helder zonlicht en schaduwcontrast SunnyVondelpark skybox gebruikt om een object te verlichten
builtin://Syferfontein Helder hemellicht met gematigde grondverlichting Syfer fontein skybox gebruikt om een object te verlichten
builtin://TearsOfSteelBridge Matig variërende zon en schaduw TearsOfSteelBridge skybox gebruikt om een object te verlichten
builtin://VeniceSunset Avond zonsondergang licht naderende schemering VeniceSunset skybox gebruikt om een object te verlichten
builtin://WhippleCreekRegionalPark Helder, weelderig groen en witte lichttinten, gedimde grond WhippleCreekRegionalPark skybox gebruikt om een object te verlichten
builtin://WinterRiver Overdag met helder omgevingsgrondlicht WinterRiver skybox gebruikt om een object te verlichten
builtin://DefaultSky Hetzelfde als TearsOfSteelBridge DefaultSky skybox gebruikt om een object te verlichten

API-documentatie

Volgende stappen