Advertisement
  1. Code
  2. Mobile Development

Buat Pokémon GO Style Augmented Reality Game Dengan Vuforia

by
Read Time:12 minsLanguages:
This post is part of a series called Create a Pokémon GO Style Augmented Reality Game With Vuforia.
Pokémon GO Style Augmented Reality With Vuforia
Create a Pokémon GO Style Augmented Reality Game With Vuforia: Part 2

Indonesian (Bahasa Indonesia) translation by Ilham Saputra (you can also view the original English article)

1. Pendahuluan

Dalam posting pertama dari seri ini kami berbicara tentang bagaimana mengagumkan Vuforia adalah untuk menciptakan pengalaman Augmented Reality, dan sekarang kami siap untuk mempraktekkan konsep-konsep ini dalam aplikasi yang sebenarnya. Dalam tutorial ini, kita akan mulai untuk bermain-main dengan Augmented Reality menggunakan Vuforia pada Unity 3D. Kita akan belajar bagaimana untuk mengatur Vuforia dan mulai mengembangkan sebuah AR game dari awal, mengadopsi logika yang mirip dengan yang digunakan pada Pokémon GO!

Ini tidak akan diperlukan untuk memiliki pengalaman sebelumnya pada kesatuan atau Vuforia untuk mengikuti tutorial ini.

Jika Anda ingin menggali lebih dalam, mengapa tidak belajar tentang salah satu yang paling mendasar dari konsep AR, spidol, dalam kursus singkat kami:

1.1. Rekap Cepat: Bagaimana Vuforia Bekerja?

Vuforia menggunakan perangkat kamera pakan dikombinasikan dengan accelerometer dan giroskop data untuk memeriksa dunia. Vuforia menggunakan komputer visi untuk memahami apa itu 'melihat' pada kamera untuk menciptakan model lingkungan. Setelah memproses data, sistem dapat kira-kira menemukan sendiri di dunia, mengetahui Koordinat: mana atas, bawah, kiri, kanan, dan sebagainya.

Jika Anda tidak tahu apa yang Vuforia adalah tentang, lihatlah posting pertama dalam seri ini.

1.2. Apa yang Akan Kita Pelajari?

Tutorial ini terbagi menjadi dua bagian. Dalam satu ini, kita akan melihat beberapa lokan Vuforia pada Kesatuan 3D, kita akan belajar bagaimana untuk mengatur lingkungan, dan kami juga akan mulai mengembangkan permainan AR kecil disebut menembak batu. Kami akan membayar perhatian khusus untuk ARCamera cetakan, salah satu bagian yang paling penting dari Vuforia dalam kesatuan.

Dalam bagian kedua, kami akan terus mengembangkan menembak permainan kubus, menambah interaktivitas dan membuatnya lebih menarik. Bagian ini tidak akan terlalu banyak ke dalam Vuforia's lokan, sebagai ide akan menjelajahi beberapa kemungkinan yang ditawarkan oleh Persatuan untuk menciptakan pengalaman Augmented Reality yang menarik.

2. Vuforia pada Unity

Unity adalah mesin permainan yang sangat populer dan kuat yang mudah digunakan dan dapat mengkompilasi permainan untuk beberapa platform. Ada beberapa keuntungan dalam menggunakan Unity untuk menciptakan pengalaman AR dengan Vuforia. Mungkin untuk menargetkan semua Vuforia sistem yang didukung, termasuk gelas pintar. Sangat mudah untuk digunakan, berkat Prefabs yang diberikan oleh SDK Vuforia . Menggunakan hanya Unity adalah mungkin untuk mengakses semua fitur yang tersedia di Vuforia.

2.1. Vuforia Prefabs

Anda dapat mengakses semua fitur Vuforia pada Unity menggunakan Vuforia prefabs. Semua yang harus Anda lakukan adalah tarik objek ke panggung dan mengkonfigurasinya. Seperti namanya, prefabs seperti template untuk menciptakan dan kloning obyek Unity lengkap dengan komponen dan properti. Sebagai contoh, ImageTarget mewakili gambar yang dapat digunakan sebagai target. Mari kita lihat di prefabs Vuforia yang tersedia pada Unity:

  • ARCamera: Prefab paling penting. Ia mengatur keseluruhan pengalaman AR, mengendalikan kualitas render, mendefinisikan pusat dunia, kamera perangkat yang akan digunakan, target maksimum untuk dilacak, dan seterusnya. Dalam tutorial ini kita akan berkonsentrasi upaya kami memahami bagaimana menggunakan objek ini.
  • Targets: Semua target Vuforia memiliki cetakan sendiri: ImageTarget, MultiTarget, CylinderTarget, ObjectTarget, UserDefinedTargetBuilder, VuMark, FrameMarker. Sasaran-sasaran tersebut akan diakui oleh ARCamera dan mulai tindakan, seperti menunjukkan objek 3D atau animasi.
  • CloudRecognition: Digunakan untuk mengakses target yang ditetapkan dalam sistem internet Vuforia.
  • SmartTerrain dan Prop: objek tersebut digunakan dalam fitur Area Pintar.
  • TextRecognition dan Word: Prefabs yang digunakan dalam fitur Text Recognition.
  • VirtualButton: Vuforia dapat memahami target sebagai tombol yang dapat secara fisik ditekan oleh pengguna. Cetakan ini akan membantu Anda untuk menggunakan sumber daya ini.

