Как сделать 2D платформер на Unity | #1
В этом видео мы начнём создавать 2D платформер на движке Unity.
Добавим фон, платформы для уровней, а также самого игрового персонажа.
Скачать пак графики для платформера:
Яндекс. Диск - yadi.sk/d/oDaUkuSYI3m0Ew
Гугл Диск - drive.google.com/file/d/1zARN...
Как сделать 2D платформер на Unity | #1
unity, как создать игру, разработка игр, unity уроки, создание игр, unity tutorial, unity 2d, платформер, как сделать игру, unity 3d, unity3d, 2d платформер, юнити, c# уроки, c#, c# unity, 2d, с# unity уроки, как скачать юнити, c# tutorial, cube company, c# unity tutorial, как сделать свою игру, програмирование, visual studio, learn unity c#, c# for unity, как начать создавать игры, c# dersleri, unity 2d tutorial, learning c# for unity, learn c#, learn c# for unity, курс по изучение с# unity, игры, c# tutorial for beginners, создание, геймдев, игра, для начинающих, создание игр unity, game, unity2d, platformer, 2д, как создать, tutorial, анимация, как создать свою игру, создание игр для новичков, как, gamedev, разработка, разработчик игр, обучение, инди игры, программирование, юнити уроки, design, основы, sprites, indie gamedev, геймдизайн, как сделать, unity уроки для начинающих, graphical, создание платформера unity, дизайн, графика, уроки по unity, assets, урок, игровые движки, уроки, персонаж, 2d игра, games, создание 2d игры, гайд, 2d platformer, unity 2d уроки, game dev, how to make game, unity 2d платформер, move, unity 5, код, создание игры, 2d platformer unity, asset store, animation, unity 3d tutorial, game dev для начинающих, спрайты, си шарп, как создать платформер на юнити, castadude, beginner, первая игра, unreal, юнити 3д, создание игр в unity, геймдев с нуля, android, управление в платформере на юнити, brackeys, уроки по юнити, development, develop, создание платформера на юнити, платформер юнити, геймдев с чего начать, как сделать управление на юнити, создание игры на unity, как создать игру на андроид, как сделать платформер, unity2d платформер, tutorials, 2д платформер, artalasky, пиксельарт, заргеймдев, юнити2д, #уроки, для ничинающих, юнити 2д, уроки на русском, unity tutorial 2d, 2d unity, easy, курсы программирования, прыжок, unity создание игр, игра на unity, движение, jump, 2d спрайты, создать игру бесплатно, создание 2d игр, unity платформер уроки, 2d платформер на unity, игровая графика, игровой движёк, как создать игру на unity, уроки unity, упровление в unity, #unity, game design, zargamedev, графика для игр, void, войд, студия, public, паблик, unity 2д платформер, bool, privat, прайвет, вижуал, юнити анимация персонажа, работа с персонажом, animations, flip, как создать 2d платформер, code, visual, юнити анимация, платформер на андроид unity, studio, как создать 2d платформер на unity, бул, stickman game, создание игры stickman, создание игры на unity 2d, создание босса, ultima offline, unity stickman, создание игры на unity 2d платформер, игра на unity 2d, unity ragdoll, tgrey, за три минуты, №2, up, cube, вверх, unity 2d для начинающих, создание персонажа, легко, №4, стрельба, 2д-платформер, арталаски, джойстик юнити, course, unity2d смерть персонажа, unity2d воскрешение, переход между сценами, unity2d переход между сценами, счетчик монет, unity2d scenemanagement, scenemanagement, введение, фикс прыжка, главное меню, ui графика, монетки в unity, сбор монет, разработка игры, python pygame, pygame уроки, создание 2d платформера, python на практике, плавная камера, vector3.lerp, unity coint collect, сбор монеток в unity, №3, игрок, атака персонажа, unity c#, онлайн обучение, любимая школа, айти геник, айтигеник, itgen, программист, школа для детей, создание врага, пауза, платформер на unity, персонаж для игры, itgenio, айтигенио, unity game, разработка игр на unity, tutorial unity, 3d unity game, unity 2019, разработка игр на андроид, unity platformer, твоя первая игра на unity, платформер на юнити, твоя первая игра на юнити, unreal engine 4, уроки python, pygame, to, howto, how, textures, models, learn, перевернуть, basic, coding, programming, series, texture, model, создание 2д платформера на юнити, bloodlust, создание игры на юнити 5, как сделать 2д игру на юнити, как сделать игру без программирования, юнити 5 урок, юнити 5 уроки платформер, asset, как сделать свою игру на юнити, как создать свою игру на андроид, платформер на unity 5
Пікірлер: 2 000
###У кого не смещаются системы координат### Возле элементов управления: перетаскивание, перемещение, вращение и тд(под панелью управления где файл, едит, ассетс и тд)) после гаечного ключа с карандашом есть две кнопки: на одной надпись центр, на другой - глобал. Нажимаете на кнопку центр и она меняется на пайвот. После этого двигаете сам спрайт и при нажитии на обьект херо все получится. Методом тыка понял. Кому не сложно - лайкните, дабы поднять вверх и помочь другим.
@cookiefbi5970
2 жыл бұрын
лучший
@ginso0
2 жыл бұрын
СПС
@zaydex9128
2 жыл бұрын
Нифига непонятно, спасибо
@MER8T
2 жыл бұрын
красава помогло
@ginso0
2 жыл бұрын
@-vishnevskiy ты про стрелки говоришь? Возможно у тебя персонаж и блоки находятся в одной плоскости с фоном, и поэтому стрелки просто не видно из за этого
Спасибо огромное за такое информативное видео! В моем колледже уже начинается время зачетов и каждый студент должен сдать свой проект. Я решил что создам игру на Unity и нашел тебя! Спасибо огромное, это мой первый проект в жизни!
Наконец то нашель дельный урок по Юнити. Ни в одном видео так просто и без лишней воды объяснялось, как создать поатформер. Большое спасибо!
Начал создавать платформер по твоим урокам, доступно и понятно объясняешь, всё круто
Понравился урок. А именно то, что в коде не свалено всё в кучу, как у некоторых других блогеров, а расписано по методам. Я считаю что так намного правильней учится. Подписался)
Очень классная подача инфы, все получилось, спасибо 👍 Для тех, кто столкнулся с отличиями в новой версии редактора (2021.3.8f1) - при добавлении спрайта можно выбирать Sprites - Square, это то же самое что и у автора - если есть проблемы со смещением точки координат - во вкладке Scene, верхняя левая кнопка (если на нее навести то всплывет подсказка "Toogle Tool Handle Position"), нажимаешь на нее и выбираешь в меню Pivot, после этого все получится как в ролике - если персонаж при прыжке улетает в космос, попробуйте увеличить Mass (в моем случае пришлось поднять до 90, чтобы были адекватные прыжки) В остальном сделал все в точности как в ролике, все работает
@GogaPlayBeats
Жыл бұрын
Спасибо бро!
@ageeluy2930
Жыл бұрын
ТЫ ПРОСТО КОСМОС ! СПАСИБО
@SovaVShapke
Жыл бұрын
герой который не носит плащ...
@Shinaolek
Жыл бұрын
почему-то, после того, как мы сделали нормальный прыжок, у меня персонаж вообще отказался прыгать, сделал всё как на видео
@minecraft8q9
Жыл бұрын
А что делать если я когда добавлял метод для того чтобы один раз можно было прыгнуть И потом я не могу из-за этого прыгать как это исправить
В первом же видео узнал тонну того, что искал несколько дней по чужим обрывкам !! Спасибо Вам !!!!
Спасибо за видео! Начал изучать Unity по твоим видео!
@findergarderin5262
18 күн бұрын
как успехи?
Супер! Спасибо большое за подробный урок. Респект учителю 🤘😊
не за что бы не догадался как убрать двойной прыжок, спасибо!
@saba1043
Жыл бұрын
У меня код ни работаит я написал ну он перистал пригат
Спасибо большое за ролики. Надеюсь на твой успех также как и на свой))
Начал недавно изучать гейм-дев. Хочу сделать первую игру в качестве обучалки, что да как. Автору спасибо огромное. Всё так чётко и подробно, все ассеты выложил за что отдельный респект.
Всё четко объясняешь и показываешь) Приятно смотреть😊
вижу монтаж по-тихоньку лучше становится, молодец👍
Спасибо за гайд. Пока только начал смотреть, но написал заранее коммент, чтоб продвинуть канал. Спасибо чел =)
Вот мне нравится видео с такой спокойной музычкой,и если там ещё спокойный голос,то вообще топчик!
Что бы поставить несколько блоков в ряд можно не создавать несколько спрайтовых объектов и ставить в ряд(как это показано в видео). Для упрощения работы можно просто в инспекторе спрайта самой картинки Mesh Type сделать Full Rect. Затем перетягиваем спрайт на объект как в видео и уже на этом спрайтовом объекте ниже в инспекторе видим Draw Mode который переключаем на Tiled и по сути можно растянуть на нужную дину, но нужно учесть что в высоту он тоже дублирует объекты (в данном случае блоки земли) поэтому удерживаем высоту в один блок, но если вытянуть в верх надо то тоже норм, но чтобы сразу в две стороны вытягивать все же придется создать еще один объект. К слову надо учесть что внезапно спрайт по какой-то причине может сплющить (к сожаления не до конца разобрался) и вывести два сплющенных изображения на месте одного блока. Поэтому следом в draw mode под size выбираем у Tile mode -> Adaptive и перетаскиваем ползунок под ним до значения 1, тогда все коректно отображается. Ну и затем просто растягиваем бокс колайдер по контуру. Как по мне это в разы быстрее чем пытаться выставить несколько одинаковых блоков в ряд.
@user-nb9ks9hi7g
2 жыл бұрын
Да, тоже получилось. Только в Adaptive ползунок на 0
Отличная подача и качество кода, все быстро и по делу!
@user-gy5ed6qq3g
6 ай бұрын
а как скачать пак графики
@user-gm7gp4rf8p
3 ай бұрын
описання чек@@user-gy5ed6qq3g
Спасибо за туториал, надеюсь что канал посмотрят как больше людей.
Хорошая работа, продолжай. Надеюсь, мы сделаем то же самое на канале
Очень хороший видеоурок. Всё понятно, код представлен удобно (представлен в виде стоп-кадра с увеличением, так что всё можно разобрать (спасибо за это большое)).
Спасибо тебе большое, желаю удачи и продвижения канала!
Огромное спасибо! Бро раньше я не мог делать 2D игры потому что не знал как сделать контроллер а ты показал огромное спасибо тебе и успехов в жизни!!!!!!!
Вау, все круто с 6 минуты подписался!
Решение двух проблем с которыми столкнулся я и не только: 1.Если вас персонаж при прыжке улетает в космос то вам надо просто изменить силу прыжка в инспекторе Hero,там снизу будет ваш скрипт в графе Jump Force ставьте так что бы он прыгал адекватно(у меня 6) 2. Если у вас персонаж не прыгает после checkGround то в методе checkground измените радиус с 0.3f до 0.8f
@hellnetwork1677
Жыл бұрын
Спасибо , очень помогли
@chaosdead9083
Жыл бұрын
а какой тип спрайта ты выбирал для героя, там просто после обновы нужно обязательно указывать форму спрайта, типа квадрат там или ещё что?
@cor4ik871
Жыл бұрын
@@chaosdead9083 square
@MisterMarioYT
Жыл бұрын
спасибо огромное за второй совет. когда у меня было 0.3 персонаж не всегда прыгал, а после того как я поставил 0.8 персонаж прыгает при каждом нажатии пробела! спасибо!
@rajzer1844
Жыл бұрын
ребят, у меня проблемки появилась: 1. У меня герой прост так падает сквозь все и когда я удаляю rb2D он не падает, можете помочь разобраться с этим //второй день пытаюсь исправить эту ошибку, вот никак. 2. Проблема после добавления Grounded герой прост не прыгает больше. Надеюсь на вашу помощь)
очень полезные 13 минут, спасибо большое, будем смотреть дальше
Спасибо за видос, но если можно то больше комментариев вовремя работы с интерфейсом unity. Типа что такое крллайдер, зачем он и т. д.
Большое спасибо за урок, ты очень доступно объясняешь
Спасибо за видео, обьясняешь хооошо для новичка , все понятно )
Спасибо за труды! Отличное видео.
Спасибо! Отличные уроки.
круто, как раз недавно скачал один платформер на телефон, захотел что то подобное сделать
@user-sj9wl1oe8n
3 жыл бұрын
Но ты не выложишь в плей маркет или стим, надо на ссайты, там заработаешь на то чтоб выложить в стим или плей маркет
@MercifulMarkiz
2 жыл бұрын
@@user-sj9wl1oe8n А какие есть сайты?
@user-sj9wl1oe8n
2 жыл бұрын
@@MercifulMarkiz посмотри в ютике там есть
@MercifulMarkiz
2 жыл бұрын
@@user-sj9wl1oe8n Что написать нужно в ютике?
@user-sj9wl1oe8n
2 жыл бұрын
@@MercifulMarkiz лучшие сервера для зароботка на своих играх
о новая рубрика, класс👍
Спасибо за урок, классный! Попробую поиграться =)
О, это просто замечательный ролик. Всё с первого раза легко повторить без ошибок. Буквально полчаса и - оп! - ты с нуля создаёшь магию :-))))
@divanozavrRex
2 жыл бұрын
Не знаю, честно есть лишь одна проблема. У меня штука для перемещения персонажа, вот вроде внизу и всё ок. Но тут когда запускаю игру она опять становится по деффолту
Отлично проделанная работа! Замечательно растолкованные и озвученные комментарии к различным строкам кода, так держать! Молодец!
Действительно хорошая обучалка, отдельное спасибо за разъяснение как работает скрипт и все тонкости)))
@user-gy5ed6qq3g
6 ай бұрын
а как скачать пак графики
Аффтор зачот! Хорошо объясняешь в скриптах, что нужно писать, но всем кто тупит советую посмотреть базовый курс по ООП в C#, чтоб хотя бы понимать что такое классы и методы иначе будете сидеть и тупить.
посмотрел 5 минут, но чую прям то что надо!
А можно в конце каждого видео показывать весь код ( а то есть люди например как я которым не очень удобно в таком стиле если не сложно то спасибо ) а так всё круто
@random4ik_rk
3 жыл бұрын
да
@mr_huro
3 жыл бұрын
using System.Collections; using System.Collections.Generic; using UnityEngine; public class player : MonoBehaviour { [SerializeField] private float speed = 3f; [SerializeField] private float jumpForce = 15f; private bool isGrounded = false; private Rigidbody2D rb; private SpriteRenderer sprite; private void Awake() { sprite = GetComponentInChildren(); rb = GetComponent(); } private void Run() { Vector3 dir = transform.right * Input.GetAxis("Horizontal"); transform.position = Vector3.MoveTowards(transform.position, transform.position + dir, speed * Time.deltaTime); sprite.flipX = dir.x } private void Update() { if (Input.GetButton("Horizontal")) Run(); if (isGrounded && Input.GetButtonDown("Jump")) Jump(); } private void FixedUpdate() { CheckGround(); } private void Jump() { rb.AddForce(transform.up * jumpForce, ForceMode2D.Impulse); } private void CheckGround() { Collider2D[] collider = Physics2D.OverlapCircleAll(transform.position, 0.3f); isGrounded = collider.Length > 1; } }
@davekup2525
3 жыл бұрын
@@mr_huro почему у меня работает твой скрипт, но не работает скрипт с видео? там 5 ошибок выскочило
@ghoulclounzxc
3 жыл бұрын
@@mr_huro от душы братан
@mr_huro
3 жыл бұрын
@@davekup2525 не знаю
Отличное видео, для новичков познавательно!
Красавчик , продолжай в том же духе 😎
Спасибо большое за урок!
То чувство когда ты обучаешь лучше чем платные курсы )
@romires1905
Жыл бұрын
ага, тольк о не работает и скачет по окнам
Лучший, спасибо огромное за урок! Лайк:)
Спасибо, очень крутая подача инфы)
@user-gy5ed6qq3g
6 ай бұрын
а как скачать пак графики
Отличный туториал спасибо, даже у такого чайника вроде меня получилось сделать это
Немного о том, кто поэтапно разбирает видеоролик, и у кого ошибки такого рода: Assets\Scripts\Hero.cs(8,34): warning CS0414: The field 'Hero.lives' is assigned but its value is never used Сделайте так: [SerializeField] private float speed = 3f; // Скорость двжиения //[SerializeField] private int lives = 5; // Кол-во жизней //[SerializeField] private float jumpForce = 15f; // Сила прыжка Если вы конкретно все делаете поэтапно, то они вам помешают т.к. не дадут возможность потестить ходьбу игрока (Потому что на момент того, как вы хотите проверить ходьбу, данные переменные нигде не используются и что-то ругается), после того как вы их закоментируете, сможете проверить передвижение. После так-же поэтапно, как будете доходить до момента применения live/jumpforce просто уберите два слеша. Так-же про тех кто не может найти две кнопки, которые описал Alexey Matushkin Нажмите на своего Hero во вкладке Hierachy и после нажмите на Sprite, который вложен в Hero, после этого загляните в Inspector и в Sprite Renderer буден функция "Sprite Sort Point" там выбран Center поменяйте его на Pivot, вауаля, и все работает. Если у кого-то не так, простите, я описал то, что конкретно помогло мне.
Спасибо большое автору !!!
Хороший ролик, продолжай в том же духе!
Автору спасибо за видео. Информация для тех, у кого проблемы с установлением системы координат к ногам. Под главной панелью управления Unity (у меня прям под Window) есть кнопки "Center" и "Local". При нажатии на них их значения меняются на "Pivot" и "Global". Меняйте значения и системы координат у родительского и дочернего элементов будут разные. Ну и конечный код, а то многие просили. Только не забывайте менять название класса под имя своего скрипта. using System.Collections; using System.Collections.Generic; using UnityEngine; public class PlayerCTRL : MonoBehaviour { [SerializeField] private float speed = 3f; [SerializeField] private int lives = 5; [SerializeField] private float jumpForce = 15f; private bool isGrounded = false; private Rigidbody2D rb; private SpriteRenderer sprite; private void Awake() { rb = GetComponent(); sprite = GetComponentInChildren(); } private void FixedUpdate() { CheckGround(); } private void Update() { if (Input.GetButton("Horizontal")) Run(); if (isGrounded && Input.GetButtonDown("Jump")) Jump(); } private void Run() { Vector3 dir = transform.right * Input.GetAxis("Horizontal"); transform.position = Vector3.MoveTowards(transform.position, transform.position + dir, speed * Time.deltaTime); sprite.flipX = dir.x } private void Jump() { rb.AddForce(transform.up * jumpForce, ForceMode2D.Impulse); } private void CheckGround() { Collider2D[] collider = Physics2D.OverlapCircleAll(transform.position, 0.3f); isGrounded = collider.Length > 1; } }
@vitaliibaryshev7269
3 жыл бұрын
Спасибо! Голову ломал, не мог систему координат сделать правильную, Global->Pivot решило проблему.
@zboral10
3 жыл бұрын
Ты просто мой спаситель, благодарю!)
@user-xh3cz1rm4d
3 жыл бұрын
@@vitaliibaryshev7269 Обращайтесь
@user-xh3cz1rm4d
3 жыл бұрын
@@zboral10 Обращайтесь
@futuremadness
2 жыл бұрын
Ты топ!! я несклько дней ломал голову с кодом, всё выдавал ошибки, но ты меня спас! РЕСПЕКТ!!!!
Спасибо, чел, всё очень понятно. Пересмотрел много роликов на ютабе, и Иммено Твой ролик, показался мне самым понятным. (C# и Юнити для меня очень не понятны, ибо н когда не учил. Знаю только RenPy🤷♂️)
@user-oe3xp5ob6b
6 ай бұрын
как успехи?
Спасибо за урок, понравилось!
Урок понравился, спасибо!
У меня проблема с прыжком, вернее с ним всё правильно. Дело в Hero, я не могу переместить точку перемещения, когда подправляю коллайдер эта точка смещается. Ну и из-за этого по скрипту мой перс не может прыгать. Есть идеи? Помогите пожалуйста!!!
Круто😍🔝
Очень крутой ролик, ты молодец!
Чувак, спасибо тебе большое, отличный урок!
видео топ, все понятно, но код... с ним беды, в конце лучше показывать весь
@user-fu8mv5ru8v
3 жыл бұрын
using System.Collections; using System.Collections.Generic; using UnityEngine; public class Player : MonoBehaviour { [SerializeField] float speed = 3f; [SerializeField] int lives = 5; [SerializeField] float jumpForce = 15f; bool Ground = false; Rigidbody2D rb; SpriteRenderer sprite; void Start() { } // Update is called once per frame void Update() { if (Input.GetButton("Horizontal")) Run(); if (Ground && Input.GetButton("Jump")) Jump(); } void Awake() { rb = GetComponent(); sprite = GetComponentInChildren(); } void Run() { Vector3 dir = transform.right * Input.GetAxis("Horizontal"); transform.position = Vector3.MoveTowards(transform.position, transform.position + dir, speed * Time.deltaTime); sprite.flipX = -dir.x } void Jump() { rb.AddForce(transform.up * jumpForce, ForceMode2D.Impulse); } void Grounded() { Collider2D[] collider = Physics2D.OverlapCircleAll(transform.position, 1f); Ground = collider.Length > 1; } void FixedUpdate() { Grounded(); } }
@mrminecrafter3829
3 жыл бұрын
@@user-fu8mv5ru8v спасибо большое !!!
@Panzer-Division
3 жыл бұрын
@@user-fu8mv5ru8v У тебя код с ошибками ,вот я исправил: using System.Collections; using System.Collections.Generic; using UnityEngine; public class hero : MonoBehaviour { [SerializeField] float speed = 3f; [SerializeField] int lives = 5; [SerializeField] float jumpForce = 15f; bool Ground = false; Rigidbody2D rb; SpriteRenderer sprite; void Start() { } // Update is called once per frame void Update() { if (Input.GetButton("Horizontal")) Run(); if (Ground && Input.GetButton("Jump")) Jump(); } void Awake() { rb = GetComponent(); sprite = GetComponentInChildren(); } void Run() { Vector3 dir = transform.right * Input.GetAxis("Horizontal"); transform.position = Vector3.MoveTowards(transform.position, transform.position + dir, speed * Time.deltaTime); sprite.flipX = dir.x } void Jump() { rb.AddForce(transform.up * jumpForce, ForceMode2D.Impulse); } void Grounded() { Collider2D[] collider = Physics2D.OverlapCircleAll(transform.position, 1f); Ground = collider.Length > 1; } void FixedUpdate() { Grounded(); } }
@worldtechnology7616
2 жыл бұрын
@@Panzer-Division у меня по этому коду перс улетает
@user-mh7gc4ne8h
2 жыл бұрын
@@worldtechnology7616 поставь гравитацию больше и джамп поменьше
Привет, я тут у тебя новенький и мне очень нравятся твои виде. Так держать!!! Немного начал практиковаться и столкнулся с такими проблемами: 1. Не могу сдвинуть оси к ногам персонажа(раз 10 повторил за тобой не получается) оси на том же месте остаются. 2. Я так понимаю , что visual studio меня не понимает. Например: [SerializeField], Rigidbody2D, SpriteRenderer эти слова белые(не как у тебя зеленые) и на них агрится unity (может я или не правильно установил или не подключил какую-то функцию или библиотеку?)
@atlassdev2481
3 жыл бұрын
Привет. 1) С этим пока неизвестно. Почему-то только в последнее время начали с этим люди сталкиваться. Раньше вроде всë нормально было 2) Установи подсказки от Unity для Visual Studio
@GAMEKING-vp9ye
3 жыл бұрын
Спасибо, большое. Что самое интересное, вчера сдвигать оси получалось , а сегодня уже 30мин сижу с этим... Так теперь у меня кривые прыжки будут?
@atlassdev2481
3 жыл бұрын
@@GAMEKING-vp9ye Можно попробовать переделать систему отслеживания положения игрока. Через коллизию, например. Лучше посмотреть отдельные видео на эту тему
@GAMEKING-vp9ye
3 жыл бұрын
@@atlassdev2481 Спасибо большое, еще раз. Жду нового видео)
Чел ты крут, спасибо тебе за труд)
Очень приятная подача материала! Всё четко! Другое дело, что для понимания некоторых элементов надо будет уже изучать глубже. Но видео бы растянулось на час, если бы было объяснение каждой строчки. Спасибо большое! Ах да! Уже подписался! :-)
@abdumurodabduvaliev6433
2 жыл бұрын
У ТЕБЯ ПОЛУЧИЛОСЬ? У МЕНЯ НЕ ПРЫГИАЕТ ИГРОК
@TimurKOI
2 жыл бұрын
@@abdumurodabduvaliev6433 проверь код ещё раз. Выдает может ошибку?
@abdumurodabduvaliev6433
2 жыл бұрын
@@TimurKOI нет все правильно написал и занова посмотрел примерно 10 раза. Помаги пожалуйста
@TimurKOI
2 жыл бұрын
@@abdumurodabduvaliev6433 как ты предлагаешь тебе помочь? Я же не могу посмотреть, что ты там набрал. Посмотри ещё раз видео и проверь код внимательно.
###Еще один способ для тех, у кого не смещаются системы координат: В Hierarchy тапаем на спрайт, выставляем в Инспекторе в полях координаты (Position) - Х, Y, Z всё на нули (это положение спрайта относительно основной директории Hero). Это позволит объединить системы координат спрайта и корневой директории Hero. Далее тапаем на сам файл спрайта (внизу в папке с материалами), затем в Инспекторе находим кнопочку "Sprite Editor". В открывшемся окне, в поле Pivot выбираем Bottom Center (Низ центр), дальше вверху в окне жмем Apply (применить). Закрываем окошко, подстраиваем коллайдер (Edit Collider) по границам спрайта - готово.
@KalepsJanInc
2 жыл бұрын
спасибо
@user-kw8ik4zc5p
Жыл бұрын
делаю так как ты написал, обе оси стают по центру персонажа. когда сдвигаю персонажа вверх, то персонаж выходит за границу бокс коллайдера. если подгонять бокс коллайдер снова под персонажа, то ось тоже сдвигается. очень демотивирует, когда не можешь какие-то элементарные вещи сделать.
@user-es7ml4rr4c
Жыл бұрын
@@user-kw8ik4zc5p понимаю, у самого так же в случае неудач. Что сказать посоветовать? Метод тыка иногда лучший способ
Держите рабочий код: using System.Collections; using System.Collections.Generic; using UnityEngine; public class Hero : MonoBehaviour { [SerializeField] private float speed = 3f; // скорость движения [SerializeField] private int lives = 5; // скорость движения [SerializeField] private float jumpForce = 15f; // сила прыжка private bool isGrounded = false; private Rigidbody2D rb; private SpriteRenderer sprite; private void Awake() { rb = GetComponent(); sprite = GetComponentInChildren(); } private void FixedUpdate() { CheckGround(); } private void Update() { if (Input.GetButton("Horizontal")) Run(); if (isGrounded && Input.GetButtonDown("Jump")) Jump(); } private void Run() { Vector3 dir = transform.right * Input.GetAxis("Horizontal"); transform.position = Vector3.MoveTowards(transform.position, transform.position + dir, speed * Time.deltaTime); sprite.flipX = dir.x } private void Jump() { rb.AddForce(transform.up * jumpForce, ForceMode2D.Impulse); } private void CheckGround() { Collider2D[] collider = Physics2D.OverlapCircleAll(transform.position, 0.3f); isGrounded = collider.Length > 1; } }
@hrammer9892
3 жыл бұрын
Спасибо тебе!!!
@hrammer9892
3 жыл бұрын
Только можно вопрос, как коды сохранять?
@user-kc7kg9om3x
3 жыл бұрын
огромное спасибо!
@sh1za452
2 жыл бұрын
Перс не прыгает )=
@user-kc7kg9om3x
2 жыл бұрын
@@sh1za452 +++
Очень хорошее описание. Всё работает. НО! На некоторых кубиках не прыгает. Надо уйти в сторону почему-то
КЛАСС! ТЫ ТОП!!! Очень понятно, интересно, познавательно!
Урок неплохой, некоторые вещи все равно пришлось погуглить, но хотелось бы более подробного объяснения кода - хотя бы за что отвечает каждый класс. Хотя в целом я все интуитивно поняла т.к. пишу на Java, но все равно хотелось бы побольше комментариев потому что код - это основная часть игры и новеньким может быть несовсем все понятно ❤
Вот решение частых ошибок 1) Не подсвечивается разными цветами например MonoBehaviour тогда надо зайти в юнити->edit->preferences->External Tools тут нажать на Open by file extension и выбрать visual studio community 2)6:30 Если не показывает систему координат то нажмите кнопку с стрелками под edit 3)Это конечно сложно назвать решением но смотрите внимательно и повторяйте в точь точь за ним прям очень Простите за ошибки я не грамотный
@uzshanka1676
2 жыл бұрын
Все мои ошибки указал, добра тебе
@zhantoreyermukhanbetov4239
2 жыл бұрын
Отдуши
@Sel1mka
2 жыл бұрын
Бро, что делать, если когда я жму play земля пропадает, срочно
@Lion-programmer
2 жыл бұрын
@@Sel1mka Box collider 2D добавить
@user-fd9sc1fz6o
2 жыл бұрын
В рай без очереди
Для создания и публикации в плеймаркет игр на Юнити нужна ее Про версия или достаточно бесплатной Personal с оф.сайта? Или подойдет и пиратка Unity pro c трекеров? ))
спасибоо вам большое ваше видео дало желание учитться
Cделал всё то в точь как в видео, но вмест отого чтобы не делать двойной прыжок, герой просто отказывается прыгать, версия unity 2020.2.7f1
Спасибо за видео, объясняешь хорошо! Сделай, пожалуйста, видео про случайную генерацию уровней 2d платформера с помощью алгоритма a* (a-star)
Автор огромное спасибо что не оставил ссылки на скрпиты,именно благодаря этому я могу писать его)
@BlazeManOfficial
11 ай бұрын
@@Kussia4.0 и что?Я не чекаю остальные комменты
Заранее спасибо. Буду смотреть
Альтернатива проверки состояния IsGrounded (Без использования Update): private bool isGrounded = false; // Она уже должна быть создана выше, как в видео private void OnCollisionStay2D(Collision2D collision) { isGrounded = true; } //Вызывается когда есть прикосновение коллайдера объекта с другими коллайдерами private void OnCollisionExit2D(Collision2D collision) { isGrounded = false; } //Вызывается когда, происходит "выход из коллизии между объектами" (Есть противоположное OnCollisionEnter2D)
@Koldevay
Жыл бұрын
При такой проверке персонаж сможет прыгать при соприкосновениями со стенами
@maksarh2833
Жыл бұрын
@@Koldevay можно сделать 2 коллайдера, один у ног в виде точки или прямой, но по краям чуть меньше чем основной коллайдер который по размеру всего персонажа т.е делаем отдельный коллайдер для ног
@dxmp
10 ай бұрын
Спасибо! Ваш код сильно помог, использую его)
Можешь снять видео как ты сам пишешь этот код , заранее спасибо)
@ResPack
2 жыл бұрын
В топ этот коммент!
Добрый день товарищ, спасибо огромное за твои старания только начал смотреть, хотел спросить какой юнити именно нужен для создания(и я вообще чайник, что нужно почитать или ты всё на пальцах тут рассказываешь и можно не парится об доп литературе?)
@noswwnp
2 жыл бұрын
бесплатного юнити с официального сайта вполне хватит (если я правильно вас понял), а доп. литература явно не нужна, автор очень понятно объясняет все моменты
Спасибо за ролик!!
у меня система координат двигается вместе с колайдером
@L4ke_221
2 жыл бұрын
+
@xxxeee1256
2 жыл бұрын
Решил?
@xxxeee1256
2 жыл бұрын
@@L4ke_221 решил проблему?
@user-bh7ji9jj4h
2 жыл бұрын
Там сверху есть кнопка center(под вкладкой window), на неё надо нажать, что бы Pivot было написано
@woof448
2 жыл бұрын
@@xxxeee1256 решил чел сверху
Спасибо, помог! можно сердечко?
хорошо, только над неймингом тебе надо поработать. Ты ж всё таки для новичков видео делаешь. Да и вообще, это культура программирования - хроший, понятный нейминг. Не ленись назвать переменную rigitBody )
нужели кто то подробно обьяснил про скрипты в Юнити, а не тупо писал код на скорости х1,75 , спасибо за видео
@bruice1805
3 жыл бұрын
kzread.info/dash/bejne/dXWEuKSNe86Zh9o.html
На 3:47 после вкладки 2д объект, спрайтс выходит выбор типо Square, Circle, Capsule и так далее. Что выбрать, когда надо делать платформу? Заранее спасибо
@user-mg6te1kx1v
2 жыл бұрын
Square выбирай, там изменить можно (если я правильно понимаю)
@thebestname6140
2 жыл бұрын
@@user-mg6te1kx1v Спасибо, а вообще всё таки какую версию новичку лучше установить?
@Fun_TTime
2 жыл бұрын
А когда делаешь персонажа что надо выбирать?
Спасибо большое очень крутой человек ты
всё круто! удачи в развитии канала
годный контент, а подписчиков мало, в то время как у какого-то Гоши Дударя их не заслужено больше
Вот интересно, как так? У тебя всё гладко, а у меня Студия 7 ошибок выдала еще на этапе private void Run() хотя пишу символ в символ. Хрень короч...
Ты человеще, спасибо тебе, помог!!!!!
@user-kc7kg9om3x
3 жыл бұрын
дай код пж
@squash649
3 жыл бұрын
@@user-kc7kg9om3x он не работает
лайк за то что есть гугл диск и все понятно
Спасибо за видео! А как исправить то, что персонаж на прыжке просто выпрыгивает за экран? Умножение на jumpForce в методе Jump() вообще убрала, но все равно выпрыгивает. И невозможность прыгать, когда герой в воздухе, тоже не работает. Он продолжает прыгать
@user-ie1qr1om9w
3 жыл бұрын
у меня ваабще не пригает)
@user-tu1cc2go7r
3 жыл бұрын
Такая же проблема, получилось решить, изменив массу Hero в настройках RigitBoby 2D
@katrinselin2537
3 жыл бұрын
@@user-tu1cc2go7r спасибо!)
@gtasss5282
Жыл бұрын
только сейчас понял как решить. Он из периода апдейд убрал if с прыжком.
@durkin4099
Жыл бұрын
@@gtasss5282 он не убрал, он добавил isGrounded &&
Привет бро! Классно объясняешь для новичка. Только есть 1 проблема я написал код как ты всё показывал но у меня показывает что там есть ошибка. Как это исправить?
@kuber_peldmend8795
2 жыл бұрын
ты про ошибку синтаксиса,',' на (9.46)?
@kmx5512
2 жыл бұрын
@@kuber_peldmend8795 Да
@user-vd5ni4sg2n
2 жыл бұрын
помогите куда надо вписывать код
Большое спасибо!
Классные видео 👏🙌👍
Если ты ещё читаешь комментарии, может скажешь, в чем проблема строки if (isGrounded && Input.GetButtonDown("Jump")) Jump(); Ввожу так, как она есть и персонаж вообще перестаёт прыгать. Если убрать запись isGrounded &&, то снова идут множественные прыжки.
@mistermind174
3 жыл бұрын
Все, я нашёл косяк. Проблема была не тут. У меня по какой то причине ось координат никак не желает перемещаться к ногам. Но я нашёл решение. Там, где мы прописывали массив коллайдеров, я указал 0.9f вместо 0.3f и все заработало. Баг был в том, что программа думала, что персонаж всегда в воздухе
@finik2562
3 жыл бұрын
@@mistermind174 Спасибо тебе огромное!)
@vitaliibaryshev7269
3 жыл бұрын
@@mistermind174 Здесь нужно было решать проблему правильным смещением системы координат, чтобы это получилось сделать нужно чтобы опция "Pivot" была включена вместо "Center"
@coolbooy9990
Жыл бұрын
+++
@coolbooy9990
Жыл бұрын
@@vitaliibaryshev7269 о спасиба вам , помогло решыть проблему)
Странно что тут так мало просмотров, очень даже годный урок) Правда у меня вопрос возик, зачем для персонажа делать отдельную папку, если все параметры можно на него ставить, так ведь гораздо удобнее
@tunethedune9075
2 жыл бұрын
чтоб вписать isGround, там проблема возникнет.
Спасибо, друг!
Спасибо за видео
У меня одного перестал прыгать в конце?
Ребят, подскажите пожалуйста, на 6:16 он настраивает точку координат, я также выставляю её в ноги персонажу, но когда начинаю настраивать BoxCollider2D Эта точка координат сбивается, и становиться обратно в центре BoxCollider. Что нужно сделать чтоб и BoxCollider был нормальным, и точка координат персонажа тоже была в ногах?
@illiahroshev9546
3 жыл бұрын
Проверь куда установил BoxCollider2D, я тоже не мог выкупить, а потом как оказалось BoxCollider2D был на спрайте, проверь точно ли установлен на ГеймОбжекте
@teykolar
3 жыл бұрын
@@illiahroshev9546 Спасибо))
Красавчик!