Moonlight Animate: pełny import pędzli .abr i .sut
Do tej pory import pędzli z plików .abr przenosił tylko bitmapy końcówek — kształt się zgadzał, ale wszystkie ustawienia trzeba było odtwarzać ręcznie. Ta fala zmienia import w pełnoprawną migrację: pędzel po zaimportowaniu maluje tak, jak w programie, z którego pochodzi. Doszła też obsługa drugiego popularnego formatu — .sut.
Pełny import .abr — parametry, nie tylko końcówki
Nowy parser czyta z pliku .abr kompletny opis pędzla, nie samą bitmapę:
- prawdziwe nazwy pędzli (dotąd: „Pędzel 1…N") i właściwe przypisanie końcówek — plik wiąże je wewnętrznym identyfikatorem, który wcześniej był pomijany,
- geometria końcówki: rozmiar, odstęp stempli, kąt, spłaszczenie, twardość, odbicia,
- dynamika kształtu: wahania rozmiaru/kąta/zaokrąglenia, minimum, sterowanie naciskiem pióra, wygasanie, podążanie kąta za kierunkiem kreski, losowe odbicia per stempel,
- rozrzut: siła, obie osie, liczba stempli z wahaniem,
- tekstura papieru: osadzone w pliku wzorki ziarna są dekodowane (także kolorowe — konwersja do maski w skali szarości) i lądują w bibliotece materiałów z właściwą skalą, głębokością i trybem mieszania,
- podwójny pędzel — łącznie z drugą końcówką-bitmapą, która rejestruje się jako osobny materiał,
- transfer (wahania krycia/przepływu ze sterowaniem naciskiem), dynamika koloru (odcień/nasycenie/jasność, mieszanie kolorów pierwszego planu i tła), mokre krawędzie, szum końcówki, a nawet wymuszona poza pióra (pochylenie/obrót/nacisk).
Wiele popularnych narzędzi importuje z .abr wyłącznie końcówki — u nas pędzel przychodzi z kompletem ustawień. Stare pliki (bez sekcji parametrów) importują się jak dotąd, a uszkodzone lub egzotyczne wpisy nie wywracają całej paczki: parser jest defensywny i w najgorszym razie pojedynczy pędzel ląduje jako sama końcówka.
Import .sut
Ten sam dialog importu przyjmuje teraz pliki podnarzędzi .sut. Importowane są parametry (rozmiar, odstęp, twardość, krycie, kąt, rozrzut z gęstością, ziarno tekstury z siłą, zwężanie początku i końca kreski) oraz osadzone w pliku bitmapy końcówek — pędzle dekoracyjne z wieloma klatkami trafiają wprost do naszego wieloklatkowego modelu końcówek. Format bywa różny między wersjami programu źródłowego, więc czytnik sam bada strukturę pliku i mapuje tylko to, co rozpozna z sensownym zakresem wartości. Jeśli plik zawiera jedynie odnośnik do końcówki w zewnętrznej bazie materiałów (bez osadzonego obrazka), pędzel dostaje uczciwie okrągłą końcówkę, a podsumowanie importu jasno to zgłasza — zero atrap.
Wspólny lejek i podsumowanie importu
Oba formaty przechodzą przez jeden mechanizm: każda bitmapa (końcówka, druga końcówka, ziarno) rejestruje się w bibliotece materiałów z deduplikacją po zawartości pikseli — paczka, w której sto pędzli współdzieli jedną próbkę, nie zaśmieca biblioteki setką kopii. Po imporcie dialog podsumowuje, ile pędzli weszło z pełnymi parametrami, ile z samą końcówką, a ile jako proceduralne.
Drobne usprawnienia przy okazji
- Okno wyboru czcionek pokazuje na górze sekcję „Moje fonty" — własną bibliotekę konta (wgrane pliki i wybrane wcześniej czcionki), z pobieraniem pliku wprost z konta.
- Czcionki są teraz trwałe między sesjami — pobrane pliki rejestrują się automatycznie przy starcie programu, więc tekst na warstwach renderuje się właściwą rodziną bez ponownego pobierania (działa też offline).