Tworzę grę w jedności i buduję ogrodzenie w blenderze, ale chcę, żeby było jak najmniej poli. Mój oryginalny projekt był zbyt wysoki, więc pomyślałem, co jeśli mógłbym po prostu użyć sześcianu o sprytnie ułożonych teksturach. Tak jak:
Widać, że krawędzie wyglądają dobrze, ale wewnętrzne sekcje nie, tzn. Nic tam nie ma ... więc ktoś wie, czy można sfałszować te twarze, które sprawiłyby, że wyglądałby jak kompletna siatka. Oto, co chcę osiągnąć:
Odpowiedzi:
Jeśli dobrze rozumiem, co chcesz osiągnąć, szukasz pojęcia „oszustów”. Są to dokładnie reprezentacje 2D obiektów 3D, stosowane w celu zmniejszenia złożoności geometrycznej renderowania środowiska 3D.
Możesz myśleć o nich prawie jak o obrazach obiektów 3D, które są używane jako tekstury obiektów 2D. Kanonicznym odniesieniem do nich jest prawdopodobnie rozdział 21 książki GPU Gems 3, zatytułowany „True Impostors”. Jest publicznie dostępny tutaj . Innym ważnym odniesieniem jest rozdział 5.7 książki Game Programming Gems v.2, zatytułowany „Imposters: Adding Clutter”, w Game Programming Gems 2, Tom Forsyth.
Można je równomiernie generować w locie, aby poradzić sobie z niewielkimi zmianami kąta widzenia lub treści generowanych w czasie wykonywania. Rzuć okiem na świetny artykuł Gamasutra na ten temat, zatytułowany „Dynamiczne oszustwa 2D: prosta, wydajna implementacja DirectX 9” . Dalszy rozwój koncepcji pojawił się na „Billboard Clouds for Extreme Model Simplification” .
Aby uzyskać delikatne świetne wyjaśnienie tej koncepcji, zobacz ten wpis na blogu: http://blog.wolfire.com/2010/10/Imposters
Wreszcie, kiedy korzystasz z Unity, słyszałem o wtyczce, która automatyzuje taki proces. Nazywa się to Real Lustro Imposters .
AKTUALIZACJA: ze względu na zakończenie pomyślałem o dodaniu dwóch rzeczy, o których ostatnio pamiętałem. Po pierwsze: jest świetne wideo GDC, w którym dyrektor artystyczny SimCity wyjaśnia, w jaki sposób (intensywnie) wykorzystywał oszustów, aby osiągnąć najwyższe osiągnięcia graficzne tej gry: „GDC - Building SimCity: Sztuka w służbie symulacji”. . Po drugie, dla osób zainteresowanych Unreal Engine, ma on wbudowaną funkcję implementacji oszustów, co można zobaczyć w dokumentacji
źródło
Jeśli nie potrzebujesz interakcji z ogrodzeniem, to znaczy przez luki użyłbym prostego przezroczystego prostokąta z nadrukowaną teksturą.
źródło