środa, 28 października 2020

[M] Andrzej Kurylewicz - Lalka

Jeszcze w marcu publikowałem na Gadesound cover tytułowego utworu Andrzeja Kurylewicza z serialu "Lalka". Obecnie - jako posiadacz wielomiesięcznego doświadczenia w orkiestracji (ha, ha!) - postanowiłem nieco poprawić tamtejszą wersję i pochwalić się nią także tutaj, co niniejszym czynię. Może pamiętacie jeszcze ten serial? Nieodżałowani Braunek, Kamas i Pawlik w głównych rolach. No i muzyka Pana Kurylewicza:

wtorek, 27 października 2020

[K] Dlaczego SublimeText?

Minęło już ponad siedem (!) lat, odkąd poznałem SublimeText i mogę bez wahania powiedzieć, że jest to jeden z najczęściej używanych przeze mnie programów, poza może TotalCommanderem czy Foobarem 2000, no i systemem operacyjnym. To wręcz niezbędnik - wszystkie niemal posty na obu blogach powstają właśnie w nim, a do tego obrabiam w nim mnóstwo plików - szybka edycja tekstu jest zawsze w cenie. Czy to poprawić jakiś plik konfiguracyjny, napisać na szybko skrypt w PHP, przejrzeć json i wyciągnąć z niego dane, czy w końcu przeformatować jakiś plik tekstowy, ujmując listę w znaczniki HTML czy zmieniając wielkość liter. To wszystko da się zrobić w Sublime, a jeśli czegoś się nie da zrobić tak od razu, to na 99% istnieje jakiś dodatek-plugin, który to umożliwi.

Konkurencja

Zacznę nietypowo, bo od konkurencji. Wiele innych aplikacji przez te lata czyhało, żeby "wygryźć" SublimeText z mojego komputera (albo przynajmniej zepchnąć go na margines). Bezskutecznie. Pierwszym, niejako "naturalnym" wrogiem był IntelliJ IDEA, gdyż tego właśnie środowiska używam od mniej więcej ośmiu lat. Dostępnym w nim edytorom nie sposób cokolwiek zarzucić, a i samo środowisko jest świetne, jeśli chodzi o edycję plików. A jednak i IntelliJ, i SublimeText koegzystują sobie bezkonfliktowo - bo to są narzędzia do zupełnie innych celów. Jedno nie zastąpi drugiego - może wspomóc, ale nie zastąpi. IntelliJ jest potężny, ale też i "ciężki", a dodatkowo do wygodnej pracy potrzebuje "projektu". SublimeText to z kolei narzędzie do pracy "z doskoku", na pojedynczych plikach. Taki skalpel.

Drugim "naturalnym" wrogiem był Notepad++, bardzo dobry i do tego darmowy edytor. Nie mogę powiedzieć na niego złego słowa - jest naprawdę świetny, tylko niemożliwie brzydki i "rozwleczony". Może inaczej - ma tyle możliwości, opcji, menu, przycisków i wszystkiego, że oczy cierpią. To niepoważny zarzut, zdaję sobie z tego sprawę, ale co z tego, skoro właśnie moje oczy i ręce jednogłośnie opowiedziały się po stronie Sublime'a?

Stareńkiego kEDa nawet nie wymieniam, bo to żadna konkurencja i mimo że ciągle go używam do bardzo specyficznych prac (np. szybkiej zmiany tekstowej tabelki z tabulatorami na tabelę HTML), to do regularnej pracy choćby ze względu na brak nazwy pliku na zakładce się już nie nadaje.

Od czasu do czasu dostaję informację, że oto pojawił się SublimeText-killer, ostatnio w kontekście LightTable'a. Owszem, sprawdzam sobie te plotki, stąd znam i LightTable'a, i Atoma, i Visual Studio Code, i Brackets, i Geany, Kate oraz PSPad (próbowałem też wybadać Howla, ale ten powstaje głównie z myślą o Linuksie, zaś wersja na Windows wzbudza podejrzenia mojego antywirusa, więc nie ruszałem). Każda z tych aplikacji ma ciekawe funkcje, niektóre są też bardzo ładne. Niestety, większość jest dość "ciężka" i nie bardzo nadaje się do uruchamiania za pomocą skrótu "Edit" w TotalCommanderze jako podręczny edytor. Żadne jednak z tych narzędzi nie spełniło w pełni moich oczekiwań, które ostatecznie nie są jakieś wygórowane.

Fajne rzeczy w SublimeText

Pierwsza rzecz: możliwość instalacji mobilnej. Czyli wgrywamy sobie SublimeTexta na pendrive'a i używamy do woli. Bez instalowania w systemie, zmian w rejestrze czy innych niespodzianek. Oczywiście, jeśli ktoś woli, to może i taki rodzaj instalacji wybrać - droga wolna i za tę elastyczność duży plus.

Druga rzecz: dodatki. Od lat używam ciągle tych samych: Advanced New File (genialny! umożliwia tworzenie nowego pliku z natychmiastowym podaniem lokalizacji na dysku), FindKeyConflicts (bardzo przydatny do wyszukiwania konfliktów skrótów klawiaturowych), Indent XML (do formatowania znaczników XML/HTML), StringUtilities (bardzo różne operacje na ciągach tekstowych, typu konwersja tabulatorów na spacje i odwrotnie, zmiana wielkości znaków, formatowanie json) czy w końcu WordCount, liczący słowa. Ten zestaw nie jest, co łatwo zauważyć, bardzo rozbudowany, ale też nie musi taki być. Dużo rzeczy typu sortowanie, przesuwanie, łączenie linii robi "sam z siebie" SublimeText.

