Я пытаюсь симулировать давление с помощью набора сферических частиц в игре Unity, которую я создаю. Пара замечаний по поводу проблемы:
- Цель состоит в том, чтобы заполнить постоянно меняющееся 2-мерное пространство / пустоту маленькими сферами без трения. Игра пытается симулировать постоянно растущее давление все большего количества объектов, попадающих в это пространство.
- Сам уровень постоянно прокручивается слева направо, а это означает, что если размеры пространства не изменятся пользователем, он автоматически уменьшится (самая левая часть пространства будет постоянно прокручиваться за пределы экрана).
Мне интересно, какие есть некоторые подходы к решению этих проблем ...
- Зная, когда определить, когда есть место для заполнения, а затем добавить сферы в это пространство.
- Удаление сферы из пространства, когда оно сжимается.
- Стратегии для имитации давления на сферы так, что они «взрываются наружу», когда создается больше места.
Текущий подход, который я рассматриваю, заключается в использовании постоянно движущейся стены, которая находится за пределами экрана и движется вместе с экраном, как показано на этом рисунке:
,
Эта движущаяся стена будет толкать и удерживать сферы в пространстве. Что касается добавления новых сфер, я собирался, чтобы либо (1) сферы размножались при обнаружении свободного пространства, ИЛИ (2) порождали их слева от пространства (где находится стена) - подталкивая остальные сферы к заполнить пространство. Я предвижу проблемы с идеей № 1, потому что это, скорее всего, не будет создавать / имитировать давление; Идея № 2 кажется более многообещающей, но поднимает вопрос о том, как обеспечить место для появления этих новых сферных частиц (и последствиях их появления, когда пространства нет).
Большое спасибо заранее за вашу мудрость!