11.Obiekty złożone.doc

(1262 KB) Pobierz
StyleHeliona

Rozdział 10. Obiekty złożone

Obiekty złożone powstają na skutek połączenia ze sobą dwóch lub większej liczby obiektów niezależnych. Znajdują one zastosowanie w zaawansowanych technikach modelowania oraz przy animowaniu pewnych efektów specjalnych, jak na przykład morfing. 3ds max 4 standardowo jest wyposażone w dziewięć typów obiektów złożonych: Bollean (obiekty Boole’a), Connect (obiekty łączone), Scatter (obiekty rozproszone), ShapeMerge (obiekty zagnieżdżone), Terrain (obiekty tektoniczne), Conform (obiekty owijane), Loft (obiekty wytłaczane), Morph (obiekty morfowane) oraz Mesher (obiekty bliźniacze).

Obiekty złożone łączą w sobie najlepsze cechy modyfikatorów oraz narzędzi do tworzenia szyków, za ich pomocą można bowiem deformować, przycinać, łączyć, usuwać, a nawet wytłaczać obiekty. Co więcej, można także tworzyć uporządkowane lub chaotyczne szyki obiektów powielonych, a także obiekty tektoniczne bazujące na liniach konturów (rysunek 10.1).

Przypisując do niezależnego obiektu polecenie służące do utworzenia obiektu złożonego, zamieniasz go w składnik (operand) obiektu złożonego. Oznacza to, że obiekt staje się komponentem obiektu złożonego, na którym przeprowadzana jest określona operacja. Ponieważ za pośrednictwem narzędzi do tworzenia obiektów złożonych nie można dokonywać selekcji, konieczne jest uprzednie wskazanie obiektu, który stanie się pierwszym składnikiem operacji. Polecenia do tworzenia obiektów złożonych są dostępne po wybraniu pozycji Compound Object z menu rozwijanego umieszczonego w podpanelu Geometry (w panelu bocznym Create). Skróty do niektórych z tych poleceń można znaleźć także w zakładce Compounds.

Rysunek 10.1. Ten tektoniczny model wulkanu powstał na bazie serii przekrojów poprzecznych


Obiekty Boole’a

Algebra Boole’a jest działem matematyki, którego twórcą był brytyjski profesor matematyki i logiki, George Boole, żyjący w latach 1815-1864. Pierwotnie algebra Boole’a była wykorzystywana do analizy zadań logicznych na zbiorach złożonych z dwóch elementów. W grafice 3D operacje Boole’a odnoszą się do zbiorów złożonych z płaszczyzn elementarnych lub splajnów. W niniejszym rozdziale opisane zostaną sposoby przeprowadzania operacji Boole’a na obiektach siatkowych. Przeprowadzanie podobnych operacji na splajnach opisane zostało w rozdziale dziewiątym.

Modelowanie obiektów za pomocą podstawowych operacji Boole’a, określanych także mianem operacji logicznych, może przypominać tradycyjne techniki rzeźbiarskie. Rzeźbiarz kształtuje formę poprzez dodawanie lub wykrawanie masy rzeźbiarskiej. Operacje Boole’a z kolei kształtują formę poprzez dodawanie lub odejmowanie objętości, oddziałujących na siebie obiektów.

Operacje Boole’a działają tylko i wyłącznie na dwóch obiektach. Pierwszy wyselekcjonowany obiekt pełni rolę składnika A (operand A). Natomiast drugi wyselekcjonowany obiekt staje się składnikiem B (operand B). Wynik końcowy operacji logicznej uzależniony jest od typu operacji oraz od usytuowania obiektów względem siebie (rysunek 10.2):

¨       Union (dodawanie) — dodaje do składnika A składnik B i jednocześnie usuwa część wspólną dla obydwu składników.

¨       Subtraction A-B (odejmowanie A-B) — odejmuje od składnika A składnik B. Operacja ta dobudowuje do składnika A zachodzące na niego płaszczyzny elementarne składnika B. Jednocześnie w jej wyniku zostają usunięte płaszczyzny elementarne składnika B, które nie nachodziły na składnik A.

¨       Subtraction B-A (odejmowanie B-A) — odejmuje od składnika B składnik A. Operacja ta dobudowuje do składnika B zachodzące na niego płaszczyzny elementarne składnika A. Jednocześnie w jej wyniku usunięte zostają płaszczyzny elementarne składnika A, które nie nachodziły na składnik B.

