###У кого не смещаются системы координат### Возле элементов управления: перетаскивание, перемещение, вращение и тд(под панелью управления где файл, едит, ассетс и тд)) после гаечного ключа с карандашом есть две кнопки: на одной надпись центр, на другой - глобал. Нажимаете на кнопку центр и она меняется на пайвот. После этого двигаете сам спрайт и при нажитии на обьект херо все получится. Методом тыка понял. Кому не сложно - лайкните, дабы поднять вверх и помочь другим.
@cookiefbi59702 жыл бұрын
лучший
@ginso02 жыл бұрын
СПС
@zaydex91282 жыл бұрын
Нифига непонятно, спасибо
@MER8T2 жыл бұрын
красава помогло
@ginso02 жыл бұрын
@-vishnevskiy ты про стрелки говоришь? Возможно у тебя персонаж и блоки находятся в одной плоскости с фоном, и поэтому стрелки просто не видно из за этого
@cor4ik8712 жыл бұрын
Решение двух проблем с которыми столкнулся я и не только: 1.Если вас персонаж при прыжке улетает в космос то вам надо просто изменить силу прыжка в инспекторе Hero,там снизу будет ваш скрипт в графе Jump Force ставьте так что бы он прыгал адекватно(у меня 6) 2. Если у вас персонаж не прыгает после checkGround то в методе checkground измените радиус с 0.3f до 0.8f
@hellnetwork16772 жыл бұрын
Спасибо , очень помогли
@chaosdead90832 жыл бұрын
а какой тип спрайта ты выбирал для героя, там просто после обновы нужно обязательно указывать форму спрайта, типа квадрат там или ещё что?
@cor4ik8712 жыл бұрын
@@chaosdead9083 square
@MisterMarioYT2 жыл бұрын
спасибо огромное за второй совет. когда у меня было 0.3 персонаж не всегда прыгал, а после того как я поставил 0.8 персонаж прыгает при каждом нажатии пробела! спасибо!
@rajzer18442 жыл бұрын
ребят, у меня проблемки появилась: 1. У меня герой прост так падает сквозь все и когда я удаляю rb2D он не падает, можете помочь разобраться с этим //второй день пытаюсь исправить эту ошибку, вот никак. 2. Проблема после добавления Grounded герой прост не прыгает больше. Надеюсь на вашу помощь)
@LeonidSpartan12 жыл бұрын
Очень классная подача инфы, все получилось, спасибо 👍 Для тех, кто столкнулся с отличиями в новой версии редактора (2021.3.8f1) - при добавлении спрайта можно выбирать Sprites - Square, это то же самое что и у автора - если есть проблемы со смещением точки координат - во вкладке Scene, верхняя левая кнопка (если на нее навести то всплывет подсказка "Toogle Tool Handle Position"), нажимаешь на нее и выбираешь в меню Pivot, после этого все получится как в ролике - если персонаж при прыжке улетает в космос, попробуйте увеличить Mass (в моем случае пришлось поднять до 90, чтобы были адекватные прыжки) В остальном сделал все в точности как в ролике, все работает
@GogaPlayBeats2 жыл бұрын
Спасибо бро!
@ageeluy29302 жыл бұрын
ТЫ ПРОСТО КОСМОС ! СПАСИБО
@SovaVShapke2 жыл бұрын
герой который не носит плащ...
@Shinaolek2 жыл бұрын
почему-то, после того, как мы сделали нормальный прыжок, у меня персонаж вообще отказался прыгать, сделал всё как на видео
@minecraft8q92 жыл бұрын
А что делать если я когда добавлял метод для того чтобы один раз можно было прыгнуть И потом я не могу из-за этого прыгать как это исправить
@Kolevell3 жыл бұрын
Что бы поставить несколько блоков в ряд можно не создавать несколько спрайтовых объектов и ставить в ряд(как это показано в видео). Для упрощения работы можно просто в инспекторе спрайта самой картинки Mesh Type сделать Full Rect. Затем перетягиваем спрайт на объект как в видео и уже на этом спрайтовом объекте ниже в инспекторе видим Draw Mode который переключаем на Tiled и по сути можно растянуть на нужную дину, но нужно учесть что в высоту он тоже дублирует объекты (в данном случае блоки земли) поэтому удерживаем высоту в один блок, но если вытянуть в верх надо то тоже норм, но чтобы сразу в две стороны вытягивать все же придется создать еще один объект. К слову надо учесть что внезапно спрайт по какой-то причине может сплющить (к сожаления не до конца разобрался) и вывести два сплющенных изображения на месте одного блока. Поэтому следом в draw mode под size выбираем у Tile mode -> Adaptive и перетаскиваем ползунок под ним до значения 1, тогда все коректно отображается. Ну и затем просто растягиваем бокс колайдер по контуру. Как по мне это в разы быстрее чем пытаться выставить несколько одинаковых блоков в ряд.
@ЕгорДавыдов-ц3ъ2 жыл бұрын
Да, тоже получилось. Только в Adaptive ползунок на 0
@only4humor4613 жыл бұрын
Держите рабочий код: 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 < 0.0f; } 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; } }
@hrammer98923 жыл бұрын
Спасибо тебе!!!
@hrammer98923 жыл бұрын
Только можно вопрос, как коды сохранять?
@КлавиатурныйВоин-к9т3 жыл бұрын
огромное спасибо!
@sh1za4523 жыл бұрын
Перс не прыгает )=
@КлавиатурныйВоин-к9т3 жыл бұрын
@@sh1za452 +++
@Flegni2 жыл бұрын
Немного о том, кто поэтапно разбирает видеоролик, и у кого ошибки такого рода: 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, вауаля, и все работает. Если у кого-то не так, простите, я описал то, что конкретно помогло мне.
@karasbrawl93113 жыл бұрын
не за что бы не догадался как убрать двойной прыжок, спасибо!
@saba10432 жыл бұрын
У меня код ни работаит я написал ну он перистал пригат
@wmp39202 жыл бұрын
В первом же видео узнал тонну того, что искал несколько дней по чужим обрывкам !! Спасибо Вам !!!!
@АнтонМирошниченко-в8х3 жыл бұрын
Автору спасибо за видео. Информация для тех, у кого проблемы с установлением системы координат к ногам. Под главной панелью управления 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 < 0.0f; } 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; } }
@vitaliibaryshev72693 жыл бұрын
Спасибо! Голову ломал, не мог систему координат сделать правильную, Global->Pivot решило проблему.
@zboral103 жыл бұрын
Ты просто мой спаситель, благодарю!)
@АнтонМирошниченко-в8х3 жыл бұрын
@@vitaliibaryshev7269 Обращайтесь
@АнтонМирошниченко-в8х3 жыл бұрын
@@zboral10 Обращайтесь
@futuremadness3 жыл бұрын
Ты топ!! я несклько дней ломал голову с кодом, всё выдавал ошибки, но ты меня спас! РЕСПЕКТ!!!!
@БледныйЙорик2 жыл бұрын
###Еще один способ для тех, у кого не смещаются системы координат: В Hierarchy тапаем на спрайт, выставляем в Инспекторе в полях координаты (Position) - Х, Y, Z всё на нули (это положение спрайта относительно основной директории Hero). Это позволит объединить системы координат спрайта и корневой директории Hero. Далее тапаем на сам файл спрайта (внизу в папке с материалами), затем в Инспекторе находим кнопочку "Sprite Editor". В открывшемся окне, в поле Pivot выбираем Bottom Center (Низ центр), дальше вверху в окне жмем Apply (применить). Закрываем окошко, подстраиваем коллайдер (Edit Collider) по границам спрайта - готово.
@KalepsJanInc2 жыл бұрын
спасибо
@РоманО-ю4п2 жыл бұрын
делаю так как ты написал, обе оси стают по центру персонажа. когда сдвигаю персонажа вверх, то персонаж выходит за границу бокс коллайдера. если подгонять бокс коллайдер снова под персонажа, то ось тоже сдвигается. очень демотивирует, когда не можешь какие-то элементарные вещи сделать.
@БледныйЙорик2 жыл бұрын
@@РоманО-ю4п понимаю, у самого так же в случае неудач. Что сказать посоветовать? Метод тыка иногда лучший способ
@MisterMarioYT2 жыл бұрын
Спасибо огромное за такое информативное видео! В моем колледже уже начинается время зачетов и каждый студент должен сдать свой проект. Я решил что создам игру на Unity и нашел тебя! Спасибо огромное, это мой первый проект в жизни!
@goshkaaa3 жыл бұрын
То чувство когда ты обучаешь лучше чем платные курсы )
@romires1905 Жыл бұрын
ага, тольк о не работает и скачет по окнам
@ViniLog977 Жыл бұрын
Прыжок можно сделать легче через Mathf отслеживать есть ли под игроком блок Вот скрипт примера: if (Mathf.Abs(rb.velocity.y) < 0.005f && Input.GetButtonDown("Jump")) Jump();
@dxmp Жыл бұрын
Огромное спасибо тебе!) Метод прышка из видео у меня тупо не работал
@starlistsaki Жыл бұрын
у меня тоже @@dxmp
@haveprm8 ай бұрын
боже друг, да ты бог, спасибо огромное
@Добрыйчеловек-о2л8 ай бұрын
Для тебя отдельное место в раю
@Morgan-oq7kb4 ай бұрын
ГЕРОЙ
@ВладимирБолясов2 жыл бұрын
Начал создавать платформер по твоим урокам, доступно и понятно объясняешь, всё круто
@einstein64513 жыл бұрын
Начал недавно изучать гейм-дев. Хочу сделать первую игру в качестве обучалки, что да как. Автору спасибо огромное. Всё так чётко и подробно, все ассеты выложил за что отдельный респект.
@qwester79643 жыл бұрын
А можно в конце каждого видео показывать весь код ( а то есть люди например как я которым не очень удобно в таком стиле если не сложно то спасибо ) а так всё круто
@random4ik_rk3 жыл бұрын
да
@davekup25253 жыл бұрын
@@mr_huro почему у меня работает твой скрипт, но не работает скрипт с видео? там 5 ошибок выскочило
@ghoulclounzxc3 жыл бұрын
@@mr_huro от душы братан
@mr_huro3 жыл бұрын
@@davekup2525 не знаю
@L4ke_2213 жыл бұрын
@@mr_huro У меня перс не двигается
@G33ZX3 жыл бұрын
Наконец то нашель дельный урок по Юнити. Ни в одном видео так просто и без лишней воды объяснялось, как создать поатформер. Большое спасибо!
@Danya_45008 ай бұрын
Мой персонаж улетел в космос
@ERrOR2033 Жыл бұрын
Альтернатива проверки состояния 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 Жыл бұрын
Спасибо! Ваш код сильно помог, использую его)
@viplikeit Жыл бұрын
очень полезные 13 минут, спасибо большое, будем смотреть дальше
@BernardGamer1233 жыл бұрын
вижу монтаж по-тихоньку лучше становится, молодец👍
@DedHacan3 жыл бұрын
нужели кто то подробно обьяснил про скрипты в Юнити, а не тупо писал код на скорости х1,75 , спасибо за видео
@bruice18053 жыл бұрын
kzbin.info/www/bejne/eXKzh3WKgNBmjdk
@maksimvalerov189 Жыл бұрын
Непонимаю почему все подписываются на А4 а вот этому челу нет? Ведь он полезен он помогает нам как создать игры и это очень сложно
@Marmehel152 ай бұрын
потому что
@woof4483 жыл бұрын
у меня система координат двигается вместе с колайдером
@L4ke_2213 жыл бұрын
+
@xxxeee12563 жыл бұрын
Решил?
@xxxeee12563 жыл бұрын
@@L4ke_221 решил проблему?
@ДанилКубарев-и1м3 жыл бұрын
Там сверху есть кнопка center(под вкладкой window), на неё надо нажать, что бы Pivot было написано
@woof4483 жыл бұрын
@@xxxeee1256 решил чел сверху
@Rhetms Жыл бұрын
Действительно хорошая обучалка, отдельное спасибо за разъяснение как работает скрипт и все тонкости)))
@SamuraiStandoff2-z7r Жыл бұрын
а как скачать пак графики
@Maximple3 жыл бұрын
Всё четко объясняешь и показываешь) Приятно смотреть😊
@АлександрНикитин-в7ь2 жыл бұрын
Спасибо за гайд. Пока только начал смотреть, но написал заранее коммент, чтоб продвинуть канал. Спасибо чел =)
@WorldofHipHopRap3 жыл бұрын
Супер! Спасибо большое за подробный урок. Респект учителю 🤘😊
@СТРАННИК-ы9я3 жыл бұрын
круто, как раз недавно скачал один платформер на телефон, захотел что то подобное сделать
@Юрєк3 жыл бұрын
Но ты не выложишь в плей маркет или стим, надо на ссайты, там заработаешь на то чтоб выложить в стим или плей маркет
@MercifulMarkiz3 жыл бұрын
@@Юрєк А какие есть сайты?
@Юрєк3 жыл бұрын
@@MercifulMarkiz посмотри в ютике там есть
@MercifulMarkiz3 жыл бұрын
@@Юрєк Что написать нужно в ютике?
@Юрєк3 жыл бұрын
@@MercifulMarkiz лучшие сервера для зароботка на своих играх
@s3doyyy3 жыл бұрын
Вау, все круто с 6 минуты подписался!
@СтасЗыгмантович3 жыл бұрын
Понравился урок. А именно то, что в коде не свалено всё в кучу, как у некоторых других блогеров, а расписано по методам. Я считаю что так намного правильней учится. Подписался)
@gopte777 Жыл бұрын
а у меня код не получается открыть!!! 👍
@temer-dn5pk Жыл бұрын
@@gopte777 тебе надо установить или вижуал студио или вижуал студио Code
@alloeble3 жыл бұрын
посмотрел 5 минут, но чую прям то что надо!
@Mirowoolf3 жыл бұрын
Спасибо за видео! Начал изучать Unity по твоим видео!
@findergarderin52626 ай бұрын
как успехи?
@animeandbeer5722 ай бұрын
@@findergarderin5262 думаю у него все круто
@storeFL3 жыл бұрын
видео топ, все понятно, но код... с ним беды, в конце лучше показывать весь
@Дмитрий-ш3е7ъ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 < 0.0f; } 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(); } }
@mrminecrafter38293 жыл бұрын
@@Дмитрий-ш3е7ъ спасибо большое !!!
@Panzer-Division3 жыл бұрын
@@Дмитрий-ш3е7ъ У тебя код с ошибками ,вот я исправил: 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 < 0.0f; } 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(); } }
@worldtechnology76163 жыл бұрын
@@Panzer-Division у меня по этому коду перс улетает
@РомаКрымов-и1с3 жыл бұрын
@@worldtechnology7616 поставь гравитацию больше и джамп поменьше
@den4k8572 жыл бұрын
У меня одного перестал прыгать в конце?
@Bebranosok Жыл бұрын
Огромное спасибо! Бро раньше я не мог делать 2D игры потому что не знал как сделать контроллер а ты показал огромное спасибо тебе и успехов в жизни!!!!!!!
@Komar0ne2 жыл бұрын
У меня проблема с прыжком, вернее с ним всё правильно. Дело в Hero, я не могу переместить точку перемещения, когда подправляю коллайдер эта точка смещается. Ну и из-за этого по скрипту мой перс не может прыгать. Есть идеи? Помогите пожалуйста!!!
@РусланСадриев-в5й3 жыл бұрын
Спасибо за видос, но если можно то больше комментариев вовремя работы с интерфейсом unity. Типа что такое крллайдер, зачем он и т. д.
@НастяКуликова-ъ3р2 жыл бұрын
Урок неплохой, некоторые вещи все равно пришлось погуглить, но хотелось бы более подробного объяснения кода - хотя бы за что отвечает каждый класс. Хотя в целом я все интуитивно поняла т.к. пишу на Java, но все равно хотелось бы побольше комментариев потому что код - это основная часть игры и новеньким может быть несовсем все понятно ❤
@Познание-г9ь2 жыл бұрын
Спасибо за туториал, надеюсь что канал посмотрят как больше людей.
@pv4nik3 жыл бұрын
Вот мне нравится видео с такой спокойной музычкой,и если там ещё спокойный голос,то вообще топчик!
@Noname-rl7ih3 жыл бұрын
Что делать если после добавления (isGrounded &&) Перестал работать прыжок Объясните пожалуйста
@hebxy-dn2wr2 жыл бұрын
нашел ответ?
@venompubg692 жыл бұрын
@@hebxy-dn2wr, он, наверное, уже забыл)))
@hebxy-dn2wr2 жыл бұрын
@@venompubg69 а ты? пххп
@tunethedune90752 жыл бұрын
@@hebxy-dn2wr смотри функция isGrounded работает при моменте когда точка находит под собою землю, это значит что если точка находится выше зесли то она будет считать что ты все еще в прыжке, для этого тебе нужно ее сместить до такого состояния, чтоб та могла найти ее. вообще для функции прыжка делают отдельный код и логигу на сенсор, его метод прост в понимание.
@mrreadcode93413 жыл бұрын
Хорошая работа, продолжай. Надеюсь, мы сделаем то же самое на канале
@НикитаВолков-т1ч6м3 жыл бұрын
Cделал всё то в точь как в видео, но вмест отого чтобы не делать двойной прыжок, герой просто отказывается прыгать, версия unity 2020.2.7f1
@OneRayMinecraft Жыл бұрын
Автор огромное спасибо что не оставил ссылки на скрпиты,именно благодаря этому я могу писать его)
@OneRayMinecraft Жыл бұрын
@@Kussia4.0 и что?Я не чекаю остальные комменты
@football_editor7309 ай бұрын
Отличное видео. Но я не понял где писать сами скрипты. Подскажите пожалуйста
@valerysemenkin60243 жыл бұрын
Спасибо большое за ролики. Надеюсь на твой успех также как и на свой))
@цикорий52 жыл бұрын
Почему когда я пишу: if (isGrounded && Input.GetButtonDown("Jump")) Jump(); когда я добавляю туда isGrounded && персонаж отказывается прыгать?
@CinemaRover2 жыл бұрын
У меня так же, только он не прыгает на стыках, а по центру квадрата норм
У всех всё получается, у меня как обычно (как бывало десятки раз) у одного какие-то непонятные проблемы. Сначала при перетаскивании скрипта с именем Hero на папку Hero, появляется окно с ошибкой "cant add script component..." (сам автор эту манипуляцию не проводит. ) Добавил скрипт прям в окне Hero через add compоnent - script add - вставил код. Хоть скрипт добавился. Но появляется ошибка The namespace '' already contains a definition for 'NewBehaviourScript' Заеипало это всё. Каждый раз одно и тоже. Сидишь, тратишь два часа чтобы точь в точь всё повторить, всё перепроверяешь, и в итоге у всех всё хорошо, у меня какая-то жопа. Нажал альт ф4 и больше не буду тратить на это время.
@vladimir_pl Жыл бұрын
мог бы просто загуглить эту ошибку) у меня такое было. Нужно в скрипте прописать его название, сохранить. и потом он добавится.
@nigjya_channel68673 жыл бұрын
когда сделал CheckGround у меня перс вообще перестал прыгать что делать?
@Kerchik693 жыл бұрын
Хз тоже самое
@vas1z3 жыл бұрын
Ребят!!,У кого после CheckGround не прыгает перс, просто поизменяте последнее число ,там где 0.3f --> Collider2D[] collider = Physics2D.OverlapCircleAll(transform.position, 0.3f); Я число 3 поставил и всё прекрасно работает!
@A3temii3 жыл бұрын
@@vas1z Спасибо Большое тебе!
@fizruk58703 жыл бұрын
@@vas1z Спасибо огромное , я пол дня не мог понять что не так
@mikhailsivtsov3 жыл бұрын
Отличное видео, для новичков познавательно!
@nepodhodi6 ай бұрын
Полностью рабочий код (И ПРЫГАЕТ НОРМАЛЬНО) Ставь лайк,чтобы все увидели! 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 void OnCollisionStay2D(Collision2D collision) { isGrounded = true; } //Вызывается когда есть прикосновение коллайдера объекта с другими коллайдерами private void OnCollisionExit2D(Collision2D collision) { isGrounded = false; } //Вызывается когда, происходит "выход из коллизии между объектами" (Есть противоположное OnCollisionEnter2D) 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 (Mathf.Abs(rb.velocity.y) < 0.005f && 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 < 0.0f; } 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; } }
@Александр-т1в8ж3 ай бұрын
Спасибо, всё чётко!
@zakzelman3 жыл бұрын
Аффтор зачот! Хорошо объясняешь в скриптах, что нужно писать, но всем кто тупит советую посмотреть базовый курс по ООП в C#, чтоб хотя бы понимать что такое классы и методы иначе будете сидеть и тупить.
@faustsad Жыл бұрын
Отличная подача и качество кода, все быстро и по делу!
@SamuraiStandoff2-z7r Жыл бұрын
а как скачать пак графики
@ДмитроТишковець-о8ю10 ай бұрын
описання чек@@SamuraiStandoff2-z7r
@florestina8643 жыл бұрын
Помогите пожалуйста. Систему координат у персонажа передвинуть вниз невозможно. То есть когда я её передвигаю вниз, то вместе с ним у меня передвигается коллайдер. А потом я коллайдер передвигаю на персонажа, то потом координаты снова ставятся в середину. И так бесконечно ._. Из-за этого у меня в конце видео не работает прыжок вообще, а просто ходит персонаж.
@Alex-tq5fg3 жыл бұрын
тоже самое. ты смог исправить?
@florestina8643 жыл бұрын
@@Alex-tq5fg Да, смогла
@Yes.Im.Mr.Anderson3 жыл бұрын
@@florestina864 Классно, но как?
@kam1zzumi8963 жыл бұрын
Аналогичная ситуация
@florestina8643 жыл бұрын
@@Yes.Im.Mr.Anderson дай свой вк, туда скину)
@jdjsjsbd2 жыл бұрын
у кого возникают проблемы с подключением координат к ногам, то вот решение: СВЕРХУ поставьте Pivot вместо Centre и справа у new sprite поставьте Pivot вместо Centre
@jdjsjsbd2 жыл бұрын
в топ чтоб все увидели
@fen1ks3672 жыл бұрын
А где именно сверху поставить Pivot?Я никак найьи не могу
@fen1ks3672 жыл бұрын
@@jdjsjsbd где сверху нужно поменять на Pivot?
@jdjsjsbd2 жыл бұрын
@@fen1ks367 там строка наверху самом
@fen1ks3672 жыл бұрын
@@jdjsjsbd над самой сценой?
@HunkoHS3 жыл бұрын
Можешь снять видео как ты сам пишешь этот код , заранее спасибо)
@ResPack3 жыл бұрын
В топ этот коммент!
@FlameUkiteru3 жыл бұрын
самое что интересное это старый урок! Его показывали в часовом уроке один из ютуберов программистов еще 2 или 3 года назад , и там 1 было больше информации , а второе он специально для тех у кого ничего не получалось скидывал код на гугл диск!
@Человек-в9о3 жыл бұрын
Отлично
@tvoybatya9933 жыл бұрын
у кого высоко прыгает выставите гравитацию -30 ) это в edit / progect setting /gravity а у кого не прыгает вообще в коде Collider2D[] collider = Physics2D.OverlapCircleAll(transform.position, 0.8f); isGrounded = collider.Length > 1; 0.8f поставте как тут , и он начнет прыгать , сам потерял 1 час на этом но теперь все норм .
@chugunock3 жыл бұрын
А если он бесконечно прыгает? При то что я все сделал как в видео
@fauzen_idinax Жыл бұрын
Sps
@mistermind1743 жыл бұрын
Если ты ещё читаешь комментарии, может скажешь, в чем проблема строки if (isGrounded && Input.GetButtonDown("Jump")) Jump(); Ввожу так, как она есть и персонаж вообще перестаёт прыгать. Если убрать запись isGrounded &&, то снова идут множественные прыжки.
@mistermind1743 жыл бұрын
Все, я нашёл косяк. Проблема была не тут. У меня по какой то причине ось координат никак не желает перемещаться к ногам. Но я нашёл решение. Там, где мы прописывали массив коллайдеров, я указал 0.9f вместо 0.3f и все заработало. Баг был в том, что программа думала, что персонаж всегда в воздухе
@finik25623 жыл бұрын
@@mistermind174 Спасибо тебе огромное!)
@vitaliibaryshev72693 жыл бұрын
@@mistermind174 Здесь нужно было решать проблему правильным смещением системы координат, чтобы это получилось сделать нужно чтобы опция "Pivot" была включена вместо "Center"
@coolbooy99902 жыл бұрын
+++
@coolbooy99902 жыл бұрын
@@vitaliibaryshev7269 о спасиба вам , помогло решыть проблему)
@Юрєк3 жыл бұрын
У меня почему то не ходит персонаж, я скрипт написал правильно, что мне делать? Не вините за рукожопство
@remargoo3 жыл бұрын
У Меня тоже самое
@0518-r4h3 жыл бұрын
using System.Collections; using System.Collections.Generic; using UnityEngine; public class Hero : MonoBehaviour { public float speed = 10f; public int lives = 5; public float jumpForce = 15f; //private bool isGrounded = false; public Rigidbody2D rb; public SpriteRenderer sprite; 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 < 0.0f; //повертатися в ліво/право } /* private void FixedUpdate() { CheckGround(); } */ private void Update() { if (Input.GetButton("Horizontal")) { Run(); } if (/*isGrounded &&*/ Input.GetButtonDown("Jump")) { Jump(); } } 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; } */ }
@0518-r4h3 жыл бұрын
вот как надо
@dkuzia3 жыл бұрын
@@0518-r4h у меня по этому коду перс не прыгает
@АлександрФедоров-ы7й1х Жыл бұрын
Спасибо за труды! Отличное видео.
@Marv47-f6k2 жыл бұрын
Спасибо! Отличные уроки.
@ghgh-fk5xu3 жыл бұрын
Отличный туториал спасибо, даже у такого чайника вроде меня получилось сделать это
@shidever3 жыл бұрын
Отлично проделанная работа! Замечательно растолкованные и озвученные комментарии к различным строкам кода, так держать! Молодец!
@boring82433 жыл бұрын
Можно получить код? Переписываю точь-в-точь, но говорит ошибка Заранее спасибо! Видео ТОП
@ИгорьАзаров-ф3ц3 жыл бұрын
у меня такая же фигня
@МихаилАлександров-м6д3 жыл бұрын
@@ИгорьАзаров-ф3ц я слово "jump" написал как "jamp", заметил не сразу, но после исправления все запрыгало как надо.
@ИванМокроусов-ш1г2 жыл бұрын
Спасибо за урок, классный! Попробую поиграться =)
@Nesel Жыл бұрын
Пересматривал видео кучу раз, не мог решить проблему с прыжком. После добавления isGround, персонаж перестал прыгать. Я подумал, может функция FixUpdate не выполняется, так как с# я не знаю, был не уверен в том, что я делаю. Я вызвал функцию в Update перед проверками, не знаю, может в другом месте надо, но у меня сработало. Персонаж прыгает.
@trash_designer3 жыл бұрын
Круто😍🔝
@mudota75003 жыл бұрын
Спасибо, чел, всё очень понятно. Пересмотрел много роликов на ютабе, и Иммено Твой ролик, показался мне самым понятным. (C# и Юнити для меня очень не понятны, ибо н когда не учил. Знаю только RenPy🤷♂️)
@МахПопов-н6з Жыл бұрын
как успехи?
@Mark-yy1yy3 жыл бұрын
Почему в Visual Studio у меня код не подсвечивается нужным цветом, многие слова у меня серые, в видео не так
@atlassdev24813 жыл бұрын
Установи подсказки от Unity для Visual Studio, на ютубе есть гайды
@vitaliibaryshev72693 жыл бұрын
Edit->Preferences->External Script Editor установить в Visual Studio 20.., если подстветка не появилась, то еще в итих же настройках нажми "Regenerate project files"
@maxik26933 жыл бұрын
Тебе нужно открыть решение ( Название твоего проекта.sln ), оно обычно лежит в папке проекта. Если его нет, то тебе нужно перейти в верхней части окна Assets > Open C# Project, как то так
@x2comp2 жыл бұрын
Очень хорошее описание. Всё работает. НО! На некоторых кубиках не прыгает. Надо уйти в сторону почему-то
@RAKE_BRAWLER2 жыл бұрын
круто!
@justwaterrr3 жыл бұрын
Всё получается, кроме как прыжков, прописываю, чтобы не прыгал много раз и он перестает вообще прыгать, пытаюсь свдинуть систему координат, двигаю, начинаю менять коллайдер, и потом они возвращаются на то место, уже всяко пробовал, по видео каждое движение делал один в один) теперь я в ступоре
@streylegend58713 жыл бұрын
А вы выбирали на верхней панели с Center на Pivot в Unity? upd: прикреплю скриншот в виде ссылки prnt.sc/101u1he
@justwaterrr3 жыл бұрын
@@streylegend5871 попробую!
@streylegend58713 жыл бұрын
@@justwaterrr у меня после этого все заработало
@streylegend58713 жыл бұрын
@@justwaterrr Ну что, все работает?
@justwaterrr3 жыл бұрын
Сделал, но не получается все равно, если pivor выбираю, вообще система координат на герое исчезает
@konwertwert33093 жыл бұрын
Что делать если смешается система координат у челика?
@demix15243 жыл бұрын
Видео топ-соглашусь. Но неужели я один такой не далёкий? Можно пожалуйста комментировать каждое действие? А то наверняка многие не знают английский, а ты такой опа и создал папку, опа и занёс спрайт, а нам теперь сиди и догадывайся через какие седьмые дороги ты это сделал!!! В видео то ты это вырезал!!!!!!! Но видео классное, спасибо что стараешься для всех!!!!!!!!!!!
@vasilyborka61903 жыл бұрын
В unity есть обучение там и научиться
@SkierYT11 ай бұрын
Посмотрел комменты,как и у многих проблема: персонаж не прыгает,в коде,как говорит даже ChatGpt ошибок нету
@Alex_fullmetal_prototype Жыл бұрын
Спасибо за ролик!!
@sympathies17693 жыл бұрын
У меня не работает прыжок при: isGrounded = collider.Length > 1; Но если поставить isGrounded = collider.Length < 2; то все будет работать, но прыжок будет бесконечный(точнее, если поставить такое условие для прыжка: if (Input.GetButtonDown("Jump")) Jump(); помогите!! Я думаю это потому что у меня массив collider всегда состоит из 1 и итог условия всегда один и тот же..(Решение: нужно переместить систему координат( я думал, что она уже перемещена, а оказывается под вкладкой window в unity должно быть написано Pivot, если написано Center, то просто нажмите и у вас все изменится и вы сможете выставить систему координат так, как нужно)
@w1zzyk1332 жыл бұрын
Ты мне очень помог, Спасибо броу!
@AliceDragnil Жыл бұрын
Не помогло, в чем может быть проблема?
@GAMEKING-vp9ye3 жыл бұрын
Привет, я тут у тебя новенький и мне очень нравятся твои виде. Так держать!!! Немного начал практиковаться и столкнулся с такими проблемами: 1. Не могу сдвинуть оси к ногам персонажа(раз 10 повторил за тобой не получается) оси на том же месте остаются. 2. Я так понимаю , что visual studio меня не понимает. Например: [SerializeField], Rigidbody2D, SpriteRenderer эти слова белые(не как у тебя зеленые) и на них агрится unity (может я или не правильно установил или не подключил какую-то функцию или библиотеку?)
@atlassdev24813 жыл бұрын
Привет. 1) С этим пока неизвестно. Почему-то только в последнее время начали с этим люди сталкиваться. Раньше вроде всë нормально было 2) Установи подсказки от Unity для Visual Studio
@GAMEKING-vp9ye3 жыл бұрын
Спасибо, большое. Что самое интересное, вчера сдвигать оси получалось , а сегодня уже 30мин сижу с этим... Так теперь у меня кривые прыжки будут?
@atlassdev24813 жыл бұрын
@@GAMEKING-vp9ye Можно попробовать переделать систему отслеживания положения игрока. Через коллизию, например. Лучше посмотреть отдельные видео на эту тему
@GAMEKING-vp9ye3 жыл бұрын
@@atlassdev2481 Спасибо большое, еще раз. Жду нового видео)
@khusamov3 жыл бұрын
6:44 Эту операцию, по смещению системы координат спрайта относительно родительского объекта, сделать никак не удается. Система координат родительского объекта почему-то тоже смещается (где-то посередине между коллайдером и центром спрайта). Почему так происходит?
@fillion62883 жыл бұрын
Тоже самое, видимо после обновления юнити так.
@IgorKomolov3 жыл бұрын
Дааа, абсолютно всё также
@VIoletteVI173 жыл бұрын
как исправил?
@СергійІванов-ш1г3 жыл бұрын
Кто-то решил проблему?
@VIoletteVI173 жыл бұрын
@@СергійІванов-ш1г я забросил этот проект, чисто из-за этого бага
@НиколайКудрявцев-и8в4 ай бұрын
###У кого не прыгает### Скорее всего не прыгает потому что collider на Hero создается со смещением, у меня offset был 8, а а все остальное без смещения. Решил проблему так: в процедуре CheckGround ищу collider у Hero беру у него смещение и размер по координатам Y. Дальше создаю точку которую буду отправлять для поиска коллайдеров вместо transform.position, и даю ей координаты transform.position, чтобы она была в центре Hero. Затем используя смещение и размеры коллайдера вычисляю где ноги персонажа. И уже это отправляю на поиск. Все работает. В коде получилось следующее: private void CheckGround() { BoxCollider2D boxCollider = GetComponent(); float offsetY = boxCollider.offset.y; float sizeY = boxCollider.size.y; Vector2 point = new Vector2(transform.position.x, transform.position.y); point.y = point.y + offsetY - (sizeY/2); Collider2D[] collider = Physics2D.OverlapCircleAll(point, 0.3f); isGrounded = collider.Length > 1; }
@gduser7182 жыл бұрын
Тем у кого не работает нормально проверка на приземление: попробуйте написать isGrounded = rb.velocity.y == 0; Мне помогло
@galygaly4420 Жыл бұрын
yeessssssssssss! iskala odin deni otvet na atu oshibku :D
@ledses8552 Жыл бұрын
Дай вам бог здоровья, спасибо за туториалы!
@khasanolimjonov79583 жыл бұрын
Почему когда хочу открыть спрайт на 3:43 минуте там нельзя просто спрайт,типо square,capsule и тд выходит,можно ответ быстрее пожалуйста
@BloodyFox13373 жыл бұрын
Пни, как ответят
@imseyo2 жыл бұрын
@Klan Simbachek ответить спустя 6 месяцев - как смысл жизни
@thebestname61403 жыл бұрын
На 3:47 после вкладки 2д объект, спрайтс выходит выбор типо Square, Circle, Capsule и так далее. Что выбрать, когда надо делать платформу? Заранее спасибо
@кто-тотам-т9ъ3 жыл бұрын
Square выбирай, там изменить можно (если я правильно понимаю)
@thebestname61403 жыл бұрын
@@кто-тотам-т9ъ Спасибо, а вообще всё таки какую версию новичку лучше установить?
@Fun_TTime2 жыл бұрын
А когда делаешь персонажа что надо выбирать?
@ivankirilinru3 жыл бұрын
Вот интересно, как так? У тебя всё гладко, а у меня Студия 7 ошибок выдала еще на этапе private void Run() хотя пишу символ в символ. Хрень короч...
@Scuderus2 жыл бұрын
При запуске режима Game, во время проверки передвижения персонажа по горизонтали, появляется такая ошибка: "ArgumentException: Input Button Horisontal is not setup. To change the input settings use: Edit -> Settings -> Input" Это при том, что кнопки назначены для передвижений и по горизонтали, и по вертикали, и даже для прыжка, именно в указанном меню Edit -> Settings -> Input. Причём, устанавливал разные версии программы (2019 и 2021 года) и проблема повторялась в обеих. В комментах видел, что я не один такой. У кого такая же проблема, отзовитесь, удалось ли Вам её решить или может кто-то из профи случайно увидит этот коммент и поможет? Дальнейшее написание скрипта бессмысленно, так как персонаж не реагирует на нажатие кнопок.
@Scuderus2 жыл бұрын
В общем только что дошло, почему выдаёт постоянно ошибку с кнопкой по Horisontal... Потому что слово пишется через букву Z - HoriZontal! Ё-моё! А меня смущало, то что он в ошибке то пишет тоже через S, но через S он и писал потому как для HoriSontal кнопок то не было назначено, потому что такой оси не существует :))) Фух... ну главное разобрался... сутки на это ушли)) Надеюсь те у кого такая же проблема была прочтут это сообщение и исправят у себя ошибку в слове ;)
@rirkatuckson Жыл бұрын
чел гений, я вообще не шарю как работать со скриптами, и ваще не понял, что нужно делать.👍
@gamevideo19842 жыл бұрын
почему у меня [SerializeField] Rigidbody2D SpriteRenderer не выделяется голубым цветом, как показано на видео? У меня просто белый шрифт
@ZxcHorusLite8 ай бұрын
хоть ты писал этот коментарий 2 года назад но, это из-за того что разные версии и темы вижуал студио код
@kurandan33205 ай бұрын
@@ZxcHorusLite а можно по подробнее на этот счёт? Просто у меня с этим такая же проблема, а в теме я полный 0
@ZxcHorusLite5 ай бұрын
@@kurandan3320 в вижуал коде в разных версиях разный цвет шритов + Есть темы которые можно скачать для вижуал студио кода
@belochka-h4r3 жыл бұрын
Ребят, подскажите пожалуйста, на 6:16 он настраивает точку координат, я также выставляю её в ноги персонажу, но когда начинаю настраивать BoxCollider2D Эта точка координат сбивается, и становиться обратно в центре BoxCollider. Что нужно сделать чтоб и BoxCollider был нормальным, и точка координат персонажа тоже была в ногах?
@illiahroshev95463 жыл бұрын
Проверь куда установил BoxCollider2D, я тоже не мог выкупить, а потом как оказалось BoxCollider2D был на спрайте, проверь точно ли установлен на ГеймОбжекте
@teykolar3 жыл бұрын
@@illiahroshev9546 Спасибо))
@olgagrishkevich3798 Жыл бұрын
Там, где координаты не получаются, лучше удалить пустой этот объект, включить pivot и local и создать заново. Пока не пересоздала персонажа ничего не менялось
@КириллГорбанев-я3ц2 жыл бұрын
Не выставляется начало координат у ног персонажа, что только не пробовал, просто всегда в центр смещается. Не работает проверка на нахождение на земле, соответственно не работает прыжок и анимации из следующего урока(
@fifagameru3 жыл бұрын
пуш на гитхаб плиз, и в конце каждого урока просто ссылку
@amir_ibragimov3 жыл бұрын
kzbin.info/www/bejne/eXKzh3WKgNBmjdk все подробно и скрипты можно скачать(такая же игра)
@GameBoy-tw6sw3 жыл бұрын
Друзья, вопрос такой. Почему при сдвиге системы координат персонажа, точно так же, как указано в видео, стрелки направления координат х/y двигаются вместе с персонажем и выходят за рамки зелёного квадрата. Т.е. нажимаю на new sprite, затем двигаю персонажа вверх до того места, где находилась ось, после нажимная на Hero, оси находятся не внутри зелёного квадрата, а над ним.
@TORTCHIK-h6y2 жыл бұрын
Смогли исправить?
@димасунцов-б9н2 жыл бұрын
@@TORTCHIK-h6y у меня почти такая же проблема,автор забыл видимо пропустил что то показать,потому что делаю все как на видео,а не получается
@РоманО-ю4п2 жыл бұрын
такая же проблема, повторяю всё как на видео, но бокс коллайдер смещается вниз из-за этого. когда подгоняю его снова по персонажа, то ось тоже сдвигается. бесит, ппц.
@k00w1112 жыл бұрын
объект персонажа с его хитбоксом (зеленым квадратом) - это одно, а спрайт, картинка которую ты двигаешь - это другое. если нужно переместить зеленый квадрат то выбирай в панели объектов самого персонажа
@MrGamer-ns8yr3 жыл бұрын
Я все написал точ в точ, но он не прыгает
@atlassdev24813 жыл бұрын
Попробуй в методе прыжка поизменять значения численные. Просто у тебя скорее всего другие размеры объектов, поэтому он и думает, что ты в полëте и не даëт прыгнуть