Я работаю над 2D-игрой с сеткой с двумя тайловыми картами. Тайловая карта, по которой можно ходить, и тайловая карта препятствий. Я дал тайловой карте препятствий tilemapcollider2d. Я хочу, чтобы у моего игрока было жесткое тело kinemati c, чтобы физика не делала странных вещей после столкновения с плитками препятствий.
Дело в том, что игрок сталкивается с плитками препятствий только в том случае, если у них есть динамика c твердое тело. Как я могу заставить игрока столкнуться с плитками препятствий, имея kinemati c жесткое тело?
Я также пробовал добавить жесткое тело2d к тайловой карте препятствий, но это не дало никакого эффекта. Если он не установлен на динамический c, тогда все плитки препятствий начинают падать, но на мгновение сталкиваются с игроком, прежде чем игрок проходит сквозь него.
Это код для движения моего игрока (тело = RigidBody2D плеера):
void Update()
{
// Gives a value between -1 and 1
horizontal = Input.GetAxisRaw("Horizontal"); // -1 is left
vertical = Input.GetAxisRaw("Vertical"); // -1 is down
}
void FixedUpdate()
{
if (horizontal != 0 && vertical != 0) // Check for diagonal movement
{
// limit movement speed diagonally, so you move at 70% speed
horizontal *= moveLimiter;
vertical *= moveLimiter;
}
body.velocity = new Vector2(horizontal * Speed, vertical * Speed);
}
Заранее спасибо!