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.
SPRAWDŹ SWOJĄ WIEDZE Z TEMATU threejs
Pytanie
1/5
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
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.

Czym jest Agent ChatGPT i jak działa w praktyce?
20 wrz 2025
Sztuczna inteligencja w ostatnich latach zmieniła sposób, w jaki pracujemy, komunikujemy się i zarządzamy informacjami. Jednym z najnowszych i najbardziej obiecujących rozwiązań są tzw. Agenci AI, którzy potrafią nie tylko odpowiadać na pytania, ale także samodzielnie wykonywać konkretne zadania. Wśród nich szczególne miejsce zajmuje Agent ChatGPT, który łączy moc modeli językowych z praktycznymi funkcjami automatyzacji i integracji.
Property Aggregation Platforms – przyszłość wyszukiwania nieruchomości online
17 wrz 2025
Rynek nieruchomości w ostatnich latach przechodzi dynamiczną transformację napędzaną przez technologię i oczekiwania użytkowników. Coraz większą popularność zyskują platformy agregujące, które gromadzą oferty z wielu źródeł i prezentują je w jednym, wygodnym miejscu. Dzięki nim proces poszukiwania mieszkania czy domu staje się szybszy, bardziej przejrzysty i dostosowany do indywidualnych potrzeb.
Czym jest Veo 3?
16 wrz 2025
Sztuczna inteligencja coraz śmielej wkracza w świat produkcji multimedialnej, a jednym z najciekawszych przykładów tego trendu jest Veo 3 od Google DeepMind. To najnowsze narzędzie generatywne, które pozwala tworzyć realistyczne materiały wideo na podstawie prostych opisów tekstowych. Dzięki niemu profesjonalna jakość obrazu i płynność ruchu stają się dostępne nie tylko dla dużych studiów, ale również dla indywidualnych twórców.
Co to jest BPMS i jak wspiera zarządzanie procesami biznesowymi?
15 wrz 2025
Współczesne firmy funkcjonują w dynamicznym otoczeniu, gdzie kluczowe znaczenie ma sprawne zarządzanie procesami biznesowymi. Coraz częściej organizacje sięgają po nowoczesne narzędzia, które pozwalają nie tylko uporządkować codzienną pracę, ale także zwiększyć jej efektywność. Jednym z takich rozwiązań jest BPMS – system zarządzania procesami biznesowymi, który łączy w sobie modelowanie, automatyzację i monitorowanie działań.
Google Tag Gateway – czym jest i jak poprawia skuteczność śledzenia danych?
14 wrz 2025
W świecie marketingu internetowego coraz trudniej jest zbierać pełne i wiarygodne dane o użytkownikach. Coraz więcej przeglądarek i rozszerzeń blokuje standardowe tagi analityczne oraz reklamowe, co prowadzi do zaniżonych raportów i utraty części konwersji. Google, chcąc odpowiedzieć na te wyzwania, wprowadziło rozwiązanie o nazwie Google Tag Gateway. To prosta w implementacji technologia, która pozwala serwować tagi z własnej domeny i dzięki temu zwiększać skuteczność śledzenia bez kosztownych wdrożeń serwerowych.
Boty i sztuczny ruch – czy pomagają w pozycjonowaniu, czy szkodzą?
12 wrz 2025
Boty, automatyczne programy stosowane w Internecie, mogą być siłą napędową Twojego SEO, generując sztuczny ruch na Twoją stronę. Ale czy zawsze służą Twoim interesom? Czy mogą stać się zdrajcami Twojego pozycjonowania? Ten artykuł rzuca światło na kwestię związku między botami a sztucznym ruchem.
Zobacz wszystkie artykuły