Android Augmented Reality Uygulaması Geliştirmek

Hüseyin Serkan Özaydin
3 min readDec 7, 2019

--

Merhaba, bu yazımda ArCore implementasyonundan daha çok Augmented Reality uygulaması geliştirmek isteyen arkadaşların nasıl bir yol izleyebileceğinden bahsedeceğim o yüzden biraz özet şeklinde geçecek. En sonunda da ARCore kullanmanız için izlemeniz gereken yolları ve örnekleri paylaşacağım. Bu yazımızda ne yazık ki kod yok :)

Augmented Reality Uygulaması Geliştirmek İçin Neler Kullanılabilir?

  • Vuforia (Çok güçlü bir engine)
  • EasyAR (Öyle pek birşey beklemeyin basit işlemler için kullanılabilir)
  • Maxst (Güçlü bir engine ama supportu çok atarlı)
  • Onirix (Cevap alana kadar canınız çıkıyor ama geleceği parlak)
  • WikiTude (Kendi sampleleri düzgün çalışmadı ama bir bakılabilir)
  • ArCore (Google Teknolojisi)

Arkadaşlar videolarda gördüğünüz birçok çözüm Unity için geliştirilmiş çözümler. Yukarıdaki SDK’ların videolarının neredeyse tamamı Unity ile oluşturulmuş videolar. Yani ne yazık ki öyle kolay bir şekilde Native development yapamıyorsunuz.

Hiç mi AR Geliştirmeyek O zaman?

Tabi ki hayır projenizin AR kısmını Unity ile geliştirip Unity projenizi Gradle projesi olarak export edip Android projenize modül olarak import edebilirsiniz. Peki nasıl yapacaksınız bunu ? Aşağıdaki link ile yapabilirsiniz

NOT 1: Unity 2018 kullanmanız lazım

NOT 2: Export ettiğiniz projeyi application mantalitesinden çıkarıp library mantalitesine almanız lazım yoksa build variantlar yüzünden projeyi derlerken hata alırsınız.

Gelelim ARCore’ye

Unity ile uğraşmak istemiyorsunuz ve native kod ile bunu yapmak istiyorsunuz. O zaman ARCore sizin için biçilmiş bir kaftan. Ama şöyle bir sorun var;

ARCore tüm cihazlarda çalışmıyor

Çalıştığı cihaz listesi için aşağıdaki linke tıklayın;

Peki ArCore ve Sceneform Bize Neler Sağlıyor

Birşeyin neden kullanıldığını bilmek için kullanılmadığı zaman ne tür zorluklar yaşanıyor onu bilmek gerekiyor.

ARCore Sceneform kullanmadığınız zaman şöyle oluyor;

En başta OPENGL kullanmanız gerekiyor. Kullanınca ne oluyor?

ArCore ile Sceneform kullanmayıp OpenGL kullanır iseniz 300 satırı geçkin kod yazıyorsunuz.

Eğer Sceneform kullanırsanız Android Studio’nun sağladığı kolaylıkları kullanabilirsiniz. Detaylar için aşağıdaki linke tıklayabilirsiniz. 4 serilik bir yazıdır(Kesinlikle okumalısınız)

Gelelim ArCore Kullanmak için neler yapmanız gerektiğine

İlk önce Android Studio’nuza bir plugin yüklemelisiniz. Bunun için Plugins > Google Sceneform Tools indirmeniz lazım. İndirdikten sonra bir obj dosyası indirmeniz gerekiyor. Şu linkten indirebilirsiniz;

Not!!!!: Eğer cihazınız ARCore desteklemiyor ise emülatörünüze bu özelliği kazandırabilirsiniz. Bunun için aşağıdaki linkte tıklamanız yeterli

Önemli bir konu daha var o da şu; FBX dosyaları hareketli objeyi içerir, obj dosyaları hareketsiz 3d objeyi içerir.

ArCore kullanımı için hangi kaynaklar kullanılabilir?

1- 4 serilik bir yazıdır yukarıda bahsettiğim gibi okumanızı tavsiye ederim

2- 21 videoluk bir seri aslında ArCore’nin çok güçlü olduğunu anlayabilirsiniz bu seri sayesinde

3- Basit obj dosyalarını kullanmak için izleyebileceğiniz bir video (Kanalı takip etmenizi tavsiye ederim Android için güzel bir kaynak)

4- Basit bir obj dosyasını koymak için yapılan bir proje linki ve yazısı

5- ArCore ile Augmented Image(Tanımlanmış markerı görünce obje çıkarma ) örneği yazısı

6- ArCore ile FBX dosyasını animate etmek için izleyebileceğiniz bir implementasyon videosu

Benim Android uygulama geliştirmede gösterebileceğim yollar şimdilik bu kadar. Umarım ki size güzel bir yol haritası olmuştur. Bir implementasyon paylaşmadım çünkü çok geniş bir dünya ve küçük bir implementasyon paylaşıp konuyu kapatmak yerine neleri nasıl yapabileceğinizden bahsetmek daha sağlıklı geldi bana. Aşağıda yaptığım bir örneğin videosunuda paylaştım

--

--

No responses yet