Unity trabalhando com prefabs
Prefabs são recursos especiais que permitem aos desenvolvedores armazenar GameObjects junto com seus componentes e outros dados em modelos configuráveis, que podem ser reutilizados posteriormente entre as cenas , e outros Projetos, ou instanciados por meio de um script, sem a necessidade de configurá-los novamente.
Casos em que Prefabs são úteis:
- Recursos Ambientais (árvores, arbustos, rochas, etc.)
- NPCs (personagens não jogáveis)
- Projéteis
- Instâncias do jogador
- Qualquer objeto que precise ser reutilizado no jogo
Exemplo de Uso
Ao arrastar e soltar modelos diretamente para a cena, eles geralmente apresentam alguns problemas, como:
- Faltando texturas
- Escala errada
- Rotação incorreta
Os problemas acima podem ser facilmente corrigidos na Cena (atribuindo o(s) material(is) correto(s), alterando a escala/rotação, etc.):
No entanto, se você planeja usar o modelo repetidamente e/ou em várias cenas, repetir as etapas acima rapidamente se tornará uma tarefa tediosa, então, em vez disso, podemos salvar o modelo em um Prefab.
Como criar um pré-fabricado
- Para criar um Prefab em Unity, simplesmente arraste e solte o objeto da visualização Cena para a visualização Projeto.
- Depois que o Prefab é criado, ele pode ser colocado em qualquer cena, criando uma cópia exata:
Editando Prefabs
A edição de Prefabs existentes é feita de 2 maneiras: modificando-os no editor de Prefab ou modificando-os na Cena.
Modificando no Editor Prefab
- Selecione o Pré-fabricado na visualização do projeto e, em seguida, na visualização do Inspetor, clique em "Open Prefab"
- O Prefab será aberto no editor, onde você poderá modificá-lo.
- Ao terminar de modificar, clique na seta para trás na visualização de hierarquia para sair da edição e salvar as alterações.
Modificando na cena
- Solte o Prefab na visualização Scene e edite-o lá.
- No meu caso, adicionei outro Objeto à Hierarquia (observe o símbolo (+) próximo ao ícone)
- Ao modificar prefabs na Cena, as alterações não são salvas automaticamente, em vez disso, você precisa selecionar manualmente o objeto raiz do Prefab e, na Visualização do Inspetor, clicar em "Overrides" e clicar "Apply All" para salvar as alterações, ou "Revert All" para reverter as alterações.
- Algumas ações não são suportadas ao editar Prefab diretamente na cena, por exemplo, se você precisar reestruturar a hierarquia, será apresentada a mensagem "Cannot restructure Prefab instance" e com opções para "Open Prefab" ou "Cancel".
Para reestruturar a instância do Prefab, clique em 'Open Prefab' ou clique com o botão direito do mouse no prefab na visualização Hierarchy e clique em Prefab -> Unpack ou Prefab -> Unpack Completely.
Descompactar o Prefab removerá sua associação com o Prefab principal, tornando-o totalmente editável na Cena.
Para salvar o Prefab descompactado de volta, selecione a pasta onde o Prefab original está localizado e, em seguida, arraste e solte o objeto modificado da Visualização de hierarquia para esse Prefab.
Às vezes, se as mudanças forem muito drásticas, você receberá uma mensagem de confirmação.
Certifique-se de que você está modificando o Prefab correto e clique em "Replace Anyway" para finalizar a ação ou em "Não Substituir" para cancelar a ação.
O novo Prefab agora está salvo e pronto para uso.