Как сделать инвентарь в unity
Перейти к содержимому

Как сделать инвентарь в unity

  • автор:

Как создать инвентарь в Unity?

5cdfdd8421a4c522920489.png

Следуя этому алгоритму, вы превратите вашу сложную задачу в несколько простых. Повторяйте этот алгоритм для простых задач, пока не дойдёте до такого состояния, когда всё будет просто и понятно. Далее просто реализуйте всё.

p.s.
Или купите в asset store, либо закажите на фрилансе.

Ответ написан более трёх лет назад
Комментировать
Нравится 3 Комментировать

Чтобы можно было перетаскивать своих ?ГЕРОЕВ? по нему, вот как то так должно выглядеть

you are normal? Чувак инвентарь — єто обем переносимого веса или инвентаря героем, а не наоборот. Кавказкую пленницу пересмотрелся? Если єто доска для перемещения по ней героев типо настолки то так и пиши. Там уже возмножны другие функции.

Ответ написан более трёх лет назад
Комментировать
Нравится 2 Комментировать
Unity разработчик

Есть хороший урок
https://www.youtube.com/watch?v=Y-OpWcRhgJ0&t
Если модифицировать самому получить довольно хорошо

Ответ написан более трёх лет назад
Комментировать
Нравится 1 Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

разработка-игр

  • Разработка игр

Как ограничить вращение объектов в Unity?

  • 1 подписчик
  • вчера
  • 11 просмотров

c#

  • C#
  • +4 ещё

Как правильно настроить считывание клавиш?

  • 2 подписчика
  • 26 апр.
  • 239 просмотров

Как сделать инвентарь в Unity. Уроки Unity для детей и подростков

Как сделать инвентарь в Unity. Уроки Unity для детей и подростковКак сделать инвентарь в Unity. Уроки Unity для детей и подростковКак сделать инвентарь в Unity. Уроки Unity для детей и подростковКак сделать инвентарь в Unity. Уроки Unity для детей и подростковКак сделать инвентарь в Unity. Уроки Unity для детей и подростковКак сделать инвентарь в Unity. Уроки Unity для детей и подростковКак сделать инвентарь в Unity. Уроки Unity для детей и подростковКак сделать инвентарь в Unity. Уроки Unity для детей и подростковКак сделать инвентарь в Unity. Уроки Unity для детей и подростков

Материал подготовлен школой программирования для детей «Пиксель». Мы учим ребят 5-17 лет создавать игры и анимацию, проектировать и разрабатывать сайты, делать веб-дизайн и др. Приходите к нам учиться разработке игр в Unity3D.

Как создать инвентарь в 3D проекте UNITY?

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

Для Вашего удобства мы будем описывать последовательность шагов текстом и демонстрировать эти шаги в кратком видео. И так, приступим.

Нам понадобятся такие ассеты:

  1. RPG inventory icon
  2. Third Person Controller – Basic Locomotion FREE

Подготовка проекта

  1. Импортируйте ассеты, перечисленные выше.
  2. Создайте куб (в окне иерархии нажмите “+” ->3D object ->Cube):
  3. Переименуйте его в “Ground”, и увеличьте Scale по x и y:
  4. Создайте персонажа (Invector -> Basic Locomotion -> Create Basic Controller)
  5. Откроется окно создание персонажа, выберите в нем VBOT2.0_Custom и Invecor@BasicLocomotion и нажмите “Create
  6. Поместите полученного персонажа над землей, запустите игру и убедитесь, что всё работает

Логика создания инвентаря

  1. Создайте скрипт “Inventory” в Папке “MonoBehaviour

2. Создайте скрипт “Item” в папке “Scriptable objects

3. Открываем скрипт “Item”, все предметы, которые мы будем создавать будут наследоваться от этого класса. Он будет наследоваться от ScriptableObject и содержать несколько полей (вы можете добавить какие-то поля по своему желанию):

4. Открываем скрипт “Inventory”, он будет прикрепляться к игроку и содержать список предметов. Создаем класс InventorySlot, он будет содержать предмет и количество экземпляров этого предмета в инвентаре. Определяем функцию добавления предмета в инвентарь, она сначала будет проверять, есть ли уже предмет с таким ID в инвентаре, в случае, если есть увеличивать их количество, а если нет – добавлять новый.