Trzecia rzecz: brak konieczności zapisu. To kolejne genialne rozwiązanie, które mnie trzyma przy tym programie. Tu można utworzyć nowy dokument, po czym zamknąć aplikację bez zapisu. A po uruchomieniu dokument nadal tam będzie! Nie mam pojęcia, kto na to wpadł, ale powinien zostać ozłocony. Koniec z tworzeniem miliona małych pliczków, żeby coś na chwilę tam wkleić czy zrobić. To się może nie wydaje rewolucyjnym rozwiązaniem, ale jeśli ktoś poużywa, z żalem będzie patrzył na aplikacje, które przy zamykaniu pytają o zapisanie każdego zmodyfikowanego dokumentu. Tutaj zamykamy, a po ponownym uruchomieniu mamy to, co przy zamykaniu. Taka hibernacja dokumentów - ale ta działa zawsze i bez pudła (nie przypominam sobie żadnych kłopotów z jej działaniem przez te lata).

Czwarta rzecz: rozmiar i szybkość. Aplikacja po rozpakowaniu zajmuje trochę ponad 30MB, z czego 10 przypada na Pythona. Uruchamia się błyskawicznie, dzięki czemu mam SumblimeTexta podpiętego pod klawisz F4 w TotalCommanderze, czyli jest to domyślny edytor plików tekstowych.

Piąta rzecz - wygląd. Nic nie poradzę, ja muszę mieć aplikacje w kolorze czarnym i ciemnoszarym. Uwielbiam to. A SublimeText jest tak zrobiony, że ma ten ciemny kolor "natywnie" - nie jest "pokolorowany", jak na przykład do tej pory robi się "ciemne tematy" do Eclipse'a. Do tego można sobie wygląd sprowadzić do rzędu zakładek i ukryć nawet menu - SublimeText i tak najlepiej obsługiwać po prostu klawiaturą.

Do tego dochodzi mnóstwo drobiazgów - możliwość podłączenia klienta SFTP i synchronizowanie plików zdalnych, możliwość podpięcia się do gita, praca z całym folderem plików (jeśli już ktoś tego potrzebuje), możliwość zainstalowania słownika (!). Jest tego sporo, naprawdę sporo.

Niefajne rzeczy w SublimeText

Najbardziej niefajną rzeczą w tej aplikacji jest, ma się rozumieć, cena - 80$. Nie jest to jakoś tragicznie dużo, zwłaszcza w porównaniu z cenami wirtualnych instrumentów VST, jednak pamiętam, że sam miałem niejakie opory, żeby wydać tyle pieniędzy na coś, co ma mi zastąpić świetnego i darmowego Notepada++ (a w 2013 roku SublimeText, jeszcze w wersji 2, kosztował "zaledwie" 70$). Obecnie ani trochę nie żałuję tej decyzji, a SublimeText zwrócił mi się wielokrotnie, oszczędzając czas.

Inna sprawa to brak przyjaznego panelu do konfigurowania programu. Nadal wszystko trzeba robić z poziomu edycji odpowiednich plików konfiguracyjnych, co może i ma jakiś posmak "retro" i wygląda bardzo "hakersko", ale czasem wygodniej byłoby po prostu kliknąć jakąś opcję, zamiast szukać w pliku odpowiedniej linijki lub (co gorsza) przeklejanie jej z jakieś internetowej porady. Doceniam możliwość konfigurowania aplikacji w ten sposób, ale dodanie okna, które to samo zrobiłoby w sposób bardziej intuicyjny byłoby miłym ukłonem w stronę użytkownika. Chociaż, w porównaniu do LightTable'a, tu jest high-life i luksusy.

No i jedna fatalna, w mojej opinii, rzecz - tu nie ma drukowania! Niczego nie wydrukujecie, nawet listy zakupów. Istnieje wprawdzie szereg pluginów, które to mają umożliwić, ale wymagają one jakichś zależności, których już nie chciało mi się tropić albo zwyczajnie nie działają. Od biedy da się użyć plugina ExportHTML, który otwiera dokument lub zaznaczenie... w przeglądarce internetowej, skąd już zazwyczaj da się wydrukować dokument. Nie dotykało mnie to tak bardzo, kiedy nie miałem jeszcze drukarki w domu. Teraz brak drukowania wprost z SublimeTexta coraz bardziej mnie irytuje...

Jest dobrze

Mimo wytknięcia kilku wad, nie przeszkadzają one w korzystaniu programu na tyle, by myśleć poważnie o znalezieniu alternatywy - zresztą, z mojej wiedzy wynika, że takiej alternatywy zwyczajnie brak. Chyba tylko ten paskudny z wyglądu Notepad++ byłby w stanie zastąpić SublimeTexta - gdyby tylko popracowano na interfejsem użytkownika! Zwłaszcza że zaimplementowano tutaj już brak konieczności zapisywania plików (czyli "hibernację") oraz drukowanie.

Tak czy inaczej polecam bardzo SublimeTexta. Do codziennej pracy jak znalazł!

poniedziałek, 26 października 2020

[S] Ostatnia niedziela października

Pozazdrościłem Anice kolorów, więc trzeba było ruszyć się z domu i pobrykać z aparatem po lesie. Korzyści - poza dotlenieniem się - są takie, w Blenderze nasiedziałbym się nad pojedyczym pseudozdjęciem godzinami, a gdybym miał to później renderować, pewnie szybciej doczekałbym się mądrego rządu w Polsce. Zapraszam zatem do przechadzki po dolnośląskich lasach:

Przysłona: f/2,8, Czas: 1/160 sec, Ogniskowa: 105,0 mm

Przysłona: f/2,8, Czas: 1/160 sec, Ogniskowa: 105,0 mm

Przysłona: f/3, Czas: 1/160 sec, Ogniskowa: 105,0 mm

Przysłona: f/3, Czas: 1/400 sec, Ogniskowa: 105,0 mm

Przysłona: f/3, Czas: 1/160 sec, Ogniskowa: 105,0 mm

Przysłona: f/2,8, Czas: 1/640 sec, Ogniskowa: 105,0 mm

Przysłona: f/3, Czas: 1/160 sec, Ogniskowa: 105,0 mm

Przysłona: f/3, Czas: 1/160 sec, Ogniskowa: 105,0 mm

Przysłona: f/3, Czas: 1/160 sec, Ogniskowa: 105,0 mm

Przysłona: f/2,8, Czas: 1/800 sec, Ogniskowa: 105,0 mm

Przysłona: f/2,8, Czas: 1/400 sec, Ogniskowa: 105,0 mm

Przysłona: f/3, Czas: 1/160 sec, Ogniskowa: 105,0 mm

Przysłona: f/2,8, Czas: 1/2000 sec, Ogniskowa: 105,0 mm

Przysłona: f/2,8, Czas: 1/1000 sec, Ogniskowa: 105,0 mm

Przysłona: f/3, Czas: 1/320 sec, Ogniskowa: 105,0 mm

Przysłona: f/2,8, Czas: 1/1000 sec, Ogniskowa: 105,0 mm

Przysłona: f/2,8, Czas: 1/800 sec, Ogniskowa: 105,0 mm

Przysłona: f/2,8, Czas: 1/1000 sec, Ogniskowa: 105,0 mm

Przysłona: f/3, Czas: 1/1000 sec, Ogniskowa: 105,0 mm

Przysłona: f/2,8, Czas: 1/500 sec, Ogniskowa: 105,0 mm

niedziela, 25 października 2020

[3D] Pobudka godzinę później

Tak, to ten dzień, kiedy śpi się godzinę dłużej, a słońce wstaje wcześniej (i - niestety - wcześniej znika za horyzontem). Jednym słowem - czas zimowy nastał. Zegarki poprzesuwane? To zapraszam na łyk herbaty (?)

sobota, 24 października 2020

[3D] Czarno i biało

Szachy to chyba jeden z najpopularniejszych tematów prac początkujących "modelarzy 3D". Pewnie dlatego, że figury są stosunkowo proste do wykonania (nie wszystkie), a i szachownica nie powinna dla nikogo stanowić problemu. Cóż zatem robić - wziąłem się za ten temat i ja.

Rzeczy proste

Na pewno nieskomplikowana była plansza - ot, kilka "wyciągnięć", 64 jednakowe (geometrycznie) pola i już. Filozofii nie ma tu żadnej. Żeby nie było nudno, zrobiłem sobie porozdzielane pola, dzięki czemu szachownica wygląda "dziwniej" (nikomu nie życzę takiej w rzeczywistości - usuwanie kurzu lub paproszków ze szczelin skutecznie ostudziłaby ochotę do gry). Wykonanie tego elementu to dosłownie niespełna kwadrans, łącznie z nałożeniem tekstur.

Stosunkowo proste okazały się także figury. Początkowo chciałem stworzyć je "metodą modyfikatora", który zarys boku po prostu obraca wokół osi, ale ostatecznie efektywniejsze okazało się stosowanie walca, stopniowo zmieniającego średnicę. Po nabraniu wprawy nawet wgłębienia na szczytach wieży i hetmana udało się zrobić bez problemu.

Rzeczy trudniejsze

W opisany wyżej sposób udało mi się zrobić piona, wieżę, hetmana, gońca i króla. Z tym, że król i goniec wymagały drobnego szczegółu: król krzyża na szczycie, goniec - szczeliny pod kątem (taki sobie klasyczny krój bierek przyjąłem). Krzyż nie był może dużym problemem, chociaż uparłem się zrobić go z jednej bryły, więc parę problemów po drodze musiałem rozwiązać (w sumie niepotrzebnie, bo zamiast ciąć i usuwać, powinienem raczej dodawać i rozciągać). Szczelina w gońcu była prostsza do zrobienia - ot, przygotowałem odpowiedni blok (płaski i pod kątem) i nim "wyciąłem" odpowiedni fragment figury modyfikatorem "logicznym".

Jak można się domyślić, najgorzej poszło z konikiem. Tutaj miałem aż trzy podejścia. Za pierwszym razem zarys figury narysowałem sobie w Affinity Designerze i zaimportowałem jako svg. Niestety, kształt ten ze względu na skomplikowaną obwiednię, nie został prawidłowo zaimportowany i przy "pogrubianiu" go, wyszły na jaw spore problemy z powierzchniami - ścianki zamiast być płaskie, nagle dostały dziwnych "szpikulców", przemieszczeń i tym podobnych zakłóceń.

Westchnąwszy nad marnością życia, postanowiłem "wyrzeźbić" konika z prostopadłościennego klocka już w samym Blenderze. No i jak łatwo zgadnąć, tu poległem tak, że nawet nie będę niczego pokazywał, bo wstyd na cały powiat.

Nie pozostało nic innego, jak ponownie westchnąć i iść po rozum do głowy. Najlepiej byłoby narysować w samym Blenderze zarys za pomocą narzędzia krzywych, po czym "pogrubić" go odpowiednim modyfikatorem i już. Kłopot w tym, że nie potrafiłem wykorzystać narzędzia krzywych. Złamałem się i zerknąłem na stosowny tutorial - okazało się, że rzecz jest BANALNA, trzeba tylko w odpowiednim miejscu przełączyć tryb krzywej z Beziera na wielokąt. Teraz praca nad konikiem ruszyła... z kopyta, choć jeszcze parę problemów trzeba było rozwiązać, a końcowa postać nie do końca mi się podoba...

Zasoby

Gdzieś tak po zamodelowaniu konika i wygładzeniu go oraz powieleniu figur, aby mieć dwa pełne komplety bierek, Blender zaczął się krztusić i przytykać. Myślałem, że już za długo pracuję, więc profilaktycznie go zrestartowałem. Nie pomogło. Patrzę - narzędzie Google'a robi kopię zapasową. Oho! Wyłączyłem je. Blender wciąż się krztusił, w pewnym momencie sprawiając wręcz wrażenie zawieszonego. Ubiłem, po czym wszedłem szybko do folderu z projektami, żeby zobaczyć, czy mi nie wcięło pliku z szachami. Plik był. I miał 6,6GB!

No, nic dziwnego zatem, że Blender się przycinał - mam nawyk dość częstego naciskania kombinacji Ctrl+S, a zapisanie prawie 7GB trwać musi. No, ale żeby plansza i trzydzieści dwie figury zajmowały ponad sześć gigabajtów? Zaczęło się śledztwo.

Do dłuższej chwili wyszło szydło z worka - taki pojedynczy konik składał się (po wielokrotnym wygładzeniu) z dwóch i pół miliona fasetek (wielokątów). Wieża - pół miliona. Król prawie dwa. Co po przemnożeniu przez liczbę bierek w komplecie daje naprawdę duże zestawy danych (przypomnę, że pojedynczą ściankę opisuje kilka współrzędnych, a wszystkie one są zmiennoprzecinkowe, czyli zajmują dużo miejsca).

Musiałem poszukać tutoriala do odchudzania brył - na szczęście okazało się, że trzeba tylko zastosować odpowiedni modyfikator. Niestety, po tej operacji figury przestały mieć ładną, regularną budowę "wewnętrzną", ale już machnąłem na to ręką. Grunt, że i dane, i plik projektu udało się znacznie uszczuplić (do 300MB, co nadal jest zawrotną liczbą, ale nie wiem, czy tutaj nie dokładają czegoś tekstury - poprzedni projekt z misiem też ma mniej więcej tyle).

No i mamy szachy!

Przyznam, że o ile konik pozostawia sporo do życzenia, to cała reszta wyszła nawet zgrabnie i nie pogniewałbym się, gdybym posiadał taki rzeczywisty zestaw (pomijam szczeliny w szachownicy i brak pokrywy). Trudno jest mi jednak zwalczyć wrażenie, że z projektu na projekt Blender coraz wyraźniej daje mi znać, że mój sprzęt zwyczajnie nie nadaje się do grafiki trójwymiarowej. Ech, a człowiek nie uczy się na błędach!...

Dopisek: już po publikacji usiadłem jeszcze raz do Blendera i narysowałem zupełnie od podstaw drugi komplet, tym razem wykorzystując jednak metodę "obrotowych profilów". Poszło dużo szybciej niż podejrzewałem, więc z rozpędu zrobiłem też nowego konika. Całość postanowiałem ująć nieco inaczej, mniej klasycznie:

piątek, 23 października 2020

[A] Stanisław Dzikowski - Leniwa dziewczyna

Kudła, niesłychanie leniwa dziewczyna, zagięła parol na młodego leśnika. Czy uda jej się zdobyć męża?

Baśń "Leniwa dziewczyna" również znam wyłącznie z tej jednej wersji - kiedyś bawiła mnie bardziej, teraz raczej przeraża mnie jej ponadczasowość. Tyle tylko, że obecnie nie można już stosować środka, który sprawdził się leśnikowi. A jaki to sposób? Posłuchajcie:

czwartek, 22 października 2020

[3D] Miś

Dziś tylko się chwalę, bez snucia opowieści, jak to nie umiałem różnych rzeczy w Blenderze. Oto miś, którego nie ma:

środa, 21 października 2020

[3D] Mam nowy obiektyw!

Tak, już miałem kończyć z grafiką 3D i patrzcie tylko. Nie tylko nie skończyłem, ale wręcz zacząłem! Przedstawiam mój autorski projekt, zrobiony bez tutoriali, bez podpowiedzi, od początku do końca samodzielnie i bez "podpórek". Projekt, przez który prawie rzuciłem myszką o ścianę i prawie walnąłem z wściekłości w klawiaturę. A i kilka siwych włosów pewnie przybyło. Czy było warto? Hm...

Co by tu zamodelować?

Żeby sprawdzić, ile zdołałem się nauczyć przez tych parę dni zabawy w 3D, postanowiłem zrobić coś zupełnie od podstaw. No i stanęło na... obiektywie. Projekt ciekawy o tyle, że są tu różne materiały (metal, guma, szkło), są napisy, są wycięcia i drobne elementy, a przy tym jest to przecież coś stosunkowo łatwego, bo w zasadzie to tylko walce o różnych średnicach...

Pierwsze podejście miałem takie, że chciałem koniecznie zrobić fikcyjny obiektyw Nikona. Przygotowałem wszystkie elementy opisowe, zaimportowałem jako svg do Blendera i próbowałem bez efektów "owinąć" je dookoła walca. Chyba dwie godziny się męczyłem i nic z tego nie wychodziło. Porzuciłem więc ten pomysł i po prostu zacząłem rysować obiektyw.

Z obudową poszło szybko, ciach, ciach i gotowe. Zacząłem się zastanawiać, jak zrobić gumowe pierścienie do ustawiania ostrości i przesłony. Początkowo chciałem zamodelować pojedynczy "karb" i powielić go kilkadziesiąt razy wokół obiektywu, jednak na szczęście wpadłem na inny pomysł. Narysowałem obrys karbowanego pierścienia w Designerze, zaimportowałem do Blendera jako svg i "wyciągnąłem" w trzeci wymiar. Zadziałało idealnie!

Potem przyszedł czas na soczewkę i tutaj - przyznaję - poległem. No bo jak zamodelować soczewkę? Oczywiście, za pomocą wycinka sfery. No to wrzuciłem sferę, obciąłem i okazało się, że na "wierzchołku" jest za mało poligonów (czyli wielokątów, z których składa się każda bryła 3D). I akurat tam, gdzie potrzebowałem największej gładkości, pojawiły się dziwne zakłócenia. Wywaliłem, dodałem drugą sferę, już na tym etapie dzieląc ją na setki poligonów. Potem jeszcze wygładziłem. I znów, na "wierzchołku" jakieś zakłócenia, choć inne niż poprzednio. Dodatkowo po nadaniu materiału-szkła praca z Blenderem przestała być przyjemna, bo wszystko zaczęło się haczyć i zacinać. Renderowanie trwało nieprzyzwoicie długo - coś poszło zupełnie nie tak, jak trzeba.

W końcu stwierdziłem, że to przez to, że próbuję wyciąć zbyt mały fragment ze zbyt dużej sfery. Sferę zmniejszyłem, fragment przeciwnie - zwiększyłem. Dałem dużo poligonów, wygładziłem - i jest elegancko.

Napisy

Oczywiście, napisy można by było zrobić jako teksturę. Ale nie, to byłoby pójście na łatwiznę. Postanowiłem za wszelką cenę zrobić je jako obiekty trójwymiarowe, minimalnie wystające poza obrys obiektywu. Przygotowałem pliki svg, tym razem dzieląc wszystko jak tylko się da - podejrzewałem bowiem, że poprzednia porażka wynikała z tego, że całość napisów i logo zrobiłem jako jeden obiekt. I znów bingo! Pojedynczo wszystko udało się "poowijać" wokół odpowiednich elementów.

Postanowiłem jeszcze umieścić skalę pod "szkiełkiem", z boku obiektywu. Powycinałem odpowiednie kształty, nadałem materiały, po czym nawet tu udało się "owinąć" cyfry i wygląda to całkiem w porządku.

Dwie wersje

Przedstawiam dwie wersje obiektywu. Pierwsza to efekt wczorajszych zmagań, kiedy to "poległem" w walce z soczewką i "żabkowaniem" Blendera - miałem wtedy serdecznie dość tego projektu. Wyrenderowałem taką bieda-wersję jako ostateczną:

Żeby trochę się pośmiać, pokazałem kolegom i Siostrze Be. No i tylko dzięki ich żywej reakcji usiadłem do projektu ponownie, żeby go dokończyć. W ten sposób obiektyw uzyskał nieco lepszy kształt, opisy i nową soczewkę i prezentuje się następująco:

Koniec?

Na razie mam dosyć - po wczorajszym nie chce mi się już niczego zaczynać. Ale z drugiej strony, gdy dzisiaj kończyłem projekt i wszystko wychodziło "automagicznie", znów nabrałem wiatru w żagle i do głowy zaczęły przychodzić nowe pomysły. Kto więc wie? Może jeszcze coś powstanie? Na razie tyle ode mnie z krainy 3D.

wtorek, 20 października 2020

[A] Roman Zmorski - Drwal i diabeł

Jeszcze nie koniec baśni z tomu "Kwiat paproci" - dziś nietypowo, bo losy biednego drwala i diabła, który musi odpokutować za swoją psotę. Oczywiście jest jeszcze zły i chciwy pan, bo bez tego nie ma dobrej baśni. Zapraszam zatem do słuchania!

poniedziałek, 19 października 2020

Twarze, które nie istnieją

Ledwo co pisałem o rysowaniu nieistniejących miejsc, a znalazłem kolejną ciekawostkę. Kto wie, czy nie bardziej zastanawiającą.

