Scene Kit, SceneView İşlevi ve Entegrasyonu

Gürkan Orduluoğlu
Huawei Developers - Türkiye
4 min readSep 29, 2020

Tahmin edebileceğiniz gibi, yüksek düzeyli sahne tanımlarını kullanarak 3D oyunlar oluşturabilir ve uygulamalara 3D içerik ekleyebilirsiniz. Animasyonlar, fizik simülasyonu, parçacık efektleri ve gerçekçi fiziksel tabanlı işlemeler kolayca ekleyebilirsiniz. Bu SceneKit seti hayatımıza HMS Core 5,0 ile giren kitdir.

Yüksek performanslı ve düşük güç tüketimine sahip hafif bir işleme motorudur. Donanım sistem katmanından yazılım platformu katmanına kadar açık yeteneklerle kapsamlı grafik oluşturma servisleri.

Sistem Katmanı

Yüksek performanslı API’ler verimli bir şekilde Vulkan/OpenGL ES’yi destekleyerek görüntü oluşturma performansını artırır.

Software Platform Katmanı

iGraphics Rendering yüksek performanslı görüntü oluşturma yetenekleri sağlar.

Capability Openness Katmanı

Scene Kit çeşitli senaryolara uygun açık API’leri ile 3D uygulamaları hafif ve verimli işleme hizmetleri sağlar.

Application Katmanı

Scene Kit, oyun, tasarım ve eğlence gibi çeşitli senaryolarda görüntü oluşturma yeteneklerini hızla edinmenizi sağlar.

Huawei Scene Kit, Huawei tarafından sağlanan hafif bir 3D grafik işleme hizmetidir. SDK/Full-SDK ile entegre ederek bu Kite kolayca erişebilirsiniz. Ardından gerekli API’ları arayarak Android telefonlara karmaşık 3D nesneleri yükleyebilir ve görüntüleyebilirsiniz. Çeşitli sahnelerde 3D görüntüleme yeteneklerinizdeki farklı gereksinimlerinizi karşılamak için, Sahne Seti üç tür görünüm sağlar: ortak sahneler için SceneView (AR dışı), ortak AR sahneleri için ArView ve yüze özel AR sahneleri için FaceView.

SceneKit, 3D varlıkların içe aktarılması ve işlenmesi için yüksek performanslı bir görüntü oluşturma motorunu açıklayıcı bir API ile bir araya getirir. Bir sahneyi görüntüleyen işleme algoritmalarını tam olarak uygulamanızı gerektiren Metal ve OpenGL gibi alt düzey API’lerden farklı olarak, SceneKit yalnızca sahne içeriğinizin ve gerçekleştirmesini istediğiniz eylem veya animasyonların açıklamalarını gerektirir.

Entegrasyona başlamadan önce, çok önemli bir şey söylemek istiyorum, eğer bu seti cihazınızın üzerine zaten kurduysanız, eğer sabit bir şekilde çalışmıyorsa, panik yapmayın!! Kodlarınız iyi çalışıyor olabilir fakat cihazınız bu SceneKit’i desteklemiyor olabilir.

Aşağıda desteklenen aygıtları görebilirsiniz.

Destekleyen Huawei Cihazlar

HMS Core entegrasyonunu daha öncekı medıum postlarda anlatılmıştı. Aşağıda paylaştığım linki referans alabiliriz. “https://medium.com/huawei-developers-tr/huawei-location-kiti-ve-entegrasyonu-f05286d0f0d3

Şimdi developmenta başlayabiliriz.

1)İlk olarak yeni bir Android Studio projesi oluşturalım.

Diğer Fonksiyonlar İçin Gereken İzinler

2) Diğer iki işlevi (ARView ve FaceView özellikleri) entegre edecekseniz fotoğraf makinesini kullanmak için kullanıcıdan izin almanız gerekir. O halde Manifest dosyasına izin ekleyelim.

