Я никогда раньше такого не делал, но я сделал несколько сложных клеточных автоматов . Извините, если это слишком расплывчато.
Основная идея здесь состоит в том, чтобы пометить все частицы, которые должны "продолжать падать" или "не двигаться" и исключить их из сложной обработки (с особой короткой / быстрый процессор для «падающего» списка - все, что вам нужно сделать, это отбросить каждый на пиксель).
- Ускорение для неподвижных частиц - статических частиц (я буду называть их S-частицами) состоит в том, что они не двигаются. Отметьте его для всех неподвижных областей (например, «стенка» или «чаша», не зависящая от силы тяжести, которую может создать пользователь. Отметьте частицы над ним S, если они стабильны, например, для жидкости, , если он имеет S частицы под обеими сторонами и не будут двигаться . Для чего-то вроде песка, который образует груды, , если в каждой из трех точек под есть S, он образует кучу , вы получите хорошие 45-градусные сваи, как это, я уверен, что вы можете изменить это, чтобы сделать некоторые вещи более крутыми или менее крутыми. Свяжитесь с S снизу вверх.
- Ускорение для частиц без частиц под ними падает - F частиц. Частицы с F-частицей под ними также являются F-частицами. Отметьте также это снизу вверх.
- Частицы, не помеченные F или S, являются сложными , они могут начать падать, прекращать падение или вращаться, использовать медленный процессор, который у вас уже есть, чтобы иметь дело с ними, их не должно быть много.
В итоге у вас будет много много быстрых частиц. Те, что в куче / озере, и те, кто идет вниз. Оставшиеся частицы - это частицы на краю склонов, на вершине озер или в других сложных местах. Там не должно быть почти столько же, сколько будет быстрых частиц.
Визуально отметьте каждый тип частиц некоторым цветом, сложные частицы ярко-красного цвета. Найдите случаи, когда он все еще медленный, и посмотрите , какие другие типы быстрых процессоров вы должны сделать. Например, вы можете обнаружить, что создание большого количества песчаных куч создает много красных областей вдоль склонов, вы можете инвестировать в ускорение «зон катания» вдоль склонов куч.
Надеюсь, это имеет смысл. Не забудьте вернуться и отредактировать, как только вы что-нибудь выясните!