Все очень хлипко работает. В одном кадре у человека одни строчки кода, в другом - другие. По итогу все становится таким перепутанным со всеми этими скринами vs, что в коде находятся строки, которые нужно было прописать заранее, но это не попало в кадр. И делай с этим, что хочешь. Unity просто отказывается работать с этим.
Когда начинал изучать юнити я смотрел подобные видео. И сейчас я не пожалею своего времени и напишу критику - почему это видео не поможет вам создать реальную игру. 1) Когда вы скачиваете чужие тайлсеты и картинки - это уже не ваша игра. Потому что они чужие. Далее вы увидите проблемы, связанные с этим. 2) Спрайтлист с покадровыми картинками. Это неверно. Если вам понадобится изменить цвет одежды героя - вам придется перерисовывать все кадры. А как вы сделаете скины, смену одежды героя - продублируете все анимации? А как вы сделаете долгую анимацию? А сколько места будут занимать покадровые анимации в релизе? Очень много. Знаете, всё уже решено - есть множество программ анимации с экспортом в JSON. 3) Что автор видео делает? Он разрезал спрайты вручную? 0_0 Пс, парень даже новички режут спрайты автоматически. Кто понимает смысл резки, режут уже по величине ячейки. И далее используют сетки, по которой рисуют, но ты...ты поместил эти картинки в отдельный объект??? Ну тут мои полномочия уже всё. Такого я не ожидал. Нужно резать картинки на тайлы и рисовать ими по сетке. 4) А лягушку автор нарезал. Логика. 5) Подгонка по размеру пиксель пер юнит? Чудеса продолжаются. А ничего, что 100 пикселей = 1 метру? (хабр в помощь, советы от про). Нет, так можно, но потом, если понадобится физика не обижайтесь, она будет кривая и вот там вы начнете подгонять физику под размеры. А что надо? Надо нормально выбрать масштаб и рисовать объекты в одном масштабе, а не изменять их PPU (а как с другими объектами - свой PPU под размер у каждого? Круто - у объектов разный PPU = разное качество детализации, крутая игра, качественная) 6) У лягушки фильтр отключили т.к. пиксель арт (кстати пиксель арт это техника рисовки, а не перфект пиксель, о чем намекает автор) а сжатие спрайта? Забыли. 7) Ну вот и следствие пункта 5. Изменили PPU земли и её размер увеличился. Левел дизайн? Как бы нам всё равно какой размер у нас земли, высота прыжка, не допрыгнул из за высоты земли..хотя у вас люгушка же, продолжаем чудеса разработки... 8) Переставляю изображения...) Сегодня будет 1 платформа на уровне или нет? Нет правда таскали по одному? Как бы там инструмент выделения нескольких есть... 9) Пустой дочерний объект для отделения визуальной от физической части? 0_0 10) Ну вот и наш юнити аниматор. Стрелочки, состояния и в перспективе ад аниматора. Ну это вы потом узнаете, хотя можете и сейчас - на ютубе есть ролики. И это ещё один повод использовать сторонние решения для анимации. 11) Капсула коллайдер. Знаете - капсула она...закругленная. Когда ваш лягушонок подойдет к краю платформы, он весьма неприятно с неё соскользнет. Ну у вас же нет нормального подхода с сеткой, тайлмеп коллайдером, композитом и бокс коллайдером со скруглением, который решит все вопросы. Пожелаем вашим игрокам терпенья. 12) Риджитбади добавили, но не настроили.У вас лягушонок 25 сантиметров и 1 килограмм. Африканский? 13) И двигаем его трансформом. А может стоит использовать силу, импульс? Трансформ не для этого нужен. 14) В FixedUpdate используется тайм-дельтатайм? То есть в фиксированном вызове вы умножаете скорость на случайную разницу между кадрами? 0_0 У вас персонаж каждый кадр будет иметь случайную скорость. А то что он, как вам кажется движется равномерно это малая разница между случайными величинами. 15) Поворот не через флип икс. Если у вас будет не спрайт (а он потом будет), этот метод не сработает. 16) В методе апдейт присваиваем значение? Паттерн обзервер с реализацией - события в C# не? Не мучайте апдейт - ему каждый раз трудно выставлять одно и тоже значение, оно же не меняется каждый кадр. 17) Определение земли. Вот это хорошая, интересная тема. Кто сферой определяет, кто лучами - простор для фантазии. Вы пускаете луч откуда? Из центра? Лягушонок встал на край центром ближе к пропасти - луч идет в пропасть = не на земле. А он стоит на земле. Потому что так это не делается. 18) Ускорение по вертикали = в полете? 0_0 Встали на платформу, которая едет вверх = ускорение вверх=летим? Вы зачем подменяете термины? Ускорение=..ускорение! Ваш К.О. 19) Вот она, вот она схема аниматора моей мечты. 4 анимации и уже всё перечеркнуто стрелками, а в реальном проекте их будет 40 ) Представили? Потому что не используют этот ваш аниматор. И всё. У вас полностью забагованная игра.
@@forestspirit5453 чат гпт поможет ответить на многие вопросы. Напишет код, обучит как правильно писать, все объяснит. Куча телеграм каналов по юнити. Редактор юнити в руки, чат гпт, какой ни будь курс по базе юнити для новичка (там вас обучат не правильно, но это пока не важно) и вперед. Будете пробовать, ошибаться, спрашивать чат гпт, записывать правильные решения. Если 2D у вас проект - то Spine 2D с его профессиональными возможностями - скелетной анимацией, скинами, несколькими скелетами, сетками. Пролеченная версия есть в интернете. С вопросами помогут на официальном форуме, даже если у вас нет лицензии. Но вот точно не этот ужас с аниматором. Геймдеву нельзя научится, потому что каждая игра по сути уникальна. А те кто умеет делать игры и их продавать не заинтересованы в вашей оплате. Поэтому будете собирать знания отовсюду, проверять их, что то окажется правдой и будет работать, что то нет. Можно научится базовым вещам и далее искать свой стиль арта, анимации, свой тип игр который вы будете делать. Кто то специализируется на шутерах, другие на хоррорах, кто то на платформерах. Обычно выпускают один тип, жанр игр улучшая свой навык и перенося удачные решения в свои новые игры. Через 3-5- 10 игр, выпущенных в стиме получают признание и деньги. Выбирайте жанр игры, первую простую игру которую вы хотите сделать. Перед выбором игры, посмотрите видео по геймдизайну. Ну если хотите, чтобы в вашу игру кто то кроме вас играл. Посмотрите типы игроков, способы удержания игрока, популярные механики - то, за что вашу игру будут любить другие игроки. И делайте. Игр через 5, возможно, вас ждет успех. По времени у некоторых занимает 3 года, у некоторых 10 лет. Инди разработка.
я новичек в этой сфере, но безумно хочу сделать игру. По гайду все понятно. Проблемы начались когда начал привязывать анимацию к скрипту анимации, у тебя в видео ты его закинул пот скрипт самого обьекта, я повторил, но юнити говорит, мол у этого обьэкта нет аниматора, к которому ссылается этот скрип, и анимации бега не было. Я чуть подумал и закинул его в сам спрайт - все заработало. Начал продвигаться дальше - прыжок. Я не нарисовал своему персонажу отдельную внимацию падения так что мне даже проще было все реализовать, вот только персонаж почему то вначале просто улетал, потом когда добавил проверку с вектором которую не до конца понял и просто слизал код, - вообще не прыгает, на Space никак не реагирует, и силу прыжка меня и ошибки в коде искал - не нашел. Короче все сложно...
И да и нет. Основное различие между "спрайтом" и "картинкой" в Unity связано скорее с контекстом использования термина и конкретным назначением изображения в игровой разработке, нежели с какими-то техническими различиями. Картинка обычно является более обобщенным термином, который может включать в себя как спрайты, так и текстуры. Что такое масло? Масло - это масло :)
не понятно, что люди пишут, что всё понятно, ты про groundMask ничего не сказал, что типо надо создать переменную, слой, выбрать эту маску в инспекторе. Либо всем понятно, либо они просто не пробовали повторить код)) и у тебя ошибка с лучом RaycastHit2D hit = Physics2D.Raycast(rayPos, Vector3.down, rayLenght, mask); направление тупо вниз должно быть, а в твоем случае если игрок находится на координате 1,1,0 плюс этот Vector3.down (0, -1, 0), то суммарно 1,0,0 - а это луч, который направлен направо
@@ПавелЗаславский Смотри конкретно этой штуки не нашел, но нашел другой вариант через создание коллайдера в виде кружка, который проверяет есть ли в этой зоне земля или нет и от этого меняется переменная isGrounded. Можешь поискать в гугле как убрать мульти-прыжок
ну... ты обрезал "ненужные" моменты именно тогда когда ты менял скрипты и из за этого я пытался на протяжении 30 минут понять почему у тебя работает а у меня нет красавчик конечно слов нет
Видос классный, автор молодец, только вот как узнать какие параметры ставить ? В скрипте в инспекторе , длину и оффсет , чтобы персонаж мог прыгать. За помощь был бы премного благодарен
работает, но не все. что-то пришлось чинить самому, а про что-то вообще забыть. но в остальном круто, спасибо что хоть что-то работает, а не как у некоторых(у которых ниче не работает).
ку, может ты поможешь private CharacterAnimations _animations; CharacterAnimations почему-то не может найти и ошибка The type or namespace name 'CharacterAnimations' could not be found (are you missing a using directive or an assembly reference?)
@@ZxcHorusLite CharacterAnimations это название самого скрипта при созданий ты кажется по другому его назвал, попробуй написать имя С# Скрипта когда ты создавал этот скрипт
Сделал все как на видео. Анимации все поменялись, idle стал бегом, бег idleом, прыжок работает, но теперь если прыгнуть его анимация не прекращается. Fall вообще не работает, а еще можно бесконечно прыгать.
и еще у тебя проверка по тэгу лишняя, так как по маске ты уже проверил, что это земля. достаточно проверить коллайдер на ноль и всё. Надо код ревью по твоему коду сделать и видео снять))
Сделал всё также как и в видео, ошибок нет, а анимация ходьбы не проигрывается. Персонаж просто ходит без неё. Кто знает как это исправить подскажите, пожалуйста
Перемещение тут реализовано через толкание персонажа. Это неприемлимо для 2д платформеров. Перемещение должно быть без такой сильной инерции. Если и оставлять ее, то только минимальную. Аналогично и с прыжком. Персонаж не должен летать, он должен приземлсяться быстрее.
Передача значения в скрипт анимации выделяет ошибку _animations.IsFlying - IsFlying нету метода. _animations.IsMoving = _isMoving; _animations.IsFlying = IsFlying(); что делать? Assets\Level\Scripts\CharacterMovement.cs(47,18): error CS1061: 'CharacterAnination' does not contain a definition for 'IsFlying' and no accessible extension method 'IsFlying' accepting a first argument of type 'CharacterAnination' could be found (are you missing a using directive or an assembly reference?)
Моя мечта была научиться делать игры, я даже для этого пк новый собрал, но только после того как скачал юнити, окончательно понял что я слишком тупой. Было мне тогда лет 10, я просто его удалил и пошел реветь.
RaycastHit2D hit = Physics2D.Raycast(rayStartPosition, rayStartPosition + Vector3.down, rayLength, groundMask); И выдаёт ошибку The name 'groundMask' does not exist in the current context. Кто может, помогите пожалуйста
Кто-нибудь решил проблему с тем, что герой не прыгает? Двигается и анимации происходят, а прыжки нет. Код в точности как у автора видео, но почему-то прыгать не получается. Помогите пожалуйста, уже несколько дней не могу эту проблему решить!
Ну для начала просто выучить язык, а потом документация + какие-то видео с примерами использования. Simple Code довольно удобный канал для c#, ну а unity много уроков, любой выбирай
Помоги пожалуйста. У меня такая проблема тут. Я написал скрипт, в точности как у тебя. Но почему-то, вылезает ошибка "error CSO103: The name' _characterSprite ' does not exist in the current context". Типа, Данное имя не существует в этом контексте. Что делать? Если ответишь, заранее спасибо.
@@Fee1GoodGamedev да. Сейчас перезагружу файл проекта.... . . да. Всё было как на видео, просто юнити чудил. Перезашёл в проект и всё стало нормально. Спасибо :)
У меня ошибка в коде. Уже второй день голову ломаю. Помогите, пожалуйста. Кто шарит. using System.Collections; using System.Collections.Generic; using System.Diagnostics; using UnityEngine;
public class PlayerContpoll : MonoBehaviour { public float speed; public float jumpForce; public float moveInput; private Rigidbody2D rb; private bool facingRight = true; private bool isGrounded; public Transform feetPos; public float checkRadius; public LayerMask whatIsGround; private void Start() { rb = GetComponent(); } private void FixedUpdate() { moveInput = Input.GetAxis("Horizontal"); rb.velocity = new Vector2(moveInput * speed, rb.velocity.y); } private void Update() { isGrounded = Physics2D.overlapCircle(feetPos.position, checkRadius, whatIsGround); if (isGrounded == true && Input.GetKeyDown(KeyCode.Space)) { rb.velocity = Vector2.up * jumpForce; } }
Я не понимаю как ты это все понял. как ты блин запомнил всю эту муть весь этот порядок действий. я посмотрел и вроде как боле менее ясно но стоит только закрыть видео и нихуя не помню. пиздец
написал код анимации в точности как у тебя и все привязал и выбивает ошибку в юнити:"NullReferenceException: Object reference not set to an instance of an object Hero.Move () (at Assets/Hero.cs:34) Hero.FixedUpdate () (at Assets/Hero.cs:22)"
Awake вызывается до Start, +если создать объект с выключеным скриптом будет вызван Awake, а если уже после создания включить скрипт на объекте, то Start
видео топ , но почему то когда делаю анимацию бездействия и ставлю время ничего не меняется так же когда соединяю бездействие и бег ю Помоги пожалуйста
Assets\PlayerMove.cs(12,13): error CS0246: The type or namespace name 'CharacterAnimations' could not be found (are you missing a using directive or an assembly reference?) написал все также как и на видео но по факту выдает вот так, хз как исправлять уже все перебробовал
Помогите! Ошибка: NullReferenceException: Object reference not set to an instance of an object CharacterMovement.Move() (at Assets\Scriptes\CharacterMovement.cs:41) Только начал учить Юнити так что не могу понять что не так
некоторые моменты забываешь указать. тернарные операторы лишний раз используешь: rigidbody.velocity.y < 0? true : false это же аналогично rigidb.velocity.y < 0; - и так выдаст true или false
Что делать если анимация бега проигрывается еще несколько секунд даже после того как isMoving снова стала false? (Если говорить проще, то мой персонаж проигрывает анимацию еще пару секунд после того как я остановил его)
Все очень хлипко работает. В одном кадре у человека одни строчки кода, в другом - другие. По итогу все становится таким перепутанным со всеми этими скринами vs, что в коде находятся строки, которые нужно было прописать заранее, но это не попало в кадр. И делай с этим, что хочешь. Unity просто отказывается работать с этим.
Когда начинал изучать юнити я смотрел подобные видео. И сейчас я не пожалею своего времени и напишу критику - почему это видео не поможет вам создать реальную игру.
1) Когда вы скачиваете чужие тайлсеты и картинки - это уже не ваша игра. Потому что они чужие. Далее вы увидите проблемы, связанные с этим.
2) Спрайтлист с покадровыми картинками. Это неверно. Если вам понадобится изменить цвет одежды героя - вам придется перерисовывать все кадры. А как вы сделаете скины, смену одежды героя - продублируете все анимации? А как вы сделаете долгую анимацию? А сколько места будут занимать покадровые анимации в релизе? Очень много.
Знаете, всё уже решено - есть множество программ анимации с экспортом в JSON.
3) Что автор видео делает? Он разрезал спрайты вручную? 0_0 Пс, парень даже новички режут спрайты автоматически. Кто понимает смысл резки, режут уже по величине ячейки. И далее используют сетки, по которой рисуют, но ты...ты поместил эти картинки в отдельный объект??? Ну тут мои полномочия уже всё. Такого я не ожидал.
Нужно резать картинки на тайлы и рисовать ими по сетке.
4) А лягушку автор нарезал. Логика.
5) Подгонка по размеру пиксель пер юнит? Чудеса продолжаются. А ничего, что 100 пикселей = 1 метру? (хабр в помощь, советы от про). Нет, так можно, но потом, если понадобится физика не обижайтесь, она будет кривая и вот там вы начнете подгонять физику под размеры.
А что надо? Надо нормально выбрать масштаб и рисовать объекты в одном масштабе, а не изменять их PPU (а как с другими объектами - свой PPU под размер у каждого? Круто - у объектов разный PPU = разное качество детализации, крутая игра, качественная)
6) У лягушки фильтр отключили т.к. пиксель арт (кстати пиксель арт это техника рисовки, а не перфект пиксель, о чем намекает автор) а сжатие спрайта? Забыли.
7) Ну вот и следствие пункта 5. Изменили PPU земли и её размер увеличился. Левел дизайн? Как бы нам всё равно какой размер у нас земли, высота прыжка, не допрыгнул из за высоты земли..хотя у вас люгушка же, продолжаем чудеса разработки...
8) Переставляю изображения...) Сегодня будет 1 платформа на уровне или нет? Нет правда таскали по одному? Как бы там инструмент выделения нескольких есть...
9) Пустой дочерний объект для отделения визуальной от физической части? 0_0
10) Ну вот и наш юнити аниматор. Стрелочки, состояния и в перспективе ад аниматора. Ну это вы потом узнаете, хотя можете и сейчас - на ютубе есть ролики. И это ещё один повод использовать сторонние решения для анимации.
11) Капсула коллайдер. Знаете - капсула она...закругленная. Когда ваш лягушонок подойдет к краю платформы, он весьма неприятно с неё соскользнет. Ну у вас же нет нормального подхода с сеткой, тайлмеп коллайдером, композитом и бокс коллайдером со скруглением, который решит все вопросы. Пожелаем вашим игрокам терпенья.
12) Риджитбади добавили, но не настроили.У вас лягушонок 25 сантиметров и 1 килограмм. Африканский?
13) И двигаем его трансформом. А может стоит использовать силу, импульс? Трансформ не для этого нужен.
14) В FixedUpdate используется тайм-дельтатайм? То есть в фиксированном вызове вы умножаете скорость на случайную разницу между кадрами? 0_0
У вас персонаж каждый кадр будет иметь случайную скорость. А то что он, как вам кажется движется равномерно это малая разница между случайными величинами.
15) Поворот не через флип икс. Если у вас будет не спрайт (а он потом будет), этот метод не сработает.
16) В методе апдейт присваиваем значение? Паттерн обзервер с реализацией - события в C# не? Не мучайте апдейт - ему каждый раз трудно выставлять одно и тоже значение, оно же не меняется каждый кадр.
17) Определение земли. Вот это хорошая, интересная тема. Кто сферой определяет, кто лучами - простор для фантазии. Вы пускаете луч откуда? Из центра? Лягушонок встал на край центром ближе к пропасти - луч идет в пропасть = не на земле. А он стоит на земле. Потому что так это не делается.
18) Ускорение по вертикали = в полете? 0_0 Встали на платформу, которая едет вверх = ускорение вверх=летим? Вы зачем подменяете термины?
Ускорение=..ускорение! Ваш К.О.
19) Вот она, вот она схема аниматора моей мечты. 4 анимации и уже всё перечеркнуто стрелками, а в реальном проекте их будет 40 ) Представили?
Потому что не используют этот ваш аниматор.
И всё. У вас полностью забагованная игра.
Аниматор не используют, а что тогда?
Как этому всему научиться? Где получать информацию?
@@forestspirit5453 чат гпт поможет ответить на многие вопросы. Напишет код, обучит как правильно писать, все объяснит.
Куча телеграм каналов по юнити.
Редактор юнити в руки, чат гпт, какой ни будь курс по базе юнити для новичка (там вас обучат не правильно, но это пока не важно) и вперед.
Будете пробовать, ошибаться, спрашивать чат гпт, записывать правильные решения.
Если 2D у вас проект - то Spine 2D с его профессиональными возможностями - скелетной анимацией, скинами, несколькими скелетами, сетками. Пролеченная версия есть в интернете. С вопросами помогут на официальном форуме, даже если у вас нет лицензии.
Но вот точно не этот ужас с аниматором.
Геймдеву нельзя научится, потому что каждая игра по сути уникальна. А те кто умеет делать игры и их продавать не заинтересованы в вашей оплате.
Поэтому будете собирать знания отовсюду, проверять их, что то окажется правдой и будет работать, что то нет.
Можно научится базовым вещам и далее искать свой стиль арта, анимации, свой тип игр который вы будете делать.
Кто то специализируется на шутерах, другие на хоррорах, кто то на платформерах. Обычно выпускают один тип, жанр игр улучшая свой навык и перенося удачные решения в свои новые игры. Через 3-5- 10 игр, выпущенных в стиме получают признание и деньги.
Выбирайте жанр игры, первую простую игру которую вы хотите сделать.
Перед выбором игры, посмотрите видео по геймдизайну. Ну если хотите, чтобы в вашу игру кто то кроме вас играл.
Посмотрите типы игроков, способы удержания игрока, популярные механики - то, за что вашу игру будут любить другие игроки.
И делайте. Игр через 5, возможно, вас ждет успех. По времени у некоторых занимает 3 года, у некоторых 10 лет.
Инди разработка.
Спасибо большое за столь ценную информацию!🙏
По началу - ничего не понятно,
Но как посидишь над этим 2 дня, с свежей головой сядешь - понимаешь.
Спасибо за помощь)
лучший чел, очень приятно смотреть твои гайды! спасибо
Можешь сделать плейлист по созданию платформера? Было бы очень круто
Забыл сказать, что скрипт CharacterAnimations нужно закинуть на спрайт персонажа 7:28
БЛАГОДАРЮ
Ты святой. Верю в тебя. Гений миллиардер плейбой филантроп
Может ты еще и знаешь почему не прыгает персонаж? :_) Что там с проверкой земли не так?
@@kindfairy8 Автор не показал половину кода, нужно делать по другим гайдам
ЛЕХЕНДА СПАСИБО
Простое, но подробное и понятное объяснение, Спасибо!
Спасибо, очень понятно, аж можно повторить это на другом движке.
Топ видос новичкам будет полезно, и если планируешь сделать подбор предметов то нужно уже и инвентарь наверное сделать
Отличное видео, все понятно и доступно. Говорю, как человек, который в юнити работает пару дней
я новичек в этой сфере, но безумно хочу сделать игру. По гайду все понятно. Проблемы начались когда начал привязывать анимацию к скрипту анимации, у тебя в видео ты его закинул пот скрипт самого обьекта, я повторил, но юнити говорит, мол у этого обьэкта нет аниматора, к которому ссылается этот скрип, и анимации бега не было. Я чуть подумал и закинул его в сам спрайт - все заработало. Начал продвигаться дальше - прыжок. Я не нарисовал своему персонажу отдельную внимацию падения так что мне даже проще было все реализовать, вот только персонаж почему то вначале просто улетал, потом когда добавил проверку с вектором которую не до конца понял и просто слизал код, - вообще не прыгает, на Space никак не реагирует, и силу прыжка меня и ошибки в коде искал - не нашел. Короче все сложно...
Чел удачи тебе, всем сердцем верю что у тебя всё получится 👍
@@deni6336 тот самый человек который отвечает на комментарии трехмесячной данности
@@kartoshka2456 тот самый человек который отвечает на комментарии 4 дневной давности
@@menaker5097 Тот самый человек который отвечает на комментарии 2-х недельной давности
@@fokrisgames4396 тот самый человек который отвечает на комментарии недельной давности
спасиба все очень понятно
спрайт - это набор изображений, а не спрайтов.
спрайт это и есть изображение🤡
И да и нет. Основное различие между "спрайтом" и "картинкой" в Unity связано скорее с контекстом использования термина и конкретным назначением изображения в игровой разработке, нежели с какими-то техническими различиями. Картинка обычно является более обобщенным термином, который может включать в себя как спрайты, так и текстуры.
Что такое масло? Масло - это масло :)
не понятно, что люди пишут, что всё понятно, ты про groundMask ничего не сказал, что типо надо создать переменную, слой, выбрать эту маску в инспекторе. Либо всем понятно, либо они просто не пробовали повторить код)) и у тебя ошибка с лучом RaycastHit2D hit = Physics2D.Raycast(rayPos, Vector3.down, rayLenght, mask); направление тупо вниз должно быть, а в твоем случае если игрок находится на координате 1,1,0 плюс этот Vector3.down (0, -1, 0), то суммарно 1,0,0 - а это луч, который направлен направо
Неплохое видео. Можно полезного почерпнуть. Только подскажи, пожалуйста, где взять "groundMask"?
ты нашел ответ?
@@9kiyoti нее, не нашëл. Подскажи.
@@ПавелЗаславский Смотри конкретно этой штуки не нашел, но нашел другой вариант через создание коллайдера в виде кружка, который проверяет есть ли в этой зоне земля или нет и от этого меняется переменная isGrounded. Можешь поискать в гугле как убрать мульти-прыжок
@@9kiyoti, спасибо за ответ! Вроде, в других видео что-то нашёл. Тестим, учимся.
привет,смог найти?@@ПавелЗаславский
что такое твой groundMask???? я не вижу, чтобы ты его где-то прописывал
согласен
Короче есть небольшие ошибки, но в целом с кодом я согласен. Продолжай движуху)
ну...
ты обрезал "ненужные" моменты именно тогда когда ты менял скрипты
и из за этого я пытался на протяжении 30 минут понять почему у тебя работает а у меня нет
красавчик конечно
слов нет
А когда вторая часть?
Видос классный, автор молодец, только вот как узнать какие параметры ставить ? В скрипте в инспекторе , длину и оффсет , чтобы персонаж мог прыгать. За помощь был бы премного благодарен
Спасибо , очень познавательно
Надо было пики высоких частот подрезать на этапе монтажа видео. Уши в наушниках режет ппц
Хей, а можешь сделать видео "гайд как сделать улучшения (чего либо). Мне просто ооочень хочется сделать игру, а это самое главное.;-)
Большое тебе спасибо!
Для быстрого создания уровня можно использовать Тайл мап.
Быстрее чем 4 спрайта поставить?
@@Fee1GoodGamedev Ну вообще, да. Ну если у тебя игра из четырех спрайтов, тогда можешь просто их поставить :D
работает, но не все. что-то пришлось чинить самому, а про что-то вообще забыть. но в остальном круто, спасибо что хоть что-то работает, а не как у некоторых(у которых ниче не работает).
ку, может ты поможешь
private CharacterAnimations _animations;
CharacterAnimations почему-то не может найти
и ошибка
The type or namespace name 'CharacterAnimations' could not be found (are you missing a using directive or an assembly reference?)
там надо прописать другой скрипт с таким же названием CharacterAnimations@@ZxcHorusLite
@@ZxcHorusLite Тоже самое, ты уже решил?
@@ZxcHorusLite CharacterAnimations это название самого скрипта при созданий ты кажется по другому его назвал, попробуй написать имя С# Скрипта когда ты создавал этот скрипт
5:44 когда моделька лягушке переходит из покоя в бег оно у меня уменшилось раз в 10.
Сделал все как на видео. Анимации все поменялись, idle стал бегом, бег idleом, прыжок работает, но теперь если прыгнуть его анимация не прекращается. Fall вообще не работает, а еще можно бесконечно прыгать.
0:49 я почему-то немогу найти вкладку "тип текстуры" у себя на пк
Когда 2 часть?
продолжай снимать пожалйста плиииз
Я тоже так хочу вы когда ты это делаешь
для создания уровня по тайлам лучше использовать tile map
Блин все круто но пж не торопись все медленно я понимаю что все правильно но очень тяжело понять когда так быстро
Видео классное, но у меня появился вопрос. Почему когда я скачиваю те же самые ассеты, они скачиваются с качеством хуже, чем на видео
и еще у тебя проверка по тэгу лишняя, так как по маске ты уже проверил, что это земля. достаточно проверить коллайдер на ноль и всё. Надо код ревью по твоему коду сделать и видео снять))
Хм, поменял значение скорости в аниматоре... на сцене анимация так же очень быстро проигрывается, но вот уже при запуске игры анимация медленная.
Сделал всё также как и в видео, ошибок нет, а анимация ходьбы не проигрывается. Персонаж просто ходит без неё. Кто знает как это исправить подскажите, пожалуйста
А зачем ты Vector3 берешь для 2D пространства?
Откуда взялось groundMask?
рил
Уже год прошел где прода
Перемещение тут реализовано через толкание персонажа. Это неприемлимо для 2д платформеров. Перемещение должно быть без такой сильной инерции. Если и оставлять ее, то только минимальную. Аналогично и с прыжком. Персонаж не должен летать, он должен приземлсяться быстрее.
Передача значения в скрипт анимации выделяет ошибку _animations.IsFlying - IsFlying нету метода.
_animations.IsMoving = _isMoving;
_animations.IsFlying = IsFlying();
что делать?
Assets\Level\Scripts\CharacterMovement.cs(47,18): error CS1061: 'CharacterAnination' does not contain a definition for 'IsFlying' and no accessible extension method 'IsFlying' accepting a first argument of type 'CharacterAnination' could be found (are you missing a using directive or an assembly reference?)
попробуй добавить метод private bool _IsFlying
Ну как всегда у меня одного НИЧЕГО в этой жизни не получается
После подобных комментов у меня пропадает мотивация (((
Моя мечта была научиться делать игры, я даже для этого пк новый собрал, но только после того как скачал юнити, окончательно понял что я слишком тупой. Было мне тогда лет 10, я просто его удалил и пошел реветь.
хахахах,бывает
mükemmel eğitim, bir poatformer yapmak istedim
Ничего не понял, но очень интересно
@@Fee1GoodGamedev все понятно же он сказал "Отличная дрессировка, хотел сделать потёрного"
Что делать если мой персонаж не переключается с анимации покоя в бег ?
Где следующая часть?
if (_input.x !=0) куда делась эта строчка после перехода? В
консоли 0 ошибок персонаж не ходит.
А у тебя не возникало проблем с переходом анимации покоя в бег?
The accessibility modifier of the 'Animation.Moving.get' accessor must be more restrictive than the property or indexer 'Animation.Moving' Что делать?
Напиши подробнее в дискорде
4:15 как выделить так можно? Подскажите пожалуйста!
Через shift
А как магнитить текстуру к текстуре, 1:44 что-то типу етого.
Зажми V
@@Fee1GoodGamedev Большое спасибо! 🥰🥰
коли продовження
RaycastHit2D hit = Physics2D.Raycast(rayStartPosition, rayStartPosition + Vector3.down, rayLength, groundMask);
И выдаёт ошибку The name 'groundMask' does not exist in the current context. Кто может, помогите пожалуйста
Создай поле LayerMask groundMask;
@@Fee1GoodGamedev где?
А как в скрипт перейти, чтобы начать писать его?
Не получается зайти на дискорд, покажите код целиком, пожалуйста?
ахуенно объяснил, как в итоге спрайты вырезать гений ?
что за сайт с наборами ?
скечфаб вроде
Кто-нибудь решил проблему с тем, что герой не прыгает? Двигается и анимации происходят, а прыжки нет. Код в точности как у автора видео, но почему-то прыгать не получается. Помогите пожалуйста, уже несколько дней не могу эту проблему решить!
привет, смог решить?
@@kamikot4349 привет, смог решить?
@@WhiskasCorn смог,но уже не помню как,если надо могу поискать и свой код скинуть если не удалил ещё
@@kamikot4349 мне бы кто ответил. Можешь. Чо он не прыгает?
А где видео про мемес бравл и кст я хочу новую обнову я знаю что это очень трудно но пожалуйста сделай обнову
когда проода
начиная со скриптов я них** не понял. Кто может подсказать какие нибуть курсы по изучению кодирования на С# в юнити.
Ну для начала просто выучить язык, а потом документация + какие-то видео с примерами использования. Simple Code довольно удобный канал для c#, ну а unity много уроков, любой выбирай
Привет, а что делать если мой плаер падает на бок при передвижении? Я не знаю что делать.
а ой, сори тупанул. Нашёл причину
Помоги пожалуйста. У меня такая проблема тут. Я написал скрипт, в точности как у тебя. Но почему-то, вылезает ошибка "error CSO103: The name' _characterSprite ' does not exist in the current context". Типа, Данное имя не существует в этом контексте. Что делать? Если ответишь, заранее спасибо.
Советую прейти на мой канал. У меня есть видео про движение игрока, там все понятно, а самое главное РАБОТАЕТ! Проверено)
он говорит перенисти спрайт в папку вопрос как и в какую папку ведь папку он закрывает своими
легухами
Почему видосы не снимаешь?
Так вон, 3 дня назад же выложил)
@@Fee1GoodGamedev А 2 часть когда будет?
Что делать, если недоступна опция Slice в Sprite Editor?
А настройки спрайта верные? Sprite, multiple
@@Fee1GoodGamedev да. Сейчас перезагружу файл проекта....
.
.
да. Всё было как на видео, просто юнити чудил. Перезашёл в проект и всё стало нормально. Спасибо :)
Чувак всё классно, но мой персонаж не хочет прыгать, как быть?
смотри как работает проверка земли, и настрой ее, там луч из середины объекта выходит
@@Fee1GoodGamedev как этот луч настроить?
@@TheKeeperOfTBoI на скрипте в инспекторе есть длинна и оффсет
@@Fee1GoodGamedev это я знаю, а по каким параметрам?
@@TheKeeperOfTBoI ну как ты решил проблему? можешь подсказать?
У меня ошибка в коде. Уже второй день голову ломаю. Помогите, пожалуйста. Кто шарит. using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using UnityEngine;
public class PlayerContpoll : MonoBehaviour
{
public float speed;
public float jumpForce;
public float moveInput;
private Rigidbody2D rb;
private bool facingRight = true;
private bool isGrounded;
public Transform feetPos;
public float checkRadius;
public LayerMask whatIsGround;
private void Start()
{
rb = GetComponent();
}
private void FixedUpdate()
{
moveInput = Input.GetAxis("Horizontal");
rb.velocity = new Vector2(moveInput * speed, rb.velocity.y);
}
private void Update()
{
isGrounded = Physics2D.overlapCircle(feetPos.position, checkRadius, whatIsGround);
if (isGrounded == true && Input.GetKeyDown(KeyCode.Space))
{
rb.velocity = Vector2.up * jumpForce;
}
}
CharacterSprite AnimationEvent has no function name specifield помоги пжлст я уже всё перепробовал
Напиши в дискорде, может ивент в анимации поставил
Я не понимаю как ты это все понял. как ты блин запомнил всю эту муть весь этот порядок действий. я посмотрел и вроде как боле менее ясно но стоит только закрыть видео и нихуя не помню. пиздец
Добрий день, простите что означает GroundMask? У меня пишет что нудно задають переменую
Скорее всего LayerMask
@@Fee1GoodGamedev способом заработало
создай переменую и все!
а как оставить ссылку на компонент в скрипте?
можно ссылку на сайт с спрайтами
itch io
@@Fee1GoodGamedev спасибо
Не работает скрипт на движение(
Советую прейти на мой канал. У меня есть видео про движение игрока, там все понятно, а самое главное РАБОТАЕТ! Проверено)
только для новичков лучше тайлсет используй,а не этои куски платформ
написал код анимации в точности как у тебя и все привязал и выбивает ошибку в юнити:"NullReferenceException: Object reference not set to an instance of an object
Hero.Move () (at Assets/Hero.cs:34)
Hero.FixedUpdate () (at Assets/Hero.cs:22)"
типо ссылку на скрипт анимации не видит..но почему....
у меня было подобное, добавил компонент скрипт CharacterAnimations к спрайту игрока в инспекторе, помогло
я начинающий, куда ты код привязал, понять не могу
@@yz3815 Чел, ты лучший
Видел у другого ютубера, что он "получал" Rigidbody2D не в Start , а в Awake. В чём разница?
Awake вызывается до Start, +если создать объект с выключеным скриптом будет вызван Awake, а если уже после создания включить скрипт на объекте, то Start
Советую прейти на мой канал. У меня есть видео про движение игрока, там все понятно, а самое главное РАБОТАЕТ! Проверено)
Что за пк?
Добрый вечер. Выдает ошибку о том, что не найден GroundMask
Напиши в дискорде в лс
автор заметь пж 😢: дай ссылку на сайт со спрайтамм
видео топ , но почему то когда делаю анимацию бездействия и ставлю время ничего не меняется так же когда соединяю бездействие и бег ю Помоги пожалуйста
Напиши в дискорд
Assets\PlayerMove.cs(12,13): error CS0246: The type or namespace name 'CharacterAnimations' could not be found (are you missing a using directive or an assembly reference?)
написал все также как и на видео но по факту выдает вот так, хз как исправлять уже все перебробовал
Ссылка на CharacterAnimations пустая, смотри как получаешь, скорее всего проблема в иерархии
@@Fee1GoodGamedev попробую исправить, спасибо
а куда надо ставить скрипт characters animation?
скорее всего на объект спрайта, либо туда же, где контроллер
Помогите! Ошибка: NullReferenceException: Object reference not set to an instance of an object CharacterMovement.Move() (at Assets\Scriptes\CharacterMovement.cs:41) Только начал учить Юнити так что не могу понять что не так
Советую прейти на мой канал. У меня есть видео про движение игрока, там все понятно, а самое главное РАБОТАЕТ! Проверено)
@@mityasha11 у тебя только еда на канале
Умаляю скиньте код! 😭🙏
некоторые моменты забываешь указать. тернарные операторы лишний раз используешь: rigidbody.velocity.y < 0? true : false это же аналогично rigidb.velocity.y < 0; - и так выдаст true или false
Что делать если анимация бега проигрывается еще несколько секунд даже после того как isMoving снова стала false? (Если говорить проще, то мой персонаж проигрывает анимацию еще пару секунд после того как я остановил его)
Выход из анимации галочку с Has Exit Time снять нужно
Почему ты просто не используешь Tilemap для построения платформ? Зачем каждый раз дублировать спрайты?
Я не делаю полноценную игру. Мне проще было скопировать спрайты за минуту, чем настраивать тайлмап. Это урок не про него
автор умоляю помоги с тегом беда Tag: Ground is not defined
персонаж почему-то не ходит:(
Советую прейти на мой канал. У меня есть видео про движение игрока, там все понятно, а самое главное РАБОТАЕТ! Проверено)
Сильно быстро, мне не понятно.
Советую прейти на мой канал. У меня есть видео про движение игрока, там все понятно, а самое главное РАБОТАЕТ! Проверено)
не понимаю почему прыжок работает через раз, вроде всё работает, но не так как хотелось
решил проблему, но код выглядит теперь не так. в целом зачётный видос, норм потрудился автор), луч который землю щупает норм работает))
Помогите пожалуйста по дискорду ,укажите на мои ошибки .Персонаж не двигается.
У меня тоже
и зачем филд в скорости вместо паблика?
Ну это просто инкапсуляция
@@Fee1GoodGamedev понятно
год а зачем нижние подчеркивания?
Привык писать приватные поля с _, а публичные с большой буквы, можно и без _ с маленькой буквы, тогда в методах с _, но просто привычка
@@Fee1GoodGamedev понятно
почему у меня не получается изменить скорость анимации через аниматор
Советую искать другое видео
Не осилил?(
ua-cam.com/video/Ii-scMenaOQ/v-deo.html
@@Fee1GoodGamedev хахаха уважаю
@@Fee1GoodGamedev спасибо за видос
@@Fee1GoodGamedev он не не осилил,тут просто не понятно ты ужасно объяснил и ещё к этому 2 часть не выложил
у меня с спрайт рендером ошибка что делать ?
В дискорде напиши
как называются спрайты?
Pixel Adventure