Это делается гораздо проще. В 3D модель дерева добавляется коллижн бокс с такой вот "пирамидой", тогда игра просчитывает каждое дерево не как прозрачный (бестелесный) объект, а как тело, обладающее определённой твёрдостью. Изменения нужно внести в 3D модели деревьев, а их в игре немного (дуб, ель, берёза и что там ещё есть).
Неудивительно. Этот велосипед не я изобрёл.
Единственный недостаток этого метода - дополнительная (и немалая) нагрузка на систему, поскольку на карту добавляются сотни тысяч дополнительных объектов, которые процессор должен обсчитывать. Если в "старичке" таким образом обсчитывались отдельно стоящие группы деревьев, то их было немного, а леса были реализованы иначе (массивом или одним объектом - я не знаю) и они присутствовали на карте всегда. В БзБ же количество деревьев можно уменьшать или вообще полностью отключить их. И просчёт как в Ил-2 ЗС здесь не подходит. В своё время высказывалось решение просчитывать "твёрдые" деревья в небольшом радиусе вокруг самолёта игрока, но это может быть актуально для оффлайна, к тому же для ботов деревья по прежнему будут прозрачными. А как быть в онлайне, где множество игроков на одной карте? Тут получается необходим обсчёт почти всех деревьев. Проблема, однако.