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

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

Я не так давно начал изучать C# и Unity5. Решил попрактиковаться на создании игры танчики в 2D и 3D. Буду делиться в этой теме своими победами.

У меня будет, например, ветка клона оригинального «Battle City» и версии на базе этой игры, где можно проявить фантазию. Смело предлагайте идеи!

То есть для меня это практика освоения API движка и его инструментов через разработку простых игр. Я хочу в будущем в 3D версии сделать: огонь, дым, разлетание кирпичей по физическим законам и т.д. на что фантазии хватит и насколько отработаю навыки работы с движком до автоматизма.

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

Вопрос есть с камерой в 3D версии. Мне знакомый посоветовал сделать камеру, которая будет приближаться и отдаляться с помощью колёсика мышки, чтобы не упустить врага и не пропустить бонус. Пользователь сможет менять наклон, то есть обзор камеры с помощью правой кнопки мыши (или нажатого колёсика). Я ещё с колёсиком не работал.

Пока что игровые объекты будут состоять из простых стандартных объектов: цилиндры, кубики и т.д. А потом я научусь делать танчики в 3D редакторе Blender и простые тектуры буду рисовать в GIMP’е. Нужно ещё научиться делать развёртки для текстур, рисовать на них в GIMP’е, чтобы в Blender’е накладывать тектуры. Правильно же я понимаю? Объекты можно экспортировать из Blender в разные форматы, а потом импортировать в Unity простым drag and drop.

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

Ага, ждем опасных танчиков.

Хм, а сможете сделать на юнити 1 в 1 версию с Денди?

А почему нет? В Unity есть все необходимые инструменты для создания 2D игр любого жанра. Есть физика для 2D. Разработчики Unity используют физический движок Box2D. Сейчас в основном на этом движке и делают 2D игры для мобильных и браузеров. В платной Pro версии Unity заставку, что «сделано в Unity» можно отключить. Это один из самых популярных движков, как для 2D, так и для 2D. Причём изначально он был популярен именно в 2D, благодаря своим удобным инструментам и бесплатности. В этом году все платные инструменты из Pro версии перешли в бесплатную «Personal Edition» версию. Это можно в википедии подробно прочитать.

Хотя, в данном случае, в танчиках 2D физика не нужна. Там нужно использовать физику в режиме «триггер». Я нашёл проект, где человек использует физику не в режиме «триггер», поэтому можно двигать врагов, что запрещено в оригинальной игре. Он недавно начал делать игру. Я собрал его проект в exe: seamanmur-battle-city.zip. Исходники его проекта я взял здесь.

Помимо этого, сделать свои играбельные версии, чтобы отрабатывать навыки использования возможностей движка в 2D играх. То есть дать волю фантазии в танчиках 2D. В планах ещё Марио и леталка, типа Галактики.

Источник

Unity3d Tank Tutorial: Ходовая часть (Урок 1. Основы механики транспортного средства)

a6e94ec81fd5264001ac051a1efa853f

Вступление

Итак вы уже не новички в Unity, вы умеете создавать сцену, расставлять объекты на сцене, создавать terrain, делать префабы и тд… и главное — работать со скриптами, либо вы уже изучили статьи: Unity3D для начинающих — Туториал 1 и Unity3d script basics. Все эти знания вам пригодятся ведь в этом уроке мы двинемся намного дальше.

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

Собственно то что вы видите на изображении сверху (это будет результат данного урока) вы можете опробовать «вживую» прямо в браузере. Хотите сделать это сами? Тогда добро пожаловать под кат

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

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

1. Создаем «Автомобиль»

Для начала проделайте стандартные процедуры, создайте сцену, создайте terrain, либо используйте уже готовые, затем создайте пустой Game Object(GO), (GameObject->Create Empty), назовем его какнибудь оригинально, например Car.

6cd69d6997b5ed4d94e9152ef06a0d79

Итак, наш суперкар почти готов! Поднимите его немного над поверхностью terrain’а и нажмите Play, автомобиль упадет на землю и встанет колом на колеса, о мягкой подвеске ему еще только мечтать, выходите из Play mode. Как видите у наших колес имеется компонент под названием Capsule Collider, а у кузова Box Collider, я не буду рассказывать в этом уроке что такое коллизии и как на основе них рассчитать положение объекта в пространстве, объясню проще: если у объекта имеется какой – либо из простых collider’ов (Box, Capsule, Mesh,…) то этот объект может взаимодействовать с другими объектами содержащими Rigidbody и один или несколько collider’ов, в свою очередь объект содержащий Rigidbody будет вычислять свою позицию на основе столкновений всех подчиненных ему collider’ов и назначенных им физических материалов.

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

