RigidBody прилипает к стенам
Пытаюсь реализовать 3D-передвижение а-ля Titanfall. Решил использовать RigidBody с AddForce (по каким-то своим внутренним усмотрениям), но уперся в проблему со стенами: когда персонаж прислоняется к препядствию, он абсолютно не двигается вдоль него и идет только в обратном от преграды направлении (не обязательно перпендикулярно, но все же). Эта проблема решается с добавлением кастомного Physic material с нулевым трением, но тогда возникает другая загвоздка: из-за отсутсвия трения спокойно встать на таком препядствии невозможно.
Вроде слышал, что Character controller таких проблем не знает, но боюсь, что для бега по стенам, подкатов и, в особенности, манипуляций с ускорением (постепенный разгон/остановка, рывок и тд) такой способ передвижения объектов плохо приспособлен.
Знаете кого-то, кто может ответить? Поделитесь ссылкой на этот вопрос по почте, через Твиттер или Facebook.
Посмотрите другие вопросы с метками unity3d разработка-игр или задайте свой вопрос.
Похожие
Подписаться на ленту
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
дизайн сайта / логотип © 2021 Stack Exchange Inc; материалы пользователей предоставляются на условиях лицензии cc by-sa. rev 2021.11.19.40795
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Прилипание к стене 2D персонажа
Прилипание в редакторе
Всем привет, снова я со своими тупыми вопросами Размещаю объекты на сцене в редакторе Вот.
Прилипание программ к экрану!
Поставил Linux Mint Debian Edition, все установилось. Но при открывании приложений, они липнуть к.
Прилипание picture к форме
Добрый день. Суть пролемы в том, что есть форма на которой имейдж-фон по которому передвигаються.
Прилипание окна к курсору
Здравствуйте, подскажите как можно реализовать функцию прилипания окна к курсору по двойному клику.
У меня абсолютно также,я просто выключал кинематику в OnCollisionExit,поэтому-то персонаж улетал.
Добавлено через 33 минуты
У меня движение осуществлено через физику и после включения кинематики,персонаж пролетает через колайдер.Сделал Через gravityScale.
Прилипание окна к курсору
Каким способом можно реализовать эффект «прилипания окна к курсору» при попадании и последующем.
Прилипание форм ManualDock
Доброго времени суток. Делаю так: TPanel * Panel; TForm * Form1 = new TForm(NULL); TForm *.
Прилипание (магнетизм) в Unity
Народ! Хелпа нужна! Есть два куба, нужно сделать так, что бы они прилипли друг к другу (у них.
Прилипание блока к низу
Всем привет! У меня есть блок c overflow-Y: auto, и мне нужно сделать прилипание в самый низ (для.
Магнит / прилипание к плоскости, стенам [2D]
В целом, это не совсем магнит и не совсем липучка. Собственно, задача была в том, чтобы управляемый объект мог прилипать к плоскости. Допустим с пола, зацепиться за стену, затем за потолок и так далее, и всё это дело должно работать в 2D физике. То есть, по сути нам нужно, чтобы вектор гравитации менялся в зависимости от плоскости, на которой мы находимся, так чтоб наш объект прижимался к ней, при этом физика для всех других объектов должна оставаться неизменной. Управление осуществляется двумя клавишами, из-за особенности свойств объекта, лева или права, как такового нет, а просто движение в одну или другую сторону.
Итак, в коллайдер нашего так сказать «магнита», добавим Physics Material 2D, со следующими параметрами: Friction = 100, а Bounciness = 0. Это нужно для того, чтобы объект не скользил по поверхности, а как бы «ходил». Стоит отметить, что скрипт затачивался под взаимодействие с плоской поверхностью, прохождение углов, как внутренних, так и внешних. Если нужен проход коллайдера типа Circle Collider 2D, то необходимы дополнительные доработки логики. Тем не менее, даже в текущем виде, этому можно найти применение.
Необходимые пояснения есть в коде, плюс для удобства тестирования, лучи прорисованы через Debug, поэтому в окне редактора не забываем нажать кнопочку Gizmos, перед тестом.
Unity Отключить ходьбу персонажа при обнаружении стены
Есть персонаж, есть земля, на обоих висят коллайдеры. Перемещение через transform.position
Когда персонаж подходит к стене с зажатой клавишей, то он пытается передвинуться в сторону стены, но его выталкивает и получается дергание персонажа.
Я попытался решить проблему так, проверяю через OverlapCircleAll есть ли рядом стена, если есть, то идти нельзя. Однако все-ровно одно-два дрожания в самом начале осталось. Как это исправить и как альтернативно можно решить данный вопрос?
2 ответа 2
Причина в том, что у вас вместе с коллайдером идет rigidbody(ну скорей всего). Когда в Update или LateUpdate вы перемещаете объект через transform, на 1 кадр объект попадет внутрь другого коллайдера, а в начале след кадра, физика вытолкнет обратно его, отсюда и дергание) Есть 3 способа решения: 1. Двигать в FixedUpdate
Двигать в Update/LateUpdate используя velocity или AddForce на rigidbody
Вектор смещения(dir)
Длина вектора смещения(lendir)
Половина размера коллайдера(ext)(использовать радиус у «сфероподобных»(capsule всякие), ну или большую сторону для «угловатых»(box. ))
Кидать райкаст вдоль dir.normalize*(lendir+ext)
Если райкаст попадет во что-нибудь, вычислить расстояние до точки попадания(distToPoint), и если (distToPoint-extС)
Как отключить гравитацию персонажу, чтобы он не падал вниз?
Rigidbody2D импульс AddForce() Как сделать, чтобы после импульса объект не падал назад?
Здравствуйте! Даю импульс объекту: rBD.AddForce (new Vector2 (_impulseForce, 0).
Как сделать так, чтобы камера была привязана к персонажу, но у каждого игрока отдельная
Как сделать так, чтобы камера была привязана к персонажу, но у каждого игрока отдельная? Добавляя.
OpenGL C++: чтобы свет падал на сферу, а не на линии
Как сделать чтобы свет падал к примеру на сферу, а на линии не падал. Ибо линии меняют цвет. Может.
Можно Constraints заморозить позицию, можно ригитбади сделать кинематик тип
Добавлено через 2 минуты
или коллайдер установить на полу
Как сделать гравитацию?
Доброго времени суток. У меня возникла потребность сделать гравитацию в моей программе. Суть.
Как сделать, чтобы слайдер не сдвигался вниз?
Привет. Как сделать, чтобы, при нажатии на кнопку «My Garage», слайдер с бекграундом не сдвигался.
Как сделать так, чтобы ::before не уходил вниз, а был такой же высоты как и таблица
Подскажите, как сделать так, чтобы ::before не уходил вниз, а был такой же высоты как и таблица.
Как сделать чтобы ComboBox открывался вверх а не вниз
Как сделать чтобы ComboBox открывался вверх а не вниз?