Чтобы создать редактор частиц, сначала решите, что вы хотите сделать, а затем возвращайтесь с более конкретными проблемами или вопросами.
Может быть, вы хотите иметь возможность создавать шаблон частиц. Это может определить внешний вид и поведение частицы.
Тогда вы бы отредактировали шаблон эмиттера частиц. Это определит, какой шаблон частицы будет порождаться, и какие начальные свойства будет иметь экземпляр частицы.
Тогда вы создадите объект эмиттера частиц в вашем редакторе. Вы можете переопределить определенные свойства в шаблонах эмиттера частиц.
Вы могли бы создать шаблон генератора частиц, который представлял собой список создателей частиц, чтобы вы могли испускать разные частицы из одного объекта редактора.
Это позволит вам создать, скажем, шаблон частицы fire-outside
, который представлял собой желтый круг, шаблон частицы fire-inside
, который представлял собой красную часть, с более коротким сроком службы, чем у прежнего. Затем вы определяете 2 эмиттера частиц, по одному для каждого. Давать порожденным частицам вверх, но слегка случайные направления. Затем создайте мультиизлучатель с именем Fire
или что-то в этом роде. Затем в редакторе уровней вам нужно будет просто установить эмиттер Fire
, а в игре вы получите хороший эффект огня.
Поможет опубликовать конкретную проблему с настройкой физического движка.
Общая идея заключается в том, что у вас есть представление игровых объектов, и вам необходимо создать и связать их с физическими объектами, чтобы вы могли имитировать эти объекты и затем обновлять игровые объекты (для рендеринга и игровой логики).
Итак, когда вы загружаете свой уровень, вы будете проходить через каждый физический объект и создавать эквивалент в своем физическом движке, будучи уверенным, что позже вы сможете связать свой игровой объект с физическим. Очевидно, что вам нужно будет синхронизировать обе системы, добавляя / удаляя физические объекты по ходу игры и игровые объекты, где они были созданы / уничтожены.
Затем в игровом цикле вы запускаете игровую логику, которая может напрямую обновлять их позиции. Затем обновите физические объекты, чтобы их положение было эквивалентно положению игрового объекта. Затем запустите обновление физики. Затем обновите позиции вашего игрового объекта в соответствии с позициями физического объекта.