Platforma özel kılavuzlar
Android (Kotlin/Java)
Android NDK (C)
Unity (AR Foundation)
Unreal Engine
Gerçekçi AR deneyimleri oluşturmanın önemli bir parçası, ışığı doğru ayarlamaktır. Sanal bir nesnenin gölgesi yoksa veya çevredeki alanı yansıtmayan parlak bir malzemeye sahipse kullanıcılar, nedenini açıklayamasalar bile nesnenin tam olarak uygun olmadığını hissedebilir. Bunun nedeni, insanların bilinçaltında nesnelerin bulundukları ortamda nasıl aydınlatıldıklarıyla ilgili ipuçları algılamasıdır. Lighting Estimation API, belirli resimleri bu tür ipuçları açısından analiz ederek sahnedeki ışıklandırma hakkında ayrıntılı bilgi sağlar. Ardından, sanal nesneleri oluşturma işlemi sırasında bu bilgileri kullanarak nesneleri yerleştirildikleri sahneyle aynı koşullarda aydınlatabilir, böylece kullanıcıların gerçekçi bir deneyim yaşamasını ve etkileşimde bulunmasını sağlayabilirsiniz.
Işıklandırma işaretleri
Işıklandırma Tahmini API'si, sanal nesneleri oluştururken çeşitli ışıklandırma ipuçları taklit etmenizi sağlayan ayrıntılı veriler sağlar. Bu ipuçları gölgeler, ortam ışığı, gölgelendirme, parıltılı vurgular ve yansımalardır.
Gölgeler
Gölgeler genellikle yönlüdür ve izleyicilere ışık kaynaklarının nereden geldiğini gösterir.
Ortam ışığı
Ortam ışığı, ortamdan gelen ve her şeyi görünür kılan genel dağınık ışıktır.
Gölgelendirme
Gölgelendirme, ışığın yoğunluğudur. Örneğin, aynı nesnenin farklı parçaları aynı sahnede, izleyiciye göre açıya ve ışık kaynağına olan yakınlığına bağlı olarak farklı gölgeleme düzeylerine sahip olabilir.
Yansıma vurguları
Yansıtıcı parlak noktalar, yüzeylerin doğrudan ışık kaynağını yansıtan parlak bölümleridir. Bir nesnenin öne çıkan özellikleri, izleyicinin sahnedeki konumuna göre değişir.
Yansımalar
Işık, yüzeyin parlak (yüksek yansıtıcı) veya dağınık (yansıtıcı olmayan) özelliklerine bağlı olarak yüzeylerden farklı şekilde yansır. Örneğin, metalik bir top çok fazla yansıma gösterir ve çevresini yansıtır. Mat gri boyalı başka bir top ise dağınık yansıma gösterir. Gerçek dünyadaki çoğu nesnenin bu özelliklerin bir kombinasyonu vardır. Örneğin, çizik bir bowling topu veya çok kullanılan bir kredi kartı düşünün.
Yansıtıcı yüzeyler, ortamdaki renkleri de alır. Bir nesnenin rengi, bulunduğu ortamın renginden doğrudan etkilenebilir. Örneğin, mavi bir odada bulunan beyaz bir top mavimsi bir renk alır.
Ortam HDR modu
Bu modlar, yönlü aydınlatma, gölgeler, parlak vurgular ve yansımalar için ayrıntılı ve gerçekçi ışıklandırma tahminine olanak tanıyan ayrı API'lerden oluşur.
Çevresel HDR modu, kamera görüntülerini gerçek zamanlı olarak analiz etmek ve sanal nesnelerin gerçekçi şekilde oluşturulmasını desteklemek için ortam ışığını sentezlemek amacıyla makine öğreniminden yararlanır.
Bu ışıklandırma tahmini modu şunları sağlar:
Ana yönlü ışık. Ana ışık kaynağını temsil eder. Gölge oluşturmak için kullanılabilir.
Ortam küresel armonikleri. Sahnedeki kalan ortam ışığı enerjisini temsil eder.
HDR küp haritası. Parlak metalik nesnelerdeki yansımaları oluşturmak için kullanılabilir.
Bu API'leri farklı kombinasyonlarda kullanabilirsiniz ancak en gerçekçi etki için birlikte kullanılmak üzere tasarlanmıştır.
Ana yönlü ışık
Ana yönlü ışık API'si, sahnenin ana ışık kaynağının yönünü ve yoğunluğunu hesaplar. Bu bilgiler, sahnenizdeki sanal nesnelerin makul şekilde yerleştirilmiş parlaklık noktaları göstermesine ve diğer görünür gerçek nesnelerle tutarlı bir yönde gölge oluşturmasına olanak tanır.
Bunun nasıl çalıştığını görmek için aynı sanal roketin bu iki resmini inceleyin. Soldaki resimde roketin altında bir gölge var ancak bu gölge, sahnedeki diğer gölgelerle aynı yönde değil. Sağdaki rokette gölge doğru yönü gösteriyor. Bu ince ama önemli bir farktır. Gölgenin yönü ve yoğunluğu sahnedeki diğer gölgelerle daha iyi eşleştiği için roketi sahneye yerleştirir.
Ana ışık kaynağı veya yanan bir nesne hareket halindeyken nesnenin üzerindeki yansımalı parlaklık, konumunu ışık kaynağına göre gerçek zamanlı olarak ayarlar.
Yönlü gölgeler, gerçek dünyada olduğu gibi uzunluklarını ve yönlerini ana ışık kaynağının konumuna göre ayarlar. Bu etkiyi açıklamak için biri sanal, diğeri gerçek olan bu iki mankeni düşünün. Soldaki manken sanal mankendir.
Ambiyans küresel armonikleri
ARCore, ana yönlü ışıktaki ışık enerjisine ek olarak, sahnedeki tüm yönlerden gelen genel ortam ışığını temsil eden küresel armonikler sağlar. Sanal nesnelerin tanımını ortaya çıkaran ince ipuçları eklemek için oluşturma sırasında bu bilgileri kullanın.
Aynı roket modelinin bu iki resmini ele alalım. Soldaki roket, ana yönlü ışık API'si tarafından algılanan ışıklandırma tahmini bilgileri kullanılarak oluşturulur. Sağdaki roket, hem ana yön ışığı hem de ortam küresel armonileri API'leri tarafından algılanan bilgiler kullanılarak oluşturulur. İkinci roketin görsel tanımı açıkça daha iyi ve sahneye daha sorunsuz bir şekilde karışıyor.
HDR küp haritası
Parlak metalik yüzeyler gibi orta ila yüksek parlaklığa sahip sanal nesnelerde gerçekçi yansımalar oluşturmak için HDR küp haritasını kullanın. Küp haritası, nesnelerin gölgesini ve görünümünü de etkiler. Örneğin, mavi bir ortamla çevrili parlak bir nesnenin malzemesi mavi tonları yansıtır. HDR küp haritasının hesaplanması için az miktarda ek CPU hesaplaması gerekir.
HDR küp haritasını kullanıp kullanmayacağınız, bir nesnenin çevresini nasıl yansıttığına bağlıdır. Sanal roket metalik olduğu için etrafındaki ortamı doğrudan yansıtan güçlü bir yansıma bileşenine sahiptir. Bu nedenle, küp haritasından yararlanır. Öte yandan, donuk gri mat bir malzemeye sahip sanal bir nesnenin hiç parlaklık bileşeni yoktur. Rengi öncelikle dağılmış bileşene bağlıdır ve küp haritasından yararlanmaz.
Aşağıdaki roketi oluşturmak için üç çevresel HDR API'si de kullanıldı. HDR küp haritası, yansıtıcı ipuçları ve nesneyi sahneye tamamen yerleştiren daha fazla vurgu sağlar.
Aşağıda, farklı ışıklandırmalara sahip ortamlarda aynı roket modeli gösterilmektedir. Bu sahnelerin tümü, üç API'deki bilgiler kullanılarak oluşturuldu ve yönlü gölgeler uygulandı.
Ambiyans Yoğunluğu modu
Ambiyans Yoğunluğu modu, belirli bir resim için ortalama piksel yoğunluğunu ve renk düzeltme skalerlerini belirler. Bu, yerleşik ışıklandırması olan nesneler gibi hassas aydınlatmanın kritik olmadığı kullanım alanları için tasarlanmış kaba bir ayardır.
Piksel yoğunluğu
Bir sahnedeki ışığın ortalama piksel yoğunluğunu yakalar. Bu ışığı sanal bir nesnenin tamamına uygulayabilirsiniz.
Renk
Her karenin beyaz dengesini algılar. Ardından, sanal bir nesnenin rengini, sahnenin genel renklendirmesine daha uyumlu olacak şekilde düzeltebilirsiniz.
Ortam probları
Çevre probları, 360 derece kamera görüntülerini küp haritaları gibi ortam dokularında düzenler. Bu dokular daha sonra, bulunduğu odayı "yansıtan" sanal metal bir top gibi sanal nesneleri gerçekçi bir şekilde aydınlatmak için kullanılabilir.