03.07.2026 18:21

Moonlight Animate — warstwy 3D: modele, prymitywy, kamera i rysowanie w przestrzeni sceny

⏱️ 3 min czytania
Udostępnij:

Duży nowy filar Moonlight Animate: warstwy 3D. To warstwa, która zamiast płaskich pikseli trzyma całą małą scenę 3D — obiekty, kamerę, światła i materiały — renderowaną na bieżąco i buforowaną jako obraz warstwy. Źródłem prawdy jest scena; obraz to jej podgląd. Wszystko jest w pełni zapisywane w projekcie, objęte cofnij/ponów i współpracą w czasie rzeczywistym.

Co możesz zrobić już w pierwszej fazie

Twórz i wczytuj geometrię

  • Siedem prymitywów: sześcian, kula, walec, stożek, ostrosłup, płaszczyzna, torus.
  • Import własnych modeli w formacie OBJ (wraz z materiałami i teksturami z plików MTL).
  • Wstaw dowolną warstwę 2D do sceny jako obiekt — Twoja grafika staje się stojącą „kartą" w przestrzeni 3D (z wycinaniem przezroczystości), którą można obracać i ustawiać jak każdy obiekt.

Kamera i widok

  • Obracanie, przesuwanie i najazd kamery bezpośrednio na płótnie (myszą: środkowy przycisk = przesuwanie, prawy = najazd, kółko = zbliżanie).
  • Osiem gotowych ujęć (przód/tył/boki/góra/dół), perspektywa lub rzut równoległy, dopasowanie do sceny.

Manipulacja obiektami

  • Zaznaczanie kliknięciem, uchwyt 3D z osiami X/Y/Z, pierścieniami obrotu i kwadratem przesuwania.
  • Przyciąganie (kąty co 5°, siatka), tryby osi względem podłoża lub obiektu, duplikacja, usuwanie.

Światło, cieniowanie, styl

  • Dwa światła kierunkowe + światło otoczenia, cień rzucany na podłoże.
  • Trzy tryby cieniowania (gładkie, dokładne per-piksel oraz „toon"/komiksowe z pasmami), kontur obiektów o regulowanej grubości i kryciu, wygładzanie (supersampling).

Rysowanie w przestrzeni 3D

  • Weź dowolny pędzel i rysuj bezpośrednio w scenie 3D — pociągnięcia stają się obiektami sceny (kolor, krycie i grubość z pędzla), z kilkoma trybami umieszczania: płaszczyzna widoku, podłoże, płaszczyzny boczne lub wprost na powierzchni modelu. Kreski są testowane głębią, więc chowają się poprawnie za obiektami — i pozostają edytowalne jak osobne elementy.
  • Wszystkie obiekty (i zgrupowane pod jednym zwijanym węzłem kreski) widać na liście pod warstwą, jak przy warstwach wektorowych.

Solidne fundamenty

  • Renderer jest w pełni deterministyczny — każdy współpracownik w sesji widzi identyczny obraz co do piksela. Sceny zapisują się w projekcie, mają pełną historię cofania (z inteligentną pulą zasobów, żeby ciężkie modele nie zapychały historii) i synchronizują się w czasie rzeczywistym.
  • Warstwę 3D można w każdej chwili spłaszczyć do zwykłej warstwy rastrowej.

Co dalej

To dopiero pierwsza faza. W planach: szerszy import (m.in. FBX i glTF), malowanie tekstur bezpośrednio po obiektach oraz nakładanie tekstur z narzędzia do materiałów bezszwowych, pozowalne figury, konwersja sceny na linie i rastry, animacja sceny 3D na osi czasu i integracja z systemem węzłów.

📚 Powiązane posty

14.07.2026 22:19

Silnik gier: od szablonu do grywalnej gry RPG top-down

Startowy szablon silnika gier to teraz kompletny, grywalny wycinek gry RPG top-down: chodzenie po siatce, rozmowy z postaciami, przeciwnik goniący gdy...
Czytaj dalej →
14.07.2026 19:16

Moonlight Animate — system dialogów w grach

Silnik gier 2D w Moonlight Animate ma teraz kompletny system dialogów: kwestie z efektem maszyny do pisania, wybory z warunkami, zmienne fabularne i g...
Czytaj dalej →
14.07.2026 18:40

Moonlight Animate: ruchoma panorama dźwięku także w wyeksportowanym wideo

Dźwięk przejeżdżający z lewego do prawego głośnika brzmiał dobrze w podglądzie, ale eksport przez serwer zamrażał go w miejscu. Ostatnia luka parytetu...
Czytaj dalej →

📧 Bądź na bieżąco!

Zapisz się na listę oczekujących, aby otrzymywać powiadomienia o nowych postach na Dev Blog oraz informacje o starcie platformy Moonlight.