Unity’de Artırılmış Gerçeklik Uygulaması (Vuforia Kurulumu)

Unity’de Artırılmış Gerçeklik Uygulaması (Vuforia Kurulumu)

4 Temmuz 2021 2 Yazar: Ahmet Güler

Merhaba, bir önceki yazımda Unity ile kullandığımız 3D modellerin pivot noktalarını değiştirmeyi öğrenmiştik.Böylelikle Unity‘de internetten hazır bir şekilde bulup kullandığımız 3D modellerin ve bu modellerdeki her bir parçanın pivot noktasını istediğimiz şekilde değiştirebiliyorduk.Bugünkü dersimizde ise, Unity ile arttırılmış gerçeklik konusuna giriş yapacağız.Bu dersimizin içeriği daha çok, projemizi geliştirmek için bize gerekli araçların yüklenmesi ve ayarların yapılması şeklinde ilerleyecektir.

Evet artırılmış gerçeklik uygulaması yapacağız dedik.Peki bu ne anlama geliyor? Örnek olarak, kameramıza bir görsel gösterdiğimiz zaman, kameramız bu görseli tanımlayıp, bize 3D bir nesne gösterecek.Şimid bunun için Unity ile birlikte çalışabilecek kütüphaneler bulmamız gerekiyor.İnternette bu konuda artısı ve eksisi olan birçok kütüphane bulunuyor.Biz ise, Vuforia isimli bir kütüphane kullanacağız.Çünkü basit uygulamalar için tek bir satır kod yazmamıza gerek yok, hemde Unity için bir SDK dosyası bulunuyor.

Unity için android ayarlarını yapalım.

Evet Unity üzerinden sağlıklı bir şekilde .apk dosyası alabilmemiz için bir takım ayarlar yapmamız gerekiyor.Aksi halde build alırken, birçok hata ile karşılaşacağız.Bunun için öncelikle Unity üzerinden sırasıyla, Edit> Preferences yolunu izliyoruz.Açılan pencerede External Tools menüsü altında bir takım ayarlar bulunuyor.Burada bizim için, Android başlığı altındaki ayarlar önemlidir.Bu başlık altında gördüğümüz JDK, SDK ve NDK dosyaları Unity‘nin yeni sürümlerinde kurulum aşamasında otomatik olarak yükleniyor.

Unity-Artirilmis-Gerceklik-Uygulamasi-Yapmak-Vuforia-Kurulumu-unity-how-to-install-vuforia

Ancak bazı durumlarda Unity‘de build alırken, birçok hata ile karşılaşılabiliyor.Bu yüzden biz Unity içerisinde otomatik olarak yüklenen dosyaları değil, kendi indirmiş olduğumuz dosyaları kullanacağız.Şimdi bize JDK, SDK ve NDK dosyaları lazım dedik.O zaman sırasıyla yüklemeye başlayalım.İlk olarak SDK dosyalarımız için internetten Android Studio programını kuruyoruz.Direk olarak bize gereken SDK dosyalarını da indirip kullanabiliriz fakat daha sonra eklememiz gereken SDK dosyaları olduğu zaman, Android Studio içerisindeki SDK Manager bize oldukça kolaylık sağlıyor.

Unity-Artirilmis-Gerceklik-Uygulamasi-Yapmak-Vuforia-Kurulumu-unity-how-to-install-vuforia

Android Studio programını internetten indirdikten sonra, herhangi bir ayarı değiştirmeden kurulumu tamamlıyoruz.Daha sonra Android Studio programını açıyoruz.Sol altta bulunan Configure butonuna basıyoruz.Açılan münüden en üstte yer alan SDK Manager butonuna basıyoruz.Karşımıza yeni bir pencere açılacaktır.Bu pencerede bilgisayarımızda yüklü olan ve yükleyebileceğimiz SDK sürümleri yer alıyor.Burada herhangi bir SDK srümünü yüklemek istersek, isminin sol tarafında bulunan checkbox kutusunu işaretleyip, altta bulunan OK butonu ile yükleyebiliriz.

Unity-Artirilmis-Gerceklik-Uygulamasi-Yapmak-Vuforia-Kurulumu-unity-how-to-install-vuforia

Şimdi görsele bakacak olursak, yukarıda Android SDK Location isimli bir bölüm bulunuyor.Burada yazan dosya yolu, bizim tüm SDK dosyalarımızın olduğu klasörü gösteriyor.Bu dosya yolunu bir kenara kopyalayalım.İleriki aşamalarda kullanacağız.Şimdi JDK dosyalarını nasıl yükleyeceğimize gelelim.İnternet tarayıcımıza JDK download yazıyoruz ve aratıyoruz.

