Я работаю над 2D боковой прокруткой основанной на физике игре .
Карты для этой игры создаются по плитке На основе системы , которая читает из текстового файла, и в игре создаются блоки для прорисовки уровня. Некоторые объекты, использующие гравитацию физики, должны "скользить" по участкам нескольких блоков, помещенных вместе (например, полы, но построенные из разных блоков из-за системы на основе плиток).
Несмотря на то, что блоки размещаются «математически» ровно один за другим, потому что каждый блок имеет свой собственный BoxCollider2D, физический движок по-прежнему обнаруживает «край» иногда , и объект, который должен скользить по кратному блок-секция (которая также имеет BoxCollider2D плюс RigidBody2D) просто безумно отскакивает от поверхности (я полагаю, из-за столкновения ребер / ребер).
Я пытался добавить небольшой радиус ребра, но это на самом деле не работает. Есть ли способ, которым я мог бы легко "связать" эти секции блока вместе , или "сгладить" края таким образом, чтобы физический движок не понял, что они там?
Я прилагаю 4 изображения, чтобы сделать все более понятным и понятным:
- Свойства инспектора блока этажей BoxCollider2D.
- Свойства движущегося объекта BoxCollider2D и RigidBody2D.
- Снимок экрана игры (движущийся объект, стоящий на "полу", образованном различными независимыми блоками; обратите внимание, что спрайт закруглен с помощью BoxCollider2D, прикрепленного к объекту нет).
- Снимок экрана игры включен редактор, с выделенными различными блоками, чтобы показать, как их боксы BoxCollider2D (предположительно) перекрываются, что не должно оставлять края для столкновения движущегося объекта.
Заранее спасибо!
![Game screenshot on editor, with various blocks highlighted to show how their BoxCollider2D boxes (supposedly) overlap, which shouldn't leave any edge for the moving object to collide with.](https://i.stack.imgur.com/UUVCt.png)