Égbolt tükröződése
Az Azure Remote Renderingben az égi textúra az objektumok reális megvilágítására szolgál. A kiterjesztett valóság alkalmazások esetében ennek a textúrának a valós környezetéhez kell hasonlítania, hogy az objektumok meggyőzőnek tűnjenek. Ez a cikk azt ismerteti, hogyan módosíthatja az ég textúráját. Az ég csak a PBR-anyagok renderelését befolyásolja. A színanyagokra és a pontfelhőkre nincs hatással.
Feljegyzés
Az égbolt textúráját környezeti térképnek is nevezik. Ezeket a kifejezéseket a rendszer felcserélve használja.
Objektum megvilágítása
Az Azure Remote Rendering fizikai alapú renderelést (PBR) alkalmaz a valósághű világítási számításokhoz. Bár hozzáadhat fényforrásokat a jelenethez, a jó égi anyag használata a legnagyobb hatással van.
Az alábbi képeken a különböző felületek megvilágításának eredményei csak égi textúrával láthatók:
Érdesség | 0 | 0,25 | 0,5 | 0,75 | 0 |
---|---|---|---|---|---|
Nem fém | ![]() |
![]() |
![]() |
![]() |
![]() |
Fém | ![]() |
![]() |
![]() |
![]() |
![]() |
A világítási modellről további információt az anyagok fejezetében talál.
Fontos
Az Azure Remote Rendering csak világítási modellekhez használja az égi textúrát. Ez nem jeleníti meg az eget háttérként, mivel a Kiterjesztett valóság alkalmazások már rendelkeznek megfelelő háttérrel - a való világ.
Az ég textúrájának módosítása
A környezeti térkép módosításához mindössze egy anyagmintát kell betöltenie, és módosítania kell a munkamenetet SkyReflectionSettings
:
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");
}
});
}
A LoadTextureFromSasAsync
változatot a rendszer a fentiekben használja, mert egy beépített anyagminta van betöltve. Ha ehelyett csatolt blobtárolókból tölt be, használja a variánstLoadTextureAsync
.
Sky textúratípusok
A kockaképeket és a 2D textúrákat környezeti térképekként is használhatja.
Minden anyagmintának támogatott textúrájúnak kell lennie. Nem kell mipmap-okat megadnia az égi textúrákhoz.
Kockakörnyezeti térképek
Az alábbiakban egy le nem írt kockatérképet talál:
Kockakép-textúrák betöltésére használhatóRenderingSession.Connection.LoadTextureAsync
LoadTextureFromSasAsync
/ .TextureType.CubeMap
Sphere környezeti térképek
Ha 2D-s textúrát használ környezeti térképként, a képnek gömb alakú koordináta-térben kell lennie.
TextureType.Texture2D
Gömbkörnyezeti térképek betöltésére használhatóRenderingSession.Connection.LoadTextureAsync
.
Beépített környezettérképek
Az Azure Remote Rendering biztosít néhány beépített környezeti térképet, amelyek mindig elérhetők. Minden beépített környezettérkép kockakép.
Azonosító | Leírás | Illusztráció |
---|---|---|
builtin://Autoshop | Különféle csíkos fények, világos beltéri alapvilágítás | ![]() |
builtin://BoilerRoom | Világos beltéri fénybeállítás, több ablakfény | ![]() |
builtin://ColorfulStudio | Változó színű fények közepes fényű beltéri környezetben | ![]() |
builtin://Hangar | Közepesen világos környezeti csarnok fény | ![]() |
builtin://IndustrialPipeAndValve | Halvány beltéri beállítás világos-sötét kontraszttal | ![]() |
builtin://Lebombo | Nappali környezeti helyiség fénye, világos ablakterület fénye | ![]() |
builtin://SataraNight | Sötét éjszakai ég és föld számos környező fénygel | ![]() |
builtin://SunnyVondelpark | Fényes napfény és árnyékkontraszt | ![]() |
builtin://Syferfontein | Világos égbolt mérsékelt földi világítással | ![]() |
builtin://TearsOfSteelBridge | Mérsékelten változó nap és árnyék | ![]() |
builtin://VeniceSunset | Az esti naplemente fénye közeledik az alkonyathoz | ![]() |
builtin://WhippleCreekRegionalPark | Világos, buja-zöld és fehér világos tónusok, halványított föld | ![]() |
builtin://WinterRiver | Napközben világos környezeti fényben | ![]() |
builtin://DefaultSky | Ugyanaz, mint a TearsOfSteelBridge | ![]() |
API-dokumentáció
- C# RenderingConnection.SkyReflectionSettings tulajdonság
- C++ RenderingConnection::SkyReflectionSettings()