Co to jest ośmiornica?

Octree to cyfrowa struktura drzewa używana do tworzenia trójwymiarowych (3D) i wielokątnych kreacji, głównie dla branży gier. W strukturze ósemkowej każdy węzeł wewnętrzny nie ma dzieci lub ośmioro dzieci — nic pomiędzy — a każdy węzeł podrzędny może przechowywać informacje o kolorze dla profilu kolorów czerwono-niebiesko-zielonych (RGB). Cała struktura zaczyna się jako jedna kostka, a puste wewnętrzne kostki są używane do informacji o kolizji. Ta struktura jest bardzo wydajna pod względem pamięci, ponieważ każde dziecko zawiera stosunkowo niewielką ilość danych, a rozmiar drzewa może być ograniczony.

Kiedy model jest przeznaczony do gry wideo, musi zawierać informacje o fakturze i kolorze oraz musi być w stanie kolidować z innymi modelami. Jedną ze struktur stosowanych w tej branży jest oktre. Czasami nazywana drzewem octowym, nazwa ta oznacza znaczenie liczby osiem w tej strukturze drzewa. Podobnie jak struktury drzewa make, octree ma węzły nadrzędne i podrzędne. W przeciwieństwie do innych drzew, liczba węzłów podrzędnych, które można utworzyć z rodzica, jest bardzo mała.

Każdy rodzic może zawierać osiem węzłów lub żaden. Oba typy kostek są ważne przy tworzeniu w pełni renderowanego modelu. Najbardziej intensywne kostki to te z ośmioma węzłami. Każdy węzeł wewnętrzny zawiera informacje o kolorze i teksturze, dzięki czemu model może mieć skomplikowany wygląd. Na przykład, jeśli model jest drzewem, każdy z wewnętrznych węzłów musi zawierać brązowy kolor pnia i informacje o cieniowaniu, aby stworzyć realistyczną teksturę.

Podczas gdy sześciany z ośmioma węzłami są ważne dla ósemki, puste sześciany są równie ważne. Cała konstrukcja zaczyna się jako jeden duży pusty sześcian, w którym mogą zamieszkać inne mniejsze sześciany. Ta kostka, wraz z innymi pustymi kostkami, jest używana głównie do informacji o kolizjach. Na przykład, jeśli jeden model wpadnie na ten model, puste kostki powiedzą modelowi, że nie może przejść dalej, ponieważ powoduje to kolizję.

Stworzenie odpowiedniego modelu z ośmiornicą jest intensywne i trafia do niego wiele informacji, ale sama konstrukcja bardzo wydajnie wykorzystuje pamięć. Jednym z powodów jest to, że chociaż jest dużo kodowania, informacje to tylko informacje o kolorze i teksturze, a zatem są raczej małe. Innym powodem jest to, że drzewo ma różne poziomy, które przechowują niepotrzebne dane, a po przycięciu pamięć można jeszcze bardziej zmniejszyć.