No início de uma cena, tenho o GameObject chamado 'sheet' posicionado acima de um 'ball' GameObject. A folha possui um componente de pano interativo e um renderizador de pano. A malha para o componente Interactive Cloth é um plano com um número alto de vértices. Em tempo de execução, a folha cai sobre a bola e cria a forma que eu quero. Se eu desabilitar o componente Interactive Cloth nesse ponto, a malha da folha permanecerá exatamente como eu quero, mas não posso retirá-lo como um Prefab.
Alguém sabe uma maneira de obter uma cópia dessa forma?
Por exemplo, lendo a malha do Interactive Cloth em tempo de execução e, em seguida, usando-a para alterar a malha novamente como eu quero sem o componente Interactive Cloth.
Qualquer ajuda seria muito apreciada.
Respostas:
Um comportamento simples e um inspetor personalizado ajudarão. Adicione isso aos seus scripts:
Em seguida, na cena, adicione o SaveMeshBehaviour ao seu pano. O inspetor personalizado fará com que o novo componente tenha um botão Salvar. Quando estiver reproduzindo sua cena, clique no botão Salvar e ela salvará uma malha que é uma cópia do avião.
Espero que isto ajude!
fonte
copy.vertices = cloth.vertices
siga-a com a criação de um ativo a partir da cópia, como acima. Não tenho certeza se vai funcionar, mas pode.