Я не говорю здесь о фоновой сетке, я говорю о вихревых частицах, движущихся вокруг гравитационных скважин! Мне всегда нравился эффект, и я решил, что это будет забавный эксперимент по его воспроизведению. Я знаю, что GW использует закон Гука повсюду, но я не думаю, что эффект Частицы-к-колодцу достигается с помощью пружин, выглядит как функция квадрата расстояния.
Вот видео, демонстрирующее эффект: http://www.youtube.com/watch?v=YgJe0YI18Fg
Я могу просто реализовать эффект пружины или гравитации на некоторых частицах, это легко. Но я не могу получить эффект, похожий на эффект GWs. Когда я наблюдаю за эффектом в игре, кажется, что частицы выбрасываются в пучки из самого колодца, они спиральны наружу вокруг центра колодца, и в конечном итоге отбрасываются наружу, падают обратно к колодцу и повторяются.
Как бы я заставил частицы по спирали выйти наружу? Как бы я держал пучки частиц вместе рядом с Колодцем, но разлетался бы друг от друга, когда они выбрасывались наружу? Как бы я держал частицы так сильно прикрепленными к Колодцу?
РЕДАКТИРОВАТЬ:
http://www.youtube.com/watch?v=1eEPl8kOXN8 <- Видео
https://dl.dropbox.com/u/49283213/gw.gif <- GIF пути частиц
Я отключил рандомизацию в GW, чтобы было легче увидеть эффект частиц, вот минутное видео, где вы можете увидеть сине-зеленый сток, отсылающий кучу частиц. Красные частицы от взрывов, которые обычно появляются повсюду. Некоторые наблюдения, которые я сделал из видео:
- Частицы выбрасываются из центра (или около центра) стока
- Все частицы вынуждены вращаться вокруг центра по часовой стрелке, поэтому происходит какое-то тангенциальное движение, вы можете легко увидеть это, когда красные частицы взрыва приблизятся к стоку.
источник
мне кажется, что нарисованы сегменты, а не точки. Так что я думаю, что скважина выбрасывает точку круга с высокой скоростью и вектором скорости, касательным к кругу. И еще одна точка бросается сразу после, которая связана с первым, чтобы нарисовать сегмент. Тогда я думаю, что законы физики (Ньютон) применяются с сильной гравитацией, что объясняет снижение скорости. Так что я думаю, вам нужно вовремя интегрироваться, чтобы сделать это.
с: C центр скважины, R его радиус.
P1 - точка, которую мы рассматриваем
как «большую» константу, которую вы выбираете в некоторых испытаниях (масса скважины).
vel0 - начальный вектор скорости, касательный к окружности.
vel0 должен быть высоким (также делать испытания)
pos0 начальная позиция на окружности в момент времени t0.
: d расстояние между C и P1
: Vn нормированный вектор C P1
Init: Самый простой способ создать новую точку - выбрать угол A, затем:
обновление: для каждой итерации вы должны вычислить:
нет необходимости вычислять скорость.
возможно в игре используется какое-то трение, тогда уравнение будет другим.
обратите внимание, что вы используете несколько раз cos (A) и sin (A), поэтому сохраните их.
так что если вы создаете множество точек, связанных две на две, и в то же время вы изменяете начальный угол A, чтобы источник сегмента вращался вокруг скважины, вы, вероятно, подходите довольно близко к решению.
Изменить: я думаю, вы должны попробовать это без трения, это может быть хорошо. трение - это сила, которая пропорциональна скорости, но имеет обратное направление вектора. таким образом, уравнение становится:
с силой трения = - постоянная * Вел. это я не знаю, как интегрировать, поэтому я бы пошаговую интеграцию:
Будет проблема численной стабильности, но поскольку время жизни частиц короткое, это не должно быть проблемой.
источник
Я наконец сделал это, удовлетворительное воспроизведение поведения частиц.
http://www.openprocessing.org/sketch/73624
Эффект - это стандартный гравитационный эффект с завихрением, когда частицы попадают в определенный диапазон, к касательной нормали прикладывается сила. это заставляет частицы «вращаться» довольно нестабильно. Частицы в эскизе обработки не выгорают, но на вершине их орбиты это происходит, когда они выгорают и высвобождается другая группа. Спасибо всем за вашу помощь, даже если она не дала мне никакой новой информации, мы очень ценим то, что вы вложили время и усилия в свои ответы. Еще раз спасибо!
источник