Sistema de diálogo no Unity com nomes, retratos e layout personalizados
Índice:
- Introdução
- Criando um sistema de diálogo no Unity
- Adicionando tags ao diálogo
- Gerenciando nomes de NPC
- Gerenciando retratos dos personagens
- Gerenciando layout do painel de diálogo
- Resolvendo problemas de tags ausentes
- Conclusão
🌟 Destaques:
- Aprenda a criar um sistema de diálogo no Unity
- Saiba como usar tags para personalizar o diálogo
- Gerencie nomes, retratos e layout do painel de diálogo
- Resolva problemas e evite informações desnecessárias
Introdução
Olá pessoal, meu nome é Trever e hoje vou mostrar a vocês uma maneira simples, mas eficaz, de exibir e gerenciar nomes de NPCs e retratos em um sistema de diálogo construído no Unity usando o Ink. Ao final deste artigo, teremos desenvolvido um sistema no qual um retrato e os nomes podem ser facilmente alterados a cada linha de diálogo, e também será possível modificar o layout do painel de diálogo. Este tutorial é uma continuação de um vídeo anterior onde construímos um sistema de diálogo com escolhas, mas você não precisa ter assistido ao vídeo anterior para entender este. Irei usar o sistema de diálogo construído no vídeo anterior como ponto de partida, então se você está começando agora e precisa de um ponto de partida, recomendo fortemente que assista o outro vídeo antes de prosseguir.
Criando um sistema de diálogo no Unity
Vamos começar criando um novo projeto no Unity e instalando o plugin Unity Ink, bem como o TextMeshPro, que usaremos mais adiante. Em nosso projeto, já temos uma cena com dois NPCs. Quando você se aproxima de um deles, pode pressionar um botão para exibir um diálogo. O próprio diálogo é escrito em arquivos Ink que estão associados aos NPCs por meio de um script de gatilho de diálogo. Quando um NPC é falado, o arquivo Ink é passado para uma classe singleton chamada DialogManager, responsável por ler o arquivo Ink e configurar o diálogo, texto e opções de acordo com cada linha de diálogo.
Adicionando tags ao diálogo
Vamos usar as tags do Ink para adicionar metadados a qualquer linha de diálogo. Cada tag é simplesmente lida no Unity como uma string, então depende completamente de nós como queremos estruturá-las. Uma boa maneira é configurar as tags com pares chave-valor, onde a chave representa uma ação que desejamos realizar em nosso código C# para aquela linha de diálogo e o valor representa dados a serem usados para aquela ação.
Podemos usar o símbolo de hashtag para indicar que isso é uma tag. Por exemplo, #speaker:Bob
indica que "speaker" é a chave e "Bob" é o valor, separados por dois pontos. No Unity, podemos ler essa tag como uma string, analisá-la em um par chave-valor e executar uma ação com essa chave usando o valor.
Gerenciando nomes de NPC
Para definir o nome do NPC a ser exibido no painel de diálogo, vamos utilizar as tags. Quando encontrarmos uma tag com a chave "speaker", iremos configurar o texto de exibição do nome do NPC no painel de diálogo com o valor dessa tag.
Gerenciando retratos dos personagens
Para definir os retratos dos personagens no painel de diálogo, também vamos utilizar tags. Nesse caso, os valores das tags corresponderão ao nome de um estado de animação configurado no Unity. Quando encontrarmos uma tag com a chave "portrait", iremos reproduzir a animação correspondente a esse valor no retrato do painel de diálogo, alterando assim o retrato do personagem.
Gerenciando layout do painel de diálogo
Além dos nomes e retratos, também podemos usar tags para definir o layout do painel de diálogo. Cada layout corresponderá a uma animação configurada no Unity. Quando encontrarmos uma tag com a chave "layout", iremos reproduzir a animação correspondente a esse valor, alterando assim o layout do painel de diálogo.
Resolvendo problemas de tags ausentes
Ao usar as tags em nosso diálogo, só precisamos adicioná-las quando queremos disparar uma mudança, evitando a necessidade de adicionar tags em todas as linhas do diálogo. Entretanto, precisamos ter cuidado para garantir que todas as tags necessárias sejam adicionadas corretamente em nosso diálogo.
Conclusão
Neste artigo, aprendemos como criar um sistema de diálogo no Unity usando tags do Ink para personalizar o diálogo. Vimos como gerenciar nomes de NPCs, retratos e layout do painel de diálogo. Também aprendemos como resolver problemas e evitar informações desnecessárias. Agora você está pronto para implementar um sistema de diálogo em seus próprios projetos no Unity. Tenha criatividade e divirta-se explorando as possibilidades do Ink!