راهنماهای مخصوص پلتفرم
Android (Kotlin/Java)
Android NDK (C)
یونیتی (بنیاد AR)
موتور غیر واقعی
یک بخش کلیدی برای ایجاد تجربیات واقعیت افزوده واقعی، درست کردن نورپردازی است. هنگامی که یک شی مجازی فاقد سایه است یا دارای مواد براقی است که فضای اطراف را منعکس نمی کند، کاربران می توانند احساس کنند که شی کاملاً مناسب نیست، حتی اگر نتوانند دلیل آن را توضیح دهند. این به این دلیل است که انسان ها به طور ناخودآگاه نشانه هایی را در مورد چگونگی روشن شدن اشیا در محیط خود درک می کنند. Lighting Estimation API تصاویر داده شده را برای چنین نشانه هایی تجزیه و تحلیل می کند و اطلاعات دقیقی در مورد نورپردازی در یک صحنه ارائه می دهد. سپس میتوانید از این اطلاعات هنگام رندر کردن اشیاء مجازی استفاده کنید تا آنها را در شرایطی مشابه با صحنهای که در آن قرار گرفتهاند روشن کنید و کاربران را درگیر و درگیر نگه دارید.
نشانه های نورپردازی
Lighting Estimation API دادههای دقیقی را ارائه میدهد که به شما امکان میدهد در هنگام رندر کردن اشیاء مجازی، نشانههای مختلف نور را تقلید کنید. این نشانهها سایهها، نور محیط، سایهزنی، برجستهسازیهای خاص و بازتابها هستند.
سایه ها
سایه ها اغلب جهت دار هستند و به بینندگان می گویند که منابع نور از کجا می آیند.
نور محیط
نور محیطی نور پراکنده ای است که از اطراف وارد می شود و همه چیز را قابل مشاهده می کند.
سایه زدن
سایه، شدت نور است. برای مثال، بخشهای مختلف یک شیء بسته به زاویه نسبت به بیننده و مجاورت آن با منبع نور، میتوانند سطوح سایه متفاوتی در یک صحنه داشته باشند.
نکات برجسته دیدنی
نقاط برجسته اسپکولار تکه های براق سطوحی هستند که منبع نور را مستقیماً منعکس می کنند. نقاط برجسته روی یک شی نسبت به موقعیت بیننده در یک صحنه تغییر می کند.
بازتاب ها
تابش نور از سطوح متفاوت است و بستگی به این دارد که سطح دارای ویژگیهای خاص (بسیار بازتابنده) یا پراکنده (نه بازتابنده) باشد. به عنوان مثال، یک توپ فلزی بسیار دیدنی است و محیط خود را منعکس می کند، در حالی که توپ دیگری که به رنگ خاکستری مات رنگ آمیزی شده است، پراکنده خواهد بود. بیشتر اشیاء دنیای واقعی ترکیبی از این ویژگی ها را دارند - به یک توپ بولینگ کوبیده یا یک کارت اعتباری که به خوبی استفاده شده است فکر کنید.
سطوح انعکاسی نیز رنگ ها را از محیط اطراف می گیرند. رنگآمیزی یک جسم میتواند مستقیماً تحت تأثیر رنگآمیزی محیط آن قرار گیرد. به عنوان مثال، یک توپ سفید در یک اتاق آبی رنگ مایل به آبی به خود می گیرد.
حالت HDR محیطی
این حالتها از APIهای مجزا تشکیل شدهاند که امکان تخمین روشنایی دانهدار و واقعی را برای نور جهت، سایهها، نقاط برجسته و بازتابها فراهم میکنند.
حالت HDR محیطی از یادگیری ماشین برای تجزیه و تحلیل تصاویر دوربین در زمان واقعی و ترکیب نور محیطی برای پشتیبانی از رندر واقعی اشیاء مجازی استفاده می کند.
این حالت تخمین نور ارائه می دهد:
نور جهت اصلی . منبع نور اصلی را نشان می دهد. می توان از آن برای ایجاد سایه استفاده کرد.
هارمونیک های کروی محیطی انرژی نور محیط باقیمانده را در صحنه نشان می دهد.
یک نقشه مکعب HDR . می توان از آن برای نمایش انعکاس در اشیاء فلزی براق استفاده کرد.
میتوانید از این APIها در ترکیبهای مختلف استفاده کنید، اما آنها طوری طراحی شدهاند که با هم برای واقعیترین اثر استفاده شوند.
نور جهت اصلی
API نور جهت دار اصلی جهت و شدت منبع نور اصلی صحنه را محاسبه می کند. این اطلاعات به اشیاء مجازی در صحنه شما اجازه میدهد تا نقاط برجستهای با موقعیت معقول را نشان دهند و سایههایی را در جهتی مطابق با سایر اشیاء واقعی قابل مشاهده ایجاد کنند.
برای اینکه ببینید چگونه این کار می کند، این دو تصویر از یک موشک مجازی را در نظر بگیرید. در تصویر سمت چپ، سایه ای در زیر موشک وجود دارد اما جهت آن با سایه های دیگر در صحنه مطابقت ندارد. در موشک سمت راست، سایه در جهت درست است. این یک تفاوت ظریف اما مهم است و موشک را در صحنه زمینگیر می کند زیرا جهت و شدت سایه با سایه های دیگر در صحنه هماهنگی بیشتری دارد.
هنگامی که منبع نور اصلی یا یک جسم روشن در حال حرکت است، برجستهسازی تصویری روی جسم موقعیت آن را در زمان واقعی نسبت به منبع نور تنظیم میکند.
سایه های جهت دار نیز طول و جهت خود را نسبت به موقعیت منبع نور اصلی تنظیم می کنند، همانطور که در دنیای واقعی انجام می دهند. برای نشان دادن این تاثیر، این دو مانکن، یکی مجازی و دیگری واقعی را در نظر بگیرید. مانکن سمت چپ مانکن مجازی است.
هارمونیک های کروی محیطی
علاوه بر انرژی نور در نور جهت اصلی، ARCore هارمونیک های کروی را ارائه می دهد که نشان دهنده نور کلی محیط است که از همه جهات در صحنه وارد می شود. از این اطلاعات در حین رندر برای اضافه کردن نشانه های ظریف استفاده کنید که تعریف اشیاء مجازی را نشان می دهد.
این دو تصویر را از یک مدل موشک در نظر بگیرید. موشک سمت چپ با استفاده از اطلاعات تخمین روشنایی که توسط API نور جهت دار اصلی شناسایی شده است، رندر می شود. موشک سمت راست با استفاده از اطلاعات شناسایی شده توسط APIهای نور جهت اصلی و هارمونیک های کروی محیط ارائه می شود. موشک دوم به وضوح دارای تعریف بصری بیشتری است و به طور یکپارچه تر با صحنه ترکیب می شود.
نقشه مکعب HDR
از نقشه مکعب HDR برای ارائه انعکاس های واقعی بر روی اشیاء مجازی با براقیت متوسط تا زیاد، مانند سطوح فلزی براق استفاده کنید. نقشه مکعب بر روی سایه و ظاهر اشیا نیز تأثیر می گذارد. به عنوان مثال، مواد یک جسم کاذب که توسط یک محیط آبی احاطه شده است، رنگ های آبی را منعکس می کند. محاسبه نقشه مکعب HDR به مقدار کمی از محاسبات اضافی CPU نیاز دارد.
اینکه آیا باید از نقشه مکعبی HDR استفاده کنید بستگی به نحوه انعکاس یک شیء اطراف خود دارد. از آنجایی که موشک مجازی فلزی است، دارای یک جزء دوربینی قوی است که به طور مستقیم محیط اطراف خود را منعکس می کند. بنابراین، از نقشه مکعب سود می برد. از سوی دیگر، یک شی مجازی با مواد مات خاکستری کسل کننده به هیچ وجه دارای یک جزء خاص نیست. رنگ آن در درجه اول به جزء پراکنده بستگی دارد و از نقشه مکعبی بهره نمی برد.
هر سه API Environmental HDR برای رندر کردن موشک زیر استفاده شدند. نقشه مکعبی HDR نشانه های بازتابی و برجسته کردن بیشتر آن را فعال می کند که جسم را به طور کامل در صحنه ثابت می کند.
در اینجا همان مدل موشک در محیط هایی با نور متفاوت است. همه این صحنه ها با استفاده از اطلاعات سه API، با اعمال سایه های جهت دار رندر شدند.
حالت شدت محیط
حالت Ambient Intensity میانگین شدت پیکسل و اسکالرهای تصحیح رنگ را برای یک تصویر مشخص تعیین می کند. این یک تنظیم درشت است که برای موارد استفاده در مواردی که نور دقیق مهم نیست، مانند اشیایی که دارای نور پخته هستند، طراحی شده است.
شدت پیکسل
میانگین شدت پیکسل نور در یک صحنه را ثبت می کند. شما می توانید این نور را روی یک شی مجازی کامل اعمال کنید.
رنگ
تعادل رنگ سفید را برای هر فریم جداگانه تشخیص می دهد. سپس می توانید یک شی مجازی را با رنگ تصحیح کنید تا راحت تر در رنگ آمیزی کلی صحنه ادغام شود.
کاوشگرهای محیطی
کاوشگرهای محیطی نماهای دوربین 360 درجه را در بافت های محیطی مانند نقشه های مکعبی سازماندهی می کنند. سپس میتوان از این بافتها برای نورپردازی واقعی اشیاء مجازی استفاده کرد، مانند یک توپ فلزی مجازی که اتاقی را که در آن قرار دارد منعکس میکند.