3. Membuat Pengalaman AR Pertama Kami

Permainan yang kami akan mengembangkan sederhana, tetapi itu menggambarkan prinsip-prinsip Augmented Reality baik, dan itu akan mengajarkan kita beberapa dasar-dasar Vuforia's. Tujuan permainan adalah untuk menemukan dan menembak batu yang terbang di sekitar ruangan. Pemain akan mencari di sekitar batu menggunakan nya atau nya perangkat dan 'tekan' untuk menembak pada kotak. Kami tidak akan menyibukkan diri dengan Skor, tingkat atau sesuatu seperti itu, tetapi Anda dapat dengan mudah memperluas pada aspek-aspek permainan sendiri.

3.1. Mempersiapkan Unity untuk Vuforia

Sebelum kita mulai bermain-main, kita harus mempersiapkan Unity untuk Vuforia. Proses ini cukup sederhana, dan pada dasarnya kita perlu untuk impor Vuforia's SDK paket dan menambahkan ARCamera cetakan untuk proyek kami.

  • Buat akun pengembang di Vuforia.
  • Buatlah proses masuk dan unduh SDK Vuforia untuk Unity.
  • Buka Unity dan buat proyek baru yang disebut "Shoot the Cubes".
  • Setelah jendela proyek Persatuan terbuka, buka Assets > Import Package > Custom Package dan pilih SDK yang diunduh.
  • Mengimpor semuanya.
  • Menghapus objek Camera di jendela Hierarchy.
  • Buka License Manager di portal pengembang Vuforia dan buat lisensi baru menggunakan akun pengembang Anda.
  • Salin kunci lisensi.
  • Kembali ke Unity, di jendela Project, pergi ke Assets > Vuforia > Prefabs > ARCamera. Pilih elemen dan seret ke jendela Hierarchy .
ARCamera PrefabARCamera PrefabARCamera Prefab
  • Dengan ARCamera dipilih, di panel Inspector , buka Vuforia Behavior (Script), temukan field App license key, dan tempelkan lisensi yang Anda buat di portal pengembang Vuforia.
Paste the License Key on ARCamera prefabPaste the License Key on ARCamera prefabPaste the License Key on ARCamera prefab
  • Klik tombol Apply dekat bagian atas panel Inspector untuk menambahkan kunci lisensi ke semua ARCamera prefab pada proyek ini.
Apply the changes on the ARCamera prefabApply the changes on the ARCamera prefabApply the changes on the ARCamera prefab

3.2. Menguji apakah Vuforia Berfungsi

Saatnya untuk memeriksa apakah lingkungan berfungsi dengan benar.

Menggunakan kamera komputer Anda

Jika Anda memiliki webcam pada komputer Anda, Anda dapat menekan tombol play kesatuan 's untuk memeriksa apakah ARCamera bekerja. Itu akan mungkin untuk mengenali target menggunakan webcam; Namun, ini tidak akan mungkin untuk menggunakan sensor data untuk menguji pengalaman AR Anda. Jika pakan kamera tidak menunjukkan jendela Game, ada kemungkinan bahwa kamera Anda tidak kompatibel dengan profil webcam yang disediakan oleh ARCamera.

Press the PLAY button on Unity

Konfigurasi aplikasi untuk menjalankan pada perangkat

Cara terbaik untuk menguji aplikasi Vuforia Anda adalah secara langsung pada perangkat. Kami akan menyusun proyek untuk Android, tetapi langkah yang sama akan berlaku untuk perangkat iOS.

  • Pertama, kita perlu untuk menyelamatkan adegan yang kita kerjakan. Pergi ke File > Save Scene.
  • Pilih folder Assets dan membuat folder baru bernama Scenes.
  • Simpan adegan ini sebagai ShootTheCubesMain.
  • Pergi ke File > Build Settings.
  • Pilih Android dan klik pada Switch Platform. Jika opsi ini dinonaktifkan, Anda akan memiliki untuk men-download SDK kesatuan diinginkan untuk perangkat.
Unity Build SettingsUnity Build SettingsUnity Build Settings
  • Klik pada Player Settings dan mengkonfigurasi proyek di jendela Inspector.
