Нашёл небольшой конфликт кода с коллайдером. Он появляется, когда используется Polygon Collider 2D. Причина, в дополнительных, ограничительных линиях коллайдера. Из за них, луч, исходящий из центра спрайта, проходит не через одну ограничительную линию, а через множество. В результате, персонаж пытается схватить, самого себя и переместить в точку holdPoint. Выглядит забавно, особенно если перетащить holdPoint, куда нибудь в сторону. Что бы не возникало проблемы, достаточно не использовать Polygon Collider 2D, а отрисовать границы в ручную, используя Edge Collider 2D.
Если кино это магия, то игры это алхимия)) Можно заделать модель персонажа, уже с оружием в руках, а в момент подъёма оружия, просто менять модельку персонажа. Но тогда, будет больше расчётов, во время отрисовки модели. Даже не знаю, что больше загрузит движок, лишний объект с коллайдером или дополнительная анимация!?
Сижу уже около часа, когда я бросаю предмет, он просто летит, сделал значение по “y” на 0, когда бросаю он летит как и нужно в право, но куда поворачивается игрок туда и летит объект P.S: объект подбирается при зажатии кнопки, выкидывается при разжатии, не намеренно
Вопрос, как сделать так, чтобы орлужие при подъёме могло стрелять? Я чайник в юнити и не особо понимаю. Я могу сделать анимации при подборе, остальное, но это так и не понял)) Или можно скриптом занести объект как дочерний к другому?
у меня вопрос что делать если персонаж моей игры берёт не только куб на что я и настроил скрипт, но и платформу и другие объекты которые он брать не должен
Видео топ. Автор. Подскажи пожалйста. Как сделать так, что бы при подборе оружия, герой менял положение рук. ? Что бы создавался эффект правильного держания пушки.
а как сделать, допустим сперва на сцене у персонажа нету оружия, потом допустим он подходит к ящику и случайно ему выпадает какое то оружия, пистолет или автомат или меч и т.д ?
@@denisbugay3175 создай слой,назови например «pistol» и своему оружию или табличке или что там у тебя,хоть враг добавь этот слой,в скрипте после distance, LayerMask.GetMask(“pistol”)); рэйкаст будет чёркать только слой с названием и игнорить остальные
как решить проблему. если обьект в руке может толкать любой другой обьект с риджибоди не зависимо от разницы в их массах.ни кто на видео уроках не показывает. что при взятии в руку обьект может вести себя не адекватно .
Очень крутой урок! Сильно помог! Только есть один вопрос, а как написать так, чтобы луч шёл не на право, а в общем по x и y, если например это игра с видом сверху, а мир это тоже плоскость с видом сверху?
У меня ничего не работает. Ошибок в коде нет, сделал всё по видео. Игрок просто игнорирует оружие и вообще его не подбирает. Переменная тоже никак не изменяется.
Класс! Подскажите по какому алгоритму сделать так, игрок щелкает указателем на предмет, персонаж нагибается и берет в руку предмет? Т.е тригер анимация приседания? Персонаж должен носить предметы с одного места в другое, от третьего лица камера, управление по клику мышки по карте
Посмотри видео с настройкой кнопок для управления на телефоне. Так и нужно заменять все эти условия if на их аналоги для телефона. Например в этом случае в условии подбора предмета нужно заменить if(Input.GetKeyDown(KeyCode.F)) на кнопку или просто тап по экрану. Лучше посмотри разные видео по настройке кнопок и тапов по экране, попрактикуйся в новом проекте с заменой обычных действий например управления или этот же подбор предметов с обычного варианта для клавиатуры компьютера на управление для телефона. После нескольких попыток ты уже и сам будешь лучше понимать как это работает) Я и сам ещё только учусь этому, но уже пробовал и это не так сложно, как кажется. Нужно только найти доступную подходящую инфу в интернете
Cделал всё как в видео, выдаёт ошибку: NullReferenceException: Object reference not set to an instance of an object WeaponHold.Update () (at Assets/WeaponHold.cs:44)
Здравствуйте. Можете подсказать? При запуске пустого проекта в unity, выдает ошибку (Some scripts have compilation errors which may prevent obsolete API usages to get updated. Obsolete API updating will continue automatically after these errors get fixed.) версия 2019.1.12f1
@@graphicaldesign2776 Переустанавливал, у вас в видео первоначальный запуск проекта, в нем отсутствует packages папка, такое ощущение что скрипты в ней проблемные, но пока только начал изучать unity, не понимаю где искать. Спасибо
Наверное я опоздал, но у меня не брался объект потому что точка персонажа была за пределами коллайдера, не важно почему, но это противоречило строке которая просила игнорировать первый встреченный коллайдер
@@graphicaldesign2776 перевернул, но объекты всё рано летят вправо. Есть ли видео на канале, где ты настраивает анимации и контроллер в 2d платформере?
У кого была такая же проблема введите дополнительное условие к броскам. Если holdPoint. position.x > transform.position.x То Vector 2(1, 2) Если holdPoint. position.x < transform.position.x То Vector 2(-1, 2) Пусть на костылях, но идти сможете.
Хз, возможно у меня какая то хуйня, но после этого урока у меня Box(объект который я должен подобрать и бросить) перестал существовать для игрока, он просто сквозь него проходит и не пидбирает. До того как я прставил на бросок предмет получалось, так что он автоматически его поднимает
@@graphicaldesign2776 Я сделал всё как в видео, но пистолет не поворачивается), а размер меняется на какой-то не понятный, хоть и взял значения из инспектора
Спасибо большое, мне как раз нужен был такой туториал
Чувак, продолжай в том же духе, твои уроки заряжают!))
В 2d обычно применяется подъем предмета с которым столкнулся бокс игрока. Т.е. box collider вместо ray cast.
Нашёл небольшой конфликт кода с коллайдером. Он появляется, когда используется Polygon Collider 2D. Причина, в дополнительных, ограничительных линиях коллайдера. Из за них, луч, исходящий из центра спрайта, проходит не через одну ограничительную линию, а через множество. В результате, персонаж пытается схватить, самого себя и переместить в точку holdPoint. Выглядит забавно, особенно если перетащить holdPoint, куда нибудь в сторону.
Что бы не возникало проблемы, достаточно не использовать Polygon Collider 2D, а отрисовать границы в ручную, используя Edge Collider 2D.
Большое спасибо за информацию)) Я использовал ПолигонКоллайдер и персонаж при запуске бегал по всей карте без остановки)
ОГРОМНОЕ СПАСИБО!!!!!!!!!!!!!!!!!!!!
Спасибо, обнял
Если кино это магия, то игры это алхимия))
Можно заделать модель персонажа, уже с оружием в руках, а в момент подъёма оружия, просто менять модельку персонажа. Но тогда, будет больше расчётов, во время отрисовки модели. Даже не знаю, что больше загрузит движок, лишний объект с коллайдером или дополнительная анимация!?
Хм, а если мы в игре можем поднимать просто все, сотни предметов и объектов, представьте себе длину скрипта с заменой анимации.
очень помогло
хороший канал и уроки
Ураа новый видос
Спасибо, затолкаю в свой проект
Сижу уже около часа, когда я бросаю предмет, он просто летит, сделал значение по “y” на 0, когда бросаю он летит как и нужно в право, но куда поворачивается игрок туда и летит объект
P.S: объект подбирается при зажатии кнопки, выкидывается при разжатии, не намеренно
Спасибо, крутой урок
Вопрос, как сделать так, чтобы орлужие при подъёме могло стрелять? Я чайник в юнити и не особо понимаю. Я могу сделать анимации при подборе, остальное, но это так и не понял)) Или можно скриптом занести объект как дочерний к другому?
у меня вопрос что делать если персонаж моей игры берёт не только куб на что я и настроил скрипт, но и платформу и другие объекты которые он брать не должен
Здраствуй, можете снять видео на тему как сделать красивый след от меча для 2D игры
Видео топ.
Автор. Подскажи пожалйста. Как сделать так, что бы при подборе оружия, герой менял положение рук. ?
Что бы создавался эффект правильного держания пушки.
А как эти предметы потом с помощью клавиши переместить в инвентарь ( инвентарь как у макстера )
Урок ТОП. Но , как сделать так, чтобы лучи сохраняли поворот?
а как сделать, допустим сперва на сцене у персонажа нету оружия, потом допустим он подходит к ящику и случайно ему выпадает какое то оружия, пистолет или автомат или меч и т.д ?
помогите:после того как я нажимаю F у меня пропадает текстура у предмета
Привет,а ты не знаешь как сделать предмет который можно подобрать и если его бросить во врага то он получит урон?
Как вместо луча сделать область?
В топ
Я попробовал DrawWireSphere(это 3D, провда, но окружности в гизмосе нет почему-то), но ничего не получилось
да, тоже интересно!
@@Alexander-x1n я пробовал в цикл этот гизмос запихнуть, чтобы круг получился)))
Но ничего не вышло
А как сделать так, чтобы луч из персонажа, помимо начального коллайдера, игнорировал ещё несколько объектов и увидел только, например, пятый объект?
решил? помоги пожалуйста, если решил
@@denisbugay3175 создай слой,назови например «pistol» и своему оружию или табличке или что там у тебя,хоть враг добавь этот слой,в скрипте после distance, LayerMask.GetMask(“pistol”)); рэйкаст будет чёркать только слой с названием и игнорить остальные
@@denisbugay3175 строку про чек колайдера игрока тогда вообще можно уже не писать
как решить проблему. если обьект в руке может толкать любой другой обьект с риджибоди не зависимо от разницы в их массах.ни кто на видео уроках не показывает. что при взятии в руку обьект может вести себя не адекватно .
Дак Гейм)))
привет, ты говорил, что в августе у тебя проект, можешь показать или он еще не готов. спасибо за уроки.
Как только будет релиз, появится видео)
Очень крутой урок! Сильно помог! Только есть один вопрос, а как написать так, чтобы луч шёл не на право, а в общем по x и y, если например это игра с видом сверху, а мир это тоже плоскость с видом сверху?
Бро, этот стиль игры который ты имеешь ввиду называется topdown
у меня берет оружие но не нисет, оружие остается в точке где был обьект holdPoint а герой идет дальше... не нисет его... почему?????
Привет,Можешь пожалуйста снять несколько уроков по вводу в ООП ?
Что это
@@LimeShow Объектно-ориентированное программирование
@@петрик3601 спс
Спасибо, а то я опять пытался это реализовать через тригеры, делая объект дочерним, но нифига не получилось. Совсем забыл про RayCast! :)
У меня ничего не работает. Ошибок в коде нет, сделал всё по видео. Игрок просто игнорирует оружие и вообще его не подбирает. Переменная тоже никак не изменяется.
Грустно.
Топ
Сенк, полезно
Physics2D' does not contain a definition for 'RayCast' как исправить?
добавить 2D
@@graphicaldesign2776 можно инструкцию?))) я просто ничего не знаю
Класс! Подскажите по какому алгоритму сделать так, игрок щелкает указателем на предмет, персонаж нагибается и берет в руку предмет? Т.е тригер анимация приседания? Персонаж должен носить предметы с одного места в другое, от третьего лица камера, управление по клику мышки по карте
Урок ТОП. Но у меня оружие после того как я его бросаю просто летит постоянно вверх и вправо.
Блин, сам затупил. Спустя минуту после комммента понял в чем суть.
Я префабу добавил RB2D.
Можно подробнее?
Что за игра на фоне?
лайк
А как сделать тоже самое только для телефона ?
Посмотри видео с настройкой кнопок для управления на телефоне. Так и нужно заменять все эти условия if на их аналоги для телефона. Например в этом случае в условии подбора предмета нужно заменить if(Input.GetKeyDown(KeyCode.F)) на кнопку или просто тап по экрану. Лучше посмотри разные видео по настройке кнопок и тапов по экране, попрактикуйся в новом проекте с заменой обычных действий например управления или этот же подбор предметов с обычного варианта для клавиатуры компьютера на управление для телефона. После нескольких попыток ты уже и сам будешь лучше понимать как это работает)
Я и сам ещё только учусь этому, но уже пробовал и это не так сложно, как кажется. Нужно только найти доступную подходящую инфу в интернете
Cделал всё как в видео, выдаёт ошибку:
NullReferenceException: Object reference not set to an instance of an object
WeaponHold.Update () (at Assets/WeaponHold.cs:44)
Надо исправлять
Graphical Design Я понимаю :) Но не подскажете как именно?
Сложно сказать, не видя проекта. Единственное, вижу что проблема в скрипте WeaponHold
Я поместил скрипт к себе, работает без ошибок
@@graphicaldesign2776 Но что я мог сделать не так?
ОЧЕНЬ ГОДНО, +REP
Привет . У меня тут проблема, при развороте персонажа, луч не разворачивается. Что делать?
Перерисуй его в обратную сторону
Здравствуйте. Можете подсказать? При запуске пустого проекта в unity, выдает ошибку (Some scripts have compilation errors which may prevent obsolete API usages to get updated. Obsolete API updating will continue automatically after these errors get fixed.) версия 2019.1.12f1
Семён Яшин можно переустановить юнити
@@graphicaldesign2776 Переустанавливал, у вас в видео первоначальный запуск проекта, в нем отсутствует packages папка, такое ощущение что скрипты в ней проблемные, но пока только начал изучать unity, не понимаю где искать. Спасибо
как поднять красную линию, или опустить
срочно
какую "красную линию"?
@@graphicaldesign2776 OnDrawGizmos
@@graphicaldesign2776 она у меня не в центре, а под персонажем
@@FragDell Добавить ей Position по Y
Кто знает как сделать так чтоб оружие не управлялось мышью пока его не подберешь?
Я всё сделал правильно но почему-то Weapon не берётся вообще ((( Помогите пожалуйста
Наверное я опоздал, но у меня не брался объект потому что точка персонажа была за пределами коллайдера, не важно почему, но это противоречило строке которая просила игнорировать первый встреченный коллайдер
@@monkeystales3954 спасибо
а как назначить подъем на UI кнопку?
Создать метод и вызывать его через ивент.
@@graphicaldesign2776 Я уже полазил по форумам и всё сделал, спасибо, отличные видео уроки)
@@graphicaldesign2776 у меня теперь другая проблема, оружие как бы кидается, но судя по всему персонаж берет его обратно
Даня Майоров не нажимай тогда дважды
@@graphicaldesign2776 нажимаю 1 раз
Ребят помогите. holdPoint не поворачивается вместе с персонажем. Что не так?
Это связано ли с тем, что у меня спрайт персонажа находится в дочерней папке...... Персонажа...
Врятли, надо просто переворачивать персонажа при повороте.
@@graphicaldesign2776 перевернул, но объекты всё рано летят вправо. Есть ли видео на канале, где ты настраивает анимации и контроллер в 2d платформере?
У кого была такая же проблема введите дополнительное условие к броскам.
Если holdPoint. position.x > transform.position.x
То Vector 2(1, 2)
Если holdPoint. position.x < transform.position.x
То Vector 2(-1, 2)
Пусть на костылях, но идти сможете.
Хз, возможно у меня какая то хуйня, но после этого урока у меня Box(объект который я должен подобрать и бросить) перестал существовать для игрока, он просто сквозь него проходит и не пидбирает. До того как я прставил на бросок предмет получалось, так что он автоматически его поднимает
Урок для дятлов, гораздо проще держать массив, и опираться на первый элемент массива
Помоги пж у меня перс поворачивается а линия нет.
Видимо, что-то сделал не так
@@graphicaldesign2776
вот так
Gizmos.color = Color.red;
Gizmos.DrawLine(transform.position, transform.position + Vector3.right * transform.localScale.x * distance);
Gizmos.DrawLine(transform.position, transform.position + Vector3.left * transform.localScale.x * distance);
.
@@Alexander-x1n if (Input.GetAxis("Horizontal") > 0)
{
hit = Physics2D.Raycast(check.position, Vector2.right * transform.localScale.x, distance);
}
if (Input.GetAxis("Horizontal") > 0)
{
hit = Physics2D.Raycast(check.position, Vector2.left * transform.localScale.x, distance);
}
Можешь ссылку на скрипт оставить чтоб его скачать
Не оставляю скрипты.
@@graphicaldesign2776 Я сделал всё как в видео, но пистолет не поворачивается), а размер меняется на какой-то не понятный, хоть и взял значения из инспектора
@@s1lentgrave значит не все
@@graphicaldesign2776 Кстати, только что заметил, что у вас тоже пистолет изменяется в размере, когда персонаж его берет в руки (17:05)
Что за игра в начале?
Vlad Duck game
А у меня предмет не подбирается. Это может не работать если проигрывается анимация?
Не работает
ахах вэйпан
Блин, да как повернуть этот луч то а?
при повороте персонажа
Через Scale
@@graphicaldesign2776 Спасибо, конечно, но я уже придумал, как можно ещё сделать
@@graphicaldesign2776 Можно создать второй скрипт для другой стороны и просто написать в скрипте не right, а left)))