Собирание предметов

  1. Создадим кубик, а так же для наглядности сделаем его зеленым. Для этого создадим папку “Materials”, там создадим новый материал и поменяем его цвет (Alberdo)
  2. На кубике создадим коллайдер, сделаем его триггером, он будет определять, достаточно ли близко игрок подошёл к предмету, чтобы его поднять
  3. Создадим и добавим на него скрипт “CollectableItem
  • Если к предмету приближается кто-либо, у кого есть инвентарь – предмет добавляется в него и пропадает со сцены
  • Для проверки работоспособности инвентаря добавим строчку [CreateAssetMenu] перед определением класса Item
  • Затем создадим папку “Items” в папке “Project”, а в ней создадим предмет:
  • Выберете для него понравившуюся вам иконку из скачанных ранее
  • Добавьте его в качестве предмета на наш кубик
  • Добавьте инвентарь нашему персонажу
  • Запустите игру и подойдите к предмету, он должен исчезнуть, а в инвентаре персонажа должен появиться предмет.
  • Инвентарь готов, осталось, лишь сделать его графическое отображение.

    UI инвентаря

    1. Создаём Canvas
    2. Переходим в 2D режим
    3. Создаем Panel
    4. Создадим 4 “Image” и сделаем так, чтоб каждый из них занимал четверть панели.

  • Добавим ограничение на количество предметов в инвентаре:
  • 6. Создадим событие, которое будет вызываться при добавлении предмета в инвентарь

    7. На панели создадим скрипт “Inventory UI”, он будет отвечать за графическое отображение инвентаря

    8. Этот скрипт будет содержать метод UpdateUI, который будет принимать инвентарь и устанавливать изображения предметов. Так же необходимо добавить методы получения предмета в Inventory

    9. Положим все Image в список

    10. Теперь нам необходимо вызывать этот метод всякий раз, когда обновляется содержимое инвентаря, как раз для этого мы и создали событие OnInventoryChanged. Добавляем вызов нашего метода в это событие.

    11. Делаем цвета всех Image прозрачными

    12. Запускаем игру и убеждаемся, что подобранный предмет отображается в инвентаре

    13. Осталось только сделать отображение количества предметов. Для этого к каждой картинке добавляем текстовое поле. Дополним скрипт UpdateUI, добавив туда отображение количества предметов, а так же делая пустые слоты прозрачными.

    Заполняем список текстов

    Создаем различные предметы (ВАЖНО: ID предметов должны быть различны) и тестируем

    В данном уроке мы рассмотрели вариант создания инвентаря при помощи Scriptable Object. UI инвентаря – лишь тестовый вариант отображения, вы можете переделать его на свой вкус, так же можно сделать дополнительный класс для того, чтоб Image и Text не были отдельными списками, сделать инвентарь бесконечным, добавить возможность убирать предметы из инвентаря, сделать разные типы предметов наследуя их от Item и тд.

    Как создать простой инвентарь в Unity

    Инвентарь — одна из важнейших деталей игр многих жанров. Однако создать его может быть не так просто, как кажется на первый взгляд.

    Евгений Кучерявый

    Евгений Кучерявый

    Пишет о программировании, в свободное время создаёт игры. Мечтает открыть свою студию и выпускать ламповые RPG.

    Чтобы реализовать инвентарь, нужно уже уметь создавать простые игры и работать с интерфейсами.

    Как создать окно инвентаря

    Добавьте на карту элементы Canvas с именем InventoryCanvas и Panel, в котором будут находиться остальные элементы:

    В компоненте Canvas Scaller укажите в UI Scale Mode вариант Scale With Screen. Так размер инвентаря будет зависеть от разрешения экрана. Внутри Panel создайте еще одну панель и назовите ее Items:

    Поменяйте цвет и добавьте компонент Grid Layout Group — он позволит расположить компоненты по сетке. Можно указать отступы и размер клеток. Затем добавьте название окна — это еще одна панель с текстом.

    Теперь пора приступить к созданию ячеек. Внутри панели Items создайте кнопку и назовите ее Slot. Внутрь кнопки добавьте Image и назовите этот элемент Icon — в нем будет отображаться спрайт предмета. Также создайте пустой скрипт Slot.cs, а потом сохраните слот как префаб.

    После этого можно создать несколько копий ячейки, которые автоматически расположатся по сетке.

    Теперь нужен скрипт, который будет отвечать за открытие и закрытие инвентаря и другой функционал, — Inventory.cs. Прикрепите его к InventoryCanvas.

    Как создать предмет

    Рассмотреть создание предметов можно на примере брони для танка. Она будет выглядеть так:

    А на танке крепится так:

    Для начала перетащите спрайт на карту и добавьте ему коллайдер с триггером:

    Триггер нужен, чтобы его объект можно было «подбирать», наезжая на него. Добавьте скрипт Item.cs:

    Пока скрипт Items.cs не создан, поэтому попытка его вызова может привести к ошибке — закомментируйте строку obj.GetComponent().AddItem (index);

    Как подобрать предмет

    Создайте скрипт Items.cs и добавьте его персонажу:

    Как добавить предмет в инвентарь

    Теперь нужно сделать так, чтобы подобранные предметы отображались в инвентаре. Для этого добавьте вот такой код в скрипт Slot.cs:

    Как надеть предмет

    За надевание предмета будет отвечать скрипт Items:

    Теперь пора проверить, как всё это работает:

    Заключение

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

    Если вы хотите лучше изучить работу с Unity, записывайтесь на курс «Профессия разработчик игр на Unity». Вы научитесь создавать все основные компоненты для игры и сможете работать над крупными проектами.

    Профессии с трудоустройством

    • 3D-дженералист
    • Разработчик игр на Unity
    • Геймдизайнер
    • Разработчик игр на Unreal Engine
    • Концепт-художник

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *