Управление Android Unity от первого лица

Обновлено: 18.08.2022

Опять же, мы ограничимся простым коридором. Но это большой раздел, так что давайте начнем. У нас будет то, что называется контроллером от первого лица. Это будет наш игрок. Мы скачаем готовый из магазина Unity Asset.

Итак, создайте новый 3D-проект в Unity. Назовите это как угодно. Когда проект загрузится, у вас будет сцена по умолчанию с именем Sample Scene. Вы можете переименовать это, если хотите. Для этого щелкните папку «Активы» > «Сцены» в области «Проект» в нижней части Unity. Выберите образец сцены и щелкните правой кнопкой мыши. В меню выберите Переименовать.

Хорошо, давайте добавим самолет, чтобы нашему персонажу было на чем ходить. В меню «Игровой объект» в верхней части Unity выберите «3D-объект» > «Плоскость»:

Введите «Этаж» в качестве имени вашего плана. Выбрав этаж, измените масштаб на 4 для значений X, Y и Z в Инспекторе. И убедитесь, что все остальные значения равны 0:

А вот как должно выглядеть ваше представление Иерархия и Сцена: (Мы выбрали серый пол.)

Хорошо, теперь у нас есть пол, по которому можно ходить, давайте добавим персонажа.

Загрузка контроллера от первого лица

Вместо создания собственного контроллера от первого лица мы можем загрузить его из магазина Unity Asset. Итак, в меню вверху Unity нажмите Window. В меню «Окно» выберите «Магазин активов». Это запустит ваш браузер и вы войдете в магазин. Если нет, запустите браузер и перейдите на эту страницу:

В поле поиска вверху введите Контроллер от первого лица. В результатах, которые вы получите, нажмите «Мини-контроллер от первого лица». (Это ViteFait.) Или попробуйте эту ссылку:

Если ссылка по-прежнему работает, страница должна выглядеть примерно так:

Чтобы загрузить ресурс, вам необходимо войти в систему. Если вы загружаете ресурс в первый раз, на синей кнопке выше будет написано «Добавить в мои ресурсы» (или что-то подобное). В верхней части экрана вы увидите баннер с предложением открыть в Unity или перейти к моим активам. Нажмите «Открыть в Unity». Затем вы увидите диспетчер пакетов:

Нажмите кнопку в правом нижнем углу, чтобы загрузить ресурс (у вас может быть написано "Загрузить").

Выберите ресурс справа (вы не увидите все элементы в списке выше, только ваши собственные ресурсы). Затем нажмите кнопку «Импорт» внизу справа. Затем вы увидите еще один экран. Этот:

Импортируйте мини-контроллер, и в области проекта появится новая папка:

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

Если он по-прежнему пуст, нажмите кнопку перезагрузки внизу справа или ссылку "Загрузить".

Загрузить пистолет

Несмотря на то, что в вашем браузере открыт Asset Store, вы также можете загрузить модель оружия. В строке поиска вверху магазина Unity введите Handgun. Тот, который мы выберем, — это бесплатный ресурс от Nokobot, разработчика игр. Нажмите на ссылку для этого. Если вы не можете найти его, прямая страница находится здесь, на момент написания:

Выполните тот же процесс, чтобы добавить его в свои объекты. Загрузите и импортируйте его в Unity, и вы должны увидеть новую папку с названием Nokobot:

В ближайшее время мы добавим пистолет. А пока давайте добавим игрока.

Нажмите еще раз на папку Контроллер от первого лица. Перетащите элемент Контроллер от первого лица (Полный) на сцену: (Другой — урезанная версия.)

Когда вы отпустите левую кнопку мыши, вы должны увидеть капсулу в своей сцене.

Если вы заглянете в иерархию, вы увидите следующее:

По умолчанию Unity предоставляет вам основную камеру. Нам это не нужно, так как к контроллеру от первого лица подключена камера. Выберите основную камеру и удалите ее. (Либо щелкните правой кнопкой мыши и выберите «Удалить» в меню, либо просто нажмите клавишу «Удалить» на клавиатуре.) Ваша иерархия будет выглядеть следующим образом:

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

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

Если вы хотите изменить скорость, с которой движется ваш персонаж, убедитесь, что для управления выбран основной родительский элемент. В Инспекторе справа обратите внимание на три сценария: Движение, Прыжок и Приседание (не волнуйтесь, если ваши значения Положения не совпадают с нашими):

По умолчанию скорость установлена ​​на 5. Вы можете изменить его на что угодно.Обратите также внимание, что вы можете бежать, удерживая левую клавишу Shift (и клавишу W). Приседание выполняется зажатием левой клавиши CTRL. Опять же, вы можете изменить их на что угодно.

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

