Как делать игры в unity3d. Работа в Unity3d: основы создания игр. Добавляем фон в сцену

Как создать игру в Unity

Казуальные игры в жанре match 3 (три в ряд) - одни из самых популярных на рынке. Многие играют в Candy Crush, Bejeweled и прочие. У этих игр простая цель: перемещать мозаичные элементы до тех пор, пока три одинаковых элемента не окажутся рядом. Когда это происходит, совпавшие элементы исчезают, а на их месте появляются другие. Игрок при этом набирает баллы.

В этом руководстве будут освещаться следующее:

  • Создание доски, заполненной мозаичными элементами
  • Выбор и отмена выбора мозаичных элементов
  • Идентификация соседних элементов с помощью raycasts
  • Замена элементов
  • Поиск совпадающих трех и более элементов с помощью raycasts
  • Заполнение пустых элементов
  • Ведение счета и подсчет движений

Примечание . Предполагается, что вы уже знаете, как пользоваться редактором Unity, как редактировать код, и что у вас есть базовые знания по части C#.

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

Share this article:

Related Articles

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

10 место

Оригинальный инди-шутер с видом от 1-го лица, созданный одноименной командой Superhot Team. Будучи небольшой демонстрацией для конкурса 7 Day FPS Challenge, игра переросла в демоверсию , а затем перебралась на Kickstarter, где получила необходимое финансирование и впоследствии стала полноценной игрой.

С виду производит невзрачное впечатление: графика выполнена в минималистическом стиле (красные безликие противники на сером фоне), а геймплей предллагает только одну вещь - стрелять в противников. Однако же уникальность кроется в самой стрельбе, а точнее - в том, как она проходит.

Так, когда вы двигаетесь, время в SUPERHOT течет своим чередом, однако же стоит вам остановиться, как все вокруг замирает. Остановленное время позволит вам осмотреться и прикинуть дальнейший путь действий, чтобы совершать красивые серии убийств. Но стоит вам поймать хоть одну пулю - вы умрете.

9 место

Очередная инди-игра, созданная компанией Failbetter Games. Сама по себе Sunless Sea не является культовой и не предлагает уникальных вещей. Внести её в список мы решили лишь потому, что в целом игра выполнена качественно, а её жанр - roguelike - сегодня в чистом виде практически невозможно встретить на просторах игровой индустрии.

Собрав средства на Kickstarter, разработчики решили выпустить спин-офф к собственной браузерной RPG Fallen London. Все действие Sunless Sea развивается в той же вселенной и в тех же временных рамках - декорациях Викторианской эпохи, вобравшей в себя мистическую тематику и фэнтези по типу легенд о Ктулху.

Играть же в Sunless Sea предстояло за капитана парохода, который путешествует по различным островам этого мира и сталкивается со всяческими препятствиями.

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

8 место

MMO-симулятор, в котором игрокам необходимо совместно управлять огромным дирижаблем. Guns of Icarus Online разработана в стиле . Никакого мира или описания вселенной в этой игре вы не встретите - все происходящее разворачивается на безликих небесных пространствах, где сталкиваются боевые дирижабли.

Будучи сессионной, игра предлагает геймерам поучаствовать в сетевых баталиях как 1 на 1, так и в виде массовых сражений. Однако 1 на 1 - понятие условное, так как каждую единичку олицетворяют четыре настоящих игрока.

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

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

Разница же заключается в дебаффах и баффах, которые накладываются в зависимости от класса и действий игрока (пилот лучше управляет, а инженер быстрее чинит).

В Guns of Icarus Online представлено немало уникальных дирижаблей, каждый из которых обладает собственными огневой мощью и характеристиками. Победы же достигнет та команда, которая отправит вражескую технику в свободный полет - т.е. уничтожит.

7 место

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

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

Однако же только Pokemon Go удалось получить громкий отклик от общественности - игра была загружена более чем 100 миллионами человек со всего мира. Студии Niantic же удалось заработать около полумиллиарда долларов.

6 место

В 2016 году студия Campo выпустила интересный инди-проект - игру в с видом от 1-го лица, которая рассказывает историю об обычном человеке по имени Генри и его проблемах, что порождает современное общество.

