Ditulis oleh Clayton Wilkinson, Developer Platforms Engineer
Hari ini, kami merilis update untuk ARCore, platform Google untuk mem-build pengalaman augmented reality, dan untuk Sceneform, library rendering 3D untuk mem-build aplikasi AR di Android. Update ini meliputi penyempurnaan algoritme yang memungkinkan aplikasi Anda menggunakan lebih sedikit memori dan CPU dalam sesi yang lebih lama. Update ini juga menyertakan fungsionalitas baru yang memberi Anda lebih banyak fleksibilitas atas pengelolaan konten.
Berikut ini adalah yang kami tambahkan:

Mendukung pemuatan glTF waktu proses di Sceneform

Sceneform sekarang menyertakan API yang memungkinkan aplikasi memuat model gITF pada saat waktu proses. Anda tidak perlu lagi mengonversi file gITF ke format SFB sebelum rendering. Ini akan sangat berguna untuk aplikasi yang memiliki banyak model gITF (seperti pengalaman berbelanja).
Untuk memanfaatkan fungsi baru ini -- dan memuat model dari cloud atau penyimpanan lokal saat waktu proses -- gunakan RenderableSource sebagai sumber saat mem-build ModelRenderable.
 private static final String GLTF_ASSET = "https://github.com/KhronosGroup/glTF-Sample-Models/raw/master/2.0/Duck/glTF/Duck.gltf";

  // When you build a Renderable, Sceneform loads its resources in the background while returning
    // a CompletableFuture. Call thenAccept(), handle(), or check isDone() before calling get().
    ModelRenderable.builder()
        .setSource(this, RenderableSource.builder().setSource(
                this,
                Uri.parse(GLTF_ASSET),
                RenderableSource.SourceType.GLTF2).build())
        .setRegistryId(GLTF_ASSET)
        .build()
        .thenAccept(renderable -> duckRenderable = renderable)
        .exceptionally(
            throwable -> {
              Toast toast =
                  Toast.makeText(this, "Unable to load renderable", Toast.LENGTH_LONG);
              toast.setGravity(Gravity.CENTER, 0, 0);
              toast.show();
              return null;
            });

Memublikasikan kode sumber Sceneform UX Library

Sceneform memiliki library UX elemen umum seperti deteksi bidang dan transformasi objek. Sebagai ganti membuat ulang elemen-elemen ini dari awal setiap kali mem-build aplikasi, Anda bisa mempercepat waktu pengembangan dengan mengambilnya dari library. Akan tetapi bagaimana jika Anda perlu menyesuaikan elemen-elemen ini dengan kebutuhan aplikasi khusus? Hari ini kami memublikasikan kode sumber library UX sehingga Anda bisa menyesuaikan elemen apa pun yang Anda butuhkan.

Contoh transformasi objek interaktif, yang didukung oleh elemen di Sceneform UX Library.

Menambahkan ID titik cloud ke ARCore

Beberapa developer mengatakan kepada kami bahwa ketika bekerja dengan titik cloud, mereka ingin bisa menghubungkan titik-titik antar bingkai. Mengapa? Karena ketika sebuah titik terdapat dalam banyak bingkai, ia kemungkinan besar menjadi bagian dari struktur yang kokoh dan stabil dibandingkan objek yang bergerak.
Untuk memungkinkan hal ini, kami menambahkan API ke ARCore yang akan menetapkan ID ke setiap titik di titik cloud.
ID titik baru ini memiliki elemen-elemen berikut:
  • Setiap ID unik. Oleh karena itu, ketika nilai yang sama muncul di lebih dari satu bingkai, Anda tahu bahwa nilai ini terkait dengan titik yang sama.
  • Titik-titik yang keluar dari tampilan hilang selamanya. Bahkan jika bidang fisik itu kembali terlihat, sebuah titik akan diberi ID baru.

Perangkat baru

Yang terakhir tetapi tidak kalah pentingnya, kami terus menambahkan dukungan ARCore ke lebih banyak perangkat sehingga pengalaman AR Anda bisa menjangkau lebih banyak pengguna di lebih banyak platform. Ini meliputi smartphone dan -- untuk pertama kalinya -- perangkat Chrome OS, Acer Chromebook Tab 10.

Di mana menemukan kami

Anda bisa mendapatkan informasi terbaru tentang ARCore dan Sceneform di https://developers.google.com/ar/develop
Sudah siap untuk mencoba contoh atau memiliki masalah, kunjungi project kami yang dihosting di GitHub: