LightWave (cz. 1.) ------------------ LIGHTWAVE W KONSERWACH Kto by pomyôlaî, ûe Redaktor Naczelny uzna cykl poôwiëcony LightWave'owi za coô pararelnego z tuszonkâ. Ale jeôli taka jest jego wola, otwieramy wiëc w tym miesiâcu pierwszâ puszkë. Obyômy sië najedli na caîy miesiâc. Grzegorz Grzyb Na wstëpie pragnë przeprosiê za miesiëcznâ zwîokë. Wynikîa ona z wielu obiektywnych powodów, z których podstawowy to moje "letkie" przepracowanie. Ûeby coô zrenderowaê, trzeba to "coô" mieê. Skorzystanie z obszernej biblioteki obiektów to ûadna sztuka. W wielu wypadkach jest to jedyny sîuszny i skuteczny sposób szybkiego skonstruowania projektu animacji. Ale czy fajnie jest oglâdaê "swoje" gotowe dzieîo, gdy co chwilë przelatujâ statki kosmiczne czy elementy wyposaûenia kuchni takie same, jak u kolegi lub tzw. "profesjonaîa"? Przed nastaniem "ery komputerowej" jako mîody i piëkny czîowiek zasîuchany byîem po... trudno powiedzieê po co, we wîoskie piosenki znanych artystów: Umberto Tozziego, Ricchi e Poveri, Adriano Celentano i jego ûony Claudi, Toto Cotugno oraz wielu, wielu jeszcze, których dziô juû nie pamiëtam, i podôpiewywaîem sobie ich "hity" w wyobraúni, widzâc sië na scenie Opery Leônej w Sopocie. Okropieïstwo! Co tu duûo mówiê. Korzystanie z cudzych obiektów i przypisywanie sobie ich autorstwa jest czymô bardzo dla mnie podobnym. Wiem, wiem! Wiele obiektów jest sprzedawanych jako gotowce do wykorzystania, a wiëc nie ma mowy o kacu moralnym, ale jakiô niesmak zawsze zostaje. Dzisiaj mówimy o Modelerze. Wielu potencjalnym uûytkownikom LightWave'a warto przybliûyê ten potëûny edytor obiektów, nie tylko z powodu uîatwienia konstruowania w jego ôrodowisku od podstaw, ale takûe w celu podania wiedzy o tym, jak moûna poddaê reedycji najbardziej skomplikowane obiekty stworzone cudzym wysiîkiem. Wszak juû zmiana niektórych szczegóîów danego obiektu, moûe zmieniê jego pierwotny charakter. Otwórzcie wiëc (naturalnie wszyscy, którzy macie) program Modeler z pakietu LW. Ekran podzielony w doôê tradycyjny sposób. Rzuty z przodu (Face), z góry (Top) i z lewej (Left) uzupeînione nieco innym rzutem perspektywicznym, sâ obszarem roboczym, w którym odbywa sië edycja za pomocâ pierwotnego przyrzâdu edycyjnego (czyt. myszy). Wtórnym, w moim pojëciu, jest stosowanie precyzyjnych ustawieï wartoôciowych w okienkach "Numeric" poszczególnych funkcji. Uzupeînieniem ekranu jest pionowy i poziomy rzâd swoistych przycisków, pod którymi ukryte sâ panele edycyjne bâdú narzëdzia dostëpne w Modelerze. Górny rzâd przycisków jest odpowiednikiem tradycyjnego Menu belkowego (jak kto woli, rozwijalnego) i wybór kolejnych przycisków ma bezpoôredni wpîyw na zawartoôê rzëdu pionowego (to wîaônie Menu). Stop! Zostaî jeszcze podwójny szereg malutkich przycisków w prawej górnej sekcji. Jest ich w sumie 20. Sâ one widoczne niezaleûnie od wybranego Menu. Sâ to warstwy (layer'y) sîuûâce do pracy z wybranymi fragmentami obiektu, tworzenia obiektów zîoûonych i do wszelkich manipulacji wymagajâcych moûliwoôci operowania na obiekcie, bez wpîywu na jego caîoôê. Górny rzâd 10 przycisków odpowiada za warstwy aktywne, dolny za widoczne nieaktywne (z punktu widzenia bezpoôredniej edycji), ale "aktywne" przy wszelkich operacjach zwiâzanych z wycinaniem, krojeniem, drâûeniem czy typu Boolean (operacje logiczne). Mimo ûe warstw jest po dziesiëê w obu rzëdach, niejednokrotnie poczuîem pragnienie dysponowania przynajmniej podwojonâ ich liczbâ. No coû, apetyt roônie w miarë jedzenia! Oj! znowu nawiâzujemy do konserw! Jeôli warstwa nie jest wybrana za pomocâ górnego lub dolnego przycisku, jest niewidoczna. Niemniej jednak maîa kropeczka na górnym przycisku layera informuje nas, ûe dany layer jest juû wykorzystywany przez jakiô element. Ta informacja okaûe sië niesîychanie istotna przy omawianiu selekcji i deselekcji, gdy natkniemy sië na ukryty (hide) fragment obiektu, który fizycznie bëdzie znajdowaî sië w warstwie, a bëdzie niewidoczny. Sam uûytkownik przy bardzo precyzyjnej obróbce potrafi ukryê nieistotny dla edycji element bryîy i póúniej zwyczajnie o nim zapomnieê! To jeszcze nie koniec waûnych wiadomoôci o layerach. Istnieje, naturalnie, moûliwoôê zaznaczenia kilku aktywnych bâdú nieaktywnych layerów w trakcie jednego wyboru. Oczywiôcie multiplikowanie uaktywnianych warstw odbywa sië za pomocâ przyciôniëcia klawisza [Shift]. Jakie to ma znaczenie? Warto czasem mieê podglâd na wszystkie warstwy dolne (background), a wiëc wybrane przez naciôniëcie przycisków dolnego rzëdu przy edycji jednego kawaîka obiektu. Drugâ sprawâ jest zaznaczenie wielu górnych przycisków i uaktywnienie warstw zawierajâcych rozczîonkowane dane na temat tego samego obiektu i zapisanie (zgrupowanie) ich w postaci jednego pliku opisowego (jednego obiektu). Powoduje to unikniëcie zapisania obiektu z bîëdami, które czësto pojawiajâ sië po wklejaniu elementów z innych layerów w obszar jednego (copy, paste). Jest to wiëc wrëcz zalecany sposób zapisywania obiektu zîoûonego z wielu czîonów! Uîatwieniem w obsîugiwaniu layerów jest korzystanie z klawiszy od [1] do [0] (uwaga! klawiatura numeryczna nie jest wykorzystywana) w celu selekcji kolejnych warstw aktywnych (górnych), i analogiczne postëpowanie, z uûyciem jednak klawisza [Alt] w odniesieniu do warstw dolnych, nieaktywnych (background). Pierwsze Menu Objects zawiera funkcje istotne dla wstëpnej obróbki obiektów. Opcja ABOUT, ktorej uûycie wyôwietli informacjë o programie i dostëpnej iloôci pamiëci, ma charakter czysto informacyjny. Takûe kolejna pozycja, czyli New, stanowi rurë ssâcâ do oczyszczenia przestrzeni adresowej (pamiëci RAM). Pytanie-ostrzeûenie: "Uwaga! Wszystkie dane zostanâ bezpowrotnie utracone! Czy na pewno chcesz otworzyê nowy projekt?" jest jednoznaczne. Ale od wersji 4.0 LightWave'a umieszczono tutaj jednak bardzo waûny (z wielu powodów) przycisk "Data Only", powodujâcy usuniëcie projektów bryî (obiektów) z pozostawieniem nazwanych pîaszczyzn, które moûna wykorzystaê przy konstruowaniu kolejnych obiektów. Pomyôl, przyjacielu, czy nie jest to wygodne rozwiâzanie. Taka sytuacja niewâtpliwie oszczëdza pamiëê i liczbë dostëpnych layerów, pozostawiajâc jednoczeônie w "ôwiadomoôci" istnienie konkretnych nazw powierzchni. Dalej wystëpuje sekcja poprzedzona sîowem Fetch, które trudno przetîumaczyê w tym miejscu. Mówi ono ogólnie o funkcjach transportowania obiektów. Pojëcia Load nie trzeba raczej tîumaczyê. Wybranie tego przycisku przywoîuje requester, za pomocâ którego moûemy wskazaê obiekt, który zamierzamy wczytaê do edycji. Od wersji 4.0 LightWave wykorzystuje standardowe requestery systemu. Nie ma problemu z uûywaniem patches typu reqtools czy mfr (jak ktoô lubi). Swojâ drogâ, mimo ûe stare requestery nie naleûaîy do wygodnych, lubiîem z nich korzystaê. Save. Takûe znaczenia tego przycisku nie trzeba objaôniaê. Zapisuje obiekt (lub kilka segmentów z róûnych layerów) pod ostatnio wczytanâ nazwâ. Wyôwietla informacjë z moûliwoôciâ przerwania procesu. Czytajcie komunikaty wyôwietlane przez program! Nastëpnie Save As. Podobna funkcja, lecz o wiele bezpieczniejsza. Pozwala na zdefiniowanie nowej nazwy dla zapisywanego obiektu. W trakcie tworzenia wielokrokowego, skomplikowanego obiektu, warto zapisywaê kolejne wersje konstrukcji. Uîatwia to odtworzenie w prosty sposób elementu opracowywanego wczeôniej, bez koniecznoôci pracochîonnej deselekcji. Na koniec edycji usuwamy wszystkie wersje robocze dla "rozjaônienia" katalogu i zwrócenia zajëtego miejsca na twardym dysku. Z doôwiadczenia wiem, ûe jest to praktyka, która czësto popîaca. Pozostaîy dwie funkcje "transportowe". Majâ wîaôciwie znaczenie, kiedy aktywny jest Layout i Modeler. Umoûliwiajâ bezpoôredniâ wymianë danych miëdzy obydwoma moduîami (tylko z pozimu Modelera). Istnieje moûliwoôê pobrania (Import) obiektu ze "sceny" wraz z jego wszystkimi atrybutami i po dokonaniu modyfikacji odesîanie (Export) go z powrotem. Drugâ dostëpnâ opcjâ eksportowâ jest wysîanie nowego obiektu z jednoczesnym zapisaniem go pod zadeklarowanâ nowâ nazwâ na dysku. Do sekcji Fetch przynaleûy takûe przycisk Custom, do wersji 3.5 zwany Macro. Przy poprawnym zainstalowaniu LightWave'a znajdziemy ukryte pod nim makrodefinicje, czyli skrypty napisane w ARexxie. Wystëpuje tutaj polecenie wywoîujâce okienko "zarzâdzania" skryptami. Z jego poziomu moûemy nadaê wîasne brzmienie nazwom skryptów ARexxowych dostëpnych na liôcie, sîuûy do tego celu przycisk Change, którym zatwierdzamy zmianë dokonanâ w polu Name, nie ruszajâc wszak linii Command (przy zaîoûeniu, ûe jest zdefiniowana poprawnie). Zmiana dotyczy jedynie nazwy komendy z poziomu Modelera, nie wpîywa na zmianë nazwy samego skryptu. Np. polecenie Center, moûe dla nas byê bardziej wymowne, gdy zostanie nazwane: Wycentruj. Teoretycznie korzystajâc z przycisku Create moûemy doîoûyê do listy nowe makra. Naleûy podaê nazwë komendy i w linii Command zdefiniowaê dostëp do niej. Oczywiôcie moûna wykonaê operacjë wielokrotnie, lecz trzeba pamiëtaê, aby na koniec zapisaê tak wzbogaconâ listë przez Macro List Save. Tak naprawdë jednak ten sposób dokîadania nowych rozkazów wydaje mi sië bardziej uciâûliwy, niû skorzystanie z "gotowego" rozkazu Add Macro. W tym wypadku wprawdzie wszystko odbywa sië automatycznie, lecz i tak z reguîy naleûy "wygîadziê" nowe polecenia i zapisaê bogatszâ listë. Nic nie sugerujë. Niech kaûdy skorzysta z metody, która mu sië wyda lepsza. Zostaje jeszcze opcja Delete, która usuwa wskazane makra z listy. Takûe wymaga koïcowego zapisania listy. Plik opisujâcy listë komend ARexxowych standardowo nazywa sië ModelerMacroList i jest lokowany w przypisanym katalogu 3D:. Oczywiôcie moûe istnieê kilka "róûnych" list, stosowanych zamiennie, np. z pewnymi grupami narzëdzi o podobnym zastosowaniu, jednego producenta itd. Przycisk Custom (Macro) udostëpnia takûe okno, w którym moûemy zdefiniowaê 10 najczëôciej uûywanych makr do uzyskania przez przyciôniëcie jednego klawisza funkcyjnego ([F1]-[F10]). Stworzenie wîasnego obîoûenia jest bardzo proste. Za pomocâ gadûetu umieszczonego z prawej strony kaûdej pozycji wczytujemy wîaôciwâ komendë z uûyciem requestera. Tym razem przy wychodzeniu z programu automatycznie jest zapisywane bieûâce ustawienie w pliku konfiguracyjnym Modelera -- MOD-config, zresztâ standardowo umieszczanym w tym samym katalogu, co ModelerMacroList. Na koniec -- uwaga. Nie polecam ustawiania MacroListy za pomocâ edytora tekstu. Niejednokrotnie powstajâ bîëdy, które wynikajâ jedynie z "wîasnego" sposobu czytania tej listy przez Modelera, choê z punktu widzenia poprawnoôci nasze wpisy wydajâ sië byê poprawne i logiczne. Niech lepiej Modeler sam "strawi" swoje pliki konfigurujâce i wydali je przez Save. Chyba zaczynam juû mieê peînen ûoîâdek dzisiejszej konserwy! Ale to jeszcze nie koniec. W wersji 4.0 wystëpujâ juû tzw. Plug-ins. Sâ to najczëôciej zbiory niektórych dotychczasowych Makr w "piguîce", choê wystëpujâ i inne, dotychczas nieznane np. pseudoOpenGL Modelera -- Fori's PowerView. Do przyîâczenia ich istnieje instrukcja Add Plugin. Wszystkie zaczytane Plug-ins sâ automatycznie zapisywane w ustawieniach Modelera. W starszej wersji LW wystëpowaîo jeszcze polecenie Direct Command, pozwalajâce na bezpoôrednie skorzystanie ze skryptu nie widniejâcego na liôcie. To chyba wyczerpuje tymczasem temat zawartoôci przycisku Custom/Macro. Kolejny blok przycisków nazwany wspólnym hasîem Create zawiera 9 buttonów (przycisków). Zacznijmy jednak od ostatniego -- Options. Funkcja ukryta pod tâ nazwâ wielokrotnie ma zasadnicze znaczenie w trakcie tworzenia nowych obiektów. To parametry zdeklarowane w New Data Options, bo tak sië nazywa requester wywoîywany przez Options, bëdâ miaîy bezpoôredni wpîyw na jakoôê i sposób tworzenia nowych bryî i krzywych. Takûe nazwa pîaszczyzny podana tutaj, ma charakter domyôlny (default) dla tworzonych nowych. Current Surface to Aktualna Pîaszczyzna. Argumentem jest nazwa. Polygons -- sposób tworzenia pîaszczyzn. Mogâ byê zîoûone z trójkâtów, prostokâtów lub dobierane automatycznie przez program. Mogâ byê jednostronne lub dwustronne. Jednostronne sâ zawsze przezroczyste od strony nie pokrytej, lecz zajmujâ mniej miejsca. Mogâ byê jednak w szczególnych wypadkach renderowane jako dwustronnie pokryte. Przy obiektach, gdzie nie chcemy "wpadki", lepiej, aby byîy dwustronne. Flatness Limit to wspóîczynnik procentowy mówiâcy, od jakiej wartoôci pîaszczyzna przestaje byê traktowana jako bezwzglëdnie pîaska, a co za tym idzie, moûe byê renderowana z "dziurami". O tym nastëpnym razem. Curve Division ma trzy warianty: Coarse, Medium i Fine, które oznaczajâ, z jakâ dokîadnoôciâ bëdâ aproksymowane krzywe, tworzone w Modelerze. Domyôlna wartoôê Medium w praktyce jest w zupeînoôci do przyjëcia. Do New Data Options bëdziemy jeszcze powracaê. Teraz patrzmy znowu wyûej. Box to funkcja, za pomocâ której tworzymy bryîy pîaskie i prostopadîoôciany. Ball tworzy kule, elipsoidy i inne sferyczne. Disc sîuûy do tworzenia bryî walcowatych. Cone jest funkcjâ tworzenia bryî stoûkowych. Sketch jest natomiast "pisakiem", za pomocâ którego moûemy w prosty sposób rysowaê krzywe (splines) lub krzywe przeksztaîcane na pîaszczyzny (Draw Freehand -- Curves/Polygon). Do wszystkich opisanych piëciu narzëdzi odnosi sië umieszczony poniûej przycisk Numeric, za pomocâ którego precyzyjnie ustalamy atrybuty tworzonej bryîy: rozmiar, oô, liczbë przekrojów, boków i segmentów. Uwaga! Bloki numeryczne funkcji sâ potëûnym narzëdziem. Od poczâtku warto sobie przyswajaê chëê posîugiwania sië nimi. W wypadku kaûdego narzëdzia (Toola) w Modelerze, który ma swoje okienko Numeric, wywoîanie odbywa sië za pomocâ klawisza [N] lub myszki. Pozostaîa funkcja Make, bëdâca w istocie zatwierdzeniem operacji tworzenia. W 95% wypadków zastëpuje jâ klawisz [Return] (lub [Enter]), podobnie jak [Esc] oznacza zaniechanie. Pod przyciskiem Text kryje sië okienko edycyjne tekstu, który zostanie utworzony jako obiekt ze wzorca, jakim sâ fonty typu Adobe 1 (skalowalne). I to na dzisiaj byîoby tyle. Aha! Potrenujcie posîugiwanie sië Sketchem przy uûyciu prawego i lewego przycisku myszy! Teraz to juû naprawdë zgîodniaîem. Ûyczë ciekawych i odkrywczych doôwiadczeï. Do miîego przeczytania w kolejnym numerze!