Группы фильтрации столкновений не работают в Javascript LiquidFun Box2D - PullRequest
0 голосов
/ 04 ноября 2018

Я пытался заставить различные категории объектов сталкиваться и не сталкиваться друг с другом, используя версию 1.1 Javascript LiquidFun / Box2D без особого успеха. Может ли кто-нибудь предоставить фрагмент или пример того, как правильно применять определение b2Filter? Мой код в основном выглядит так для двух разных категорий объектов, которые я пытаюсь создать в сцене:

let filter = new Box2D.b2Filter;
filter.categoryBits = 0x0000;
filter.maskBits = 0x0001;
filter.groupIndex = -1;

console.log("Setting filter data...");
let fixList = body.GetFixtureList();
console.log("Fixtures: ",fixList);
fixList.SetFilterData(filter);
console.log("Filter data:",fixList.GetFilterData());

Для одного типа объекта я использую categoryBits = 0x0000, а для другого - 0x0001, но каждый объект по-прежнему сталкивается с любым другим объектом. Это также похоже на то, что применение SetFilterData () к списку приборов не влияет на общую сцену - результаты GetFilterData () не имеют ссылок на требуемые categoryBits и maskBits.

Может ли кто-нибудь предоставить пример базового кода, который показывает правильное применение фильтрации через categoryBits?

...