¨       Intersection (część wspólna) — pozostawia część wspólną zachodzących na siebie składników A oraz B. W wyniku tej operacji do składnika A zostają dobudowane zachodzące na niego płaszczyzny elementarne składnika B, a do składnika B — zachodzące na niego płaszczyzny elementarne składnika A. Jednocześnie usunięciu ulegają płaszczyzny elementarne składnika A oraz składnika B, które nie nachodziły na siebie.

¨       Cut (wycinanie) — wycina w składniku A zachodzący na niego obszar składnika B. Operacja ta nie dobudowuje do składnika A żadnych płaszczyzn elementarnych, natomiast usuwa wszystkie płaszczyzny elementarne składnika B. W wyniku tej operacji zostają usunięte lub odłączone płaszczyzny elementarne składnika A, wzdłuż krawędzi przecięcia go przez składnik B.

Rysunek 10.2. Typy operacji Boole’a przeprowadzone na prostopadłościanie i sferze


Odejmowanie jest najczęściej wykorzystywaną operacją Boole’a.

Aby przeprowadzić operację odejmowania:

1.       Umieść dwa obiekty siatkowe tak, aby zachodziły na siebie.

2.       Wyselekcjonuj obiekt, na którym zostanie przeprowadzona operacja logiczna (rysunek 10.3).

3.       W panelu bocznym Create otwórz podpanel Geometry i z menu rozwijalnego typów obiektów geometrycznych, wybierz pozycje Compound Objects. Następnie w rolecie Object Type włącz przycisk Boolean.

W dolnej części panelu wyświetlą się rolety obiektów Boole’a. Wyselekcjonowany obiekt zostanie mianowany składnikiem A (rysunek 10.4).

4.       W rolecie Parameters wybierz opcję Subtraction (A-B) (rysunek 10.5).

5.       Włącz przycisk Pick Operand B i wskaż na drugi obiekt.

Objętość drugiego obiektu zostanie odjęta od objętości pierwszego obiektu (rysunek 10.6).

6.       Aby od objętości drugiego obiektu odjąć objętość obiektu pierwszego, wybierz opcję Subtraction (B-A).

Wskazówka

n       Pomimo iż od czasu pierwszego wydania programu operacje Boole’a zostały znacznie poprawione, dochodzi jednak do sytuacji, kiedy wykazują one pewną niestabilność. Dobrym zwyczajem jest więc wyrobienie w sobie nawyku zatrzymywania sceny (Edit > Hold) przed przeprowadzeniem jakiejkolwiek operacji logicznej. W ten sposób, jeżeli operacja nie powiedzie się, będziesz mógł odzyskać scenę wybierając polecenie Edit > Fetch. Więcej informacji na temat prawidłowego przeprowadzania operacji logicznych znajdziesz w dalszej części tego rozdziału w tabeli

... ramce ...

n       Zasady prawidłowego przeprowadzania operacji logicznych.

Rysunek 10.3. Wyselekcjonuj pierwszy składnik operacji logicznej

Rysunek 10.4. Informacja zawarta w panelu Create mówi, że wskazany obiekt jest składnikiem A

Rysunek 10.5. Subtraction (A-B) jest domyślnie wybranym typem operacji logicznej

Rysunek 10.6. Prostopadłościan, od którego została odjęta sfera


Produkt operacji część wspólna (Intersection) wygląda jak skrawek, który został odjęty od jednego z obiektów podczas operacji odejmowania. Jeżeli składniki operacji nie będą zachodzić na siebie, to w wyniku przeprowadzonej operacji znikną ze sceny.

Aby przeprowadzić operację części wspólnej:

1.       Umieść dwa obiekty siatkowe tak, aby zachodziły na siebie.

2.       Wyselekcjonuj jeden z obiektów (rysunek 10.7).

3.       Zainicjalizuj operację logiczną.

4.       W rolecie Parameters wybierz opcję Intersection (rysunek 10.8).

5.       Włącz przycisk Pick Operand B i wskaż na drugi obiekt.

Usunięte zostaną niezachodzące na siebie obszary obydwu obiektów, pozostawiając w scenie jedynie część wspólną (rysunek 10.9).

