Tutorial para abrir uma porta com chave no Unity

Em muitos cenários de jogo, desbloquear e abrir portas com chaves é um elemento de jogo comum. Neste tutorial Unity, percorreremos o processo de criação de uma porta simples que pode ser aberta com uma chave. Abordaremos os conceitos básicos Unity de scripts, acionamento de eventos e criação de um sistema de porta responsivo.

Pré-requisitos

Etapa 1: crie a cena e os ativos

  1. Abra Unity e crie um novo projeto 3D (se ainda não o fez).
  2. Importe um modelo door simples (ou crie um cubo como espaço reservado) e um modelo chave para o seu projeto.

Etapa 2: configurar a porta e a chave

  1. Coloque door e key em sua cena.
  2. Adicione um componente Box Collider ao objeto pai da porta, aumente-o para cobrir a área necessária e verifique seu parâmetro "Is Trigger".
  3. Adicione GameObjects principais para ativar a detecção de colisão.

Etapa 3: Escreva o DoorScript

'DoorScript.cs'

using UnityEngine;

public class DoorScript : MonoBehaviour
{
    public GameObject key;

    private bool isLocked = true;

    private void OnTriggerEnter(Collider other)
    {
        if (other.gameObject == key && isLocked)
        {
            OpenDoor();
        }
    }

    private void OpenDoor()
    {
        // Add door opening animation or simply change the door's position.
        transform.Translate(Vector3.up * 2f); // Adjust the value based on your door's size.
        isLocked = false;
    }
}
  • Anexe o 'DoorScript' ao objeto com Box Collider com "Is Trigger" marcado.
  • Atribua o objeto-chave à variável 'Key' em 'DoorScript'.

Explicação:

  • Verificamos colisões com a chave usando 'OnTriggerEnter'.
  • Se o objeto colidido for a chave e a porta estiver trancada, o método 'OpenDoor' será chamado.
  • O método 'OpenDoor' pode conter qualquer lógica personalizada de abertura de porta, como reproduzir uma animação ou alterar a posição da porta.

Etapa 4: configurar o GameObject principal

  1. Anexe um componente Rigidbody ao GameObject chave para permitir interações físicas.
  2. Adicione um Sphere Collider (ou qualquer colisor que se ajuste à sua chave) ao GameObject chave.

Etapa 5: teste

  1. Pressione Play em Unity para testar a interação.
  2. Mova a chave dentro do Box Collider da porta.

Conclusão

Você criou com sucesso um sistema simples de desbloqueio de porta usando uma chave em Unity. Este tutorial cobre o básico e você pode expandi-lo adicionando mais recursos e animações ou refinando a mecânica de jogo com base nos requisitos do seu jogo.

Artigos sugeridos
Abertura de gavetas e armários com chaves específicas no Unity
Adicionando entrada de jogador a um carro no Unity
Usando o controlador Runtime Animator no Unity
Script para capturar objetos no Unity
Guia abrangente para transformar a rotação na unidade
Uma abordagem prática para código modular no Unity
Mova objetos com entrada de rolagem no Unity