Karşımıza çıkan ilk sıradaki siteye giriyoruz.Siteye girdiğimizde birçok Java versiyonu görüyoruz.Yeni sürümler Unity’de bazen hatalara neden olabiliyor.Bu yüzden sayfada biraz aşağıya iniyoruz ve Java SE 8 başlığı altında yer alan JDK Download butonuna basıyoruz.Açılan sayfada tekrar aşağılara doğru iniyoruz ve Java SE Development Kit 8u291 başlığı altında kullanmış olduğunuz windows sürümüne göre, x86 yada x64 sürümlerinden birini bilgisayarımıza indiriyoruz.

Unity-Artirilmis-Gerceklik-Uygulamasi-Yapmak-Vuforia-Kurulumu-unity-how-to-install-vuforia

Bilgisayarımıza inen JDK dosyamızı normal bir şekilde hiçbir ayarını değiştirmeden kurulumunu yapıyoruz.Daha sonra kurduğumuz klasörü açıyoruz ve dosya yolunu aynı SDK dosyamızdaki gibi bir kenara kopyalıyoruz.Evet JDK dosyalarımızı da kurmuş olduk.Sırada NDK dosyalarını kurmak kaldı.Bunun için yine internet tarayıcımıza NDK download yazıyoruz ve aratıyoruz.Yine ilk sırada listelenen siteye giriş yapıyoruz.Açılan sayfada farklı NDK sürümleri yer alıyor.Biz şu an için en güncel olan sürümü indireceğiz.Bu da ilk sırada yer alan r21e sürümü oluyor.

Unity-Artirilmis-Gerceklik-Uygulamasi-Yapmak-Vuforia-Kurulumu-unity-how-to-install-vuforia

Listede yer alan windows sürümünü bilgisayarımıza indiriyoruz.Daha sonra bilgisayarımıza inen .zip dosyasını açıyoruz ve Winrar penceresinde üst menüde yer alan dosyaları ayıkla butonuna basıyoruz.Yine açılan pencerede bize klasör yolunu soracaktır.Biz klasörün ayıklanacağı dosya yolunu, “C:\Program Files” olarak belirliyoruz.Ayıklama işlemi bittikten sonra NDK dosyalarımızın klasör yolunu da bir kenara kopyalıyoruz.Evet android tarafındaki kurulum işlemlerimiz bitti.

Şimdi kenara kayıt ettiğimiz bu üç dosya yolunu Unity içerisinde değiştirelim.Unity üzerinden yine sırasıyla, Edit> Preferences yolunu izliyoruz.Açılan pencerede zaten otomatik olarak External Tools menüsü bizi karşılıyor.Burada Android başlığı altında bulunan JDK, SDK ve NDK dosya yollarının sağ kenarında bulunan checkbox kutularına tıklıyoruz.Böylece artık kendi dosya yollarımızı yazabiliriz.

Unity-Artirilmis-Gerceklik-Uygulamasi-Yapmak-Vuforia-Kurulumu-unity-how-to-install-vuforia

Unity normalde bu dosya yollarını otomatik olarak buluyor.Fakat biz her ihtimale karşı tüm dosya yollarını not aldığımız için, bulamama durumda manuel olarak bu bölümlere dosya yollarını yapıştırabiliriz.Şimdi bir aksilik olmadıysa, Unity ile sorunsuz bir şekilde .apk dosyasını alabileceğiz.Ancak yapacaklarımız bitmedi.Çünkü bu işlemleri sadece Android için build alabilmek için yaptık.Bu arada, buraya kadar ki işlemleri ilk defa Unity kuran yada daha önce hiç .apk dosyası almamış kişiler için yazdım.Eğer sizde zaten bu dosyalar kurulu ise, bu adımları yapmanıza gerek yoktur.

Vuforia sitesine üye olalım.

Şimdi yazımızın ana konusu olan Vuforia kurulumuna geçebiliriz.Bunun için öncelikle tarayıcımıza Vuforia yazıyoruz ve aratıyoruz.Daha sonra listede bulunan ilk sıradaki siteye giriş yapıyoruz.Siteyi kullanabilmek için üye olmamız gerekiyor.Bunun için, sağ üste yer alan Register butonuna basıyoruz.Açılan pencerede gerekli bölümleri doldurduktan sonra üyeliğimizi oluşturuyoruz.Daha sonra giriş yapıyoruz ve site bizi Develop sayfasına yönlendiriyor.

