Ответ: Удаление типа и ссылок на него.
Сделать двухмерный массив списков, в которых хранятся травинки. Список - это и есть сектор. А двумерный массив - это дробление поля. А описпанная тобой проблема легко решается проверкой на "вылет" за пределы массива. И все, больше это дело не трогается.
Обновляем только коров, по их координатам XZ очень быстро определяем в каком секторе (списке) она находится, и обходим этот список, можно еще обойти соседние для верности.
Другое дело, что в Блиц3Д - это реализуется черезжоперно.
В БлицМаксе это делается легко и элегантно за 3 минуты.
|