Otóż wchodząc na stronę https://thispersondoesnotexist.com widzimy... twarz. A konkretnie - zdjęcie twarzy. Mimo wszelkich pozorów realizmu, twarz ta jest wygenerowana przez algorytm sztucznej inteligencji, która odpowiednio dobrała składowe, by złożyć je w kompletne, zwyczajne wręcz zdjęcie.

Każde kolejne odświeżenie strony powoduje utworzenie nowego zdjęcia, nowej twarzy, która nie istnieje w świecie rzeczywistym. Czyżby to już był czas, gdy w rzeczywistości wirtualnej "pozbędziemy się" własnych twarzy? Przecież i teraz ktoś może wejść na wspomnianą stronę, zapisać sobie taki sztuczny portret, po czym użyć go jako własnego zdjęcia na portalach społecznościowych, forach itp. A że zdjęcie wygląda bardzo naturalnie i zwyczajnie, nikomu nie przyjdzie do głowy kwestionować jego wiarygodności.

Ale to jeszcze nie koniec. Zdjęcie twarzy można też zamienić na "kreskówkowe" w serwisie Toonify Yourself - a efekt również jest całkiem interesujący.

Konkluzja jest taka jak poprzednio: trudno już dzisiaj wierzyć w cokolwiek widzianego, zwłaszcza w internecie. Wiarygodność obrazu spada praktycznie do zera, skoro nawet ludzkie twarze można sobie po prostu "wziąć" z darmowego serwisu. A to w połączeniu z technologią deep face, która umożliwia podmianę twarzy na filmie, przekreśla także wiarygodność obrazów ruchomych. Nigdy jeszcze stwierdzenie, że nasze oczy kłamią, nie było aż tak prawdziwe...

A jeśli jesteście pewni, że potraficie rozpoznawać "generowane" twarze, zagrajcie tutaj. I pochwalcie się wynikami!

niedziela, 18 października 2020

[3D] Dobra, jeszcze tylko filiżanka!

No cóż, to jeszcze jeden wpis o grafice 3D. Ale już chyba ostatni, bo tym razem okazało się, że jednak mój komputer definitywnie nie nadaje się do tego typu prac. A jak to? Już spieszę z wyjaśnieniem.

Szkło!

Jeśli jest coś, co zawsze powodowało u mnie opad szczęki przy oglądaniu renderowanych grafik, to był to wygląd szkła. Po prostu nie do wiary, jak dobrze wygląda "wyliczone" szkło! Wprawdzie wymaga to szalonych mocy obliczeniowych, zwłaszcza gdy przychodzi do obliczeń załamań, przejść, zmian grubości i tak dalej, ale efekt z reguły jest świetny.

Nikogo zatem nie zdziwi, że po wyrenderowaniu pączka z lukrem na fajansowym talerzyku postanowiłem pobawić się zastawą stołową. I zrobić coś "ze szkła". Naturalnie Andrew Price ma filmy i na tę okazję, więc strawiłem najpierw sporo czasu na oglądanie ich, a później na robienie "po swojemu".

Żeby nie trzymać w niepewności, końcowy efekt wyszedł mi taki:

i jestem nim rozczarowany. Nie, żeby filiżanka czy talerzyk wyszły kiepsko - wyszły całkiem zgrabnie moim zdaniem (zwłaszcza że uszko robiłem chyba w czterech podejściach). Szklany cel został osiągnięty. Rzecz w tym, co jest w filiżance.

Próbowałem "wlać" tam trochę herbaty. Wyszło "coś", co nie wygląda nawet specjalnie na ciecz (a przynajmniej na ciecz, którą ktoś od razu nazwałby kawą czy herbatą). Ot, "coś" tam jest. I teraz płynnie (nomen omen) przechodzę do tego, dlaczego mój entuzjazm nagle opadł - otóż męczyłem się z tym "płynem" przez prawie dwie godziny. W tutorialach wszystko ładnie wychodziło, nikt nie miał problemów - u mnie wyjść nie chciało. A żeby testować poszczególne ustawienia, musiałem uzbroić się w niezmierzone pokłady cierpliwości, bo wierzcie lub nie, ale na moim komputerze renderowanie tej sceny to jest tak mniej więcej dwadzieścia minut. Oczywiście, zwykle wystarczyło poczekać minutę czy dwie, żeby widzieć, że znowu coś poszło nie tak, ale strata czasu niesamowita.

W dodatku okazało się, że po przekroczeniu pewnego limitu (gdy przezroczystości i powierzchni było zbyt wiele), karta graficzna odmawiała posłuszeństwa, zaś renderowanie z wykorzystaniem tylko procesora to prawdziwa masakra. Finalny obrazek renderowałem już na drugi dzień rano, bo wieczorem chciałem tylko wyłączyć komputer i iść spać.

Naprawdę koniec?

Prawdę mówiąc, mam jeszcze jeden pomysł, który chciałbym przełożyć na 3D (i jest to pomysł bez szkła!), ale nie wiem, czy starczy mi cierpliwości. Obsługę Blendera jako-tako już znam, więc kto wie? Ale raczej będą to już teraz jakieś małe projekciki bez znaczenia, przynajmniej jeśli nie rozbiję banku i nie wymienię komputera na coś naprawdę potężnego. Wtedy drżyjcie, obróbko wideo i grafiko 3D!