Контроллер персонажа в основном используется для управления игроком от третьего или первого лица, в котором не используется Rigidbody. Компонент, позволяющий воздействовать на игровой объект смоделированной гравитацией и другими силами. Подробнее
см. в Глоссарии физики.


Свойства

Свойство: Функция:
Ограничение наклона Ограничивает коллайдер только подъемом по склонам, которые менее круты (в градусах), чем указанное значение.
Смещение шага Персонаж будет подниматься по лестнице, только если она находится ближе к земле, чем указанное значение. Это значение не должно превышать высоту контроллера символов, иначе возникнет ошибка.
Ширина обложки Два коллайдера могут проникать друг в друга так глубоко, как их ширина кожи. Большая ширина кожи уменьшает дрожание. Низкая ширина кожи может привести к тому, что персонаж застрянет. Рекомендуется установить это значение равным 10 % от радиуса.
Минимальное расстояние перемещения Если персонаж попытается двигаться ниже указанного значения, он вообще не будет двигаться. Это можно использовать для уменьшения джиттера. В большинстве случаев это значение следует оставить равным 0.
По центру Это сместит Капсульный коллайдер в мировом пространстве и не повлияет на поворот персонажа.
Радиус Длина радиуса капсульного коллайдера. По сути, это ширина коллайдера.
Height The Character's Capsule Collider Компонент коллайдера в форме капсулы, который обрабатывает коллизии игровых объектов, таких как бочки и конечности персонажей. Подробнее
см. в глоссарии высота. Изменение этого параметра приведет к масштабированию коллайдера по оси Y как в положительном, так и в отрицательном направлениях.
Контроллер персонажей
Контроллер персонажей

Подробнее

Традиционное управление от первого лица в стиле Doom не является физически реалистичным. Персонаж бежит со скоростью 90 миль в час, сразу же останавливается и поворачивается на десять центов. Поскольку это настолько нереально, использование твердых тел и физики для создания такого поведения нецелесообразно и будет казаться неправильным. Решением является специализированный контроллер персонажей. Это просто коллайдер в форме капсулы. Невидимая форма, которая используется для обработки физических столкновений объекта. Коллайдер не обязательно должен быть точно такой же формы, как сетка объекта — грубое приближение часто бывает более эффективным и неразличимым в игровом процессе. Дополнительная информация
См. в Глоссарии, которому можно приказать двигаться в каком-либо направлении от сценария. Затем контроллер будет выполнять движение, но будет ограничен столкновениями. Столкновение происходит, когда физический движок обнаруживает, что коллайдеры двух игровых объектов соприкасаются или перекрываются, когда хотя бы один из них имеет компонент Rigidbody и находится в движении. Подробнее
см. в глоссарии. Он будет скользить по стенам, подниматься по лестнице (если она ниже Смещения ступени) и ходить по склонам в пределах Предела уклона.

Контроллер не реагирует на силы сам по себе и не отталкивает твердые тела автоматически.

Если вы хотите толкать твердые тела или объекты с помощью контроллера персонажей, вы можете применить силы к любому объекту, с которым он сталкивается, с помощью функции OnControllerColliderHit() через скрипт.

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

Точная настройка вашего персонажа

Вы можете изменить высоту и радиус, чтобы они соответствовали сетке вашего персонажа. Основной графический примитив Unity. Меши составляют большую часть ваших 3D-миров. Unity поддерживает триангулированные или четырехугольные полигональные сетки. Поверхности Nurbs, Nurms, Subdiv должны быть преобразованы в полигоны. Подробнее
см. в глоссарии. Рекомендуется всегда использовать около 2 метров для человекоподобного персонажа. Вы также можете изменить центр капсулы, если ваша точка поворота не находится точно в центре персонажа.

Смещение шага также может повлиять на это, убедитесь, что это значение находится в диапазоне от 0,1 до 0,4 для человека ростом 2 метра.

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

Не застрять

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

Рекомендуется поддерживать ширину кожи не менее 0,01 и не более 10 % от радиуса.

Мы рекомендуем оставить минимальное расстояние перемещения равным 0.

См. ссылку на сценарий контроллера персонажей здесь

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

Игровой движок Unity: 8 популярных Мобильные игры, покорившие игровые чарты

Unity — самый популярный игровой движок для создания мобильных игр, о чем свидетельствует тот факт, что более 50 % мобильных игр создаются с его использованием. Основными причинами, по которым большинство разработчиков выбирают Unity, а не другие игровые движки, являются его надежная межплатформенная интеграция и потрясающие возможности разработки 2D- и 3D-игр. Таким образом, используя Unity, разработчики могут легко переносить свои игры на разные платформы (например, Android и iOS), а также импортировать ресурсы из многих 3D-приложений (таких как Maya, 3ds Max, Softimage, CINEMA 4D и Blender).

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

Восемь лучших видеоигр на платформе Unity

1. Последний день на Земле (LDOE)


