description |
---|
Spatial Hash Interest Management |
Перво-наперво: "Spatial Hashing" звучит сложно, чтобы мы, сетевые программисты, могли потешить свое эго. Техника на самом деле довольно проста, и если вы раньше использовали uMMORPG, то, вероятно, помните это как "Проверку по сетке". В любом случае мы используем "Spatial Hashing", поскольку это отраслевой термин.
Добавьте компонент Spatial Hashing Interest Management на тот объект, на котором у вас висит компонент Network Manager:
Ранее, мы проверяли Vector3.Distance каждого заспавненного объекта у каждого соединения. Вместо этого теперь мы помещаем каждый созданный объект в сетку и для каждого клиента, мы отправляем ему обновления, которые есть в 8 соседних клетках сетки. Это очень быстро. В начале тестирования uMMORPG, это было в 30 раз быстрее, чем проверка расстояния. Алгоритм менее сложен, поэтому он хорошо масштабируется для большого количества объектов.
{% hint style="info" %} Проверьте примеры Mirror Benchmark. Это использует Spatial Hashing и отображает ползунок в реальном времени, позволяющий вам поиграться с диапазоном видимости. {% endhint %}