Abertura de gavetas e armários com chaves específicas no Unity

Neste tutorial criaremos um sistema interativo simples em Unity onde gavetas e armários podem ser abertos usando uma chave específica. Este sistema permitirá ao jogador interagir com os objetos da cena pressionando uma tecla designada para abri-los e fechá-los.

Pré-requisitos

  • Unity Hub instalado
  • Unity Editor (versão 2019 ou posterior)
  • Conhecimento básico de C#

Configurando o Projeto

  1. Abra Unity Hub e crie um novo projeto Unity.
  2. Monte seu cenário com gavetas, armários ou qualquer objeto com o qual você queira interagir.

Implementando o Sistema Interativo

Etapa 1: crie um script interativo

'InteractiveObject.cs'

using UnityEngine;

public class InteractiveObject : MonoBehaviour
{
    public KeyCode interactionKey;
    public GameObject openState;
    public GameObject closedState;

    private bool isOpen = false;

    void Update()
    {
        if (Input.GetKeyDown(interactionKey))
        {
            ToggleObjectState();
        }
    }

    void ToggleObjectState()
    {
        isOpen = !isOpen;
        openState.SetActive(isOpen);
        closedState.SetActive(!isOpen);
    }
}

Etapa 2: configurar estados de objeto

  1. Crie dois GameObjects vazios como objetos filhos de cada gaveta ou armário. Nomeie um "OpenState" e o outro "ClosedState".
  2. Defina as posições iniciais desses objetos filhos para representar os estados aberto e fechado da gaveta ou armário.
  3. Atribua esses objetos filhos às variáveis ​​'openState' e 'closedState' no script 'InteractiveObject.cs'.

Etapa 3: Atribuir chave de interação

  1. Selecione o objeto na cena com o script 'InteractiveObject.cs' anexado.
  2. Na janela do Inspetor, defina a variável 'interactionKey' para o KeyCode desejado (por exemplo, KeyCode.E para a chave "E").

Etapa 4: Testando o Sistema

  1. Reproduza a cena em Unity.
  2. Aproxime-se das gavetas ou armários.
  3. Pressione a tecla designada (por exemplo, "E") para abri-los e fechá-los.

Conclusão

Você implementou com sucesso um sistema interativo em Unity que permite abrir e fechar gavetas e armários usando uma chave específica. Este sistema pode ser expandido ainda mais adicionando animações, efeitos sonoros ou interações mais complexas para aprimorar a experiência do jogador. Sinta-se à vontade para experimentar e adicionar recursos adicionais para tornar seus objetos interativos ainda mais envolventes.

Artigos sugeridos
Tutorial para abrir uma porta com chave no Unity
Criando objetos interativos no Unity
Adicionando efeito de balanço às armas no Unity
Interagindo com objetos no jogo Unity
Script para capturar objetos no Unity
Lógica de disparo de pistola sinalizadora no Unity
Maneira integrada de trabalhar com JSON no Unity Code