Three.js
3 minuty czytania
Three.js to biblioteka JavaScript, która pozwala na tworzenie trójwymiarowych aplikacji i animacji przeglądarkowych. Pozwala na łatwe tworzenie grafiki 3D, kamer, świateł, materiałów i innych elementów potrzebnych do tworzenia realistycznych, interaktywnych scen 3D.
Wraz z rozwojem języka Javascript powstają nowe możliwość użycia tego języka. W 2011 roku powstał webGL rozszerzenie do javascriptu, które dostarcza programistom interfejs grafiki 3D, które korzysta z elementów canvas pochodzących z HTML 5. W tym artykule przedstawię wam bibliotekę Three.js, która rozszerza możliwości webGL, a także uprzyjemnia pisanie elementów 3D.
Czym jest Three.js?
Three.js został po raz pierwszy wydany przez Ricardo Cabello na GitHub w kwietniu 2010 roku. Three.js został pierwotnie opracowany w języku ActionScript używanym przez Adobe Flash, a później został przeniesiony do JavaScript w 2009 roku. Cabello odszedł od ActionScriptu ze względu na to, że Javascript zapewniał większą niezależność oraz aplikacje napisane w Javascript nie musiałyby być wcześniej kompilowane przez programistę, w przeciwieństwie do aplikacji Flash. Three.js to oparty na Javascriptowym silniku WebGL, który może uruchamiać gry oparte na GPU i inne aplikacje oparte na grafice bezpośrednio z przeglądarki. Biblioteka three.js zapewnia wiele funkcji i interfejsów API do rysowania scen 3D w przeglądarce. Three.js również umożliwia tworzenie złożonych animacji komputerowych 3D do wyświetlania w przeglądarce i nie wymaga on żadnych dodatkowych aplikacji, czy też wtyczek.
Scena w Three.js
Każdy projekt w Three.js składa się z trzech elementów sceny, kamery oraz renderera. Scena w Three.js składa się z trzech współrzędnych:
- oś x - Jest to oś pozioma i jest skierowana w prawą stronę ekranu.
- oś y - Jest to oś pionowa i jest skierowana w górę ekranu.
- oś z - Jest to oś pozioma, która jest skierowana do obserwatora i to ona właśnie nadaje przestrzeni.
Każdy nowy obiekt jest ustawiony na współrzędnych (0,0,0) względem sceny. Aby elementy stały się widoczne istotne jest, aby do naszej sceny dodać oświetlenie punktowe lub ogólne.
Tworzenie i renderowanie obiektów 3D
W Three.js każdy obiekt 3D składa się z geometrii, materiału i siatki (mesh), która łączy te dwa elementy w renderowany model. Geometria określa kształt obiektu, np. sferę, sześcian czy bardziej złożoną bryłę, natomiast materiał odpowiada za jego wygląd – kolor, teksturę, przezroczystość czy efekty świetlne.
Po utworzeniu obiektu 3D należy dodać go do sceny i odpowiednio ustawić kamerę, aby był widoczny pod właściwym kątem. Renderowanie odbywa się poprzez aktualizowanie obrazu w każdej klatce przy użyciu silnika renderującego WebGL. Three.js automatycznie zarządza wieloma aspektami renderowania, co sprawia, że można skupić się na wizualnych i interaktywnych aspektach projektu, zamiast martwić się o niskopoziomowe detale grafiki 3D.

Animacja i interaktywność
Three.js pozwala na łatwe animowanie obiektów 3D poprzez manipulację ich pozycją, rotacją, skalą lub innymi właściwościami. W przypadku prostych animacji można wykorzystać pętlę renderowania, która cyklicznie aktualizuje scenę, stopniowo zmieniając wartości parametrów obiektu. Bardziej zaawansowane animacje mogą korzystać z interpolacji klatek kluczowych (keyframes) lub systemu szkieletowego, co jest szczególnie przydatne w przypadku postaci czy złożonych modeli.
Interaktywność w Three.js można osiągnąć poprzez reagowanie na zdarzenia użytkownika, takie jak ruch myszy, kliknięcia czy dotknięcia ekranu. Możliwe jest np. obracanie obiektów, przybliżanie widoku czy nawet wykrywanie kolizji pomiędzy elementami sceny. Dzięki integracji z bibliotekami takimi jak Three.js OrbitControls, użytkownicy mogą łatwo manipulować kamerą, eksplorując trójwymiarową przestrzeń w przeglądarce.
Obsługa modeli 3D z plików
Tworzenie obiektów za pomocą podstawowych brył geometrycznych może nie być wystarczające dla bardziej skomplikowanych projektów, dlatego Three.js obsługuje importowanie gotowych modeli 3D zapisanych w różnych formatach, takich jak GLTF, OBJ, FBX czy STL. Pliki te mogą zawierać nie tylko samą geometrię, ale również materiały, tekstury, animacje oraz inne dane potrzebne do realistycznego wyświetlenia modelu. Najczęściej zalecanym formatem do pracy z Three.js jest GLTF (GL Transmission Format), który oferuje dobrą kompresję, szybkie wczytywanie oraz wsparcie dla zaawansowanych efektów wizualnych. Dzięki dedykowanym loaderom, takim jak GLTFLoader, można w prosty sposób załadować model i dodać go do sceny. Integracja z zewnętrznymi edytorami 3D, np. Blenderem, pozwala na przygotowanie bardziej realistycznych i zoptymalizowanych modeli, które następnie mogą być wykorzystywane w aplikacjach webowych.
Jakie są korzyści z korzystania z Three.js?
Przede wszystkim, biblioteka ta umożliwia tworzenie realistycznych wizualizacji 3D, co jest szczególnie przydatne w takich dziedzinach, jak gry komputerowe, wizualizacje architektoniczne czy projektowanie produktów. Three.js pozwala na łatwe tworzenie skomplikowanych scen 3D, dodawanie elementów interaktywnych, takich jak animacje czy ruchome obiekty, oraz modyfikowanie parametrów w czasie rzeczywistym. Dzięki wielu narzędziom i funkcjom oferowanym przez bibliotekę, programiści mogą łatwo tworzyć aplikacje webowe, które są bardziej interaktywne i atrakcyjne dla użytkowników. Three.js jest łatwy do nauki i obsługi, a także ma dużą społeczność użytkowników i źródła wsparcia, co czyni go idealnym narzędziem dla programistów o różnym poziomie doświadczenia.
Nasza oferta
Web development
Dowiedz się więcejMobile development
Dowiedz się więcejE-commerce
Dowiedz się więcejProjektowanie UX/UI
Dowiedz się więcejOutsourcing
Dowiedz się więcejPowiązane artykuły
Scroll-Triggered Storytelling: Jak tworzyć historie, które ożywają podczas przewijania
15 gru 2025
Scroll-triggered storytelling to jedna z najbardziej angażujących form prezentowania treści w sieci, która łączy narrację z interakcją użytkownika. Dzięki animacjom i reakcjom na przewijanie historia dosłownie ożywa na ekranie, prowadząc odbiorcę przez opowieść w dynamiczny i intuicyjny sposób. Tego typu doświadczenia nie tylko zwiększają uwagę i zapamiętywanie treści, ale także budują głębsze, bardziej emocjonalne połączenie z marką lub projektem.

3D w Web Designie: Jak wprowadzić trójwymiarowe elementy na Twoją stronę i dlaczego jest to wartościowe?
29 lis 2024
W dobie dynamicznego rozwoju technologii internetowych, coraz ważniejsze staje się eksplorowanie nowych, interaktywnych rozwiązań. Jednym z nich jest wprowadzanie elementów 3D w web designie. W tym artykule odkryjemy, jak zintegrować trójwymiarowe elementy z Twoją stroną i dlaczego to może okazać się cennym krokiem w wyróżnieniu Twojej marki w cyfrowym świecie.
Platforma dla dewelopera budowlanego: zarządzanie inwestycjami, sprzedaż i CRM
17 cze 2026
Rynek deweloperski w Polsce wszedł w fazę, w której wygrywa nie ten, kto buduje najwięcej, ale ten, kto najlepiej zarządza tym, co już zbudował i sprzedaje. Excele, rozproszone pliki i klasyczne CRM-y projektowane pod zupełnie inne branże po prostu nie nadążają za tempem i złożonością współczesnej sprzedaży nieruchomości. Coraz więcej firm sięga dlatego po dedykowane platformy, które łączą zarządzanie inwestycjami, sprzedaż mieszkań i obsługę klienta w jednym spójnym środowisku pracy.
AI w modzie i branży odzieżowej: personalizacja trendy i virtual try-on
15 cze 2026
Sztuczna inteligencja przestała być w modzie modnym hasłem i stała się realnym narzędziem, które zmienia sposób, w jaki marki projektują kolekcje, sprzedają produkty i komunikują się z klientami. Algorytmy uczą się stylu konkretnego użytkownika, przewidują trendy z kilkumiesięcznym wyprzedzeniem, a wirtualne przymierzalnie pozwalają zobaczyć siebie w sukience bez wychodzenia z domu.
E-commerce dla motoryzacji - jak sprzedawać części online z katalogiem TecDoc?
13 cze 2026
Sprzedaż części samochodowych w internecie to jeden z najbardziej wymagających segmentów e-commerce, w którym precyzja danych liczy się bardziej niż chwytliwa grafika czy efektowna kampania reklamowa. Klient nie kupi filtra paliwa, jeśli nie ma stuprocentowej pewności, że pasuje on do jego konkretnej wersji silnika, a sklep z setkami tysięcy indeksów nie utrzyma się długo bez sprawnego systemu zarządzania asortymentem. Właśnie dlatego katalog TecDoc stał się fundamentem branży i standardem, na którym opierają swoje działanie zarówno globalni giganci, jak i mniejsze, wyspecjalizowane sklepy.
Dark kitchen i catering dietetyczny: jak technologia zmienia nowoczesną gastronomię
12 cze 2026
Gastronomia w ostatnich latach przeszła cichą, ale głęboką rewolucję. Klient coraz rzadziej chce iść do restauracji, a coraz częściej oczekuje, że to dobrze zbilansowany, świeży posiłek sam trafi pod jego drzwi o właściwej porze. Na tej zmianie wyrosły dwa zjawiska, które dziś wyznaczają kierunek rozwoju całej branży, czyli dark kitchen oraz catering dietetyczny. Łączy je jedno: bez nowoczesnej technologii, integracji systemów i analizy danych po prostu nie miałyby prawa działać w skali, w jakiej działają dzisiaj.
Coliving i najem instytucjonalny: jak technologia zarządza społecznością
10 cze 2026
Rynek najmu w Polsce dojrzewa w tempie, którego jeszcze pięć lat temu mało kto się spodziewał. Modele takie jak coliving i najem instytucjonalny przestały być ciekawostką z Berlina czy Londynu i na dobre wpisały się w krajobraz polskich miast, oferując mieszkańcom standard obsługi porównywalny z sektorem hotelarskim. Za tą transformacją stoi technologia, która spaja w jedną całość zarządzanie budynkiem, obsługę najemcy i budowanie społeczności.
Zobacz wszystkie artykuły