Учебник по открытию двери ключом в Unity

Во многих игровых сценариях разблокировка и открытие дверей с помощью ключей является обычным элементом игрового процесса. В этом уроке Unity мы рассмотрим процесс создания простой двери, которую можно открыть с помощью ключа. Мы рассмотрим основные концепции Unity сценариев, запуска событий и создания адаптивной дверной системы.

Предварительные условия

Шаг 1. Создайте сцену и ресурсы

  1. Откройте Unity и создайте новый 3D-проект (если вы еще этого не сделали).
  2. Импортируйте простую модель door (или создайте куб в качестве заполнителя) и ключевую модель в свой проект.

Шаг 2: Установите дверь и ключ

  1. Поместите дверь и ключ в вашу сцену.
  2. Добавьте компонент Box Collider к родительскому объекту двери, увеличьте его, чтобы охватить необходимую область, и проверьте его параметр "Is Trigger".
  3. Добавьте ключевые GameObjects, чтобы включить обнаружение столкновений.

Шаг 3. Напишите 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;
    }
}
  • Прикрепите 'DoorScript' к объекту с помощью Box Collider с отмеченным "Is Trigger".
  • Назначьте ключевой объект переменной 'Key' в 'DoorScript'.

Объяснение:

  • Мы проверяем наличие коллизий с ключом, используя 'OnTriggerEnter'.
  • Если столкнувшийся объект является ключом и дверь заперта, вызывается метод 'OpenDoor'.
  • Метод 'OpenDoor' может содержать любую пользовательскую логику открытия двери, например воспроизведение анимации или изменение положения двери.

Шаг 4: Настройте ключевой игровой объект

  1. Прикрепите компонент Rigidbody к ключевому GameObject, чтобы включить физические взаимодействия.
  2. Добавьте Sphere Collider (или любой коллайдер, соответствующий вашему ключу) к ключевому GameObject.

Шаг 5: Тестирование

  1. Нажмите «Воспроизвести» в Unity, чтобы проверить взаимодействие.
  2. Переместите ключ в дверной коллайдер.

Заключение

Вы успешно создали простую систему отпирания дверей с помощью ключа в Unity. В этом руководстве рассматриваются основы, и вы можете расширить его, добавив дополнительные функции и анимацию или усовершенствовав игровую механику в соответствии с требованиями вашей игры.

Рекомендуемые статьи
Создание GrabPack в Unity, вдохновленное Poppy Playtime
Добавление входа игрока в машину в Unity
Руководство по интеграции контроллера Nintendo с Unity
Руководство по загрузке сцены в Unity
Комплексное руководство по преобразованию вращения в Unity
Руководство по MonoBehavior в Unity
Использование контроллера Runtime Animator в Unity