انعكاسات السماء
في Azure Remote Rendering، يتم استخدام مادة السماء للضوء بشكل واقعي. بالنسبة لتطبيقات الواقع المعزز، يجب أن تشبه هذه المادة محيط العالم الحقيقي الخاص بك، لجعل الكائنات تبدو مقنعة. توضح هذه المقالة كيفية تغيير نسيج السماء. السماء تؤثر فقط على عرض المواد PBR. لا تتأثر مواد الألوان وسحب النقاط.
إشعار
ويشار إلى نسيج السماء أيضا باسم خريطة البيئة. يتم استخدام هذه المصطلحات بالتبادل.
إضاءة الكائنات
يستخدم Azure Remote Rendering العرض المستند فعليا (PBR) لحسابات الإضاءة الواقعية. على الرغم من أنه يمكنك إضافة مصادر الضوء إلى المشهد الخاص بك، فإن استخدام مادة سماء جيدة له أكبر تأثير.
تظهر الصور أدناه نتائج إضاءة الأسطح المختلفة فقط بملمس سماء:
خشونه | 0 | 0.25 | 0.5 | 0.75 | 1 |
---|---|---|---|---|---|
غير معدني | ![]() |
![]() |
![]() |
![]() |
![]() |
معدن | ![]() |
![]() |
![]() |
![]() |
![]() |
لمزيد من المعلومات حول نموذج الإضاءة، راجع فصل المواد .
هام
يستخدم Azure Remote Rendering مادة السماء فقط لنماذج الإضاءة. فإنه لا يجعل السماء كخلفية، لأن تطبيقات الواقع المعزز لديها بالفعل خلفية مناسبة - العالم الحقيقي.
تغيير نسيج السماء
لتغيير خريطة البيئة، كل ما عليك القيام به هو تحميل مادة وتغيير جلسة 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");
}
});
}
LoadTextureFromSasAsync
يتم استخدام المتغير أعلاه لأنه يتم تحميل مادة مضمنة. عند التحميل من مخازن الكائنات الثنائية كبيرة الحجم المرتبطة بدلا من ذلك، استخدم LoadTextureAsync
المتغير .
أنواع مواد السماء
يمكنك استخدام كل من المكعبات ومواد 2D كخرائط البيئة.
يجب أن تكون جميع الأشكال بتنسيق مادة معتمد. لا تحتاج إلى توفير mipmaps لمواد السماء.
خرائط بيئة المكعب
للرجوع إليها، إليك خريطة مكعبة غير محرفة:
استخدم RenderingSession.Connection.LoadTextureAsync
/ LoadTextureFromSasAsync
مع TextureType.CubeMap
لتحميل مواد خريطة مكعبة.
خرائط بيئة Sphere
عند استخدام مادة ثنائية الأبعاد كخريطة بيئة، يجب أن تكون الصورة في مساحة إحداثيات كروية.
استخدم RenderingSession.Connection.LoadTextureAsync
مع TextureType.Texture2D
لتحميل خرائط البيئة الكروية.
خرائط البيئة المضمنة
يوفر Azure Remote Rendering بعض خرائط البيئة المضمنة المتوفرة دائما. جميع خرائط البيئة المضمنة هي مخططات مكعبة.
Identifier | الوصف | التوضيح |
---|---|---|
builtin://Autoshop | مجموعة متنوعة من الأضواء الشريطية، إضاءة داخلية قاعدية ساطعة | ![]() |
builtin://BoilerRoom | إعداد إضاءة داخلية ساطعة، أضواء نوافذ متعددة | ![]() |
builtin://ColorfulStudio | أضواء ملونة بشكل متفاوت في إعدادات داخلية متوسطة الفاتحة | ![]() |
builtin://Hangar | ضوء القاعة المحيطة الساطعة بشكل معتدل | ![]() |
builtin://IndustrialPipeAndValve | إعداد داخلي خافت مع تباين فاتح داكن | ![]() |
builtin://Lebombo | ضوء الغرفة المحيطة نهاريا، ضوء منطقة نافذة ساطع | ![]() |
builtin://SataraNight | سماء وأرض ليلة داكنة مع العديد من الأضواء المحيطة | ![]() |
builtin://SunnyVondelpark | ضوء الشمس الساطع وتباين الظل | ![]() |
builtin://Syferfontein | مسح ضوء السماء مع إضاءة أرضية معتدلة | ![]() |
builtin://TearsOfSteelBridge | الشمس والظل المتفاوتين بدرجة معتدلة | ![]() |
builtin://VeniceSunset | ضوء غروب الشمس المسائي يقترب من الغسق | ![]() |
builtin://WhippleCreekRegionalPark | نغمات فاتحة وخضراء وبيضاء فاتحة، أرضية باهتة | ![]() |
builtin://WinterRiver | النهار مع ضوء أرضي محيط ساطع | ![]() |
builtin://DefaultSky | مثل TearsOfSteelBridge | ![]() |