klar.land için 3D veriler nasıl oluşturulur

·

·

Burada, 3D verileri görüntülemek için klar.land’de şu anda hangi seçeneklerin mevcut olduğunu ve tatmin edici sonuçlar elde etmek için verilerin buna göre nasıl işlenmesi gerektiğini açıklıyoruz.

Programm

3D veri üretimi için Blender programını öneriyoruz.

Blender’dan bir glb dosyası dışa aktarılır, bu dosya fırınlanmış dokuları ve mümkün olan en iyi şekilde sıkıştırılmış tüm animasyonları ve malzemeleri içermelidir.

Web tarayıcısında 3D görüntülemenin en iyi performansı, bileşenlerin/görüntülerin mümkün olan en yüksek oranda sıkıştırılması ve azaltılmasıyla elde edilir. Bu da nihayetinde olumlu bir kullanıcı deneyimine hizmet eder.

Veri formatı

klar.land, glb/gltf veri formatındaki verileri, etkileşim için temel teşkil eden ve özel olarak listelenen nesne adlarıyla işler. Tanımlama bu kılavuzun ilerleyen bölümlerinde listelenmiştir.

Veri yükleme

Yönetici menüsü aracılığıyla, uygun erişim haklarına sahip kişiler 3D verileri yüklemek için yeni bir “aşama” oluşturabilir.

Bu amaçla, glb dosyası sadece sürüklenip bırakılarak sağlanan alana yüklenebilir. Yükleme çubuğu yüklemenin ilerleme durumunu gösterir. Bu işlem devam ettiği ve yükleme henüz tamamlanmadığı sürece tarayıcı penceresi kapatılmamalıdır.

“JSON” metin alanında glb/gltf dosyası ve 3D ortamı için ayrı etkileşim komutları tanımlanır. “Sahne “yi ayarlamak ve ince ayar yapmak için çeşitli olasılıklar JSON talimatlarında bulunabilir.

Malzeme

1. Değiştirilebilir malzemeler için, aralarında değişiklik yapılabilen tüm malzemeleri içeren “MaterialHolder” adında bir nesne oluşturulmalıdır.

Kamera

İlk kamera (sahne yüklenirken gördüğünüz görünüm) Defaultcam olarak adlandırılmalıdır.

2. diğer tüm kamera adları cam ile bitmelidir.

Aydınlatma

1. Alan ışıklarının adları Arealight ile başlamalı ve

2. nokta ışığı ile nokta ışıkları.

Nesneler

Nesne adları da ilgili kafeslere atanmalıdır.

Birkaç nesne aynı ada sahipse, örneğin birkaç yumurta söz konusu olduğunda, adlar “Egg_1, Egg_2, Egg_3” vb. olmalıdır.

3. nesnelere ihracattan önce 1 ölçeği verilmelidir.

Video dokuları olan nesneler için standart UV eşlemeli basit düzlemler (dikdörtgenler) oluşturulması önerilir. Her biri farklı videolarla farklı nesneler gösterilecekse, bunlar farklı malzemelere sahip olmalıdır. Aynı malzemelere sahip nesneler de aynı videoyu alır.

Malzeme/Armatürler

1. Cam malzemeler için isim Cam ile başlamalıdır.

2. Dinamik gölge hesaplaması hesaplama açısından yoğun olduğundan, pişmiş ortam tıkanıklığı haritaları performans açısından önemli olacaktır.

3. Pişirilmiş Ortam Oklüzyon Haritaları için Blender’da özel, standart olmayan bir düğüm kullanılır. Bunu mevcut bir blend dosyasından çıkarmak en iyisidir. Uygun bir karışım dosyanız yoksa, lütfen bizimle iletişime geçin.

Sahnede Navigasyon

Zemin üzerinde gezinmek (yani zemin üzerinde herhangi bir yere tıklamak) isteniyorsa, zemin nesnesi “_floor” olarak adlandırılmalı ve nesnenin pivotu ortalanmalıdır. Dikkat: Blender hiyerarşisinde sadece mesh nesnesi “_floor” olarak adlandırılmalıdır.

_floor nesnesine alternatif olarak, bir nesneyi “_navMesh” olarak da adlandırabilirsiniz. Bu otomatik olarak görünmez hale getirilir ve Json kodundaki “userScale” parametresi aracılığıyla _navMesh’in üzerinde metre cinsinden istenen yüksekliği belirtebilirsiniz. Böylece, _floor nesnesine kıyasla, uyarlama için daha fazla olasılığa sahip olunur.

Daireler/odalar veya benzerleri için zemin spotlarının kullanılması tavsiye edilir. Bunlar, diğer şeylerin yanı sıra duvarlarda gezinmeyi önler. Bunu yapmak için, “_floor” adlı zemin nesnesinin hemen üzerinde, adlarında “groundspot” dizesi bulunan malzemesiz birkaç düzlem (=dikdörtgen) oluşturun. Ek olarak, Json kodu aşağıdakileri içermelidir:

{
  "Stage3dData": [
    {
	  "navigationmode":2,
	  .....
    }
  ]
}
Yer Noktaları ile Navigasyon

Animasyonlar

Animasyon adları ilgili nesne adıyla başlamalıdır.

Yani örneğin

Yumurta_1 yemek masasının üzerine uçar

Tencerede yumurta_2

ÖNEMLİ: Animasyonların ve nesnelerin adlandırılmasında tutarlılık sağlayın! Hem oluşturma sırasında hem de işlem sonrası/değişiklikler sırasında!

Animasyonları çoğaltmayın!

Animasyonlar için ayrı bir listedeki bilgiler:

1. animasyon adı (herhangi bir animasyon adı)

2. animasyon grubu (bir nesneye tıklandıktan sonra birkaç nesne tıklanabilir hale geliyorsa, hepsine aynı grup adı verilmelidir).

3. animasyon katmanı (düğmeye tıklanır ve kamera kamera noktasına uçar => katman 0, nesneye tıklanır ve animasyon oynatılır => katman 1, alt nesneye tıklanır ve oynatılır)

4. animasyon durumu (bir nesneye tekrar tıklandığında ilk tıklandığından farklı bir animasyon oynatılacaksa, ilk animasyona durum 0 ve ikinci duruma durum 1 atanmalıdır (örneğin, ilk tıklama => kapı açılır, ikinci tıklama => kapı kapanır)).

5. animasyon tetikleyici nesne (tıklandığında animasyonu tetiklemesi gereken nesne)

6. Animasyon kamerası (tetikleyici nesneye tıklandığında geçilecek kamera).

7. Zaman kodlu animasyonlar (3D programında verilen animasyonların tam isimleri, oynatılacakları zaman kodları da dahil olmak üzere).

(animasyonlar ve adlandırılmaları hakkında daha fazla bilgi için JSON talimatlarına bakın).