ПОЧЕМУ ВСЕ ТРЯСЕТСЯ в UNITY ?

preview_player
Показать описание
Рассказываю про распространенные причины, почему объекты трясутся в Unity.
В основном это всегда связано с порядком вызова скриптов и интерполяцией.
Строим график для того чтобы лучше понять как меняется положение объекта.
Рекомендации по теме
Комментарии
Автор

Спасибо за видео. Эта тряска у меня всегда проскакивала и я не знал как это решить. Много искал в интернете, но так и не нашёл

zaylen
Автор

Инпут лучше считывать в апдейте, а применять силы в фиксед апдейте - иначе в некоторых кадрах мы будем терять ввод.

Задавать скорость с помощью velocity можно, если на объект не будут больше воздействовать никакие силы. Если вы захотите сделать какой-нибудь взрыв, который отталкивает игрока, или отдачу от оружия, когда игрока прям относит назад - вы не сможете это сделать, потому что у вас задается скорость определенным значением и никакие силы больше не применятся.

Либо же придется городить какие-то странные конструкции, типо velocity = moveSpeed(обычная скорость передвижения) + explodeForce(отскок от взрыва) + recoilforce(отскок от отдачи ружия), где explodeForce и recoilForce большую часть времени будут нулевыми векторами, что выглядит странно.

К тому же более физично и реалистичнее, когда игрок разгоняется, а не сразу приобретает всю скорость, поэтому addforce это лучший вариант. Сделать вектор, на который персонаж ускоряется, вектор максимальной скорости по xy и вектор, который будет игрока стопорить. И тогда уже логика будет такая:

если ввод считан и скорость меньше максимальной, то addForce(вектор ускорения) иначе, если скорость больше 0, то addForce(-вектор стопора);

Так перс будет ускоряться, но не бесконечно и сможет тормозить, если игрок ничего не вводит. Причем его движение еще и можно будет настраивать - насколько быстро ускоряется персонаж, насколько быстро тормозит. Если вы вдруг примените какую-то доп. силу, вроде взрыва, отдачи или прыжка - она нормально применится, при этом перс сохранит то направление, в котором он двигался

shitposting_box
Автор

Очень кайфово что такой специалист продолжает творить и показывать идеи и нюансы! 🤝🔥

oldborodach
Автор

На одном дыхании просмотрел. Наиполезнейшая информация с потрясающе подробными объяснениями без воды. Подписка, лайк и коммент с меня за такую качественную работу!!❤

oniko
Автор

Ну ты прям нас балуешь) сразу 2 видео, с таким коротким промежутком)
Контент топ) лучшие обучающие ролики какие я только видел)
Ждем с нетерпением новых)

hemmikotlin
Автор

Это лучшее объяснение данной темы, которое я когда-либо видел. Респект автору! Ты офигенно доходчиво объясняешь довольно сложные вещи!

oniko
Автор

Много полезных нюансов узнал за одно видео, даже подумать не мог, что это так работает

shelikhann
Автор

Спасибо дружище. В ру сегменте твои уроки - лучшие. У Макса тоже хорошие, но твоя душевная подача и ламповые ништяки вроде Монголонезависемого кода - луч света на нашем долгом и тернистом пути :) Просто хотел это сказать, спасибо еще раз =)

ronkh
Автор

Огромнейшее спасибо автору! Отличный подход и подача, отличного материала!

mqeezgz
Автор

Большое спасибо за видео. Иногда сталкиваюсь с такой проблемой, но из-за непонимания причин ее возникновения начинаю наугад менять логику перемещения, что редко когда помогает. Теперь же все встало на свои места

p-qgqz
Автор

Отличное видео! Очень классный подход с визуализацией позиции предмета в пространстве при помощи AnimationCurve. Оно есть в Unity, добавлять значения в него легко и просто и оно прекрасно показывает суть проблемы. В общем отличная тема. Беру на вооружение. Жду следующее видео ;)

WeslomPo
Автор

Просто божественная подача и контент 😍

zuzuBoba
Автор

/// SUPER /// PREMIUM /// EXCELLENT /// ULTRAHIGH Столько полезной и важной инфы для новичков в одном видео !!! Сохранил себе в золотую коллекцию уроков по Unity !!! Спасибо !!! :))) 👍👍👍👍👍

scogeyl
Автор

БЛЯТЯЬЯТТЯТЯТ Я НЕ МОГУ ОПИСАТЬ СВОИ ЭМОЦИИ Я ИСКАЛ ПРИЧИНУ ЛАГОВ В СВОЕЙ ИГРЕ ДВЕ НЕДЕЛИ ПОТРАТИЛ СТОЛЬКО ВРЕМЕНИ ТЕПЕРЬ ВСЁ ТАК ПЛАВНО ХРАНИ ТЕБЯ ГОСПОДЬ ЛУЧШИЙ ЧЕЛОВЕК ВСЕГО ЛУЧШЕГО АВТОРУ

gameplaystories
Автор

Отличный тутор, в свое время очень много времени потратил на эти проблемы, особенно актуальны с использованием передвижения от 1 лица + IK + Puppet master, еще есть возможность перед телом класса писать атрибут [DefaultExecutionOrder(1000)], 1000 это как раз очередь обновления и таким образом задать порядок обновлений скриптов.

jxgnqyq
Автор

Видео классное, и наглядно все показываешь!!!
У меня с интерполяцией персонаж во время падения начинает вести себя странно
Падение осуществляется через стандарную физику(2d), только я выкрутил гравити до 100.

alexeydemkin
Автор

Оптимизация в игре играет ООООЧЕНЬ важную роль. Обычно проблема оптимизации в проекте либо из - за скриптов (обычно в методе Update, т.к. вызов этого метода происходит каждый кадр), либо из - за большого количества батчеров, которые тоже нужно как можно сильнее сокращать. В общем, сам с этим постоянно сталкивался.

zhekatv
Автор

Сделал игру, выложил в гугл плей, но уже несколько дней не мог понять причину дерганья персонажа, спасибо за урок

saurontheblack
Автор

Кажется, я только что нашел для себя прекрасный видос с материалами по unity, доступно объясняешь, лайк не глядя))

zef
Автор

Шикарно объясняете. Я не новичок и то интересно было посмотреть.

Barlog