Podstawy edycji siatki wielokątowej korekta skanu Przy użyciu programu Autodesk 3ds Max (Opracowano na potrzeby przedmiotu Modelowanie Przestrzenne) Uzyskanie idealnej, gotowej do wydruku siatki jedynie przy użyciu programu Autodesk 123D Catch jest rzeczą niezwykle trudną. Najczęściej w zeskanowanym modelu pojawiają się niedociągnięcia, które nie mogą zostać poprawione za pomocą prostych narzędzi edycyjnych programu 123D. Przykładem może być chociażby wystąpienie dużej dziury w siatce, która nie poddaje się automatycznemu łataniu, lub ogólna korekcja geometrii siatki. Spróbujemy przeprowadzić edycję sitaki wielokątowej przy użyciu programu Autodesk 3ds Max. Pierwszą rzeczą, która musi zostać wykonana to import siatki do programu. Model wykonany przy użyciu 123D Catch możemy zaimportować na dwa sposoby używając plików STL lub OBJ. Należy pamiętać o tym, iż w plikach STL zawarta jest jedynie geometria, natomiast pliki OBJ mogą zawierać również odnośnik do pliku z teksturą. Import pliku STL jest bardzo prosty i nie wymaga dłuższego zastanawiania się nad poszczególnymi opcjami. Najważniejsza rzecz o jakiej należy pamiętać, to zaznaczenie opcji Unify Normals, która pozwoli na ustawienie wszystkich normalnych dla poszczególnych wielokątów w jednym kierunku, co zapobiegnie znikaniu niektórych elementów. Warto również zwrócić uwagę na opcję automatycznego wygładzania siatki Auto-Smooth. Przy jej pomocy możemy otrzymać wstępnie wygładzoną siatkę bezpośrednio po zaimportowaniu (rysunek poniżej). Po imporcie obiekt jest widziany w 3ds Max jako Editable Mesh, aby kontynuować proces edycji należy przekonwertować go na Editable Poly (z menu kontekstowego) lub narzucić modyfikator Edit Poly. Opcja Auto-Smooth włączona (po prawej) i wyłączona (po lewej)
Podczas importu pliku OBJ musimy się uporać ze znacznie większą ilością ustawień. W kolumnie po lewej stronie wyświetlone zostaną wszystkie obiekty, znajdujące się w pliku, który chcemy zaimportować wraz z liczbą tworzących je face ów. Za pomocą pól wyboru możemy zaznaczyć tylko interesujące nas elementy. Powyżej znajdują się cztery opcje opisujące zachowanie istniejącej sceny oraz importowanych obiektów. Zaznaczenie Reset scene spowoduje wyczyszczenie i usunięcie z pamięci aktualnie edytowanej sceny. Import as single mesh powoduje połączenie wszystkich importowanych obiektów w jedną siatkę, natomiast Import as Editable Poly automatyczną konwersję z domyślnej postaci Editable Mesh na Editable Poly. Retriangulate Polygons powoduje konwersję wszystkich wielokątów na trójkąty, o ile siatka wejściowa nie jest siatką trójkątną. W kolumnie po prawej stronie znajduje się kilka kolejnych grup opcji. W grupie Geometry należy przede wszystkim pamiętać o wyłączeniu Flip ZY-axis, która powoduje zamianę osi Y na Z i odwrotnie. W przypadku modeli utworzonych z osią Z ustawioną standardowo powoduje to przewrócenie modelu na bok. Center Pivots powoduje ustawieni punktów pivot dla każdego obiektu w jego centrum, zamiast w punkcie (0,0,0), natomiast podczas importu plików zawierających obiekty dwuwymiarowe (linie, kształty geometryczne) należy pamiętać o zaznaczeniu opcji Shapes/Lines która ten import umożliwi. Importując plik, w którym znajdują się materiały należy również pamiętać o zaznaczeniu opcji Texture coordinates, która umożliwi import koordynat rozmieszczenia dla tekstur powiązanych z istniejącą geometrią. Gdyby zaszła konieczność konwersji skali modelu można to zrobić wybierając odpowiednie parametry w grupie Units/Scale. W grupie Material zaznaczenie Unique wire color spowoduje nadanie każdej importowanej siatce obiektu unikalnego koloru, w przeciwnym razie wszystkie otrzymają jednakową, losową barwę. Jeśli z plikiem OBJ jest powiązany plik MTL, zawierający materiały można je zaimportować używając Import materials. Dodatkowo zaznaczenie Import into Mat-Editor spowoduje wyświetlenie pobranych materiałów w oknie edytora materiałów (bez konieczności ręcznego ich pobierania), a Show maps in viewport wyświetlenie zaimportowanych map w oknie rzutni. Importujemy plik OBJ lub STL ustawiając odpowiednio wszystkie parametry. Jeśli po imporcie obiekt jest typu Editable Mesh konwertujemy go na Editable Poly (prawy przycisk myszy Convert To -> Editable Poly) lub z grupy modyfikatorów dodajemy Edit Poly. W pasku narzędzi pod główną linią ikon klikamy przycisk aby rozwinąć zestaw narzędzi służących do edycji siatki poligonów. Najczęstszym niedociągnięciem, które powoduje konieczność ręcznej edycji siatki jest występowanie dziur. Pojawiają się
one najczęściej w miejscach, do których nie jesteśmy w stanie dotrzeć fotografując dany obiekt, lub tam, gdzie algorytm nie poradził sobie z odpowiednim złożeniem fotografii. Najprostszym sposobem załatania takiej dziury jest wstawienie w nią pojedynczego wielokąta. Należy przy tym pamiętać, iż nie będzie on pojedynczym trójkątem, zatem przy dalszym eksporcie ulegnie triangulacji według określonego algorytmu, co może dać nieoczekiwane efekty. Dodatkowo przy łataniu dużych dziur powstały poligon może nie do końca wpasować się w istniejącą geometrię, co będzie widoczne dopiero przy renderingu. Aby wykonać tą operację przechodzimy na poziom edycji Border klikając odpowiednią ikonę w panelu bocznym lub na wstążce, Zaznaczona granica otworu, u góry opcja Cap Poly zaznaczamy brzeg otworu i w grupie Geometry wybieramy Cap Poly. Otwór załatany wielokątem (po lewej) jego rendering (środek), oraz rendering po zastosowaniu Smoothing Groups. Po przeprowadzeniu operacji otrzymujemy załataną siatkę, która w rzutni wygląda całkiem dobrze, jednak wykonanie renderingu od razu pozbawia złudzeń co do jakości wykonanego dzieła. Pewną poprawę wyglądu możemy uzyskać poprzez przypisanie nowo powstałego wielokąta do grup wygładzania. W tym celu przechodzimy na poziom edycji Polygon, zaznaczamy nowy wielokąt i w grupie Properties rozwijamy listę Properties i klikamy ikonę SmGroups. W tym momencie nie powinien być zaznaczony żaden numer, klikamy zatem w numer 1, który to powinien być przypisany do pozostałych wielokątów w siatce. Po przeprowadzeniu renderingu uzyskujemy pewną poprawę, jednak w dalszym ciągu nie jest to efekt oczekiwany. Należy również pamiętać, że wygładzenie widoczne będzie jedynie na renderingu, natomiast podczas wydruku widoczne będą płaskie wielokąty. Najlepszym rozwiązaniem w przypadku większych otworów jest ich ręczne wypełnianie. Do tego celu możemy wykorzystać kilka różnych możliwości. Przykładem może być chociażby budowanie mostów pomiędzy krawędziami w celu utworzenia wielokąta. Przechodzimy w tym celu na poziom edycji Edge, wybieramy dwie krawędzie, pomiędzy którymi chcemy stworzyć wielokąt i klikamy ikonę Bridge z grupy Edges. Krawędzie zostaną połączone za pomocą ustawień domyślnych, aby uzyskać większą kontrolę możemy rozwinąć ikonę Bridge i wybrać Bridge Settings. Pojawi się dodatkowy panel dialogowy, w którym możemy m.in. wybrać liczbę segmentów mostu lub minimalny kąt pomiędzy krawędziami, dla których może zostać utworzony most. Używając tej metody możemy zamknąć większą część otworu, dzieląc większe mosty na większą liczbę segmentów. Mniejsze elementy możemy zatykać za pomocą Cap.
Most utworzony pomiędzy dwiema krawędziami, składający się z trzech segmentów. Niekiedy może zajść potrzeba podziału narysowanego wielokąta na mniejsze części. Można tego dokonać na kilka sposobów. Pierwszym z nich jest podział sąsiadujących ze sobą wielokątów linią łamaną, łączącą ich krawędzie. W tym celu na poziomie edycji Edge wybieramy kilka krawędzi, a następnie w grupie Loops klikamy Connect. Podobnie jak przy Bridge po rozwinięciu Connect otrzymujemy dostęp do większej liczby opcji pozwalających kontrolować przeprowadzenie tej operacji. Zaznaczone krawędzie gotowe do podziału Krawędzie połączone linią łamaną Innym sposobem podziału wielokątów jest połączenie istniejących werteksów dodatkową krawędzią. Jest to również jedna z lepszych metod na przeprowadzenie ręcznej triangulacji wielokątów czworobocznych. Metoda działa analogicznie do opisanej wyżej metody łączenia krawędzi, z tą różnicą, że jest przeprowadzana na poziomie edycji Vertex. Aby połączyć większą ilość werteksów na raz należy je zaznaczyć i wybrać Connect. Przykładowo można to zrobić dla grupy czterech wielokątów czworokątnych zaznaczając wierzchołki w rogach i werteks centralny. Po kliknięciu Connect otrzymamy fragment siatki trójkątnej.
Wybrane wierzchołki zaznaczone na czerwono Połączone wierzchołki tworzą siatkę trójkątną Możemy również zdać się na podział automatyczny za pomocą teselacji. W tym celu zaznaczamy grupę wielokątów, krawędzi lub wierzchołków. Można to zrobić za pomocą okna wyboru, jednak należy wtedy pamiętać, aby w panelu bocznym zaznaczyć opcję Ignore Backfacing, aby przypadkiem nie wybrać elementów znajdujących się z tyłu siatki. Można również wybrać jeden z elementów i w grupie Modify Selection wybrać Grow, aby rozszerzyć zaznaczenie. Po wybraniu odpowiedniej liczby elementów, z grupy Subdivision rozwijamy Tessellate i wchodzimy w dostępne opcje. Można tu m.in. wybrać podział po krawędziach lub po face ach, przy czym ten drugi sposób podziału zasadniczo tworzy siatkę trójkątów. Zaznaczona grupa wielokątów przed i po teselacji Po stworzeniu fragmentu siatki może zajść konieczność dostosowania jej do otaczającej geometrii. Najłatwiej zrobić to za pomocą przesuwania poszczególnych elementów. Należy przy tym mieć na uwadze sposób, w jaki wybierane są te elementy. Wybranie pojedynczego wierzchołka i wyciągnięcie go do góry powoduje wyciągnięcie jedynie tego wierzchołka. Można oczywiście ręcznie zaznaczyć wierzchołki sąsiednie, jednak będą one wyciągane w takim samym stopniu. Z pomocą przychodzi w tym przypadku miękkie wybieranie. Aby je włączyć w grupie Polygon Modeling zaznaczamy Use Soft Selection. Spowoduje to podczas wybrania pojedynczego wierzchołka wybranie wierzchołków sąsiadujących w określonym
promieniu. Może zajść konieczność zmodyfikowania tego promienia. W tym celu w panelu z lewej strony rozwijamy grupę Soft i modyfikujemy parametr Falloff. Edycja wierzchołka bez i z włączonym miękkim wybieraniem Po korekcji położenia, ostatnim etapem będzie przypisanie nowo utworzonym wielokątom odpowiednich grup wygładzania poznaną już metodą. Warto również na tych wielokątach przeprowadzić procedurę Relax z grupy Geometry, która rozluźni fragment siatki normalizując odległości pomiędzy wierzchołkami Przykład załatanego otworu wraz z renderingiem