А пока что выберите каждое из наших колес и удалите у них Capsule Collider (Правой кнопкой по нему и Remove Component). Нажмите Play, теперь автомобиль больше не стоит на колесах, они прошли сквозь террейн и взаимодействует с поверхностью у нас теперь только кузов.

2. Добавляем Wheel Colliders

8a4bfd1f42963602b7371280b373f135

Нажмите Play, автомобиль упадет и опять встанет на колеса (кстати если колеса все равно проходят сквозь террейн, это значит что автомобиль падает на землю с очень большой скоростью, и вам просто напросто нужно уменьшить расстояние до земли, либо увеличите параметр Drag у Rigidbody). Как видите результат не сильно отличается от того где у нас на колёсах стояли Capsule Colliders, все правильно, потому, что мы не задали нашим Wheel Collider’ам никаких параметров.

Итак, нажмите Play сейчас, посмотрите, наш автомобиль ведет себя теперь совсем по другому, теперь он пружинит от поверхности террейна, а если вы поставите его на склон какой нибудь горки, он покатится с неё, вот так у нас работают Wheel Collider’ы.

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

3. Управляем Wheel Collider’ами

В этом уроке я буду писать скрипты на C#, простите меня JavaScript’еры, он мне привычнее, я думаю вы разберетесь.

Далее работаем с нашими коллайдерами, дополняем скрипт:

Теперь можете нажать Play, и используя кнопки W,S или стрелки вперед — назад, привести в движение нашу «формулу один», а кнопками A,D, или стрелками влево – вправо, поворачивать.

Давайте обо всем по порядку.

4. Центр тяжести

Задается он удивительно просто, во первых нам надо создать пустой GO, назовем его Center of mass, затем перетянуть его на объект Car, и разместить его приблизительно там где вы считаете он должен быть, например чтобы моё авто не переворачивалось при повороте на высокой скорости мне пришлось сделать его вот так:

2636e6c9874da6fb6f2f7e18e84f4a38

d212e12a609c007e739f94d9a9097937

5. «Оживляем» колеса

Ну вот мы и добрались до финальной, на мой взгляд самой интересной в этом уроке и в то же время довольно сложной темы.

Для того чтобы оживить колесо, нам необходимо вычислять позицию и угол его вращения в каждом фиксированном кадре, в этом нам опять поможет чудесный WheelCollider, его метод GetGroundHit(), который способен вернуть структуру WheelHit в которой в свою очередь содержится точка соприкосновения коллайдера и террейна (переменная point). Благодаря методу GetGroundHit() мы можем вычислить позицию колеса на основе движения пружины подвески. Ну а что касается угла поворота – это совсем просто, в WheelCollider’е есть float переменная rpm, это аббревиатура от rotation per minute, на её основе мы и можем определить угол вращения колеса.

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

Скопируйте его, вставьте в свой скрипт, затем во вкладке hierarchy выберите наш объект Car, как вы можете видеть в инспекторе у нас появились новые переменные и массивы в скрипте, в массивы wheelsF и wheelsB необходимо передать передние и задние колеса соответственно, (колеса а не Wheel Collier’ы!) как сделаете это нажмите Play. Если колеса уходят под террейн то поменяйте значение переменной wheelRadius, оно должно примерно совпадать с радиусом ваших коллайдеров.

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

fde484cd46d52ec3914955856bed5a7a

Заключение

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

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

Источник

Econ Dude

Страницы

суббота, 22 июля 2017 г.

Делаю игру танчики (танки, battle city remake) с нуля

%25D0%2594%25D0%25B5%25D0%25BB%25D0%25B0%25D1%258E%2B%25D0%25B8%25D0%25B3%25D1%2580%25D1%2583%2B%25D1%2582%25D0%25B0%25D0%25BD%25D1%2587%25D0%25B8%25D0%25BA%25D0%25B8%2B%2528%25D1%2582%25D0%25B0%25D0%25BD%25D0%25BA%25D0%25B8%252C%2Bbattle%2Bcity%2529%2B%25D1%2581%2B%25D0%25BD%25D1%2583%25D0%25BB%25D1%258F

Игра была простой до ужаса, но она затягивала, к тому-же там была замечательная музыка и режим игры на двух игроков. Музыку можете послушать еще раз, 5 секунд:

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

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

И вот что у меня пока получается, третий день разработки (3-4 часа):

%25D0%2594%25D0%25B5%25D0%25BB%25D0%25B0%25D1%258E%2B%25D0%25B8%25D0%25B3%25D1%2580%25D1%2583%2B%25D1%2582%25D0%25B0%25D0%25BD%25D1%2587%25D0%25B8%25D0%25BA%25D0%25B8%2B%2528%25D1%2582%25D0%25B0%25D0%25BD%25D0%25BA%25D0%25B8%252C%2Bbattle%2Bcity%2529%2B%25D1%2581%2B%25D0%25BD%25D1%2583%25D0%25BB%25D1%258F

Так-же сделал короткий (2 минуты) видео трейлер игры:

%25D0%2594%25D0%25B5%25D0%25BB%25D0%25B0%25D1%258E%2B%25D0%25B8%25D0%25B3%25D1%2580%25D1%2583%2B%25D1%2582%25D0%25B0%25D0%25BD%25D1%2587%25D0%25B8%25D0%25BA%25D0%25B8%2B%2528%25D1%2582%25D0%25B0%25D0%25BD%25D0%25BA%25D0%25B8%252C%2Bbattle%2Bcity%2529%2B%25D1%2581%2B%25D0%25BD%25D1%2583%25D0%25BB%25D1%258F

Вот примерные характеристики танков и описание (справа на картинке самый крутой):

Пока наделал только 8 уровней, но некоторые весьма любопытные, судя по реакции знакомого, которому дал тестировать. С левел дизайном (дизайн уровней) я забавлялся.

Рассмотрим один пример:

%25D0%2594%25D0%25B5%25D0%25BB%25D0%25B0%25D1%258E%2B%25D0%25B8%25D0%25B3%25D1%2580%25D1%2583%2B%25D1%2582%25D0%25B0%25D0%25BD%25D1%2587%25D0%25B8%25D0%25BA%25D0%25B8%2B%2528%25D1%2582%25D0%25B0%25D0%25BD%25D0%25BA%25D0%25B8%252C%2Bbattle%2Bcity%2529%2B%25D1%2581%2B%25D0%25BD%25D1%2583%25D0%25BB%25D1%258F

Как сказал мой знакомый: «Это такое п*дорство». Уж как сказал, так и цитирую.

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

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

Как сделать игру танчики (танки, battle city) с нуля самому?

Лично я делаю в гейм мейкер студио (GameMaker studio), довольно простой программе для создания игр. Про неё у меня целый YouTube канал Econ Dude, а так-же куча статей в блоге:

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

На своём ютуб канале я сделал два длинных видео (1 час каждое) где описывал весь процесс создания игры, показывал его, рисовал и т.д. Можете посмотреть.


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

Источник

Показать панель управления

Комментарии • 70

1

1

думал типо ворлд оф танкс

1

У меня выбивает ошибку CS1061

1

где игру то скачать?

1

Зделай туториал о том как зделать игру про танки только как World of tanks хорошо

1

Сделал игру по его другому курсу! Очень понравилось! Спасибо за видео
Можете чекнуть, что вышло :)))
play.google.com/store/apps/details?id=com.KudryashovGame.CrossingDrive

1

Я скоро создам игры и мультики канал будет называться мульт игры

1

1

1

Нормализация вектора, это деление его координат на длину, а не то чтобы он плавно двигался

1

Ща сделаю конкурента ворлд оф танкс!

1

Ребята! Подскажите пожалуйста что делать у меня танк странно едет? Нажимаю W едет в лево нажимаю S едет в право! Что делать.

1

1

Игру сделал, пора делать читы

1

А я смогу указать SublimeText как текстовый редактор в Unity?

1

@Эдгар Оя спасибо большое.

1

1

Как говорится, ожидание, реальность😂😂😂

1

@Tubix PvP А сейчас готова? очень постримить на основном канале захотел 🙂

1

1

@БибосИо И 2.0 Ну.. Она не готова..

1

@Tubix PvP ля, а кинь ссылку, или что то, протестить хочу

1

@Masky Show Добавил онлайн игру, создал несколько танков, меню, собираюсь сделать гараж..

1

дай пж ссылку на скрипты

1

1

он показал как делать а ты уже сам все доделывашь, карту и т.д

1

Очень интересно но нифига не понятно 😀

1

1

Где можно проверить код? Или почему кода я вставляю файл MovePlayer как компонент к игроку, и вылезает ошибка «Can’t add script behaviour CallbackExecutor. The script needs to derive from MonoBehaviour»

1

@Easy PhotoShop Спасибо.

1

Скорее всего ты уже порешал
Но вдруг кому ещё пригодится
Надо переименовать класс
Так чтобы название файла и класса были одинаковыми

1

1

Это не танки это GTA!

1

Не отображается код скрипта в девелопере.

1

Скачай Visual Studio

1

ну сейчас в стим и не такое продают)

1

такая простая механика, и столько ебли)

1

Можно ли скомпилировать на андроид?

1

Можно, но с большими изменениями

1

этот ассет стал платным за 15$

1

1

Согласен с другими, шлак, ожидал реализацию стрельбы, нанесения урона, но не игру, похожую на гта

1

Я месяц из этого делал классную игру. За час этого не сделать..

1

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

1

Как сделать жоб крутилась башня

1

нуууу всёёё варгеёминг я буду вашим новым канкурентам му ахааххахаахааххаа

1

Что делать у меня выдаёт ошибку я сто раз пересмотрел

1

Надо отдельный урок по движению персонажа и поворота головы персонажа детально и без спешки. Часов на 5ть )

1

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

1

1

1

1

1

1

1

Шо делать если у меня консоли нету

1

когда у тебя появляется ошибка или уведомление в юнити в левом нижнем углу нажми его и всё

1

ага пару сек. у меня 5 мин открывается хотя пк у меня игровой и всё у меня хорошо с питью

1

а как сделать нормал карту и как сделать чтобы танк стрелял

1

Привет если кому-то интересно как сделать анимацию гусениц в юнити, правда без физики, то у меня есть видео:
thexvid.com/video/dxy65O04dKM/видео.html

1

*Такую херь за час создать. Я на unreal engine 4 за час могу в 100 раз лучше сделать.*

1

@Виталий Кармазин да он болобол инфа 100%

1

Так давай тогда создадим свои танки)

1

@Иван Савченко 9 месяцев назад действительно херню писал))

1

1

оставь ссылку в описании на скачивание скриптов плиз

1

будет ли на андроид эта игра таикс

1

Хм кто самый лутшый
хм
хм
хм
хм
хм
хммммм
Я знаю ето ты

1

Аццкие монстры здесь

1

ОТЛИЧНЫЕ УРОКИ. Все шустро, с ошибками даже классно. Другие бывают жвачку жуют и бубнят себе под нос.

1

спасибо ты лучший ну ВАРГЕЙМИНГ ДЕРЖИСЬ АХАХАХАХА

1

*Наберем 1000 лайков?*

1

1

если гоша возмётся за эту игру всерьёз то варгеймингу хана

1

1

какой должен быть скрипт что б игрок мог подбирать предметы? в плане брать их как бы в руки и таскать по сцене

1

ИРКа /игровой развлекательный канал лёгкий.

1

4:05 нету прототайпинга, есть только кастум паккайдж

1

в AssetStore есть бесплатный пакет с таким же названием. Только там немного разные папки, но думаю разберешься)

1

Как делать на плюсах?

1

1

почему игрок движется в права и лева фиг знает как?

1

1

Почему ты не доделываешь проекты до конца?

1

1

Языки программирования тоже нужны думаю для создания игры, так то вроде не сложно, но чтобы свое что то придумать, надо учить языки)

1

Гоша, к тебе вопрос? ПОЧЕМУ ИМЕННО unity. ПОЧЕМУ НЕ Unreal Engine 4.

1

@Иван Савченко да я уже не помню что за херню написал))

1

Анриал для топ игр! Юнити для простых! В слове топ имеется ввиду графика, физика и прочая фигня.

1

А если будет кто-то делать на unity, то напишет : ПОЧЕМУ ИМЕННО НА АНРИАЛЕ, ЕСТЬ ЖЕ ЮНИТИИ

1

Привет Георгий сделай пжста обзор всех своих игр которых есть в PlayMarket спасибо заранее.

1

лучше в cryengie игры создавай

1

А можно по сетке в неё играть?

1

Не работает скрипт версия не актуальна что-делать?? не понятно

1

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

1

@Tubix PvP на видио старый юнити

1

Значит ты где-то допустил ошибку. Или у тебя слишком старая версия Unity

1

1

Все круто только можешь сделать стратегию.

1

1

ЧЕ ДЕЛАТЬ?)) Ты знаешь?

1

Такая же проблема что делать??

1

я уже делаю 1 год 5 месяцев 9 дней и Уже все почти готова игра про танки Возможно будут глюки кому интересно в лс вк vk.com/id450509847

1

DORLODER
А где можно посмотреть кроме вк

Источник