Dapatkan pencahayaan yang tepat

Panduan khusus platform

Bagian penting untuk menciptakan pengalaman AR yang realistis adalah mendapatkan pencahayaan yang tepat. Jika objek virtual tidak memiliki bayangan atau memiliki bahan berkilau yang tidak mencerminkan ruang di sekitarnya, pengguna dapat merasakan bahwa objek tersebut tidak pas, sekalipun mereka tidak dapat menjelaskan alasannya. Hal ini karena manusia secara tidak sadar merasakan isyarat tentang bagaimana objek menyala di lingkungan mereka. Lighting Estimation API menganalisis gambar yang diberikan untuk isyarat tersebut, memberikan informasi mendetail tentang pencahayaan dalam adegan. Anda kemudian dapat menggunakan informasi ini saat merender objek virtual untuk menerangi objek tersebut dalam kondisi yang sama dengan adegan tempatnya ditempatkan, sehingga pengguna tetap fokus dan berinteraksi.

Isyarat pencahayaan

Lighting Estimation API menyediakan data mendetail yang memungkinkan Anda meniru berbagai isyarat pencahayaan saat merender objek virtual. Isyarat ini adalah bayangan, cahaya sekitar, bayangan, sorotan spekuler, dan pantulan.

Bayangan

Bayangan sering kali terarah dan memberi tahu pemirsa dari mana sumber cahaya berasal.

Lampu ruangan

Cahaya sekitar adalah cahaya yang menyebar secara keseluruhan yang masuk dari sekitar lingkungan, membuat segala sesuatunya terlihat.

Bayangan

Shading adalah intensitas cahaya. Misalnya, bagian yang berbeda dari objek yang sama dapat memiliki tingkat bayangan yang berbeda dalam adegan yang sama, bergantung pada sudut relatif terhadap penampil dan kedekatannya dengan sumber cahaya.

Sorotan spekuler

Sorotan spekuler adalah bagian permukaan berkilau yang memantulkan sumber cahaya secara langsung. Sorotan pada objek berubah sesuai dengan posisi penonton dalam scene.

Refleksi

Cahaya memantul dari permukaan secara berbeda-beda, tergantung apakah permukaan tersebut memiliki sifat spekuler (sangat reflektif) atau difus (tidak reflektif). Misalnya, bola metalik akan sangat spekuler dan mencerminkan lingkungannya, sementara bola lain yang dicat abu-abu matte kusam akan menyebar. Kebanyakan objek di dunia nyata memiliki kombinasi dari properti ini — bayangkan bola bowling yang lecet atau kartu kredit yang sudah terpakai.

Permukaan reflektif juga mengambil warna dari lingkungan sekitar. Pewarnaan objek dapat langsung dipengaruhi oleh warna lingkungannya. Misalnya, bola putih di ruangan biru akan menggunakan rona kebiruan.

Mode HDR Lingkungan

Mode ini terdiri dari API terpisah yang memungkinkan estimasi pencahayaan terperinci dan realistis untuk pencahayaan terarah, bayangan, sorotan spekuler, dan pantulan.

Mode HDR lingkungan menggunakan machine learning untuk menganalisis gambar kamera secara real time dan mensintesis pencahayaan lingkungan untuk mendukung rendering objek virtual yang realistis.

Mode estimasi pencahayaan ini menyediakan:

  1. Lampu arah utama. Mewakili sumber cahaya utama. Dapat digunakan untuk mentransmisikan bayangan.

  2. Harmonik sferis ambien. Menyatakan energi cahaya sekitar yang tersisa dalam tampilan.

  3. Peta kubus HDR. Dapat digunakan untuk merender pantulan pada objek logam mengilap.

Anda dapat menggunakan API ini dalam berbagai kombinasi, tetapi API tersebut didesain untuk digunakan bersama-sama untuk mendapatkan efek yang paling realistis.

Lampu arah utama

API cahaya arah utama menghitung arah dan intensitas sumber cahaya utama adegan. Dengan informasi ini, objek virtual dalam scene Anda dapat menampilkan sorotan spekuler yang diposisikan secara wajar, dan memancarkan bayangan ke arah yang konsisten dengan objek nyata lainnya yang terlihat.

Untuk mengetahui cara kerjanya, coba lihat dua gambar roket virtual yang sama ini. Pada gambar di sebelah kiri, ada bayangan di bawah roket, tetapi arahnya tidak sesuai dengan bayangan lain dalam adegan. Pada roket di sebelah kanan, bayangan menunjuk ke arah yang benar. Ini adalah perbedaan yang halus namun penting, dan menggerakkan roket dalam adegan karena arah dan intensitas bayangan lebih cocok dengan bayangan lain dalam adegan.

     

Saat sumber cahaya utama atau objek yang menyala sedang bergerak, sorotan spekuler pada objek akan menyesuaikan posisinya secara real time sesuai dengan sumber cahaya.

Bayangan terarah juga menyesuaikan panjang dan arahnya relatif terhadap posisi sumber cahaya utama, seperti yang dilakukan di dunia nyata. Untuk menggambarkan efek ini, pertimbangkan dua manekin ini, yang satu virtual dan yang lain nyata. Manekin di sebelah kiri adalah manekin virtual.

Harmonik sferis ambien

Selain energi cahaya dalam cahaya terarah utama, ARCore menyediakan harmonisa sferikal, yang merepresentasikan keseluruhan cahaya sekitar yang masuk dari segala arah dalam adegan. Gunakan informasi ini selama rendering untuk menambahkan isyarat halus yang memunculkan definisi objek virtual.

Pertimbangkan dua gambar dari model roket yang sama ini. Roket di sebelah kiri dirender menggunakan informasi estimasi pencahayaan yang terdeteksi oleh API cahaya arah utama. Roket di sebelah kanan dirender menggunakan informasi yang terdeteksi oleh cahaya arah utama dan API harmonik sferis ambien. Roket kedua jelas memiliki lebih banyak definisi visual, dan menyatu dengan lebih mulus ke dalam adegan.

     

Peta kubus HDR

Gunakan peta kubus HDR untuk merender pantulan realistis pada objek virtual dengan kilau sedang hingga tinggi, seperti permukaan logam mengilap. Peta kubus juga memengaruhi bayangan dan tampilan objek. Misalnya, material objek spekuler yang dikelilingi lingkungan biru akan memantulkan rona biru. Menghitung peta kubus HDR memerlukan sedikit komputasi CPU tambahan.

Apakah Anda harus menggunakan peta kubus HDR bergantung pada bagaimana objek mencerminkan lingkungannya. Karena roket virtual berbentuk logam, roket ini memiliki komponen spekuler kuat yang secara langsung mencerminkan lingkungan di sekitarnya. Dengan demikian, fitur ini dapat memanfaatkan peta kubus. Di sisi lain, objek virtual dengan bahan matte abu-abu yang kusam tidak memiliki komponen spekuler sama sekali. Warnanya terutama tergantung pada komponen difusi, dan tidak akan mendapat manfaat dari peta kubus.

Ketiga Environmental HDR API digunakan untuk merender roket di bawah. Peta kubus HDR memungkinkan isyarat reflektif dan semakin memperjelas yang membumikan objek sepenuhnya pada adegan.

Berikut model roket yang sama di lingkungan dengan pencahayaan berbeda. Semua adegan ini dirender menggunakan informasi dari tiga API, dengan menerapkan bayangan arah.

           

Mode Intensitas Ambien

Mode Intensitas Ambien menentukan intensitas piksel rata-rata dan skalar koreksi warna untuk gambar tertentu. Ini adalah setelan kasar yang dirancang untuk kasus penggunaan yang tidak mementingkan pencahayaan yang akurat, seperti objek yang memiliki pencahayaan baku.

Intensitas piksel

Menangkap intensitas piksel rata-rata pencahayaan dalam adegan. Anda dapat menerapkan pencahayaan ini ke seluruh objek virtual.

Warna

Mendeteksi keseimbangan putih untuk setiap frame. Selanjutnya, Anda dapat mengoreksi warna objek virtual sehingga objek tersebut menyatu dengan lebih halus ke dalam pewarnaan adegan secara keseluruhan.

Pemeriksaan lingkungan

Pemeriksa lingkungan mengatur tampilan kamera 360 derajat ke dalam tekstur lingkungan seperti peta kubus. Tekstur ini kemudian dapat digunakan untuk menerangi objek virtual secara realistis, seperti bola logam virtual yang "memantulkan" ruangan tempatnya berada.