# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 |
![]() |
2 теста |
|||
Мы начинаем новый видеокурс по созданию игры Платформер на движке Unity3D! Примерный план курса: 1. Меню 2. Графика 3. Персонажа 4. Полноценный уровень 5. Монеты + DataBase 6. Препятствия 7. ИИ 8. VIP-уроки Проверьте, что у Вас установлено VS и Unity3D Отчёт отправил: 17535. Алексей Выполнено за 37 мин. [Показать отчёт] Научился: Еще можно Unity Hub поставить, удобная шутка. И ланчер и менеджер проектов. |
|||||
2 | 2. Меню |
1 тест |
|||
На этом уроке мы реализуем простое меню используя Unity-технологию UI. Ссылка на скачивание фона: https://drive.google.com/open?id=1PyPHt4_hP_9zXm2nZLkGvJcxUykg7goj Отчёт отправил: 17535. Алексей Выполнено за 1 час. 37 мин. [Показать отчёт] Научился: Студия пишет, что Application.LoadLevel устарело и нужно использовать SceneManager.LoadScene из UnityEngine.SceneManagement. Смысл тот же, буквы другие. Прилепил на скрине изменения. Сложности: Фон при запуске не хотел расстягиваться на весь экран сколько бы я якори не менял. А дело было в том, что по умолчанию стояло разрешение Standalone(1024x768). После выбора Free Aspect - стало на весь экран, скрин прилепил. |
|||||
3 | 3. Графика и физика |
4 теста |
|||
На данном видеоуроке мы создадим графику и персонажа.
Отчёт отправил: 17535. Алексей Выполнено за 1 день 3 час. 33 мин. [Показать отчёт] Научился: Двигать обьекты с привязкой к сетке, через зажатый Ctrl. Создавать фон, платформу и персонажа. Нарезать в Sprite Editor'е через Slice спрайты для анимации. Создавать анимацию и регулировать ее скорость. Наделять обьект физическими свойствами Rigidbody и не давать обьектам проходить сквозь друг друга с помощью Box Collider'а. Сложности: Импортировать ассет. В юнити он так и не открылся, нашел копии ассетов тут - https://www.gamedevmarket.net/ и вставил руками. Сайт сделан немножко через жепо, кнопка довнлоад добавляет в корзину, а не скачивает ассет. Потом в корзине нужно нажать кнопку посчитать стоимость, появится кнопка сделать заказ. После этого уже с почты на которую зарегестрирован можно скачать в виде зип архивов нужные ассеты. Заодно выкачал кучу бесплатных ассетов симпатичных. |
|||||
4 | 4. Движение персонажа |
2 теста |
|||
На данном уроке мы научим персонажа бегать. *Если вы не смогли сделать анимацию бега, просто в окне Animation нажмите на выпадающий список в углу и выберите Create New Clip. Останется только перенести все изображения анимации туда Отчёт отправил: 17535. Алексей Выполнено за 5 час. 0 мин. [Показать отчёт] Научился: Двигать персонажа по платформе. Еще у Horizontal и Vertical привязаны кроме стрелочек кнопки из шутеров WSAD, мне вот ими гораздо удобнее управлять чем стрелочками. Узнал про плавное перемещение с помощью MoveTowards и удобное сокращение для Vector3(1, 0, 0) - Vector3.right. Научился переворачивать спрайт, когда идем в другую сторону sprite.flipX = tempVector.x < 0. Научился переключать анимацию покоя - бега. Узнал как прерывать предыдущую анимацию с помощью галочки Has Exit Time. Ещё пока двигал туда сюда по платформе митбоя узнал по походке откуда взят персонаж и как его зовут. Тем кто в ответах попытается угадать подскажу - в русском варианте он коричневого цвета. Сложности: Пропустил момент с исправлением SpriteRenderer и думал почему в уроке все работает, а у меня подчеркивает как ошибку. Вообще конечно звук в этом уроке хромал, выкрутил громкость на всю чтоб слышать. Пытался читать по губам, но лектор навел на себя лампу как на допросе и вместо лица большую часть времени было белое пятно, поэтому этот вариант толже не прокатил. Может быть можно в каком-то звуковом редакторе звук подкрутить чтоб было нормально слышно не перезаписывая заново весь урок? |
|||||
5 | 5. Прыжок персонажа |
1 тест |
|||
В видеоуроке мы научим игрока прыгать.
Отчёт отправил: 17535. Алексей Выполнено за 16 час. 2 мин. [Показать отчёт] Научился: прыгать и танцевать нижний брейк. Подсчитывать количество граничащих коллайдеров с помощью OverlapCircleAll и придавать импульсное ускорение для прыжка с помощью AddForce(transform.up * jumpForce, ForceMode2D.Impulse). Запрещать поворот спрайта по оси Z с помощью Rigitbody2D/Constraints/FreezeRotation/Z checkIn Сложности: Была идея сделать с помощью кнопки "R"(otate) переворот персонажа с головы на ноги, когда он падает с края верхней платформы. Тогда бы он не висел над обрывом чудом держась за него, как в случае с фризиротайшн, а падал на голову и сразу вставал на ноги. Не то чтоб это совсем не получилось, получилось сделать частично, результат на 2м скрине. |
|||||
6 | 6. Оформление уровня |
1 тест |
|||
На данном видеоуроке мы оформим уровень и добавим музыку. Ссылка на музыку: https://drive.google.com/open?id=1xupimbok_m8pyUMABaScLUIPylW4oFz6 Отчёт отправил: 17535. Алексей Выполнено за 44 мин. [Показать отчёт] Научился: добавлять музыку, закрашивать фон камеры в цвета неба, увеличивать фон чтоб не было видно краев. Делать лесенку и украшать все это цветочками и деревьями. Сложности: Теперь на вопрос: "Ты что краёв не видишь?" можно смело отвечать - нет. |
|||||
7 | 7. Монеты и База Данных |
2 теста |
|||
На этом уроке мы добавим монетки в нашу игру.
Отчёт отправил: 17535. Алексей Выполнено за 1 час. 13 мин. [Показать отчёт] Научился: создавать монетки и анимации для них, включать триггер на коллайдере монетки, для взаимодействия с персонажем. Так же создал статический метод для хранения данных и метод для инициализации. Добавил счетчик собранных монет, метдо для уничтоженя собранной монетки и создал юай элемент для отображения количества собранных монеток. Сложности: Чтоб не запутаться в Start и Starting, а может и других будующих методах/классах с похожими названиями, скрипт для инициализации переменных назвал Init, ну и заодно Monets на Coins поменял. А вообще варинт с хранением данных и их инициализацией в разных местах интересный. |
|||||
8 | 8. Препятствия |
|
|||
На данном видеоуроке мы создадим 2 типа препятствий.
Отчёт отправил: 17535. Алексей Выполнено за 1 час. 16 мин. [Показать отчёт] Научился: добавлять препятствия, делать так чтобы препятствия наносили материальный урон, создавать точку привязки персонажа к началу уровня и возвращаться к ней по триггеру на шипе. Кстати забирать все деньги это жестоко, лучше за 1 укол забирать 1 монетку, ну или даже жизнь, а монетки не трогать. Хотя если посмотреть на это со стороны Диминдоса "жизнь или кошелек?", то он таким образом купил себе бессмертие. Сложности: Все-таки со всеми этими стартами запутался. Нужно было как-то по другому называть методы. Например PlayerRespawn и CoinsRenew |
|||||
9 | 9. Переход между уровнями |
|
|||
На данном видеоуроке мы реализуем переход между уровнями
Отчёт отправил: 17535. Алексей Выполнено за 7 час. 49 мин. [Показать отчёт] Научился: находить выход с уровня с помощью двери. Поставил на нее коллайдер с триггером и написал скрипт для перехода на след уровень: SceneManager.LoadScene("Level"+levelCount) Сложности: Не мог понять почему все вроде бы правильно, а дверь по прежнему закрыта. А дело было в опечатке в слове уровень - "Leavel". |
|||||
10 | 10. Создание Искусственного интеллекта |
1 тест |
|||
На этом видеоуроке мы сделаем самое интересное - ИИ!
Отчёт отправил: 17535. Алексей Выполнено за 1 час. 32 мин. [Показать отчёт] Научился: создавать врагов, шевелить их между 2мя точками. Узнал что у update есть автодополнение и тип метода и скобочки студия сделает сама, узнал что float довольно шаловливый тип. Так же когда мы размещаем на сцене пустые обьекты их можно подкрашивать для удобства, чтобы не щелкать по ним мышкой в инспекторе и смотреть где они себя проявят. Как подкрасить я вставил на скринах. Сложности: Непонятно откуда взялась 5ка, вроде раньше у нас было 1? Vector3 tempVector = new Vector3(5, 0, 0); |
|||||
11 | ФИНАЛЬНЫЙ УРОК |
1 тест |
|||
Дорогие друзья! Я поздравляю Вас с окончание данного видеокурса! Вы - герой, если достигли этого урока! ВНИМАНИЕ! НЕ ЗАБУДЬТЕ ЗАПИСАТЬ ВИДЕООБЗОР! Отчёт отправил: 17535. Алексей Выполнено за 3 час. 7 мин. [Показать отчёт] Научился: 1 Создали меню из 2х кнопок и скрипт с обработчиком нажатий. Научились загружать сцены. Поработали с GUI: Buttons, Text, Canvas, Camera. 2 Создали уровень используя готовый ассет из стора: фон, земля, трава, деревья, персонаж. Добавили коллайдер с триггером, и риджитбади чтоб сделать тело твердым, нарезали спрайты в Спрайт Эдиторе и создали анимацию для нашего персонажа. 3 Научились опрашивать клавиатуру и перемещать персонажа, и делать это плавно). Вертеть по оси Х когда персонаж меняет направление движения. В аниматоре научились менять скорость анимации и переключаться между состояниями покоя - бега. 4 Научились прыгать, убрали возможность прыгать в воздухе (как в энгри бердс - но там оно птица, ей можно). 5 Добавили монеты и БД(статический класс для хранения конфигурации игры и класс для инициализации на старте), научились уничтожать обьекты (собирать монеты) по триггеру, добавили счетчик собранных монет и визуализацию. 6 Добавили препятствия: непроходимое с коллайдером, которое можно перепрыгнуть и убийственный шип с триггером, который отправляет нас на респ. 7 Реализовали переход между уровнями - дверь. 8 Создали кровожадного монстра с ИИ который мало того что обладает поведением шипа, так еще и ходит между двумя точками, чего ему на месте не сидится то. 9 добавили возврат на респ при падении с платформ, ато лететь в бесконечность было не комильфо. Сложности: Из-за сложностей с интернетом и кучей сервисов включая ютуб видеообзор будет письменным. Минусы: исчизают монетки, а должны жизни. Мелкие недочеты: при переходе на новый уровень монеток на счетчике 0, пока не возьмешь первую монетку, тогда счетчик показывает правильное число. Много на мой взгляд методов со словом Старт, что сбивает иногда с толку. Везде используется КемелКейс и это правильно, кроме tempvector и start_pos. Желательно чтоб все было единообразно, то есть в одном стиле. Плюсы: Димандос ответственно подошел к созданию курса, все сложные моменты доступно разъяснил, рассказал про полезные сочитания клавиш, такие фишки как плавное движение, поворот персонажа, запрет кувырков, возвращение на респ, путешествие НПС между чекпоинтами. Узнал много интересного, например Collider2D[] colliders = hysics2D.OverlapCircleAll(transform.position, 0.5f); обнаружение коллайдеров в заданном радиусе. В общем долго все перечилять. Полезный практичесский курс, много всего интересного, мне понравилось. Нужно продолжение. |
|||||
12 | 12. VIP. Checkpoints |
|
|||
На видеоуроке мы добавим chekpoint'ы. Когда персонаж коснётся checkpoint'a, то тогда начальная позиция измениться на позицию checkpoint'a.
Отчёт отправил: 17535. Алексей Выполнено за 1 час. 26 мин. [Показать отчёт] Научился: создавать чекпоинты (в смысле схранения позиции для респавна). Box Collaider 2D + trigger. По событию OnTriggerEnter2D делаем db.sstartPos = transform.position; Сложности: радоваться результату.. как-то быстро курс пролетел, а еще Дима обещал батут. И где оно? |
|||||
Итого: 12 видеоуроков |
2 час. 07 мин. 15 тестов |
9 чел. | |||
Финалисты: vip, Артём Нагорный, ser2018, Алексей, New programist, Грачья, Дмитрий, ES35, Grigory . |