sobota, 17 października 2020

[O] Han Solo - najgorsza część?

Han Solo (w oryginale po prostu "Solo") miał być drugim (po Rogue One) spin-offem, czyli filmem rozszerzającym świat "Gwiezdnych wojen". Opowiada wcześniejsze niż w sadze losy jednego z ulubionych jej bohaterów, czyli tytułowego Hana. W zasadzie był to pewniak, bo co tu się mogło nie udać? Przestępcze podziemie, starcia między gangami, wszystko to na tle będącego u szczytu potęgi Imperium, z historią młodych Hana Solo i Lando Calrissiana na głównym planie - toż to samograj! A jednak wszyscy jak jeden mąż narzekali, film zarobił "marne" 100 milionów dolarów (przy ośmiuset Rogue One) i jest to chyba najniżej oceniana część filmowej sagi.

Veto!

Dziś obejrzałem sobie Hana Solo i stwierdzam, że - zwłaszcza na tle Skywalker - Odrodzenie - jest to całkiem fajny film. Historia jest prosta, zwroty akcji raczej przewidywalne, efekty specjalne znośne - czego tu chcieć więcej? Mam wrażenie, że widzom najbardziej przeszkadzało to, że w roli głównej nie wystąpił młody Harrison Ford. I nie powiem, jest to dość rozsądny zarzut, bo Alden Ehrenreich (młody Solo) nie ma "tego czegoś", co bez wątpienia miał młody Ford. Tego wdzięku, tego uśmieszku, tej zawadiackości. Ehrenreich robi co może - i to widać - stara się być dobrym Hanem i ja osobiście w ogóle nie mam do niego pretensji. Innymi słowy, mnie pasuje. I to bardziej, niż wychwalany w recenzjach Lando, choć nie zrozumcie mnie źle, Donald Glover zagrał bardzo dobrze. Jednak według mnie ten Lando nie pasuje do Lando granego przez Billy'ego Dee Williams, jest za bardzo... ehm... cwaniakowaty? O Emilii Clarke się nie wypowiem, bo ile jestem wielkim fanem jej urody, to rzeczywiście kunsztu aktorskiego za wiele się tu nie znajdzie (przepraszam za brutalność, ale naprawdę, Thandie Newton, grająca Val, była na ekranie w sumie może kwadrans, a wypadła bardziej przekonująco).

Scenariusz, jak scenariusz. Nie miałem żadnych wymagań wobec tego filmu, więc nic mnie tu ani nie zaskoczyło, ani nie rozczarowało. Ot, fabułka. Disney postanowił, że fani chcą zobaczyć, jaki zawadiacki był Solo od samego początku, jak poznał Chewbaccę i Lando, jak wszedł w posiadanie "Sokoła Millenium" i tym podobne. Oczywiście musiało się tu znaleźć także pokazanie słynnej trasy na Kessel, przy czym nie mogę wyjść ze zdumienia, że Disney w nowych częściach nie "wyprostował" kwestii z "Nowej nadziei", kiedy to Solo chwali się, że przebył drogę na Kessel w zaledwie 12 parseków (co ma być nielichym wyczynem). Rzecz w tym, że parsek nie jest jednostką czasu, tylko odległości - coś, jakby Solo chwalił się, że przebył drogę do Rzymu w zaledwie 200 kilometrów. Fani zwracali na to uwagę, ale Disney postanowił brnąc w to dalej i w "Przebudzeniu mocy" Rey nawiązuje do tego, a Han dalej utrzymuje, że to było 12 parseków. Tutaj jest to powtarzane wielokrotnie - no cóż.

Efekty specjalne nie są złe, a scena na pociągu nawet całkiem fajna. Kiedy jednak zobaczyłem "Sokoła Millenium", coś mi w nim nie pasowało. Do tego stopnia, że zaraz po filmie sprawdziłem i rzeczywiście, ten nowszy "Sokół" miał z przodu... czubek:

...którego nie ma wersja znana z sagi:

Ot, taka ciekawostka.

Jedyną "dziwaczną" rzeczą, która w jakiś tam sposób mi przeszkadzała, był robot-nawigator, L3-37. Nie wiem, jakoś ten wątek (i te wolnościowe akcenty, i te "babskie" pogaduszki, i wątek zakochanego Lando) wydał mi się wciśnięty na siłę, jakby ktoś stwierdził, że skoro mamy blockbustera, to trzeba do niego wcisnąć walkę o równość, nieoczywistą miłość między człowiekiem a robotem i jeszcze do tego "mądrość" sztucznej inteligencji, która daje dobre rady zagubionej ludzkiej kobiecie...

Taki mocny średniak

Przechodząc powoli do podsumowania - moim zdaniem Han Solo radzi sobie. Nie jest to najlepsza część filmowej serii, ale nie jest też najgorsza. Równa do średniej, ot co. Oglądało mi się tę część dużo przyjemniej niż Skywalker - Odrodzenie, gdzie po prostu aż zęby bolą od miałkości scenariuszowej. Tu niby z jakością scenariusza nie jest dużo lepiej, ale to osobny, oderwany nieco film, a nie zwieńczenie jednej z największych filmowych sag.

Czy polecam? Tak, obejrzyjcie, jeśli nie widzieliście. Tylko nie z polskim dubbingiem!

