مشاركة عبر


انعكاسات السماء

في Azure Remote Rendering، يتم استخدام مادة السماء للضوء بشكل واقعي. بالنسبة لتطبيقات الواقع المعزز، يجب أن تشبه هذه المادة محيط العالم الحقيقي الخاص بك، لجعل الكائنات تبدو مقنعة. توضح هذه المقالة كيفية تغيير نسيج السماء. السماء تؤثر فقط على عرض المواد PBR. لا تتأثر مواد الألوان وسحب النقاط.

إشعار

ويشار إلى نسيج السماء أيضا باسم خريطة البيئة. يتم استخدام هذه المصطلحات بالتبادل.

إضاءة الكائنات

يستخدم Azure Remote Rendering العرض المستند فعليا (PBR) لحسابات الإضاءة الواقعية. على الرغم من أنه يمكنك إضافة مصادر الضوء إلى المشهد الخاص بك، فإن استخدام مادة سماء جيدة له أكبر تأثير.

تظهر الصور أدناه نتائج إضاءة الأسطح المختلفة فقط بملمس سماء:

خشونه 0 0.25 0.5 0.75 1
غير معدني عازل، خشونة=0 عازل، خشونة=0.25 عازل، خشونة=0.5 عازل، خشونة=0.75 عازل، خشونة=1
معدن معدنية، خشونة=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 إعداد إضاءة داخلية ساطعة، أضواء نوافذ متعددة Skybox المرجل المستخدمة لإضاءة كائن
builtin://ColorfulStudio أضواء ملونة بشكل متفاوت في إعدادات داخلية متوسطة الفاتحة المربع الأفقي ل ColorfulStudio المستخدم لإضاءة كائن
builtin://Hangar ضوء القاعة المحيطة الساطعة بشكل معتدل المربع الأفقي SmallHangar المستخدم لإضاءة كائن
builtin://IndustrialPipeAndValve إعداد داخلي خافت مع تباين فاتح داكن المربع الأفقي IndustrialPipeAndValve المستخدم لإضاءة كائن
builtin://Lebombo ضوء الغرفة المحيطة نهاريا، ضوء منطقة نافذة ساطع يستخدم Lebombo skybox لإضاءة عنصر
builtin://SataraNight سماء وأرض ليلة داكنة مع العديد من الأضواء المحيطة المربع الأفقي ل SataraNight المستخدم لإضاءة كائن
builtin://SunnyVondelpark ضوء الشمس الساطع وتباين الظل صنيVondelpark skybox المستخدمة لإضاءة كائن
builtin://Syferfontein مسح ضوء السماء مع إضاءة أرضية معتدلة Syferfontein skybox المستخدم لإضاءة كائن
builtin://TearsOfSteelBridge الشمس والظل المتفاوتين بدرجة معتدلة المربع الأفقي TearsOfSteelBridge المستخدم لإضاءة كائن
builtin://VeniceSunset ضوء غروب الشمس المسائي يقترب من الغسق مربع skybox في البندقية يستخدم لإضاءة عنصر
builtin://WhippleCreekRegionalPark نغمات فاتحة وخضراء وبيضاء فاتحة، أرضية باهتة WhippleCreekRegionalPark skybox المستخدم لإضاءة كائن
builtin://WinterRiver النهار مع ضوء أرضي محيط ساطع المربع الأفقي ل WinterRiver المستخدم لإضاءة كائن
builtin://DefaultSky مثل TearsOfSteelBridge DefaultSky skybox المستخدم لإضاءة كائن

مستندات API

الخطوات التالية