События игры разворачиваются в лесу Шошони 1989 года, как раз в то время, когда начался Йеллоустонский пожар. Главный герой Генри, потерявший любимую жену, решает абстрагироваться от социума и уйти в отшельничество, став наблюдателем леса на одной из пожарных вышек.

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

5 место

Студия Obsidian Entertainment продолжает созданную ей же тенденцию по воскрешению «олдскульных» ролевых игр. После успешной Pillars of Eternity разработчики принялись за - проект того же жанра, который рассказывает совершенно новую историю.

Как и PoE, поиграть в которую мы также вам советуем, Tyranny сделана на движке Unity. В техническом плане игра (как и все вышеописанные) ничего нового не предлагает - это использование все тех же технологий границы 1990-х и 2000-х, которые в свое время использовались в CRPG.

Будучи знакомы с жанром, вы столкнетесь с привычным партийным геймплеем и паузой. Вас ожидают сложные битвы, в которых нужно использовать все умения героев, и разветвленные сюжет и диалоги, являющиеся главной изюминкой Tyranny. Фанатам Baldur’s Gate и Planescape: Torment рекомендуется.

4 место - Rust

В бескрайней пахучей жиже под названием «Симулятор выживания в раннем доступе» очень тяжело отыскать что-то стоящее, кроме непосредственно пахучей жижи. Однако исключения все же имеют место быть, о чем нам красноречиво заявляет Rust. Этот «выживастик» прежде всего отличается от сотен подобных клонов тем, что стал одним из первых в своем роде.

Rust

Проект Rust долго находился в раннем доступе (с 2013 года), что по сути причисляло её в проклятый стан «альфа-игр», которым никогда не суждено выйти. Тем не менее, игра уже так давно обновляется и обросла таким количеством контента, что в раннем доступе она находилась скорее по прихоти разработчиков, нежели из-за технических причин. Наконец, 8 февраля 2018 игра все же вышла официально.

Вообще, все сумасшествие с играми в раннем доступе в началось с DayZ, которая как гром среди ясного неба навалилась на индустрию. Именно на неё ориентировались разработчики Rust, правда, вскоре они решили отойти от первоначальной затеи и смешать особенности DayZ с Minecraft.

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

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

Мы бы не разместили её в топе, если бы она, как уже упоминалось выше, не стала одним из первопроходцев жанра. Качественная игра, которой удалось реализовать более 5 миллионов копий к 2016 году, что во многом говорит в пользу Rust.

3 место

Этот инди-платформер представляет собой редкое исключение, когда игры подобного жанра, созданные небольшими студиями с малыми бюджетами, становятся шедеврами.

В большинстве своем игры на Unity создаются инди-разработчиками (примерно 90% от общего количества). В основном, понятное дело, подобные проекты проваливаются или просто остаются незамеченными аудиторией, что бьет по презентабельности Unity. И лишь изредка игры вроде вихрем проносятся среди конкурентов, оставляя всех позади.

Inside разработана датской студией Playdead, которые также ответственны за выпуск Limbo. В Inside вам тоже предстоит играть за безымянного мальчика, путешествующего по гротескному и полном опасностей миру.

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

Обсуждать какие-либо инновационные технологии в случае с Inside не выйдет. Unity, который использовали , просто подарил им широкий инструментарий и легкость в работе, чего не могут предложить топовые движки вроде Frostbite.

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

2 место

Ещё одним интересным проектом на Unity является космический симулятор Kerbal Space Program - увлекательнейшая , в которой вам предлагается воздвигнуть собственный космодром, построить ракету и запустить её в космос!

Подобные забавы могут предложить многие игры, однако Kerbal Space Program уникальна тем, что требует от игрока смекалки и хотя бы поверхностных знаний законов физики.

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

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

Разобравшись со строительством ракеты, вы попытаетесь выбраться на орбиту Земли, а затем и вовсе покинуть её, чтобы добраться до других планет. В Kerbal Space Program присутствуют живые существа - кербалы, которыми и предстоит стать вашими космонавтами.

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

В общем и целом, Kerbal Space Program - это игра огромной сложности, одолев которую вы получите уйму удовольствия и станете чуточку более эрудированным.

1 место

Серия Civilization стояла у истоков жанра 4Х-стратегий. Начиная с 1990-х, она прошла огромный путь и до сих пор продолжает считаться лучшей из лучших. Естественно, что из года в год всплывающие финансовые успехи серии не раз побуждали и продолжают побуждать сторонних разработчиков выпускать нечто подобное.

