Poszukuję metody generowania modeli 3D do użytku w grach wideo. Idea to wirtualne prymitywy, które są po prostu punktami z powiązanymi danymi dotyczącymi rozmiaru, kształtu, materiału i obrotu.Generowanie modeli 3D za pomocą skórek pierwotnych
Na przykład asteroida może się zacząć jako dwie proste sfery, które się przecinają. Materiał pylistej skały, który mówi algorytmowi skórowania, aby zapewnić gładkie piaszczyste zakręty i okazjonalnie postrzępione głazy. Prawdopodobnie kończy się rodzajem bryłowego kształtu orzeszka ziemnego.
Następnie dodać mniejsze kulki z materiałem pustym lub kraterowym, posypane wokół obiektu. Powodują one powstawanie kraterów na powierzchni orzeszków ziemnych, a skóra dostosuje się do nich. W końcu będziesz miał połowicznie wiarygodną reprezentację asteroidy.
Mając to na uwadze, moje pytanie brzmi: czy istnieją przyzwoite przykłady kodu źródłowego lub domeny publicznej, które mogą znaleźć powierzchnię modelu i wygenerować gładką, równomiernie rozmieszczoną kwadratową siatkę, która mogłaby być wtedy teksturowane?
Więcej informacji; Patrzę na metody CSG dla podstawowych modeli (dodawanie i odejmowanie objętości), a następnie przyglądam się innym metodom usuwania wszystkiego.
Czy obejrzałeś [CGAL] (http://www.cgal.org/). Mają wiele algorytmów geometrii otwartego źródła dla generacji [mesh] (http://www.cgal.org/Manual/latest/doc_html/cgal_manual/contents.html#part_XI), [processing] (http: //www.cgal. org/Manual/latest/doc_html/cgal_manual/contents.html # part_XII) i [polyhedra] (http://www.cgal.org/Manual/latest/doc_html/cgal_manual/contents.html#part_VII). Sekcja [NEF Polyhedra] (http://www.cgal.org/Manual/latest/doc_html/cgal_manual/Nef_3/Chapter_main.html) wygląda szczególnie blisko tego, o czym mówisz. –
To ciekawe, będę musiał zrobić więcej badań na ten temat. Teraz przeglądasz Sparse Voxel Octrees. –
Jeśli chcesz mieć skrypty generujące modele 3D za pomocą technik CSG, nie ma lepszego oprogramowania niż [OpenSCAD] (http://www.openscad.org/). Używa on wspomnianego CGAL na zapleczu, ale zapewnia interfejs oparty na skrypcie do generowania parametrów parametrycznych. Używam go od lat do drukowania 3D i uwielbiam to. Posiada również interfejs wiersza poleceń, dzięki czemu można skryptować go z powłoki uniksowej lub polecenia.exe. Nie będzie jednak w stanie zintegrować się z Twoją grą w czasie rzeczywistym. Będzie to wymagało tworzenia modeli z wyprzedzeniem, czego nie jestem pewien, czego szukasz. – Jestin