Last Day on Earth, созданная студией Kefir, является самой популярной игрой в жанре выживания для мобильных устройств. Kefir soft запустила LDOE всего за 62 дня и сразу же стала хитом: на данный момент было скачано 83 миллиона раз, а валовой доход превысил 125 млн долларов США.

Кефир выбрал единство, чтобы перенести жанр на мобильные устройства, развить многопользовательские возможности и создать простой пользовательский интерфейс для относительно сложного игрового процесса. Студия также смогла ускорить и оптимизировать игровую архитектуру и задачи кодирования с помощью Unity. Петр Костылев, арт-директор Kefir, сказал: «Одна из причин, по которой Unity так ценна для нас, заключается в том, что с ней проще выражать себя и пробовать новые вещи».

2. Долина монументов


Monument Valley, разработанная студией мобильных игр ustwo games, представляет собой очень популярную игру-головоломку, полностью построенную на движке Unity 3D. Игра получила множество наград за то, что она очень увлекательная и стоит каждой минуты игры. В игре игроки исследуют фантастическую архитектуру, чтобы провести безмолвную принцессу Иду через загадочные памятники. «Долина монументов ошеломляет своей безмятежностью. Каждый экран — произведение искусства», — Huffington Post. Признанная критиками игра-головоломка — одна из лучших игр Unity, доступных на мобильных устройствах.

3. Затмение: Край света


< /p>

Eclipse: Edge of Light, созданная компанией White Elk LLC, представляет собой игру Unity VR от первого лица, которая переносит игроков на таинственную планету, полную инопланетных чудес. Вы получаете скафандр с реактивным ранцем и используете все возможности передвижения, чтобы исследовать окрестности в своем стремлении раскрыть загадочную тайну планеты. Игра предлагает очень захватывающий опыт, поскольку игроки исследуют останки преданной цивилизации.

Приключенческая игра от первого лица была признана UploadVR лучшей мобильной игрой 2017 года для виртуальной реальности и лучшей игрой Easy Daydream. Что касается Unity, Джонатан Хокинс, соучредитель White Elk Studios, сказал: «Как человек с опытом работы в дизайне уровней, я нахожу это невероятным. То, что могло занять у меня в три-четыре раза больше времени, я смог сделать за несколько секунд с помощью Unity».

4. Hearthstone: Герои Warcraft


Hearthstone: Heroes of Warcraft, созданная Blizzard Entertainment, – это очень популярная коллекционная карточная игра, в которой игроки используют мощные карты (покупаются либо за золото, заработанное в игре, либо за реальные деньги), чтобы взять под контроль постоянно меняющуюся поле битвы.Директор по производству Hearthstone Джейсон Чейес сказал, что Unity упростила внедрение Heartstone в мобильное пространство. «На самом деле это было большим подспорьем, позволившим нашей команде художников самостоятельно создавать классные внутриигровые события». — добавил Чейс.

«Еще одна действительно замечательная особенность услуг Unity по разработке игр заключалась в том, что они имели встроенную поддержку многих инструментов, которые любят использовать наши художники, — Photoshop и Maya, — и могли считывать их базовые форматы файлов без необходимости пройти некоторый процесс преобразования, который также ускорил наш процесс», — добавил Чейес.

5. Пушки бума


< /p>

Guns of Boom, созданная Game Insight, представляет собой многопользовательскую игру в жанре FPS. Мобильная версия игры была запущена в 2017 году, через два года после выхода игрового проекта для ПК, поскольку Game Insight поняли, что у них есть отличная возможность заработать на нише рынка. Guns of Boom быстро завоевала популярность в мобильном пространстве. За две недели его загрузили более пяти миллионов раз, а через год число загрузок достигло отметки в 50 миллионов.

У Game Insight не было вопросов, какую технологию выбрать для перехода, поскольку ранее они использовали Unity для создания мобильных игр, таких как Airport City и X-Mercs, которые пользовались успехом более семи лет. Анатолий Ропотов, генеральный директор Game Insight, сказал, что Unity сэкономила им полгода разработки. «С Unity переход от консольной версии к первой итерации внешнего вида для мобильных устройств занял всего около недели. После этого полный переход с ПК на мобильные устройства с оптимизированной графикой, производительностью и элементами управления занял несколько месяцев», — добавил он. Команда знала, что в Unity есть все необходимое для эффективного создания качественной мобильной игры.

6. Внутри


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

Первоначально игра была выпущена для PlayStation 4, Xbox One и Microsoft Windows в 2016 году. Воспользовавшись популярностью игр для мобильных телефонов, Playdead решила выпустить Inside и для мобильных устройств. Playdead выпустила Inside для iOS в декабре 2017 года и выбрала Unity для перехода. Playdead заявили, что Unity не только уменьшила нагрузку, но и помогла в разработке игр и создании страшных и темных окружений лучше, чем они ожидали.