Некоторые работают под копирку, меньшинство - делает уникальные игры, которые во многом даже превосходят Civilization. Endless Legend, разработанная студией Amplitude на движке Unity, как раз из таких.

Endless Legend вышла в 2014. По прошествии трех лет она получила четыре крупных и не растеряла той, пускай и небольшой, но все же базы фанатов, которым сильно полюбилась эта волшебная стратегия.

И хотя цели 4Х-стратегии не отличаются от многих других (вы должны полностью уничтожить противника, либо достичь научной/территориальной/дипломатической победы), её сеттинг и некоторые особенности значительно выделяются среди конкурентов.

Если вам надоела Civilization и подобные ей клоны, то обратите внимание на Endless Legend - игру с собственной чарующей вселенной и уникальными механиками, которые, вполне вероятно, могут полюбиться вам гораздо больше, чем «фишки» той же Civilization.

Видео: трейлер Endless Legend


Лайк, если понравилось

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

Вступление

Unity — это один из наибольшее мощных, и возможно самый популярный игровой движок в мире. Его отличительной чертой является приветливость к новичкам, и наиболее широкая мультиплатформа (созданную игру можно экспортировать на что угодно, практически не переписывая). Насколько гибок и крут данный движок? Ну, на нем можно создать практически все, от змейки или тетриса, до GTA 5, были бы силы, знания и время. Для примера, данную сцену Unity вытягивает даже на довольно устаревшем железе:

О чем будет цикл статей:

О самом Unity, о расширении Playmarker, о создании с нуля нескольких игр, копирующих игровые механики таких игр как Flappy Bird, Hitman Go, Ballance.

Без применения программирования? Как? По умолчанию создание полноценных игр на Unity подразумевало знание Java Script или C#, или того же C++, в случае с движком Unreal Engine. Однако прогресс не стоял на месте, и в качестве альтернативы кодингу предложили визуально-нодовые методы программирования. В Unreal это система Blueprints, в Unity же Playmarker.

В чем подвох? С теоретическим ограничением возможностей нодовой системы, относительно исходного языка программирования. Если вы не разработчик Uncharted 4 или Witcher 3, то с этим ограничением вы никогда не столкнетесь.

Намного ли нодовая система проще, чем программирование:

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

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

Процесс установки весьма прост, справится даже кот. Следующим шагом вам нужно достать модуль Playmarker. К сожалению, в бесплатной или ознакомительной версии его не найти. Остается модуль либо приобрести, либо … Ну, вы поняли. Йо-хо-хо! Запускаем Unity:

Выбираем New Project. Указываем удобный для нас путь к проекту. Даем проекту название: Tutorial — Flappy Bird. Остальные настройки оставляем по умолчанию. Итак мы зашли:

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

Сразу и навсегда запоминаем клавиши быстрого доступа к наиболее нужным режимам управления объектами: W перемещение , E вращение , R изменение размера.

Центральное окно, это окно сцены, в нем мы проведем большую часть времени. Именно в нем мы будем творить визуальную часть проектов, и наблюдать результат:

Перемещаться в данном окне проекции можно следующими сочетаниями клавиш:

ALT + левая кнопка мыши вращение камеры , ALT + правая кнопка мыши масштабирование , F центрирование к выбранному объекту.

Комбинаций на первое время достаточно. Идем дальше:

Кнопки управления игровым режимом. Тут все интуитивно. Нажали Play — игра стартовала, если конечно вы нигде не накосячили… Структура и объекты игровой сцены. Здесь отображается все, что вы используете на конкретном уровне игры. Модели, камеры, источники света и т. д.

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

Нашим первым проектом будет создание с нуля пошаговой логической игры, похожей своей механикой на мобильную Hitman Go. Конечный результат будет выглядеть следующим образом:

До встречи в следующем уроке!

Еще посты на эту же тему:


  • Как вставить картинку в ворд: выравнивание и…

Unity - это игровой движок, на котором строится большая часть современных игр на разных платформах. Посредством движка реально создавать игры, ориентированные на запуск на компьютерах (Windows, Linux, MacOS), мобильных телефонах, планшетных компьютерах (Android, iOS, Windows Phone) и даже игровых приставках PlayStation, Xbox, Nintendo.

