Найти тему
Всёобовсём

Простенькое приложение на Unity, (не упусти шанс, возможно это твой первый шаг на пути разработки игр)

Принцип работы:

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

Программы, которые понадобились для работы:

1) Unity.

2) Visual Studio 2019.

Шаг 1:

Открываем Unity и видим пустую сцену:

-2
Проходим по пути - Window> Asset Store:
Проходим по пути - Window> Asset Store:

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

Шаг 2:

Необходимо создать 2 сцены одна, будет отвечать за вид снаружи, а другая соответственно внутри. После необходимо расположить 3D модели на разных сценах, в нашем случае на одной сцене будут модели избы с улицы, а на другой сцене в самой избе.

Модели можно найти в Asset Store либо скачать. Для этого используются такие сайты как:

1) BlandSwap

2) Sketchfab

Может возникнуть проблема конвертации, так как разные авторы сохраняют свои модели в разных форматах, для ее решения необходимо использовать сайт – AnyConv.

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

Потом расставляйте модели под ваш манер.

Реализация вращения камеры:

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

-4
-5

Реализация меню:

Принцип работы меню состоит в том, что у нас есть массив страниц (просто GameObject) в который мы записываем все страницы которые у нас есть в меню, так же есть функция ShowPage (string pageName) в которую мы передаём имя страницы и она перебирая этот массив ищет страницу с этим именем, и если она её находит то она перебирает массив страниц и всем ставит SetActive (false) тем самым выключая их, а странице которую мы хотим показать ставит SetActive (true). Так же в меню конечно присутствует обработка нажатия кнопок. При нажатии кнопки 'внутри' оно загружает нужную сцену и включает управление камерой. При нажатии 'снаружи' оно просто скрывает меню и включает управление.

-6
-7

За помощь в реализации благодырочка моему другу Артему!!!