Merkez
Aydınlıkevler Mah. Ziya Ülhak Cad. No:56 Selçuklu / KONYA
İstanbul
Ataköy 7. 8. 9. 10. Kısım E-5 Yanyol Cad. Ataköy Towers A Blok No: 2D-1/70 Bakırköy / İstanbul
3 boyutlu web siteleri, geleneksel düz tasarımdan sıyrılarak kullanıcıya derinlik, etkileşim ve gerçek zamanlı 3D deneyimi sunan platformlardır. WebGL, OpenGL ES tabanlı bu teknolojinin temelini oluşturur ve tarayıcıda eklenti gerektirmeden 3D grafik render etmeyi sağlar. Son yıllarda, donanım hızlandırmasının yaygınlaşması, tarayıcıların performans iyileştirmeleri ve yeni nesil API'lerin (WebGPU) ortaya çıkmasıyla birlikte, 3D web siteleri sadece portfolyo gösterimlerinin ötesine geçerek e-ticaret, eğitim, gayrimenkul, sağlık ve endüstriyel dijital ikiz gibi alanlarda ana akım haline gelmiştir. Bu makalede, 3D web teknolojilerinin temel bileşenlerinden ileri düzey optimizasyon tekniklerine, performans metriklerinden gelecek trendlerine kadar kapsamlı bir teknik rehber sunulmaktadır.
3D web uygulamaları, katmanlı bir mimari üzerine inşa edilir. En altta donanım (GPU), üzerinde sürücü katmanı, ardından grafik API'leri (OpenGL, DirectX, Vulkan, Metal) ve en üstte web teknolojileri (WebGL, WebGPU) bulunur. Bu katmanlar arasında JavaScript kütüphaneleri (Three.js, Babylon.js) soyutlama görevi görür. Aşağıda her bir bileşen teknik detaylarıyla açıklanmıştır.
WebGL, OpenGL ES 2.0/3.0 tabanlı, tarayıcı içinde donanım hızlandırmalı 2D ve 3D grafik render etmek için kullanılan düşük seviyeli bir JavaScript API'sidir. Eklenti (Flash, Unity Web Player gibi) gerektirmez ve tüm modern tarayıcılar (Chrome, Firefox, Safari, Edge) tarafından desteklenir. WebGL, shader programlarını (vertex shader ve fragment shader) GLSL (OpenGL Shading Language) ile yazarak GPU üzerinde paralel hesaplama yapılmasını sağlar. WebGL 1.0 (OpenGL ES 2.0 tabanlı) hala yaygın olarak kullanılmakla birlikte, WebGL 2.0 (OpenGL ES 3.0 tabanlı) daha fazla özellik sunar: 3D dokular, transform feedback, instancing, çoklu render target (MRT) ve gelişmiş doku formatları. Ancak Safari'nin WebGL 2.0 desteği uzun süre sınırlı kalmış olsa da günümüzde çoğu tarayıcıda tam destek mevcuttur.
Three.js, WebGL üzerine inşa edilmiş, en yaygın kullanılan açık kaynaklı 3D JavaScript kütüphanesidir. WebGL'nin düşük seviyeli (ve karmaşık) API'sini soyutlayarak, sahne (scene), perspektif kamera (perspective camera), ışık (light), malzeme (material) ve geometri (geometry) gibi yüksek seviyeli nesnelerle çalışmayı mümkün kılar. Three.js ayrıca, loader'lar (glTF, OBJ, FBX, USDZ), animasyon sistemi (AnimationMixer), fizik entegrasyonu (örn. cannon-es ile), post-processing efektleri (UnrealBloomPass, EffectComposer) ve VR/AR desteği (WebXR) gibi geniş bir ekosistem sunar. Güncel versiyon (r1xx) ile birlikte WebGPU renderer desteği (deneme aşamasında) de eklenmiştir.
Babylon.js, Microsoft tarafından geliştirilen ve açık kaynak olarak sürdürülen bir diğer güçlü WebGL/WebGPU kütüphanesidir. Three.js'e kıyasla daha "opinionated" (belirli bir iş akışını dayatan) bir yapıya sahiptir ve genellikle daha yüksek seviye soyutlamalar sunar. Babylon.js'nin öne çıkan özellikleri: yerleşik fizik motoru (Havok Physics veya Ammo.js ile entegre), gelişmiş parçacık sistemleri (ParticleHelper), prosedürel doku oluşturma, gölge sistemleri (CSM - Cascaded Shadow Maps), ve güçlü GUI sistemi. Ayrıca, Microsoft'un Babylon.js Native projesi ile React Native ve Electron gibi ortamlarda da çalışabilir. WebGPU desteği Three.js'den önce kararlı sürüme ulaşmıştır.
WebGPU, WebGL'nin halefi olarak tasarlanmış, modern grafik API'lerinin (Vulkan, DirectX 12, Metal) yeteneklerini web platformuna getiren yeni nesil bir API'dir. WebGL'ye göre avantajları: daha düşük seviye erişim (daha az sürücü yükü), çoklu iş parçacığı desteği (compute shader'lar ile GPGPU hesaplamaları), bindless kaynak yönetimi (sınırsız sayıda doku ve buffer), ve daha verimli bellek yönetimi. WebGPU, compute shader'lar sayesinde makine öğrenmesi (örn. TensorFlow.js ile), fizik simülasyonu, video işleme gibi grafik dışı işlemleri de GPU'da hızlandırabilir. WebGPU, Chrome (başlangıç flag'i ile), Edge, Firefox (kısmi) ve Safari (Technology Preview) tarafından desteklenmektedir. 2024-2025 itibarıyla kararlı sürüme ulaşması beklenmektedir.
Profesyonel bir 3D web sitesi geliştirme süreci, modelleme ve doku hazırlığından kodlamaya, performans optimizasyonundan dağıtıma kadar birçok aşamadan oluşur. Aşağıda bu sürecin her adımı teknik detaylarıyla açıklanmıştır.
Modelleme yazılımlarından (Blender, Maya, 3ds Max, Cinema 4D, ZBrush) alınan 3D modeller, web için optimize edilmiş formatlara dönüştürülmelidir.
Model hazırlığında dikkat edilmesi gerekenler: Poligon sayısını düşük tutmak (mobil için 50k-100k üçgen, masaüstü için 500k'ye kadar), UV haritalarının çakışmaması (overlap olmaması), malzemelerin PBR prensiplerine uygun olması (albedo, metalness, roughness, normal, ambient occlusion haritaları), rig ve animasyonların doğru dışa aktarılması.
Three.js ile basit bir sahne kurmak için gerekli adımlar:
Animasyonlar için iki ana yaklaşım vardır: GLTF içine gömülü animasyonlar (Three.js AnimationMixer ile oynatılır) veya kod tabanlı prosedürel animasyonlar. Kod tabanlı animasyonlarda GSAP (GreenSock Animation Platform) veya native requestAnimationFrame ile transform (konum, döndürme, ölçeklendirme) interpolasyonu yapılır. Etkileşim için Raycaster (tıklama veya hover ile nesne seçme) kullanılır. Raycaster, kameradan fare imlecinin yönüne doğru bir ışın fırlatır ve bu ışının hangi nesnelerle kesiştiğini hesaplar. Bu işlem matematiksel olarak pahalıdır, bu nedenle çok sayıda nesne varsa bounding box/sphere hiyerarşileri (BVH - Bounding Volume Hierarchy) ile optimize edilmelidir.
Three.js'de EffectComposer, RenderPass ve EffectPass'ler ile post-processing efektleri eklenebilir. Örnek efektler: UnrealBloomPass (parlama/glow efekt), OutlinePass (kenar çizgisi), SMAAPass (gelişmiş kenar yumuşatma), ShaderPass (özel GLSL shader'ları). Post-processing, her karede ekstra render geçişi gerektirdiği için performansı düşürür. Bu nedenle sadece gerekli sahnelerde (örneğin ürün detay görünümünde) aktif edilmeli veya düşük çözünürlükte çalıştırılmalıdır.
3D web sitelerinde performans, kullanıcı deneyiminin en kritik faktörüdür. Kötü optimize edilmiş bir sahne, düşük FPS (frame per second), yüksek bellek tüketimi ve pil tüketimine neden olur. Aşağıda temel performans metrikleri ve optimizasyon stratejileri detaylandırılmıştır.
Hedef: 60 fps (her kare 16.6 ms içinde render alınmalı). 30 fps (33.3 ms) kabul edilebilir alt sınırdır, daha düşük fps'ler kullanıcıda takılma hissi yaratır. Chrome Developer Tools > Performance sekmesi veya Three.js stats.js paneli ile fps ölçülebilir. Uzun süren kareler (jank) genellikle garbage collection (bellek temizliği), ağır JavaScript hesaplamaları veya fazla draw call'dan kaynaklanır.
Google tarafından geliştirilen Draco, 3D geometri verilerini (vertex pozisyonları, normaller, UV'ler, renkler) çok yüksek oranda sıkıştıran bir kütüphanedir. glTF dosyasının geometry bölümü Draco ile sıkıştırıldığında, dosya boyutu %80-90 oranında küçülebilir. Örneğin 10 MB'lık bir .glb, Draco ile 1-2 MB'a iner. Dezavantajı: Sıkıştırma açma (decompression) işlemi JavaScript ile yapıldığı için yükleme sırasında ek CPU yükü oluşturur. Ancak günümüzde bu yük, ağ aktarım kazancının yanında genellikle kabul edilebilir düzeydedir. Three.js'de DRACOLoader ile kullanılır.
Raycaster ile tıklama etkileşimleri, Shader material ile özel gölgelendirme efektleri, Cannon.js veya Ammo.js ile gerçekçi fizik simülasyonu eklenebilir. Ayrıca WebXR API sayesinde VR gözlükleriyle (Oculus Quest, HTC Vive) tam immersif deneyim sunulabilir. Bu ileri teknikler aşağıda detaylandırılmıştır.
Raycaster, kameradan fare veya dokunma noktasına doğru bir ışın fırlatarak bu ışının hangi 3D nesnelerle kesiştiğini hesaplar. Kesişen nesnelerin listesi döndürülür, ardından bu nesnelere tıklama, hover, sürükleme gibi olaylar bağlanabilir. Performans için: Raycaster'ı her mousemove olayında değil, sadece gerekli durumlarda (tıklama, hover'ın başlangıcı) kullanın. Çok sayıda nesne varsa (binlerce), bounding box hiyerarşileri veya sahne bölümleme (octree) ile raycast'i hızlandırın.
Three.js'nin standart malzemeleri (MeshStandardMaterial, MeshPhongMaterial) çoğu durumda yeterlidir, ancak özel efektler (dalgalanma, renk değişimi, ışıldama, cam, su, bulut, parçacık sistemleri) için ShaderMaterial veya RawShaderMaterial kullanılır. Shader'lar GLSL (OpenGL Shading Language) ile yazılır ve vertex shader (noktaların konumlarını hesaplar) ile fragment shader (piksellerin renklerini hesaplar) olmak üzere iki bölümden oluşur. Uniform (global değişkenler), attribute (her vertex'e özel) ve varying (vertex'ten fragment'e aktarılan) değişkenler tanımlanır. Shader yazmak, 3D web geliştirmenin en ileri seviye konularından biridir ve WebGL'in tüm gücünü doğrudan kullanma imkanı verir.
Gerçekçi yerçekimi, çarpışma, sürtünme, yaylar ve rijit cisim dinamiği için bir fizik motoru entegre edilmelidir. Cannon.js (hafif, JavaScript ile yazılmış) ve Ammo.js (Bullet Physics'in Emscripten ile JavaScript'e derlenmiş hali, daha ağır ama daha doğru) en yaygın kullanılanlardır. Fizik motoru, Three.js sahnesinden bağımsız olarak çalışır: Her karede fizik motoru dünyasını günceller (simülasyon adımı), ardından Three.js nesnelerinin konum/döndürme değerlerini fizik motorundaki cisimlerle senkronize eder. Çarpışma tespiti için bounding box/sphere, convex hull veya triangle mesh (en pahalısı) kullanılabilir.
WebXR API, tarayıcıda sanal gerçeklik (VR) ve artırılmış gerçeklik (AR) deneyimleri sunmak için standarttır. Three.js'de WebXRManager sayesinde VR oturumu başlatılabilir, kontroller (Oculus Touch, HTC Vive wand) okunabilir ve sahne VR gözlüğünde görüntülenebilir. AR için, kameranın gerçek dünya görüntüsü üzerine 3D nesneler yerleştirilir. WebXR, "immersive-vr" ve "immersive-ar" oturum modlarını destekler. AR için ayrıca hit test (gerçek dünya yüzeylerinin algılanması) ve anchor (sabit noktalar) özellikleri mevcuttur. WebXR için gerekli: HTTPS bağlantısı (localhost hariç), kullanıcı etkileşimi ile oturum başlatma, ve düşük gecikmeli (sub-20ms) render performansı.
VR/AR uygulamalarında hedef FPS 72 veya 90'dır (gözlük tazeleme hızına bağlı). Her göz için ayrı render yapıldığı için (stereo rendering), performans ihtiyacı normal web'e göre 2 katıdır. Bu nedenle VR sahnelerinde poligon sayısı, doku boyutu ve shader karmaşıklığı daha düşük tutulmalıdır. Ayrıca, WebXR için foveated rendering (gözün baktığı noktada yüksek çözünürlük, çevrede düşük çözünürlük) gibi ileri teknikler kullanılabilir.
glTF 2.0, 3D web'in JPEG'i haline gelmiştir. USDZ ve gITF varyantları, AR/CR platformları arasında birlikte çalışabilirliği artırmaktadır. Yakın gelecekte WebGPU'nun yaygınlaşmasıyla, 3D web siteleri native oyun motorları seviyesinde performans gösterebilecektir. Bu teknolojik gelişmelerin yanı sıra, Metaverse kavramı ile birlikte 3D web siteleri sadece görüntüleme değil, sosyal etkileşim, ekonomik işlemler ve sürükleyici deneyimlerin merkezi haline gelecektir. Aşağıda gelecek trendleri teknik perspektiften değerlendirilmiştir.
glTF 2.0, Khronos Group tarafından yönetilen ve 3D web'in standart formatı haline gelmiştir. Yeni nesil uzantılar ile yetenekleri genişlemektedir: KHR_materials_clearcoat (araba cilası gibi yüzeyler), KHR_materials_transmission (cam, plastik gibi yarı saydam malzemeler), KHR_materials_volume (bulut, duman, su gibi hacimsel malzemeler), KHR_materials_ior (ışık kırılma indeksi), KHR_xmp (metadata), EXT_meshopt_compression (daha verimli sıkıştırma). Bu uzantılar sayesinde glTF, fotogerçekçi malzemeleri taşıyabilir hale gelmektedir.
WebGPU, 2024-2025 döneminde tüm büyük tarayıcılarda varsayılan olarak aktif hale gelmesi beklenmektedir. WebGPU ile birlikte: Çok daha yüksek poligon sayıları (milyonlarca), gerçek zamanlı küresel aydınlatma (ReSTIR, path tracing), compute shader ile yapay zeka modellerinin çalıştırılması (segmentasyon, nesne tanıma), ve VR/AR için daha düşük gecikme süreleri mümkün olacaktır. Three.js ve Babylon.js, WebGPU renderer'larını şimdiden duyurmuş, bazı örnekleri yayınlamıştır.
Metaverse, birbirine bağlı 3D dünyaların ağıdır. Bu vizyonun gerçekleşmesi için standartlaşmış veri formatları (glTF, USD), avatar protokolleri (VRM, glTF avatar uzantıları), ve kimlik/sahiplik sistemleri (Web3, DID - Decentralized Identifier) gereklidir. Web3 tabanlı metaverse projeleri (Decentraland, The Sandbox) halen oyun motorları ile çalışırken, ilerleyen dönemde WebGPU tabanlı tarayıcı metaverse'leri ortaya çıkacaktır. Ayrıca, Apple'ın Vision Pro ve diğer uzaysal bilgisayarlar (spatial computers), 3D web sitelerinin "web sitesi" kavramını yeniden tanımlayacağına işaret etmektedir: 2D pencereler yerine, 3D uzayda yer alan etkileşimli içerikler.
Yapay zeka, 3D web geliştirme sürecini dönüştürmektedir. Metinden 3D model üretimi (Stable Zero123, DreamFusion, Luma AI), tek fotoğraftan 3D model (NeRF, Gaussian Splatting), 3D model otomatik rigging ve animasyon, ve kod yazımında yardımcı AI (GitHub Copilot, Tabnine) gibi araçlar, 3D web sitelerinin üretim maliyetini ve süresini dramatik şekilde azaltacaktır. Gelecekte, "Prompt ile 3D web sitesi oluşturma" gibi araçların yaygınlaşması beklenmektedir.
3D web siteleri, artık bir lüks değil, markaların rekabet avantajı elde etmesi için güçlü bir araçtır. Ancak başarılı bir 3D web projesi için teknoloji seçiminden performans optimizasyonuna, kullanıcı deneyiminden arama motoru optimizasyonuna (SEO) kadar birçok faktör dikkate alınmalıdır. Profesyonel öneriler:
Teknoloji hızla ilerlerken, 3D web geliştiricilerinin sürekli öğrenmesi ve trendleri takip etmesi gerekmektedir. WebGPU'nun olgunlaşması, yapay zeka araçlarının entegrasyonu ve metaverse standartlarının oturmasıyla birlikte, 3D web'in önümüzdeki 5 yıl içinde ana akım web geliştirmenin ayrılmaz bir parçası haline geleceği öngörülmektedir.
Artırılmış Gerçeklik
Artırılmış gerçeklik (AR), fiziksel dünyayı dijita...
Detaylı Bilgi
VR Görüntüleme
Sanal gerçeklik (VR), kullanıcıyı tamamen dijital...
Detaylı Bilgi
Web Alışkanlıkları, Dikkat Ekonomisi ve Satın Alma Eğilimlerinin Evrimi
Detaylı Bilgi
Endüstriyel Animasyon
Endüstriyel animasyonların çalışma şekli ve faydal...
Detaylı Bilgi
3D Animasyon
3D animasyon teknolojisi nasıl çalışır? Modelleme,...
Detaylı Bilgi
Sanal Gerçeklik
Sanal gerçeklik teknolojisinin çalışma prensibi, d...
Detaylı Bilgi
Reklam Ajansı
Modern reklam ajanslarının çalışma yapısı, dijital...
Detaylı Bilgi
Endüstriyel Render
Endüstriyel render süreçlerini, ışın izleme, PBR m...
Detaylı Bilgi
Motion Graphic
3D motion graphic dünyasına teknik bir bakış. Cine...
Detaylı Bilgi
3 Boyutlu Web Siteleri
WebGL, Three.js ve Babylon.js ile 3D web sitesi ge...
Detaylı Bilgi
Teknik Çizimden Tanıtım Filmine
SolidWorks, AutoCAD gibi CAD çizimlerini profesyon...
Detaylı Bilgi
Solid Works Çizimlerine Hayat Verme
SolidWorks modellerini KeyShot ve Blender ile dina...
Detaylı BilgiSatış, Tanıtım ve Pazarlama
ihtiyaçlarınıza sürdürülebilir çözüm
AdRactive
Hesaplı, uzun ömürlü ve ihtiyaç odaklı çalışma sistemimiz ile bizi, tanıtım ve pazarlama masraflarınızı azaltmak amacıyla bir yatırım aracı olarak değerlendirebilirsiniz. İhtiyacınızı en iyi şekilde çözümlemek için bizimle iletişime geçin!
Dijital Deneyim Çözümleri
İletişim
Merkez
Aydınlıkevler Mah. Ziya Ülhak Cad. No:56 Selçuklu / KONYA
İstanbul
Ataköy 7. 8. 9. 10. Kısım E-5 Yanyol Cad. Ataköy Towers A Blok No: 2D-1/70 Bakırköy / İstanbul
Telefon
0 545 327 19 22© 2025 All rights reserved by AdRactive is a brand of PIXEON
Bu site reCAPTCHA tarafından korunmaktadır ve Google Gizlilik Politikası ile Hizmet Şartları geçerlidir.