Создание игр на движке Unity невозможно представить без написания дополнительного кода. В Unity поддерживается два языка программирования - и . Раньше также поддерживался язык Boo, но позже от него отказались.

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

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

План курса

За курс мы создадим простую игру под названием «Roll a Ball». В игре будет шар, который можно будет передвигать за счёт стрелок на клавиатуре. При передвижении объект сможет поглощать другие объекты на поверхности, тем самым собирая очки.

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

Пролог.
Всем привет. Узнав о Unity3D, я очень обрадовался. Это была вторая вещь в геймдевлопе, которая меня зацепила простотой и интуитивностью (первая Game Maker). Так как я не люблю видеоуроки (сам не знаю почему), в поисках уроков очень сильно напрягался, из-за малого количества текстовых уроков. Поэтому решил написать данный цикл статей, для таких же любителей текстовых уроков как я. Так как этот цикл ориентирован на новичков, попутно будут изучаться возможности Unity3D.
Урок 0 или небольшой план.

«Будущее должно быть заложено в настоящем. Это называется планом.
Без него ничто в мире не может быть хорошим»
Георг Кристоф Лихтенберг


1. Создаем меню с летающей камерой аля Far Cry.
2. Персонаж. Движение и управление. Камера. Меняем позицию и вид камеры.
3. Статы. Часть первая. Опыт, деньги.
4. Квесты.
5. Ai. Искусственный интеллект. Часть первая. Покупка персонажа.
6. Статы. Часть вторая. Жизни, манна. Рисуем HP и MP бары.
7. Ai. Искусственный интеллект. Часть вторая. Мобы.
8. Инвентарь. Магазин.
План может дополняться и изменятся.
Урок 1. Меню с летающей камерой аля Far Cry.
В этом уроке мы узнаем основы создания сцен в Unity3D. Узнаем некоторые стандартные возможности и некоторые дополнительные.
Использовано:
1. Terrain Toolkit http://yadi.sk/d/NECQRcVaCEKuT
2. Nature Pack http://yadi.sk/d/m8Qu8ts2CEKyB
3. Real Nature Pack 2 Autumn v2 http://yadi.sk/d/A4IN7tuMCELA3
4. Tropical Nature Pack http://yadi.sk/d/lTMMWzC4CELCf

План:
1. Создание проекта. Импорт необходимых библиотек.
2. Генерация ландшафта. Редактирование.
3. Освещение. Камера.
4. Анимация камеры(полет).
5. Создание меню.
Создание проекта. Импорт необходимых библиотек.
Запускаем Unity. В «Project wizard» переходим во вкладку «Create New Project». В «Import the following packages» выбираем следующие паки: Skyboxes, Terrain Assets, Water(в зависимости от версии unity3d, я выбрал pro)

Заходи в «Assets>>Import package>>Custom package» и переходим в папку где у вас лежат скачанные паки. Выбираем и нажимаем открыть.

Внимание!!! Паки тяжелые по этому Unity может не слабо задуматься не пугайтесь!!
Генерация ландшафта.
Нажимаем «Terrain>>Create Terrain»

Появился объект «Terrain»
Нажимаем «Terrain>>Set Resolution» И устанавливаем размеры нашего ландшафта как на скриншоте. Для сцены меню на большой ландшафт не нужен и дабы не грузить процессор достаточно этих размеров.

Тыкаем «Set Resolution»
Нажимаем «Component>>Terrain>>Terain Toolkit»


В появившемся компоненте «Terrain Toolkit» я выставил все так


Советую поиграть с настройками очень часто вылазят такие интересные варианты ландшафта.
Итак наш ландшафт готов.
Зададим ему текстуру.
В инспекторе нажимаем на кисточку а затем Edit Textures.

И нажимаем Add Texture. В появившемся окне нажимаем «Select» на Texture

В появившемся окне выбираем текстуру (двойной клик мышью), я выбрал «Grass(Hill)»


Нажимаем Add и наш ландшафт перекрашивается.


Нажимаем «Raise/Lower terrain»


Выбираем кисть, размер(Brush Size) интенсивность(Opacity). И нажимая LBM(Левая кнопка мыши) поднимаем вершину, либо нажимая Shift+LBM опускаем.
Нажимая «Smooth Height» (3 кнопка) убираем острые углы.
Дальше я нарисовал что типа песчаного пляжа добавив текстуру «Good Dirt».
Вот что у меня получилось.

Выбираем «Place trees» и нажимаем «Edit trees». В появившемся окне нажимаем кружочек.
И аналогично выбору текстуры выбираем дерево.
И варируя настройками кисти насаживаем разных деревьев.
Аналогично на предпоследней кнопке насаживаем цветов, травы, камней итд.
С одним НО для того что бы не грузить процессор мы для травы мы выбираем «Add Grass Texture» а вот для остального «Add Details Mesh».
И в последней вкладке можно побаловаться с настройками деревьев, рендера, настройками ветра. Я оставил все стандартно.
Создадим воду. В окне «Project» идем в паку «OnQ Nature Pack 2 v2>>Resources Demo>>Standard Assets>>Water(pro only)» и выбираем «Daylight water».

Перетягиваем на сцену и при помощи кнопок трансформации ставим и растягиваем как нам надо.

Вот что у меня получилось.


На этом с ландшафтом покончено.
Добавим теперь «Skybox». Для Этого идем в «Edit>>Render Settings».

И в инспекторе выбираем материал «Skybox» тыкнув на кружок.


Я выбрал «Sunny2 skybox».
Освещение и камера.
В «GameObject>>Create Other» выберем «Point light».

В инспекторе выставляем навстройки. «Position» x=100 y=100 z=100 это выставит наш источник света по центру над «Terrain» на высоте равной 100. «Range» = 150, это радиус освещения вокруг источника. И «Itensity» = 3.3.


В итоге получился довольно мягкий свет достающий везде.


У нас уже есть стандартно созданная камера «Main Camera». Кликнем на ней в окне Hierarchy. И расположим ей в позиции X=10, Z=10. A Y устанавливаем относительно высоты вашего ландшафта, у меня получилось 45. Что бы уменьшить площадь захватываемой камерой Изменяем настройку «Field of View»(У меня 43). Ориентируясь на окно «Camera Preview» поворачиваем камеру так как нам надо. У меня получилось Rotation X=5, Y=45, Z=0.
Анимация камеры (полет)
Заходим в «Window>>Animation» или нажимаем Ctrl+6. Нажимаем на стрелочки в пустом поле и выбираем «Create New Clip»

Назовем его на пример «CameraFly». Нажмем на палочку на против «Position.x» и нажмем «Add Curves». Установим позицию кадра на 300 и выставляем необходимые координаты следующего положения камеры.
У меня получились следующие значения:

200?"200px":""+(this.scrollHeight+5)+"px");">
Переменная/номер кадра 300 | 600 | 900 | 1200 | 1500| 1800
Position.x 90 | 10 | 190 | 120 | 190 | 10
Position.y 45 | 45 | 45 | 45 | 45 | 45
Position.z 90 | 190 | 190 | 100 | 10 | 10
Rotation.x 5 | 45 | 15 | 15 | 15 | 15
Rotation.y 45 | 94 | 240 | 140 | 270 | 405
Rotation.z 0 | 0 | 0 | 0 | 0 | 0


Нажмем на кнопочку Play и посмотрим что получилось. И вот наша камера уже летает. Однако пролетев круг она останавливается. Давайте исправим это.
Создадим новый C# скрипт (RMB по окну «Project» далее «Create>>C# Script») и назовем его FlyCamera. В нем пишем в методе Update всего одну строчку:

200?"200px":""+(this.scrollHeight+5)+"px");">
transform.animation.CrossFade ("FlyCamera");


Этим заставляем циклично выполнять анимацию под названием «FlyCamera». Скрипт помещаем на Main Camera.
Проверяем и все работает).
Создаем меню.
Создадим скрипт под названием «Menu».
Зададим переменные:

200?"200px":""+(this.scrollHeight+5)+"px");">
public bool showMenu = true; //Отображать ли меню


В метод «Start» пишем:

200?"200px":""+(this.scrollHeight+5)+"px");">
showMenu = true;
window = 1;


В метод «Update» пишем:

200?"200px":""+(this.scrollHeight+5)+"px");">
{
}
if(curTime >
{
window = 0;
}
{
window = 1;
}


Создаем метод «OnGUI» и пишем в него:

200?"200px":""+(this.scrollHeight+5)+"px");">
{


{
}
{
}
{
}
{
}
}

//Далее все аналогично
if(window == 2)
{

{
}
{
}
{
}
{
}
{
window = 1;
}
}

If(window == 3)
{

{
window = 1;
}
}

If(window == 4)
{

{
}
{
window = 1;
}
}


{
useGUILayout=false;
}
}


Скрипт перемещаем на Main Camera.

Сохраним сцену под названием menu.unity

Полный код скрипта menu

200?"200px":""+(this.scrollHeight+5)+"px");">using UnityEngine;
using System.Collections;

Public class Menu: MonoBehaviour {
public bool showMenu; //Отображать ли меню
public int window; //Отображаемое окно
public float lifeTime = 5.0f; //Максимальное время отображения меню
private float curTime; //Текущие время отображения меню

Void Start () {
showMenu = true;
window = 1;
}

Void Update () {
if(showMenu == true) //Проверяем включно ли меню
{
curTime += Time.deltaTime; //Если включено, Увеличиваем переменную curTime согласно пройденому времени
}
if(curTime > lifeTime) //Если время дошло до максимальной точки
{
showMenu = false; //Отключаем меню
window = 0;
curTime = 0; //Сбрасываем таймер
}
if(showMenu == false&Input.anyKeyDown) //Если меню выключено и нажата любая клавиша
{
showMenu = true; //Включаем меню
window = 1;
}
}

Void OnGUI () {
if(window == 1) //Если окно 1
{
GUI.Box (new Rect (Screen.width/2-100,Screen.height/2-80,200,220), "Меню"); //Создаем окно с меню

If(GUI.Button (new Rect (Screen.width/2-90,Screen.height/2-40,180,30), "Новая игра"))
{
Application.LoadLevel(1); //Загружаем уровень 1
}
if(GUI.Button (new Rect (Screen.width/2-90,Screen.height/2-0,180,30), "Настройки"))
{
window = 2; //открываем окно настроек
}
if(GUI.Button (new Rect (Screen.width/2-90,Screen.height/2+40,180,30), "Об игре"))
{
window = 3; //Выводим информацию об Автарах игры
}
if(GUI.Button (new Rect (Screen.width/2-90,Screen.height/2+80,180,30), "Выход"))
{
window = 4; //Вызываем окно выхода
}
}

//Далее все аналогично
if(window == 2)
{
GUI.Box (new Rect (Screen.width/2-100,Screen.height/2-80,200,250), "Настройки");
if(GUI.Button (new Rect (Screen.width/2-90,Screen.height/2-40,180,30), "Игра"))
{
}
if(GUI.Button (new Rect (Screen.width/2-90,Screen.height/2-0,180,30), "Аудио"))
{
}
if(GUI.Button (new Rect (Screen.width/2-90,Screen.height/2+40,180,30), "Видео"))
{
}
if(GUI.Button (new Rect (Screen.width/2-90,Screen.height/2+80,180,30), "Управление"))
{
}
if(GUI.Button (new Rect (Screen.width/2-90,Screen.height/2+120,180,30), "Назад"))
{
window = 1;
}
}

If(window == 3)
{
GUI.Box (new Rect (Screen.width/2-100,Screen.height/2-80,200,220), "Об игре");
GUI.Label(new Rect(Screen.width/2-90,Screen.height/2-0, 180, 40), "Инфа о разрабе");
if(GUI.Button (new Rect (Screen.width/2-90,Screen.height/2+100,180,30), "назад"))
{
window = 1;
}
}

If(window == 4)
{
GUI.Box (new Rect (Screen.width/2-100,Screen.height/2-60,200,120), "Выход?");
if(GUI.Button (new Rect (Screen.width/2-90,Screen.height/2-20,180,30), "Да"))
{
Application.Quit(); //Выход из игры
}
if(GUI.Button (new Rect (Screen.width/2-90,Screen.height/2+20,180,30), "Нет"))
{
window = 1;
}
}

If(window == 0) //Если это окно то выключаем меню
{
useGUILayout=false;
}
}
}


Компилированная сцена http://yadi.sk/d/f5pFI0_pCG7YC

P.S. Прошу строго не судить, это моя первая статья.
P.P.S. Для тролей: да я быдлокодер, идите лесом!