7. Маленькие пузыри


Tiny Bubbles, созданная Pine Street Codeworks, – очень популярная игра-головоломка, получившая более десятка игровых наград. Игра имитирует реальную физику пузырей в реальном мире с более чем 160 интригующими уровнями. Ваша задача состоит в том, чтобы соединять пузыри в группы по четыре или более одного цвета. Цели и элементы постоянно меняются с каждым уровнем, что делает игру еще более сложной и захватывающей, чтобы продолжать возвращаться. Итак, вам нужно подумать и разработать умные стратегии, чтобы перейти на продвинутые уровни, что делает игру очень увлекательной.

Стю Денман, соучредитель и разработчик Pine Street Codeworks, сказал, что Unity сэкономила ему не только месяцы разработки, но и тысячи долларов. Помимо использования многих ранее существовавших инструментов из Unity Asset Store, Денман создал свой собственный редактор внутри Unity, который помог ему понять, что интересно, а что нет. Таким образом, он смог поиграть в игру и выяснить, что ему нужно улучшить. Денма сказал, что дизайн игры значительно улучшился благодаря гибкости редактора Unity.

8. Call of Duty: Мобильный


< /p>

Call of Duty, изданный Activision Publishing, — это очень популярная серия шутеров от первого лица. Activision сотрудничает с Timi Studio, компанией, принадлежащей Tencent, чтобы в скором времени перенести захватывающую дух и адреналиновую игру Call of Duty на платформы Android и iOS. Игра называется «Call of Duty: Mobile», и ее бета-версия будет доступна этим летом для игроков, которые хотят попробовать игру. Вице-президент Activision по мобильным устройствам сказал, что Call of Duty: Mobile станет «эпическим приключением» с «невероятной графикой и интуитивным геймплеем». В мобильной версии будет представлен игровой процесс Black Ops и Modern Warfare.

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

< бр />

Вы ищете информацию или пример того, как реализовать сбор предметов в Unity?

Не смотрите дальше! В этом посте вы найдете простое решение для этого.

Мы создадим персонажа от первого лица со сценариями движения и захвата, а еще один сделаем для объектов, которые мы хотели бы подобрать.

Давайте посмотрим, как мы можем это сделать! 🤓

Персонаж 🚶‍♂️

Прежде всего нам понадобится персонаж, который может перемещаться по сцене.

Мы создадим этого персонажа из капсулы и переместим нашу основную камеру так, чтобы она была потомком этого объекта.

Иерархия объектов игрока.

Иерархия объектов проигрывателя.

Далее нам нужно создать сценарий движения. Мы будем использовать компонент CharacterController с нашим простым скриптом движения.

Когда этот скрипт готов, теперь мы можем прикрепить его к объекту игрока и назначить ссылки.

Конфигурация компонента SimplePlayerMovement.

Конфигурация компонента SimplePlayerMovement.

Система захвата 🤏

Создать систему захвата не так уж и сложно. Нам в основном нужно только два класса. Одну с помощью мы прикрепим к игроку, а вторую — к выбираемым объектам.

Но прежде чем мы сможем их реализовать, нам нужно создать слот, в котором мы будем хранить выбранные объекты. Вам нужно только добавить пустой объект (или куб) под камеру игрока, чтобы мы могли видеть, что у нас что-то есть в «руке».

Слот является дочерним элементом камеры

Слот является дочерним элементом камеры.

Использовать куб для позиционирования в игровом представлении

Используйте куб для позиционирования в игровом представлении.

Выбор объекта 👌

Пришло время создать новые классы для нашей системы! Сначала начнем с PickableItem, так как это будет очень короткий скрипт.

С помощью этого класса мы можем сделать объект доступным для выбора. Я бы порекомендовал создать «родительский» игровой объект с этим компонентом, так как его будет легче вращать и позиционировать в слоте.

Ведро с краской на сцене.

Ведро с краской в ​​сцене.

Пример

Пример его иерархии.

Теперь вам просто нужно прикрепить наш компонент к родителю и Mesh Collider к самой модели с включенной опцией Convex.


Просто присоедините компонент PickableItem к родительскому элементу.


И не забудьте включить параметр Convex во всех коллайдерах.

Давайте возьмем несколько предметов! 🙌

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

Давайте создадим класс SimpleGrabSystem!

Отлично! Осталось только привязать этот класс к плееру!


Подключен компонент SimpleGrabSystem к проигрывателю

Результат 🏆

Итак, давайте наконец проверим эту штуку!

Как видите, мы создали простое решение для выбора и сброса элементов в Unity.

Если вы нашли это полезным, расскажите, над каким проектом вы работаете, в разделе комментариев ниже! Я хотел бы знать! 😍

Вы можете проверить весь проект в моем общедоступном репозитории. 🔗

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

Читайте также: