Moonlight Animate — warstwy 3D: modele, prymitywy, kamera i rysowanie w przestrzeni sceny
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.