Burada projelerimizde kullanmak üzere yeni lisanslar oluşturabiliyoruz.Bunun için Get Development Key butonuna basıyoruz.Açılan sayfada yeni bir lisans ismi yazıyoruz.Daha sonra aşağıda bulunan, koşulları kabul ettiğimiz chechbox kutusunu işaretliyoruz ve Confirm butonuna basıyoruz.Yeni lisansımızı oluşturduk.Şimdi oluşturduğumuz lisansımızın üzerine tıklıyoruz.Açılan sayfada, Unity içerisinde kullanabilmek için bir lisans anahtarı yer alıyor.Bu anahtarın üzerine çift tıklayarak kopyalıyabiliyoruz.Ancak şu anda bir kenarda dursun.

Unity-Artirilmis-Gerceklik-Uygulamasi-Yapmak-Vuforia-Kurulumu-unity-how-to-install-vuforia

Evet yeni bir lisans oluşturduk.Şimdi Vuforia kütüphanesini kullanırken, kameramıza tanımlayacağımız bir görsel girmemiz gerekiyor.Bunun için sitede üst menüde yer alan, Target Manager butonuna basıyoruz.Açılan sayfada Add Database butonuna basıyoruz.Açılan pencerede, yeni bir veritabanı oluşturmamız gerekiyor.Bunun için bir veritabanı ismi isteniyor.Burada dikkat etmeniz gereken, yazacağınız ismi boşluklar olmadan girmenizdir.Daha sonra aşağıda üç seçenek bulunuyor.Biz ilk olanı yani Device yazanı seçiyoruz ve Create butonuna basıyoruz.

Unity-Artirilmis-Gerceklik-Uygulamasi-Yapmak-Vuforia-Kurulumu-unity-how-to-install-vuforia

Veritabınımızı da oluşturmuş olduk.Şimdi listeden veritabanımızın üzerine tıklıyoruz.Site bizi yeni bir sayfaya yönlendirecektir.Açılan bu sayada veritabanımız için bir hedef görsel eklememiz gerekiyor.Bunun için yukarıda bulunan Add Target butonuna basıyoruz.Açılan pop-up pencerede ilk olarak eklemek istediğimiz hedefin türünü belirliyoruz.Burada dört farklı tür bulunuyor.Kendi aralarında avantajları ve dezavantajları bulunuyor.Bizim için ilk sırada bulunan Single İmage yeterli olacaktır.

Daha sonra file bölümünde, Browse butonuna basarak istediğimiz görseli seçiyoruz.Görselimizi seçtikten sonra üçüncü sırada, görselimizin genişliğini girmemiz gerekiyor.Aşağıdaki açıklama, seçtiğimiz görselin ölçeği ile kullanacağımız modelin ölçeğinin aynı olması gerektiği yazıyor.Buraya çok yüksek olmamak kaydıyla bir değer girebilirsiniz.Ben genelde 1.25 değerini giriyorum.Son olarak, görselimize bir isim veriyoruz ve Add butonuna basıyoruz.Böylece oluşturduğumuz veritabanımıza kameramızın tanımlaması için bir görsel eklemiş olduk.

Unity-Artirilmis-Gerceklik-Uygulamasi-Yapmak-Vuforia-Kurulumu-unity-how-to-install-vuforia

Görselimizi ekledikten sonra önemli bir noktadan bahsetmem gerekiyor.Hedef görsellerin listelendiği bölümde Rating sutunü altında beş yıldızdan oluşan bir derecelendirme sistemi bulunuyor.Bu derecelendirme sistemi, eklemiş olduğunuz görsellerin arttırılmış gerçeklik için yeterli olup/olmadığı konusunda bize bilgi veriyor.Seçeceğiniz görsellerde ne kadar keskin hat, köşe varsa yada keskin kontrast oranları yüksekse bu tür görselleri kamera daha iyi algılıyor.Bununla ilgili detayları Vuforia kütüphanesinden bulabilirsiniz.

