Na początku sceny mam GameObject o nazwie „arkusz” umieszczony nad GameObject „piłką”. Arkusz ma na sobie komponent tkaniny interaktywnej i moduł renderujący tkaniny. Siatka komponentu tkaniny interaktywnej jest płaszczyzną z dużą liczbą wierzchołków. W czasie wykonywania arkusz spada na piłkę i tworzy pożądany kształt. Jeśli w tym momencie wyłączę składnik Interaktywna tkanina, siatka arkusza pozostanie dokładnie tak, jak chcę, ale nie mogę wyciągnąć go jako prefabrykatu.
Czy ktoś zna sposób na uzyskanie kopii tego kształtu?
Na przykład czytając siatkę z tkaniny interaktywnej w czasie wykonywania, a następnie używając jej do zmiany siatki tak, jak chcę, bez komponentu tkaniny interaktywnej.
Każda pomoc byłaby bardzo mile widziana.
Odpowiedzi:
Pomoże proste zachowanie i niestandardowy inspektor. Dodaj to do swoich skryptów:
Następnie w scenie dodaj SaveMeshBehaviour do swojej tkaniny. Niestandardowy inspektor sprawi, że nowy komponent będzie miał przycisk Zapisz. Podczas odtwarzania sceny kliknij przycisk Zapisz, aby zapisać siatkę będącą kopią samolotu.
Mam nadzieję że to pomoże!
źródło
copy.vertices = cloth.vertices
postępuj zgodnie z nią, tworząc zasób z kopii jak wyżej. Nie jestem pewien, czy to zadziała, ale może.