Wskazówki

n       Aby interaktywnie przełączać się pomiędzy różnymi typami operacji logicznych, w celu porównywania uzyskanych rezultatów, po przeprowadzeniu wybranej operacji wybierz inną opcję z rolety Parameters.

Rysunek 10.7. Wyselekcjonuj składnik operacji logicznej. W tym przypadku nie ma znaczenia kolejność wskazywania obiektów

Rysunek 10.8. Wybierz opcję Intersection

Rysunek 10.9. Niezachodzące na siebie obszary obydwu obiektów zostają usunięte


Operacja logiczna wycinania występuje w czterech różnych odmianach:

¨       Refine — dodaje do składnika A zestaw nowych płaszczyzn elementarnych, które zostają rozmieszczone wzdłuż krawędzi przecięcia składnika A, przez składnik B.

¨       Split — dzieli składnik A na dwa odrębne zestawy płaszczyzn elementarnych. Podział następuje wzdłuż krawędzi przecięcia się składnika A, ze składnikiem B. Każdy z wyżej wymienionych zestawów płaszczyzn elementarnych staje się oddzielnym komponentem siatki, występującym na poziomie struktury elementów. Umożliwia to łatwe podzielenie siatki na dwa niezależne obiekty.

¨       Remove Inside — usuwa wszystkie płaszczyzny elementarne składnika A, wzdłuż krawędzi przecięcia go przez składnik B, w obszarze zachodzenia na siebie obydwu składników. Opcja ta działa podobnie jak odejmowanie, różnica polega jednak na tym, że Remove Inside nie dobudowuje do składnika A żadnych dodatkowych płaszczyzn elementarnych.

¨       Remove Outside — usuwa wszystkie płaszczyzny elementarne składnika A, wzdłuż krawędzi przecięcia go przez składnik B, w obszarze, w którym obydwa składniki nie zachodzą na siebie. Opcja ta działa podobnie jak część wspólna, z tym że Remove Outside nie dobudowuje do składnika A żadnych dodatkowych płaszczyzn elementarnych.

Aby przeprowadzić operację wycinania:

1.       Utwórz dwa zachodzące na siebie obiekty.

2.       Wyselekcjonuj obiekt, na którym chcesz przeprowadzić operację wycinania (rysunek 10.10).

3.       Zainicjalizuj operację logiczną.

4.       W rolecie Parameters wybierz opcję Cut (rysunek 10.11).

5.       Włącz przycisk Pick Operand B i wskaż drugi obiekt.

Drugi obiekt wytnie otwór w pierwszym obiekcie (rysunek 10.12).

Rysunek 10.10. Umieść obiekty tak, aby zachodziły na siebie, po czym wyselekcjonuj obiekt, na którym chcesz przeprowadzić operację wycinania

Rysunek 10.11. Wybierz typ operacji Cut/Remove Inside

Rysunek 10.12. Sfera wycięła otwór w prostopadłościanie. Jednocześnie usunięte zostały wszystkie płaszczyzny elementarne leżące w obszarze wycinania


Po przeprowadzeniu operacji logicznej możesz bez większych przeszkód animować składniki powstałego w ten sposób obiektu złożonego. Omawiana technika znajduje wiele praktycznych zastosowań, a animacje uzyskane tą metodą bywają zwykle bardzo szykowne i zarazem tajemnicze.

Aby animować obiekt Boole’a:

1.       Wyselekcjonuj obiekt Boole’a. W niniejszym przykładzie został użyty obiekt powstały w wyniku operacji odejmowania.

2.       Otwórz panel Modify .

3.       W sekcji Display rolety Display/Update wybierz opcję Result+Hidden Ops (rysunek 10.13).

W oknach widokowych pojawią się składniki operacji, wyświetlane w trybie szkieletowym (rysunek 10.14).

4.       Na liście modyfikatorów kliknij symbol plus (+), znajdujący się obok pozycji Boolean. Następnie w rozwiniętym drzewie struktury obiektu zaznacz pozycje Operands (rysunek 10.15).

5.       Włącz przycisk Animate .

6.       Przesuń suwak klatek do nowej pozycji.

7.       Przemieść szkieletowy „zarys” składnika B, przez całą długość powierzchni składnika A (rysunek 10.16).

8....

Zgłoś jeśli naruszono regulamin