3) Proje düzeyinde build.gradle dosyasında Maven deposu adresini yapılandıralım.

4) Scene SDK’yi uygulama düzeyinde build.gradle dosyasına gore konfigure edelim.

Daha sonra, lütfen projeyi senkronize edelim.

SceneView Fonksiyonu

Scene Kit 3D sahnelere otomatik olarak adapte olan işleme yeteneklerini size sunmak için SceneView’ı kullanır. Karmaşık bir 3D sahnenin görüntülenmesini tamamlamak için yalnızca birkaç API’yi aramanız yeterlidir.

5) Şimdi bir SampleView oluşturalım.

6) Layout xml dosyasına kaydederek bir SampleView oluşturalım.

7) SceneView’i başlatmak için surfaceCreated yöntemini geçersiz kılın ve aşağıdaki super yöntemini çağırın.

8) Geçersiz kılındıktan sonra oluşturulan yönteminde, 3D malzemeleri ve haritaları yükleme yöntemlerini çağrılır.

Orijinal malzemeler otomatik olarak temizlendiğinden, temizleme yöntemine gerek yoktur.

9)Gerektiğinde yüzey yaşam döngüsüne bağlı yöntemlerin geçersiz kılınıp kılınmayacağını belirleyin.

Tüm adımları tamamladıktan sonra, 3D malzemeleri yüklemek ve görüntülemek için SceneView kullanabiliriz.

Uygulama Ekran Görüntülerinin çıktısını aşağıdaki gibi görebilirsiniz.

Scene Kit Ana Menu ve SceneView Fonksiyonu

Bazı FAQ lar

1.HUAWEI Scene Kit kullanma kriterleri nelerdir?

Üç adet: (1) telefonunuzda gerekli sürümün HMS Core (APK) yüklü olması gerekir; (2) telefonunuz Vulkan API’sini desteklemesi gerek; (3) uygulamanız HMS Core Scene SDK’yı entegre etmiş olmak gerekir. HUAWEI Scene Kit’in desteklediği cihazların hangilerini desteklediğini öğrenmek istiyorsanız medyum makalemin içeriğine bakabilirsiniz.

2. HUAWEI Scene Kit ücretsiz mi?

Evet, HMS Core Scene SDK tarafından sağlanan tüm API’ler ücretsizdir.

3. HUAWEI Scene Kit kullanıcı gizliliği içeriyor mu?

Malzemelerin yüklenmesi, ayrıştırılması, işlenmesi ve görüntülenmesi sırasında HUAWEI Scene Kit, kullanıcı gizliliğinin yer almadığından malzeme bilgilerini toplamaz, depolamaz veya göndermez.

4. Yüklendikten sonra bir sahnede 3D malzemeler nereye yerleştirilecektir? Yeniden boyutlandırılabilir ya da taşınabilirler mi?

Bu sürümde (1.5.0.300), varsayılan olarak sahnenizin ortasına yerleştirilirler. Malzemeleri yakınlaştırmak veya uzaklaştırabilirsiniz, ancak konumlarını ayarlayamazsınız. Pozisyon ayarlaması sonraki sürümlerde desteklenecektir.

5. Skybox/lighting materyelleri loadSkyBox/loadSpecularEnvTexture/loadDiffuseEnvTexture yöntemlerini çağrılarak Neden yüklenemiyor?

Bu sürümde (1.5.0.300), HUAWEI Scene Kit sadece dds cubemap formatında skybox/lighting malzemeleri destekler. Skybox/lighting eşleme malzemelerinizin gerekli formatta olup olmadığını kontrol edebilirsiniz.

Bu Medium makalemde HMS Core 5,0'daki Sahne Seti’nin ne olduğunu, Ne işe yaradığını ? SceneView işlevi nasıl entegre edildiğini açıklamaya çalıştım. Umarım size faydası dokunur.
Bir sonraki medyum makalemde görüşürmek üzere.

Kaynak:

--

--