Unity Player SettingsUnity Player SettingsUnity Player Settings
  • Perhatikan beberapa opsi: Matikan Auto Graphics API dan pastikan bahwa OpenGLES2 dipilih untuk opsi Graphics API.
  • Ketik Bundle Identifier.
  • Untuk perangkat Android, membuat yakin bahwa Minimum API Level yang dipilih adalah API 9 atau lebih. Anda juga harus menggunakan ARMv7 untuk pilihan Device Filter.
  • Jika Anda mengikuti langkah-langkah dengan benar, proyek ini siap dibangun. Namun, jika ini adalah pertama kalinya bahwa Anda kompilasi proyek kesatuan untuk Android atau iOS, Anda harus mengkonfigurasi kesatuan untuk perangkat-perangkat tersebut. Mengikuti panduan ini untuk Android dan ini untuk iOS.
  • Untuk menjalankan proyek, kembali ke Build Settings dan klik Build and Run.

Setelah bangunan, aplikasi akan diinstal pada perangkat Anda. Untuk saat ini, semua yang harus Anda harapkan adalah untuk melihat kamera feed pada perangkat Anda tanpa kesalahan. Jika Anda sudah punya itu, semuanya bekerja dengan benar.

3.3. Menggunakan Prefab ARCamera

Tujuan menembak permainan kubus adalah untuk mencari dan menembak batu terbang menggunakan perangkat kamera dan sensor. Pendekatan ini serupa dengan yang digunakan pada Pokémon GO. Untuk mencapai hal ini, kita hanya perlu menggunakan cetakan Vuforia ARCamera.

Ada banyak skrip yang melekat pada ARCamera. Untuk saat ini, satu-satunya yang Anda butuhkan untuk memahami adalah script Perilaku Vuforia. Mari kita lihat pilihannya:

  • App License Key: Mana Vuforia lisensi kunci harus dimasukkan.
  • Camera Device Mode: Kontrol kualitas render objek.
  • Max Simultaneous Tracked Images: Mendefinisikan target maksimum dilacak pada waktu yang sama. Vuforia tidak merekomendasikan lebih dari lima sekaligus.
  • Max Simultaneous Tracked Objects: Mendefinisikan objek maksimum dilacak pada waktu yang sama. Sekali lagi, Vuforia tidak merekomendasikan lebih dari lima pada waktu yang sama.
  • Load Object Targets on Detection: banyak objek yang berhubungan dengan target sebagai target terdeteksi.
  • Camera Direction: Memilih kamera perangkat yang menggunakan.
  • Mirror Video Background: Mendefinisikan jika pakan kamera harus tercermin.
  • Word Center Mode: Pilihan yang paling relevan untuk proyek kami. Ini mendefinisikan bagaimana sistem harus menemukan pusat dunia.
    • SPECIFIC_TARGET: Menggunakan target tertentu sebagai rujukan kepada dunia.
    • FIRST_TARGET: Target pertama terdeteksi akan digunakan sebagai rujukan kepada dunia.
    • CAMERA: Menggunakan kamera sebagai referensi menunjuk kepada dunia.
    • DEVICE_TRACKING: Menggunakan perangkat sensor sebagai referensi untuk menetapkan posisi di dunia. Ini adalah pilihan yang kita butuhkan untuk memilih untuk proyek kecil kami.

Untuk saat ini, semua yang Anda akan perlu untuk mengubah dalam ARCamera adalah Word Center Mode. Klik elemen ARCamera di hierarki dan di panel Inspector, ubah World Center Mode menjadi DEVICE_TRACKING.

3.4. Menggunakan Sensor perangkat untuk menemukan pusat dunia

Mari kita tambahkan kubus ke panggung dan menguji apakah ARCamera bekerja dengan benar.

  • Pastikan bahwa posisi dan rotasi ARCamera ditetapkan ke 0 pada sumbu X, Y dan Z.
ARCamera Transform OptionsARCamera Transform OptionsARCamera Transform Options
  • Membuat objek Cube dari Game Object > 3D Object > Cube.
Create a Cube ObjectCreate a Cube ObjectCreate a Cube Object
  • Memindahkan kubus Position pada sumbu Z ke 10 dan 0 pada X dan Y.
  • Scale objek untuk 2 pada sumbu X, Y dan Z.
  • Rotate kubus 45 derajat pada sumbu X dan Y.
Change the Cube Position Rotation and ScaleChange the Cube Position Rotation and ScaleChange the Cube Position Rotation and Scale
  • Anda dapat menekan tombol putar untuk memeriksa jika kubus diposisikan dengan benar.
  • Setelah Anda tertentu kubus diposisikan dengan benar, membangun proyek lagi dan mengujinya pada perangkat. Untuk membangun, pergi ke File > Build and Run.

Anda harus melihat di sekitar dengan memutar perangkat untuk menemukan kubus. Anda akan melihat bahwa objek tetap masih di tempat yang sama, bahkan setelah Anda memutar perangkat jauh dari itu. Hal ini karena jika kubus 'ada' di dunia nyata, tetapi hanya dapat dilihat dengan perangkat kamera.

The cube remain in place even after the device rotatesThe cube remain in place even after the device rotatesThe cube remain in place even after the device rotates

3.5. Pengaturan posisi elemen menurut ARCamera

Masalah pertama dengan aplikasi kami sejauh ini adalah bahwa kubus mungkin muncul di mana saja dan pengguna akan melihat sekitar untuk menemukan itu. Sejak pusat dunia didefinisikan menurut sensor perangkat, kita tidak bisa yakin sebenarnya posisi elemen. Hal ini karena pengguna mungkin ingin memulai dengan perangkat dalam orientasi apapun, dan karena arah rotasi diukur bervariasi dari satu perangkat ke perangkat.

Untuk memastikan bahwa entitas AR memulai dalam pandangan pengguna, pendekatan termudah adalah menunggu Vuforia untuk menentukan pusat dunia dan untuk menemukan rotasi ARCamera dan kemudian mengatur lokasi awal elemen sesuai dengan itu orientasi.

Kami akan membuat Spawn Manager untuk menentukan posisi batu untuk melahirkan. Manajer akan menentukan posisi menurut rotasi ARCamera. Itu akan menunggu sampai rotasi diatur, dan kemudian bergerak 10 unit di depan kamera.

  • Buat dua objek kosong dengan Game Object > Create Empty. Klik kanan pada salah satu benda-benda yang baru Anda buat dan rename menjadi _SpawnController.
  • Mengubah nama objek kosong lain untuk _GameManager.
  • Di jendela Project, pilih folder Assets dan buat folder baru yang disebut Scripts.
  • Dalam folder Script, membuat C# script disebut SpawnScript.
  • Tarik SpawnScript ke _SpawnController.
  • Klik ganda pada SpawnScript untuk mengeditnya.

Pertama mari kita menambahkan paket Vuforia.

Untuk mengakses ARCamera, menggunakan Camera.main. Mari kita membuat sebuah fungsi untuk mendapatkan posisi kamera dan menetapkan kubus akan melahirkan 10 unit maju dari titik ini.

Kami akan mengubah posisi hanya sekali dari fungsi Start. ChangePosition adalah coroutine yang akan menunggu sedikit waktu sebelum menetapkan posisi.

Mari kita menguji script:

  • Kembali dalam kesatuan, klik pada objek _SpawnController dan menggunakan Game Object > 3D Object > Sphere untuk memasukkan bola di dalam _SpawnController.
  • Pilih bidang dan pastikan posisi diatur ke 0 pada sumbu X, Y dan Z.
  • Sekarang kita akan tumpang tindih kubus dan _SpawnController sehingga Anda dapat melihat pentingnya script. Pilih _SpawnController dan atur posisi 0 pada sumbu X dan Y dan 10 pada sumbu Z, posisi yang sama sebagai kubus.

Unsur-unsur mulai tumpang tindih; Namun, setelah Anda membangun dan menjalankan aplikasi pada perangkat, Anda akan melihat bahwa _SpawnController dan para sphere akan muncul di depan kamera, dan kubus akan di tempat lain. Silakan dan uji! Pastikan Anda mencari di sebelah kanan perangkat ketika aplikasi dimulai.

4. Kesimpulan

Selamat, Anda telah membuat pengalaman Augmented Reality pertama Anda. Ya, itu agak kasar, tapi itu bekerja! Dalam tutorial ini, Anda telah belajar bagaimana menggunakan Vuforia's utama cetakan dalam kesatuan, ARCamera. Anda juga belajar bagaimana mengkonfigurasi dan bagaimana menggunakan sensor perangkat untuk menciptakan ilusi bahwa obyek maya dimasukkan ke dalam dunia.

4.1. Apa berikutnya?

Dalam tutorial berikutnya kami akan meningkatkan prinsip ini untuk menciptakan permainan nyata dan pengalaman yang lebih menarik. Kami akan terus mengembangkan game Shoot the Cubes, menambahkan beberapa interaktivitas dan menjelajahi kemungkinan Unity untuk menciptakan AR Game yang menarik. Kami akan membuat kubus bertelur dan terbang di sekitar, dan kami akan membiarkan pemain mencari dan menghancurkan mereka dengan menembakkan laser dari perangkat.

Sampai jumpa lagi!

Terima kasih khusus untuk vektor gambar yang dirancang oleh Freepik, dilisensikan di bawah Creative Commons CC BY-SA.

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.