Как получить текущую позицию частицы, используя JM3 Engine?
Я нахожусь в процессе создания научной фантастической игры. У меня приятная трехмерная среда с астероидами, врагами, крейсерами и ландшафтом. Тем не менее, я не могу получить положение конкретной частицы. Чтобы быть более конкретным:
Я могу получить начальную позицию, где будет генерироваться множество частиц.
Я не могу: Получить позицию, где находится текущая конкретная частица. (Допустим, он был "выстрелен" из пушки несколько секунд назад)
Что я пытаюсь сделать? Я пытаюсь в конечном итоге создать систему обнаружения столкновений частиц, получая x y и z каждой частицы так, чтобы когда частица сталкивалась с объектом (например, с помощью астероида, которого я создал с именем скалы), она исчезнет, и впоследствии произойдут другие события (например, повреждение объект и т. д.). Я знаю, как создать систему столкновений, но не знаю, как использовать метод get() для определения положения частицы. Я проверил javadocs движка JavaMonkey3 и движка env3d (я использую оба), но безуспешно.
Возможен ли этот метод, или было бы лучше создать новый объект каждый раз, когда корабль запускает пушку? (X, y и z объекта.object можно отслеживать.) Для справки: основной класс частиц javamonkey: http://hub.jmonkeyengine.org/javadoc/index.html?com/jme3/effect/ParticleEmitter.html
1 ответ
1) Если вы вызываете getParticles ()
http://hub.jmonkeyengine.org/javadoc/com/jme3/effect/ParticleEmitter.html
Вы должны получить список всех частиц. Частицы имеют тип данных позиции, к которому вы можете получить доступ.
http://hub.jmonkeyengine.org/javadoc/com/jme3/effect/Particle.html
2) затем вы можете пройтись по вашим частицам и проверить, сталкивается ли частица (в вашей реализации.