Şimdi oluşturmuş olduğumuz veritabanımızı indirmemiz gerekiyor.Bunun için oluşturduğumuz veritabanımızın adının üzerine tıklıyoruz.Daha sonra açılan sayfada, indirmek istediğimiz hedef görselin yanındaki checkbox kutusuna tıklıyoruz.Sağ üstte yer alan Download Database butonuna basıyoruz.Açılan pop-up penceresinde bize iki seçenek sunuluyor.Burada hangi platform için indirmek istediğimizi seçiyoruz.Biz Unity üzerinde işlem yapacağımız için ikinci seçenek olan, Unity Editor checkbox kutusunu seçiyoruz ve Download butonuna basıyoruz.

Vuforia kütüphanesini Unity’e entegre etmek.

Evet artık son aşamaya gelmiş bulunuyoruz.Burada kullanmış olduğunuz Unity sürümüne göre Vuforia kütüphanesini farklı şekillerde ekliyoruz.Örneğin, Unity 2018 sürümlerinde Player menüsüne girdiğimiz zaman XR Settings başlığı altından Vuforia kütüphanesini kullanabilmek için aktif edebiliyorduk.Ancak Unity 2019 sürümünden itibaren bu ayar kalkmış durumdadır.Çünkü artık aktif etmeye gerek kalmadı.Benim sürümünde 2019 olduğu için, buna göre anlatacağım.Yani baz olarak 2019 ve üstü olarak aynı ayarları yapacaksınız diyebiliriz.

Şimdi Vuforia kütüphanesini eklememiz için önce sitesinde SDK dosyasını indirmemiz gerekiyor.Unity için paket dosyasını sitede Download menüsü altında bulabiliyoruz.Son sürüm şu an için 9.8.8’dir.Ancak biz bunu indirmeyeceğiz.Çünkü Vuforia kütüphanesinin son sürümü, Unity‘nin son sürümlerinde hata veriyor.Bu nedenle biz daha eski olan bir sürümünü indirip Unity‘e entegre edeceğiz.Tarayıcımıza gelip vuforia 9.6.3 yazıyoruz ve aratıyoruz.Çıkan sonuçlar arasından “unity-packages@Local” başlıklı olan dev.azure sitesine giriyoruz.

Unity-Artirilmis-Gerceklik-Uygulamasi-Yapmak-Vuforia-Kurulumu-unity-how-to-install-vuforia

Açılan sitede Vuforia 9.6.3 sürümünün üzerine tıklayarak bilgisayarımıza indiriyoruz.Şimdi indirmiş olduğumuz bu kütüphaneyi Unity projemize dahil edelim.Bunu yapmak için Unity‘de sırasıyla, Window > Package Manager yolunu izliyoruz.Pencere açıldığı zaman biraz beklememiz gerekiyor.Bunun nedeni indirebileceğimiz kütüphanelerin listeleniyor olmasındandır.Daha sonra sol üste yer alan artı butonuna basıyoruz.Burada bize üç seçenek sunuluyor.Biz buradan ikinci seçenek olan yani Add package from tarball butonuna basıyoruz.

Unity-Artirilmis-Gerceklik-Uygulamasi-Yapmak-Vuforia-Kurulumu-unity-how-to-install-vuforia

İndirmiş olduğumuz Vuforia kütüphanesini buluyoruz ve ekliyoruz.Ekleme işlemi biraz zaman alabilir.O yüzden biraz bekliyoruz.Daha sonra Console penceresinde bilgilendirme mesajları olacaktır.Bunları göz ardı edebiliriz.Çünkü eski bir sürüm kurmuş olduk.Şimdi Hierarchy penceresinde sağ tık yaparsak, burada Vuforia Engine menüsünün eklenmiş olacağını göreceksiniz.Aynı menüye üstte yer alan GameObject menüsünden de ulaşmak mümkündür.

Vuforia ile arttırılmış gerçeklik uygulaması yapalım.

Evet artık bir uygulama yapabiliriz.Ancak öncelikle Vuforia için biraz önce oluşturmuş olduğumuz lisans anahtarını girmemiz gerekiyor.Lisans anahtarını girmek için gerekli dosya sırasıyla Assets > Resources klasörü altında yer alıyor.Bu klasörün içerisinde bulunan VuforiaConfiguration dosyasını seçiyoruz.Inspector penceresinde açılan ayar bölümünde App License Key Bölümüne siteden kopyalamış olduğumuz lisans anahtarını yapıştırıyoruz.Ve artık bir uygulama yapabiliriz.

Unity-Artirilmis-Gerceklik-Uygulamasi-Yapmak-Vuforia-Kurulumu-unity-how-to-install-vuforia