piątek, 16 października 2020

[3D] Smacznego!

Przygody z grafiką 3D ciąg dalszy. Postanowiłem trochę zgłębić temat i poćwiczyć. Skorzystałem z wyśmienitego moim zdaniem tutoriala Andrew Price'a - a właściwie korzystam z niego dalej, jednak nie mogłem się powstrzymać, żeby się nie podzielić efektami już teraz.

Blender fajny jest

Nie będę ukrywał - Blender mnie zauroczył. Jest to naprawdę świetny kawałek oprogramowania, na które nie sposób narzekać - przynajmniej mi jeszcze nie dał ku temu żadnego powodu. Po pierwszych bojach wszystko stało się już logiczne i co najważniejsze, zwykle istnieje wiele dróg dojścia do finalnego efektu. Ktoś woli ikonki? Może korzystać z ikonek. Ktoś woli skróty klawiaturowe? Są prawie do wszystkiego. Ktoś woli operować myszką z rolką? Wolna droga. Naprawdę zrobiono tutaj wiele, żeby każdemu pracowało się szybko i wygodnie.

I rozwój programu naprawdę widać - kiedy przeglądałem różne, czasem stare, tutoriale, widać wyraźnie, że chyba od wersji 2.7 dokonała się mała rewolucja, jeśli chodzi o interfejs programu. Obecnie dostępna jest wersja 2.9, ale i między nią a wersją 2.8 są już spore różnice. Najciekawsze, że gdy Andrew opowiadał o różnych aspektach pracy i mówił, że np. tę czy inną opcję zrobiłby tak albo inaczej, bo byłoby wygodniej (a nagrywał w wersji 2.8), to ja, odtwarzając jego działania widzę, że wersja 2.9 wiele z tych uwag ma już uwzględnionych. Nie twierdzę, że twórcy Blendera akurat oglądali ten sam tutorial (choć jest bardzo popularny), ale ewidentnie wsłuchują się w głosy użytkowników, bo te same rzeczy były też opisywane na forach.

Krok po kroku

Wcześniejsze działania były robione trochę "na wariackich papierach", bo po prostu szedłem na żywioł i próbowałem zrobić coś z niczego. Tym razem postanowiłem cierpliwie, krok po kroku wykonać projekt rodem z tutoriala, być może trochę go tylko modyfikując. A projektem tym jest... donut, czyli taki pączek z dziurką w środku.

Pierwszym krokiem było, oczywiście, wykorzystanie gotowego kształtu torusa, który po dostosowaniu wymiarów upodobnił się do donuta:

Teraz należało troszkę go powgniatać i porozciągać, żeby nie był zbyt idealny, po czym powielić górną powierzchnię, mającą się stać warstwą lukru:

Warstwa lukru powinna mieć odpowiednią grubość i nieregularną krawędź, zróbmy to więc!

Lukier ma też tendencję do spływania w niektórych miejscach, zanim całkiem zastygnie, przyda się zatem zrobić kilka takich spływających kropel:

Teraz czas na pierwsze kolorowanie - lukier udał się nadspodziewanie dobrze, gorzej z nieco bladym kolorem pączka:

Następnym krokiem było dodanie podłoża (proste) i zrobienie posypki (skomplikowane). Okazało się na szczęście, że nie trzeba ręcznie dodawać każdego "ziarenka", wystarczy zrobić jedno (zapomniałem je usunąć, widać je nieco nad pączkiem, rzuca cień wyglądający jak zabrudzenie matrycy) i kazać programowi zastosować je jako... włosy na wybranej powierzchni:

I choć wyglądało to już w tym momencie całkiem nieźle, koniecznie trzeba było jeszcze popracować nad powierzchnią samego pączka:

No i na koniec trochę mojej własnej inwencji - na podłożu "rozciągnąłem" wirtualny obrus, a samego pączka wpakowałem na talerzyk (tu z dumą powiem, że talerzyk "rozkminiłem" zupełnie samodzielnie!). Gotowy obraz (Blender renderował go - z włączonym odszumianiem - na moim komputerze ok. 8 minut!) przepuściłem jeszcze przez obróbkę, żeby nieco zmienić kolory, dodać winietę i inne tego typu rzeczy - i uzyskałem "zdjęcie" z początku posta!

Łatwe, a trudne

Jak widać na moim przykładzie, można uzyskać całkiem nie najgorsze rezultaty już po dwóch dniach zabawy - co świadczy o tym, że rzecz nie jest bardzo trudna do opanowania. Jednak z drugiej strony, żeby zrobić coś zupełnie samemu od podstaw i żeby to jeszcze realistycznie wyglądało, trzeba mnóstwo pracy i godzin spędzonych na modelowaniu. Do tego trzeba mieć jednak mocny komputer, bo obliczanie gotowego obrazu potrafi trwać naprawdę długo - a to przecież tylko statyczna, pojedyncza klatka! Zrobienie sekundowej animacji trwałoby już ponad 3 godziny (24 klatki po osiem minut każda), o pełnometrażowym filmie (90 minut) wolę nawet nie myśleć. Jednak żeby zrobić sobie jakieś animowane logo czy też jakiś miły napis 3D - to już teraz dałbym radę wykonać. A tymczasem spróbuję doprowadzić tutorial do końca - jeśli się uda, na pewno się pochwalę!