Как я могу сделать динамические c 2D столкновения быстрее в единстве? - PullRequest
0 голосов
/ 31 марта 2020

В настоящее время я работаю над 2D-игрой с разрушаемым ландшафтом в единстве. Работает отлично! За исключением одной вещи ... генерация столкновений ... Так как местность разрушаема, я должен генерировать столкновения на go. Я пытался, и это ужасная производительность. От 1000 к / с от редактирования ландшафта до 1 к / с, когда я включаю генерацию коллизий. Это огромная проблема, и я знаю, что это возможно в рамках единства, потому что этот парень: https://forum.unity.com/threads/wip-nimbatus.221798/ создал его также со столкновениями. Я пытался связаться с ним, но ответа пока нет! У кого-нибудь из вас есть какие-то идеи о том, что я могу сделать? Спасибо!

1 Ответ

0 голосов
/ 01 апреля 2020

Я нашел довольно раздражающее, но работающее решение проблемы. Так что в основном я ошибался, устанавливая точки как вершины. Парень, с которым я связался, сказал мне, что в то время, когда он создавал свою игру, 2D-движок не был чем-то единым, поэтому он был вынужден использовать обычные 3D-компоненты. Я не хотел этого делать, потому что это могло бы ограничить то, что я могу делать с 2D-пакетами, поскольку я не использую 2D-движок. Но в конце я решил, что если я не смогу найти чрезвычайно быстрый алгоритм поиска ребер, который поддерживает вогнутые сетки с отверстиями, мне нужно будет просто использовать обычный компонент Unity3D MeshCollider. Я не уверен, почему у меня возникла проблема с коллайдером Polygon, так как я думал, что он будет работать так же, как MeshCollider, но в 2D. Я думаю, проблема была в том, что я определял путь Полигонального Коллайдера в качестве каждой вершины. Это неправильно, потому что я думаю, что мне нужно было бы установить только граничные вершины. (My me sh не разделяет вершины, поэтому я не уверен, как найти ребра) Конечно, я мог бы переписать его, чтобы поделиться вершинами, но я думаю, что я найду с 3D-компонентами (пока, по крайней мере)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...