Bunun için Hierarchy penceresinde sağ tıklıyoruz ve sırasıyla, Vuforia Engine > ARCamera yolunu izliyoruz.Çünkü öncelikle bir kamera ihtiyacımız var.Unity bulunan Main Camera bu noktada bizim işimize yaramayacaktır.Bu nedenle projemizden Main Camera nesnemizi siliyoruz.Şimdi yine az önce indirmiş olduğumuz Vuforia veritabanımızı Unity projemize ekleyelim.Bunu yapmak için üst menüden Assets menüsüne geliyoruz ve sırasıyla, Import Package > Custom Package yolunu izliyoruz.Açılan pencereden veritabanımızı seçiyoruz.

Unity-Artirilmis-Gerceklik-Uygulamasi-Yapmak-Vuforia-Kurulumu-unity-how-to-install-vuforia

Daha sonra yine bir pencere açılacak burada ise Import butonuna basarak projemize ekliyoruz.Yada alternatif olarak veritabanı dosyamızı Unity içersine sürükleyerek bırakabilirsiniz.Yine açılan pencereden Import diyerek ekleyebilirsiniz.Şimdi yine Hierarchy penceresinde sağ tıklıyoruz ve sırasıyla, Vuforia Engine > Image Target yolunu izliyoruz.Eklemiş olduğumuz bu Image Target nesnemizi seçiyoruz ve Inspector penceresine geliyoruz.

Burada Image Target Behaviour bileşenimizin altında yer alan Type bölümünden from Database seçimini yapıyoruz.Hemen altında yer alan Database bölümünden ise, eklemiş olduğumuz veritabanı ismimizi seçiyoruz ve Image Target bölümüne otomatik olarak yüklemiş olduğumuz görselimiz geliyor.Şimdi kameramızın hedef görseli görünce ne göstereceğini ayarlamamız gerekiyor.Bunun için birden çok seçeneğimiz var.Ben bu proje için internetten indirmiş olduğum bir 3D modeli kullanacağım.

Unity-Artirilmis-Gerceklik-Uygulamasi-Yapmak-Vuforia-Kurulumu-unity-how-to-install-vuforia

Seçtiğimiz herhangi bir modeli Unity projemize dahil ettikten sonra, Hierarchy penceresine sürükleyerek bırakıyoruz.Daha sonra bu nesnemizin boyutlarını yada başka ayarlarını düzenleyebilmek için Prefab halinden çıkarmamız gerekiyor.Bunun içinde nesnemizin üzerine sağ tıklıyoruz ve Unpack Prefab Completely seçimini yapıyoruz.Artık istediğimiz gibi düzenleyebiliriz.3D modelimizi ekledikten sonra yapmamız gereken birkaç işlem bulunuyor.

Öncelikle Scene penceresinde bulunan hedef görselimizin tam üzerinde olacak şekilde ayarlamamız gerekiyor.Bunu Scene penceresinin üzerinde bulunan araçlar ile yapabiliyoruz.Daha sonra modelimizi hedef görselimizin sınırlarına gelecek şekilde büyütüyoruz yada küçültüyoruz.Bunu yapmamızın nedeni, kamerada modelimizi daha düzgün görebilmek içindir.

Son olarak da, modelimizi Hierarchy penceresinde sürükleyerek Image Target nesnemizin üzerine bırakıyoruz.Çünkü kameramız hedef görselimizi takip edeceği için, modelimizin de bu nesne altında yer alması gerekiyor.Aksi halde kameramız hedef görseli takip ederken, sahnemizde bulunan modelimizi sabit olarak kamerada duracaktır yada hiç görünmeyecektir.

Unity-Artirilmis-Gerceklik-Uygulamasi-Yapmak-Vuforia-Kurulumu-unity-how-to-install-vuforia

Evet artık projemizi test etme zamanı geldi.Ancak öncelikle bir build almamız gerekiyor.Bunun için File > Build Settings yolunu izliyoruz.Açılan pencerede, sol taraftan Android seçimini yapıyoruz.Daha sonra Switch Platform butonuna basıp bir süre bekliyoruz.İşlem bittikten Build butonuna basıyoruz ve bir isim girdikten sonra projemizin .apk dosyası alıyoruz.Artık uygulamamızı telefonumuza yükleyerek test edebiliriz.Evet bu projemizin de sonuna geldik.Bir sonrak yazıda görüşmek üzere…

Unity-Artırılmış-Gerçeklik-Uygulaması-Yapmak-Vuforia-Kurulumu-unity-how-to-install-vuforia