Skip to content

Latest commit

 

History

History
25 lines (15 loc) · 2.12 KB

spatial-hashing.md

File metadata and controls

25 lines (15 loc) · 2.12 KB
description
Spatial Hash Interest Management

Spatial Hashing

Spatial Hashing Interest Management

Перво-наперво: "Spatial Hashing" звучит сложно, чтобы мы, сетевые программисты, могли потешить свое эго. Техника на самом деле довольно проста, и если вы раньше использовали uMMORPG, то, вероятно, помните это как "Проверку по сетке". В любом случае мы используем "Spatial Hashing", поскольку это отраслевой термин.

Перед началом

Добавьте компонент Spatial Hashing Interest Management на тот объект, на котором у вас висит компонент Network Manager:

Как это работает

Ранее, мы проверяли Vector3.Distance каждого заспавненного объекта у каждого соединения. Вместо этого теперь мы помещаем каждый созданный объект в сетку и для каждого клиента, мы отправляем ему обновления, которые есть в 8 соседних клетках сетки. Это очень быстро. В начале тестирования uMMORPG, это было в 30 раз быстрее, чем проверка расстояния. Алгоритм менее сложен, поэтому он хорошо масштабируется для большого количества объектов.

Source: https://www.dynetisgames.com/2017/04/05/interest-management-mog/

{% hint style="info" %} Проверьте примеры Mirror Benchmark. Это использует Spatial Hashing и отображает ползунок в реальном времени, позволяющий вам поиграться с диапазоном видимости. {% endhint %}