Система Предметов - Документация¶
Этот документ объясняет, как использовать систему подбора предметов в вашем проекте Godot.
Обзор¶
Система предметов состоит из нескольких компонентов:
Item.gd - Базовый класс предмета с функциональностью подбора
ItemManager.gd - Система управления инвентарем
CharacterBody3D.gd - Обновленный контроллер персонажа с взаимодействием с предметами
Item.tscn - Префаб предмета
TestItem.tscn - Пример предмета для тестирования
Как Это Работает¶
Подбор Предметов¶
У предметов есть зона подбора (Area3D), которая обнаруживает вход игрока
При нахождении в радиусе действия предмета появляется подсказка о подборе
Нажмите ‘E’ для подбора предмета
Предметы добавляются в инвентарь игрока
Управление¶
WASD - Движение
Мышь - Осмотр вокруг
E - Подобрать предмет
Создание Новых Предметов¶
Создайте новую сцену на основе
item.tscnУстановите свойства предмета в Инспекторе:
item_name- Отображаемое названиеitem_description- Описание предметаitem_type- Категория (оружие, броня, расходуемое, прочее)item_id- Уникальный идентификаторpickup_distance- Радиус для обнаружения подбора
Добавьте mesh и material для визуального представления
Разместите предмет в своей сцене
Настройка¶
Размер Инвентаря¶
Измените max_inventory_size в ItemManager.gd для изменения вместимости инвентаря.
Радиус Подбора¶
Отрегулируйте pickup_distance на отдельных предметах или измените значение по умолчанию в Item.gd.
Действия Ввода¶
Отредактируйте карту ввода в project.godot для изменения привязок клавиш.
Пример Использования¶
# Создаем зелье здоровья
var health_potion = preload("res://item.tscn").instantiate()
health_potion.item_name = "Зелье Здоровья"
health_potion.item_description = "Восстанавливает 50 здоровья"
health_potion.item_type = "consumable"
health_potion.item_id = "health_potion_001"
add_child(health_potion)
Решение Проблем¶
Предметы не показывают подсказку о подборе: Проверьте, что у предмета есть PickupArea с правильной формой коллизии
Невозможно подобрать предметы: Убедитесь, что предмет находится в радиусе действия и в инвентаре есть место
Особенности Системы¶
Предметы автоматически добавляются в группу “items” для обнаружения
Система использует area detection для определения радиуса подбора
Размер инвентаря настраивается
Предметы сохраняют ссылки на своего владельца для отслеживания
Подсказка о подборе появляется в центре экрана
Предметы исчезают с эффектом затухания при подборе