W tym samouczku chcielibyśmy przyjrzeć się dwóm nowym tagom. Włączając materiały do pracy, znajdziecie naszą wspólną bazę w dokumencie "PSD_C4D_R16_Interaktivitaet_start.c4d".
Przed dobrze znanym obiektem Figury znajdują się trzy kolorowe pola, z których każde jest zajęte jednym z podstawowych narzędzi edycji: Obrót, Przesunięcie i Skalowanie jako prosta trójwymiarowa bryła. Za pomocą tagu Interakcji przekażemy teraz te zadania właśnie tym polom w stosunku do obiektu Figury.
Aby reakcja na nasze modyfikacje zachodziła tylko na trzy kolorowe pola, każdy z nich posiada tag ochronny, który chroni je przed przypadkowymi zmianami.
Interaktywne sterowanie za pomocą tagu Interakcji
Rozpoczynamy od niebieskiego pola Obrót. Aby ten obiekt mógł reagować na nasze polecenia, przypisujemy mu tag Interakcji poprzez prawy przycisk myszy w menu Tags CINEMA 4D.
W oknie ustawień tagu Interakcji interesują nas najpierw dwie zakładki: Tag i Proxy. Upewniamy się, że opcja Justuj jest wyłączona, w przeciwnym razie wszystkie modyfikacje naruszyłyby także niebieskie pole. Nasze interaktywne sterowanie będzie działać tylko wtedy, gdy obiekt nie jest zaznaczony. Dzięki automatycznemu trybowi "przeciągania", nie jest to nawet konieczne.
Na stronie Proxy określamy, które obiekty mają otrzymywać polecenia sterowania. W naszym przypadku będzie to obiekt Figury, dlatego przeciągamy go z Menadżera obiektów do pola Obiekt Proxy.
Strony Wyjście i Informacja o wielokątach służą do zbierania informacji o wprowadzonych danych, pozycjach itp., które będą udostępniane do dalszej obróbki. Ponieważ przekazujemy nasze polecenia narzędziowe bezpośrednio i niezfiltrujemy do obiektu Proxy, nie potrzebujemy tutaj żadnych dostosowań.
Dla przekazywania informacji sterowania konieczne jest niewielkie skrypcie, które określamy w polu Skrypt. Wybieramy język skryptowy Python.
Po wprowadzeniu tego krok wyświetli się pole Skrypt, w którym znajdziemy standardowe polecenia dla interakcji z myszą, z którymi spotkamy się np. podczas programowania stron internetowych i aplikacji.
Aby przejść z okna ustawień do Edytora Skryptów, klikamy na przycisk "Edytuj Skrypt" w dolnej części.
Ukaże się Edytor Wyrażeń lub Skryptów, który oferuje nam znacznie więcej możliwości wprowadzania i testowania skryptów. Większość petli wejściowych jest ustawiona na nieaktywne (poprzez # na początku), dla naszego przykładu wymagane są jedynie wiersze mouseDown() już aktywne.
Przy zdarzeniu mouseDown() zamiast wierszy zastępstwa oczekuje się wywołania i wykonania narzędzia Obrót. Aby to osiągnąć, usuwamy najpierw wiersze 8 i 9 ze skryptu, które nam nie są potrzebne.
Aby znaleźć odpowiedni kod dla narzędzia Obrót, otwieramy dodatkowo przez menu Okno> Dostosuj> Dostosuj polecenia ... Menedżer Polecenia.
Tam, po wpisaniu kilku pierwszych liter słowa "Obrót" w filtrze: Nazwa, znajdziemy narzędzie Obrót jako wpis. Teraz wystarczy, że przeciągniemy linijkę narzędzia Obrót z Menedżera poleceń w wiersz 8 naszego Edytora Skryptów.
Wywołanie narzędzia Obrót wraz z odpowiadającym mu identyfikatorem komendy zostało teraz wpisane w zdarzeniu mouseDown(). Aby sprawdzić poprawność skryptu, klikamy również na przycisk "Kompiluj ..."
... i otrzymujemy informację o zielonej kolumnie, co oznacza, że nasz skrypt jest wolny od błędów. Zarówno skrypt, jak i Tag Interakcji są teraz skonfigurowane. Możemy użyć ich od razu do dwóch pozostałych elementów sterujących, ponieważ różnią się tylko w jednym identyfikatorze komendy w zdarzeniu mouseDown().
Możemy teraz zamknąć Edytor Wyrażeń i skopiować Tag Interakcji w Menedżerze Obiektów, przeciągając go z wciśniętym klawiszem Ctrl na pozostałe dwa elementy sterujące.
Dopasuj teraz oba zduplikowane tagi interakcji do innych obiektów kontrolnych. W menedżerze poleceń narzędzie przesuwania jest łatwe do znalezienia.
Teraz możemy albo usunąć i wstawić ponownie odpowiednią linię w skrypcie, albo po prostu wpisać inną identyfikację poleceń w kodzie. Pojawi się ona, gdy odpowiadające polecenie zostanie zaznaczone, w dolnej części menedżera poleceń. Dotyczą to ostatnie dwie cyfry, więc identyfikator polecenia narzędzia przesuwania kończy się na "88".
To samo dotyczy narzędzia skalowania. Dla niego identyfikator polecenia kończy się na "89", dlatego musimy zmienić ostatnie cyfry na tę liczbę w skrypcie tagów interakcji. Więcej nie trzeba uwzględniać przy dostosowaniu tagów interakcji do obiektów kontrolnych.
Teraz możemy wreszcie przetestować naszą interaktywną scenę. Upewnij się, że żaden obiekt na scenie nie jest zaznaczony, i umieść kursorem myszy na jednym z trzech kolorowych pól. Podczas przytrzymania przycisku myszy i przesuwania kursorem, zmieniasz obiekt figury za pomocą odpowiadających narzędzi edycyjnych obracania, przesuwania lub skalowania.
Nasza gotowa, interaktywna scena nie jest zbyt intuicyjna. Jednak dzięki nowym tagom komentarza w wersji 16 można szybko dodać małą pomoc.
Uwagi w edytorze za pomocą tagów komentarza
Również tagi komentarzy znajdują się wśród tagów CINEMA 4D w menu kontekstowym za pomocą prawego przycisku myszy. Przypisujemy je bezpośrednio do obiektu, który ma przenieść uwagę.
W oknie dialogowym tagu komentarza możemy teraz wprowadzić tekst na stronie komentarza i nawet link za pomocą URL. Długi tekst można przełamać ręcznie w polu tekstowym lub również zminimalizować za pomocą opcji Składanie na stronie wyświetlania. Znajdziemy tam również kilka parametrów dotyczących projektowania i opcji wyświetlania dla tagu komentarza. Dla naszego obiektu sterującego obrotu zmieniłem kolor tagu komentarza.
Tag komentarza dla niebieskiego obiektu sterującego obrotem obieramy teraz jako bazę dla dwóch pozostałych obiektów sterujących. Duplikujemy go, przesuwając go przytrzymując klawisz Ctrl w menedżerze obiektów i dostosowujemy tekst i kolor odpowiednio dla obiektu sterującego przesunięciem…
… oraz dla obiektu sterującego skalowaniem.
Teraz nasza scena jest wyposażona w niezbędne uwagi, dzięki czemu kontrolowanie obiektu figury za pomocą odpowiednich pól sterowania powinno być jasne.
Uwagi w tagach komentarzy są przypisane do obiektów i są doskonale czytelne nawet przy zmianie widoku czy perspektywy.