Если без сетки, то можно попробовать кидать рейкасты в 4 стороны для поверки наличия свободного места на карту плюс оффсет от других карт, и передвигать по минимальному расстоянию, ещё можна задать веса для приоритета в какую сторону двигать. Возможно решение не верное это первое что пришло в голову)
Я как-то попробовал совсем дикий способ - формировать вокруг каждой поднятой "карты" своеобразную сетку из невидимых объектов с коллайдерами такого же размера, чтобы фиксировать, под которым из них есть свободное место, чтобы затем та карта, которой надо сдвинуться, формировала массив из свободных мест и летела к первому же из них. В принципе работает, но не идеально и через пень-колоду. То свободное место не находилось, то карта улетала в другой конец стола.
Возможно решение не верное это первое что пришло в голову)
Это решение всем пришло в голову. Судя по гифке, и разрабам тоже. Только там используется 8 сторон и карта просто сдвигается на минимально возможное расстояние. Всё просто. :)
Если без сетки, то можно попробовать кидать рейкасты в 4 стороны для поверки наличия свободного места на карту плюс оффсет от других карт, и передвигать по минимальному расстоянию, ещё можна задать веса для приоритета в какую сторону двигать.
Возможно решение не верное это первое что пришло в голову)
Или возле каждой карты задаваить возможные позиции. И смотреть их доступность
Я как-то попробовал совсем дикий способ - формировать вокруг каждой поднятой "карты" своеобразную сетку из невидимых объектов с коллайдерами такого же размера, чтобы фиксировать, под которым из них есть свободное место, чтобы затем та карта, которой надо сдвинуться, формировала массив из свободных мест и летела к первому же из них. В принципе работает, но не идеально и через пень-колоду. То свободное место не находилось, то карта улетала в другой конец стола.
Возможно решение не верное это первое что пришло в голову)
Это решение всем пришло в голову. Судя по гифке, и разрабам тоже. Только там используется 8 сторон и карта просто сдвигается на минимально возможное расстояние. Всё просто. :)