В коде есть довольно интересный баг. В случае если пока у тебя в руках один предмет, ты переводишь клавишу мыши на другой, то тот, который был, улетает с отключённой гравитацией, а на его место берётся другой
Подскажи как убрать баг, когда один куб который находится у тебя в ругках ударяется в другой, у них отключается гравитация, переводится слов в котором больше нельзя воздействовать с обьектом и вместо этого в руках оказывается тот куб об который ты ударился
На мой взгляд лучше юзать интерфейс типа IDraggable и тупо читать этот компонент со скрипта предмета Туда же можно засунуть, и ссылку на RigidBody и описание и прочие штуки. Если компонента на предмете нет, то и никакого взаимодействия нет ...
Assets\scripts\DragNDrop.cs(83,39): error CS0246: The type or namespace name 'Draggable' could not be found (are you missing a using directive or an assembly reference?)
Можно ли такое сделать с помощью Джоинта? И как сделать чтобы предмет не вращался дальше указанного угла? Например чтобы он максимум мог вращается на 180 градусов а не по кругу на 360?(как у Joint)
Спасибо, очень понравилось, а можешь пожалуйсто сделать видио, где ты если этот кубик положешь на кнопку, откруоется дверь, ну как в Portal. ЗАМЕТЬ пж!
Зачем вызывать PrepareForDrag в каждом кадре, когда в объект попадает луч? Лучше создать поле "текущего объекта" и проверять, не изменился или он. И только в случае если он изменился нужно подготовить текущий и отвязаться от предыдущего. + советую посмотреть Романа Сакутина(если ещё не смотрели) очень полезно)
Сакутин тот ещё кринжатник, в добавок и позер. К тому же он выкладывает в своих шортсах украденные видео добавив свой голос и видеоряд с ним в начале. Годной информации у него нет и платные курсы где можно стать Джуном за краткий промежуток времени это просто полное дерьмо. Я не покупал а просто скачал с рутрекера. Такого дерьма я ещё никогда не видел, наверное даже самый дешёвый курс на Udemy будет лучше его необоснованно дорогого курса
В проверках по тегу нет ничего плохого, все зависит от контекста разработки, вы можете использовать проверку по типу. Для избежания if/else можно использовать новую систему ввода с событиями В данном ролике я хотел показать механику. А так тут и ответственности сильно смешаны, можно выделить действия в команды, выделить вью и модель. Оно здесь нужно? Нет)
@@gamedevSkuf Это база, смысл усложнять логику тэгами когда у тебя есть компоненты которые можно проверить через такой код var draggable = obj.GetComponent(); if(!draggable) return;
@@gamedevSkuf Избегать if это не то о чём я писал, я том что вы порождаете всё новые блоки кода делая обычные условия, это называется нэстингом. Реверсивные условия по типу if(!Raycast) return; лучше читаются и создают меньше нэстинга.
Очень круто и качественно сделанное видео. Всё просто и понятно, чистый код. Обязательно буду следить за твоими роликами!
В коде есть довольно интересный баг. В случае если пока у тебя в руках один предмет, ты переводишь клавишу мыши на другой, то тот, который был, улетает с отключённой гравитацией, а на его место берётся другой
Получилось ли его исправить?
Подскажи как убрать баг, когда один куб который находится у тебя в ругках ударяется в другой, у них отключается гравитация, переводится слов в котором больше нельзя воздействовать с обьектом и вместо этого в руках оказывается тот куб об который ты ударился
Удачи в развитие бро
Моя мечта была чтобы создать игру про сборку ПК на телефонах я не умел писать код и искал скрипт чтоб перетаскивать предмет.спасибо тебе большое❤❤❤❤❤
На мой взгляд лучше юзать интерфейс типа IDraggable и тупо читать этот компонент со скрипта предмета Туда же можно засунуть, и ссылку на RigidBody и описание и прочие штуки. Если компонента на предмете нет, то и никакого взаимодействия нет ...
Согласен, интерфейс будет лучшим решением
Ты лучший брат так держать
Круто попробуй сделать кнопки с дверями как в Portal
Крутой видос! И ассет топовый. На телегу подписался🙌 жду новые видосы
Assets\scripts\DragNDrop.cs(83,39): error CS0246: The type or namespace name 'Draggable' could not be found (are you missing a using directive or an assembly reference?)
Здравствуйте, как вам написать в телеграм? в группе ТГ нельзя написать. Я по поводу обучения.
cool
Можно ли такое сделать с помощью Джоинта? И как сделать чтобы предмет не вращался дальше указанного угла? Например чтобы он максимум мог вращается на 180 градусов а не по кругу на 360?(как у Joint)
Не пробовал, но теоретически можно
Спасибо, очень понравилось, а можешь пожалуйсто сделать видио, где ты если этот кубик положешь на кнопку, откруоется дверь, ну как в Portal. ЗАМЕТЬ пж!
Здравствуйте, а вы знаете как сделать такую же механику подбора предметов как в халф лайф 2, но на андроид, помогите пожалуйста)
Зачем вызывать PrepareForDrag в каждом кадре, когда в объект попадает луч? Лучше создать поле "текущего объекта" и проверять, не изменился или он. И только в случае если он изменился нужно подготовить текущий и отвязаться от предыдущего.
+ советую посмотреть Романа Сакутина(если ещё не смотрели) очень полезно)
Оно и не вызывается в каждом кадре) пересмотрите код
Сакутин тот ещё кринжатник, в добавок и позер. К тому же он выкладывает в своих шортсах украденные видео добавив свой голос и видеоряд с ним в начале. Годной информации у него нет и платные курсы где можно стать Джуном за краткий промежуток времени это просто полное дерьмо. Я не покупал а просто скачал с рутрекера. Такого дерьма я ещё никогда не видел, наверное даже самый дешёвый курс на Udemy будет лучше его необоснованно дорогого курса
Помогите не работает!
Тэги это плохая практика, использование компонентов и поиск по компоненту как решение будет лучше.
Нэстинг с if/else тоже такое себе решение.
В проверках по тегу нет ничего плохого, все зависит от контекста разработки, вы можете использовать проверку по типу. Для избежания if/else можно использовать новую систему ввода с событиями
В данном ролике я хотел показать механику. А так тут и ответственности сильно смешаны, можно выделить действия в команды, выделить вью и модель. Оно здесь нужно? Нет)
@@gamedevSkuf Это база, смысл усложнять логику тэгами когда у тебя есть компоненты которые можно проверить через такой код
var draggable = obj.GetComponent();
if(!draggable) return;
@@gamedevSkuf Избегать if это не то о чём я писал, я том что вы порождаете всё новые блоки кода делая обычные условия, это называется нэстингом.
Реверсивные условия по типу
if(!Raycast) return;
лучше читаются и создают меньше нэстинга.
@@slopopter я же говорю, можно делать проверку по типу, я не спорю. тип в данном случае = компонент)
@@slopopter про рекурсивные условия согласен полностью)