نورپردازی را درست انجام دهید

راهنماهای مخصوص پلتفرم

بخش کلیدی برای ایجاد تجربیات واقع‌گرایانه واقعیت افزوده، نورپردازی مناسب است. وقتی یک شیء مجازی سایه ندارد یا ماده براقی دارد که فضای اطراف را منعکس نمی‌کند، کاربران می‌توانند حس کنند که شیء کاملاً مناسب نیست، حتی اگر نتوانند دلیل آن را توضیح دهند. این به این دلیل است که انسان‌ها به طور ناخودآگاه نشانه‌هایی را در مورد نحوه نورپردازی اشیاء در محیط خود درک می‌کنند. API تخمین نورپردازی، تصاویر داده شده را برای یافتن چنین نشانه‌هایی تجزیه و تحلیل می‌کند و اطلاعات دقیقی در مورد نورپردازی در یک صحنه ارائه می‌دهد. سپس می‌توانید از این اطلاعات هنگام رندر اشیاء مجازی استفاده کنید تا آنها را تحت همان شرایط صحنه‌ای که در آن قرار گرفته‌اند، نورپردازی کنید و کاربران را سرگرم و درگیر نگه دارید.

نشانه‌های روشنایی

API تخمین روشنایی، داده‌های دقیقی را ارائه می‌دهد که به شما امکان می‌دهد هنگام رندر اشیاء مجازی، نشانه‌های مختلف روشنایی را تقلید کنید. این نشانه‌ها عبارتند از سایه‌ها، نور محیط، سایه‌زنی، هایلایت‌های آینه‌ای و بازتاب‌ها.

سایه‌ها

سایه‌ها اغلب جهت‌دار هستند و به بینندگان می‌گویند که منابع نور از کجا می‌آیند.

نور محیط

نور محیطی، نور پراکنده‌ی کلی است که از اطراف محیط به داخل می‌آید و همه چیز را قابل مشاهده می‌کند.

سایه زنی

سایه، شدت نور است. برای مثال، قسمت‌های مختلف یک شیء می‌توانند در یک صحنه، بسته به زاویه نسبت به بیننده و نزدیکی آن به منبع نور، سطوح سایه متفاوتی داشته باشند.

هایلایت‌های خاص

هایلایت‌های آینه‌ای، بخش‌های براق سطوحی هستند که منبع نور را مستقیماً منعکس می‌کنند. هایلایت‌های روی یک جسم نسبت به موقعیت بیننده در صحنه تغییر می‌کنند.

بازتاب‌ها

نور بسته به اینکه سطح دارای خواص آینه‌ای (بسیار بازتابنده) یا پخش‌کننده (غیر بازتابنده) باشد، به طور متفاوتی از سطوح بازتاب می‌شود. به عنوان مثال، یک توپ فلزی بسیار آینه‌ای خواهد بود و محیط خود را منعکس می‌کند، در حالی که توپ دیگری که به رنگ خاکستری مات رنگ‌آمیزی شده است، پخش‌کننده خواهد بود. اکثر اشیاء دنیای واقعی ترکیبی از این خواص را دارند - به یک توپ بولینگ خراشیده یا یک کارت اعتباری استفاده شده فکر کنید.

سطوح بازتابنده همچنین رنگ‌ها را از محیط اطراف دریافت می‌کنند. رنگ یک جسم می‌تواند مستقیماً تحت تأثیر رنگ محیط اطرافش قرار گیرد. به عنوان مثال، یک توپ سفید در یک اتاق آبی، رنگ مایل به آبی به خود می‌گیرد.

حالت HDR محیطی

این حالت‌ها شامل APIهای جداگانه‌ای هستند که امکان تخمین دقیق و واقع‌گرایانه نور را برای نورپردازی جهت‌دار، سایه‌ها، هایلایت‌های آینه‌ای و بازتاب‌ها فراهم می‌کنند.

حالت HDR محیطی از یادگیری ماشینی برای تجزیه و تحلیل تصاویر دوربین در زمان واقعی و ترکیب نور محیطی برای پشتیبانی از رندر واقع‌گرایانه اشیاء مجازی استفاده می‌کند.

این حالت تخمین روشنایی موارد زیر را فراهم می‌کند:

  1. نور جهت‌دار اصلی . منبع نور اصلی را نشان می‌دهد. می‌تواند برای ایجاد سایه استفاده شود.

  2. Ambient spherical harmonics . Represents the remaining ambient light energy in the scene.

  3. یک کیوب‌مپ HDR . می‌تواند برای رندر کردن انعکاس‌ها در اشیاء فلزی براق استفاده شود.

شما می‌توانید از این APIها در ترکیب‌های مختلف استفاده کنید، اما آنها طوری طراحی شده‌اند که برای واقعی‌ترین جلوه، با هم استفاده شوند.

نور جهت دار اصلی

رابط برنامه‌نویسی کاربردی نور جهت‌دار اصلی، جهت و شدت منبع نور اصلی صحنه را محاسبه می‌کند. این اطلاعات به اشیاء مجازی در صحنه شما اجازه می‌دهد تا هایلایت‌های آینه‌ای با موقعیت منطقی نشان دهند و سایه‌ها را در جهتی مطابق با سایر اشیاء واقعی قابل مشاهده ایجاد کنند.

برای اینکه ببینید این چطور کار می‌کند، این دو تصویر از یک موشک مجازی را در نظر بگیرید. در تصویر سمت چپ، سایه‌ای زیر موشک وجود دارد اما جهت آن با سایه‌های دیگر در صحنه مطابقت ندارد. در موشک سمت راست، سایه در جهت صحیح قرار دارد. این یک تفاوت ظریف اما مهم است و موشک را در صحنه تثبیت می‌کند زیرا جهت و شدت سایه با سایه‌های دیگر در صحنه بهتر مطابقت دارد.

وقتی منبع نور اصلی یا یک جسم روشن در حال حرکت است، هایلایت آینه‌ای روی جسم، موقعیت آن را نسبت به منبع نور به صورت آنی تنظیم می‌کند.

سایه‌های جهت‌دار نیز طول و جهت خود را نسبت به موقعیت منبع نور اصلی تنظیم می‌کنند، درست همانطور که در دنیای واقعی این کار را انجام می‌دهند. برای نشان دادن این اثر، این دو مانکن را در نظر بگیرید، یکی مجازی و دیگری واقعی. مانکن سمت چپ، مانکن مجازی است.

هارمونیک‌های کروی محیطی

علاوه بر انرژی نور در نور جهت‌دار اصلی، ARCore هارمونیک‌های کروی را ارائه می‌دهد که نشان‌دهنده نور محیطی کلی است که از همه جهات در صحنه وارد می‌شود. از این اطلاعات در طول رندر برای اضافه کردن نشانه‌های ظریفی که تعریف اشیاء مجازی را برجسته می‌کنند، استفاده کنید.

این دو تصویر از یک مدل موشک را در نظر بگیرید. موشک سمت چپ با استفاده از اطلاعات تخمین روشنایی که توسط API نور جهت‌دار اصلی شناسایی شده است، رندر شده است. موشک سمت راست با استفاده از اطلاعات شناسایی شده توسط هر دو API نور جهت‌دار اصلی و هارمونیک‌های کروی محیطی رندر شده است. موشک دوم به وضوح وضوح بصری بیشتری دارد و به طور یکپارچه‌تری با صحنه ترکیب می‌شود.

نقشه مکعبی HDR

از نقشه مکعبی HDR برای رندر بازتاب‌های واقع‌گرایانه روی اشیاء مجازی با براقیت متوسط ​​تا زیاد، مانند سطوح فلزی براق، استفاده کنید. نقشه مکعبی همچنین بر سایه‌زنی و ظاهر اشیاء تأثیر می‌گذارد. به عنوان مثال، جنس یک شیء آینه‌ای که توسط یک محیط آبی احاطه شده است، رنگ‌های آبی را منعکس می‌کند. محاسبه نقشه مکعبی HDR به مقدار کمی محاسبات اضافی CPU نیاز دارد.

اینکه آیا باید از نقشه مکعبی HDR استفاده کنید یا خیر، بستگی به این دارد که یک شیء چگونه محیط اطراف خود را منعکس می‌کند. از آنجا که موشک مجازی فلزی است، یک جزء آینه‌ای قوی دارد که مستقیماً محیط اطراف خود را منعکس می‌کند. بنابراین، از نقشه مکعبی بهره‌مند می‌شود. از سوی دیگر، یک شیء مجازی با ماده خاکستری مات و کدر، اصلاً جزء آینه‌ای ندارد. رنگ آن در درجه اول به جزء پخش بستگی دارد و از نقشه مکعبی بهره‌مند نخواهد شد.

هر سه رابط برنامه‌نویسی کاربردی HDR محیطی برای رندر موشک زیر استفاده شده‌اند. نقشه مکعبی HDR امکان ایجاد نشانه‌های بازتابنده و برجسته‌سازی بیشتر را فراهم می‌کند که شیء را به طور کامل در صحنه قرار می‌دهد.

در اینجا همان مدل موشک در محیط‌های با نور متفاوت را مشاهده می‌کنید. همه این صحنه‌ها با استفاده از اطلاعات سه API و با اعمال سایه‌های جهت‌دار رندر شده‌اند.

حالت شدت نور محیط

حالت شدت محیط، میانگین شدت پیکسل و اسکالرهای تصحیح رنگ را برای یک تصویر مشخص تعیین می‌کند. این یک تنظیم تقریبی است که برای مواردی طراحی شده است که نورپردازی دقیق ضروری نیست، مانند اشیاء دارای نورپردازی از پیش تعیین‌شده.

شدت پیکسل

میانگین شدت پیکسل روشنایی در یک صحنه را ثبت می‌کند. می‌توانید این روشنایی را به کل یک شیء مجازی اعمال کنید.

رنگ

تراز سفیدی را برای هر فریم به صورت جداگانه تشخیص می‌دهد. سپس می‌توانید رنگ یک شیء مجازی را اصلاح کنید تا به طور روان‌تری با رنگ کلی صحنه ادغام شود.

کاوشگرهای محیطی

کاوشگرهای محیطی، نماهای دوربین ۳۶۰ درجه را در بافت‌های محیطی مانند نقشه‌های مکعبی سازماندهی می‌کنند. سپس می‌توان از این بافت‌ها برای نورپردازی واقع‌گرایانه اشیاء مجازی، مانند یک توپ فلزی مجازی که اتاقی را که در آن قرار دارد «منعکس» می‌کند، استفاده کرد.