На других языках: Deutsch English 한국어 Português do Brasil 中文

Физика конвейеров

From Official Factorio Wiki
Jump to: navigation, search

Конвейерные системы в Factorio, пожалуй, самая проработанная механика. Предметы в сундуках и других контейнерах хранятся просто как их общая сумма, а на конвейере они растягиваются и перемещаются совместно, однако, когда их выкладывает или забирает манипулятор, они обрабатываются по отдельности. Все это приводит к запутанному поведению, что проявляется, например, в пропускной способности манипуляторов.

Характеристики конвейеров

  • Плотность. Характеризует то, какое количество предметов помещается на единицу длины конвейера; измеряется в предметах на тайл (или клетку) одной полосы конвейера. В независимости от типа предмета и конвейера. Плотность прямого конвейера равна 4.
  • Скорость. На практике, измеряется в тайлах в секунду. Имейте ввиду, что в игре измерения производятся в сегментах (1/256 тайла) на тик (1/60 секунды). Подробнее ниже. Скорость простого конвейера соответствует 1.875 тайла в игровую секунду. Быстрый конвейер вдвое быстрее, а экспресс-конвейер в три раза быстрее.
  • Пропускная способность. Характеризует то, сколько предметов может быть перемещено из одного тайла в другой за секунду. Рассчитывается как плотность * скорость, например для простого конвейера пропускная способность будет равна: 4 * 1.875 = 7.5 предметов в секунду для одной полосы. Для двух полос, соответственно 15 предметов в секунду.
  • Заполнение. Если на конвейере нет пустых мест между предметами, то такой конвейер называется полностью заполненным, в противном случае, конвейер заполнен частично и его пропускная способность полностью не реализована. Механизмы, которые перемещают предметы на конвейер — манипуляторы, разделители, другие конвейеры подведенные сбоку, буры и т.д. — раздвигают предметы, где есть небольшие зазоры, чтобы туда поместился предмет, что позволяет полностью заполнять конвейеры.
  • Полосы. У конвейеров имеется две параллельные полосы, плотность и скорость которых, несмотря на повороты, постоянны и независимы друг от друга. Т.о., предметы внутренней полосы на повороте выйдут быстрее, чем предметы на дальней, т.к. скорости полос одинаковы, в то время как длина внутренней полосы меньше.

Скорости конвейеров

Учитывая приведенные выше значения, можно рассчитать скорость и пропускную способность для каждого вида конвейера.

Тип конвейера Скорость Пропускная способность
Фактор Тайл/с Одна полоса, предмет/с Одна полоса, предмет/мин Две полоса, предмет/с Две полоса, предмет/мин
Transport belt.png
Конвейер
1 1.875 7.5 450 15 900
Fast transport belt.png
Быстрый конвейер
2 3.75 15 900 30 1800
Express transport belt.png
Экспресс-конвейер
3 5.625 22.5 1350 45 2700

Предметы на конвейере

Ранее было рассказано, как размещаются предметы на конвейере в терминах плотности и заполнения. Однако, каждый предмет в момент времени находится только на одном тайле конвейерной линии.

Например, даже если на скриншоте покажется будто предмет остановился между тайлами, он все равно будет отнесен к одному из них.

  • Если остановить тайл конвейера, то предметы, которые находятся на нем, тоже остановятся, в противном случае они продолжат движение — третьего состояния не дано.
  • Если подключить к двум конвейерам логическую сеть и включить опцию считывания содержимого конвейера, можно увидеть, что предмет относится только к одному из конвейеров.
  • Манипулятор может брать предметы только из того тайла, напротив которого он расположен, но не с границ тайлов.

В этом смысле, предметы удобно представлять точками, расположенными на некотором расстоянии друг от друга. Для расчета конвейерных линий и логических сетей, в которых применяются конвейеры, знать, где находится эта точка на предмете, не обязательно.


Belts-with-one-tick-offsets.png


На изображении выше, конвейеры были запущены с разницей в 1 тик, а после одновременно остановлены. Т.о. первые к выходу предметы выступили на разную длину. Предметы с левой стороны выступили на следующий тайл почти на половину, что означает, что серединные точки находятся еще в предыдущем тайле.

Ниже схематично представлено перемещение предметов по двум тайлам быстрого конвейера с разрешением по времени в 1 тик. Знаком * обозначен центр предмета (промежуток между тайлами показан только для лучшей визуализации процесса — в игре его нет).

Тик   Тайл 1                           Тайл 2                             Считывание тайла 1    Считывание тайла 2
      |------------------------------| |------------------------------|   Импульс  Удержание    Импульс  Удержание
  0         <---*-->  <---*--> <---*-- ><---*-->            <---*-->         0         3           0         2
  1           <---*-->  <---*--> <---* --><---*-->            <---*-->       0         3           0         2
  2             <---*-->  <---*--> <-- -*--><---*-->            <---*--      0         2           1         3
  3               <---*-->  <---*--> < ---*--><---*-->            <---*      0         2           0         3
  4   ->            <---*-->  <---*-->  <---*--><---*-->            <--      0         2           0         2
  5   *-->            <---*-->  <---*- -> <---*--><---*-->            <      1         3           0         2
  6   --*-->            <---*-->  <--- *--> <---*--><---*-->                 0         2           1         3
  7   <---*-->            <---*-->  <- --*--> <---*--><---*-->               0         2           0         3
  8     <---*-->            <---*-->   <---*--> <---*--><---*-->             0         2           0         3

Сегменты и длина конвейера

Точные измерения показывают, что внешняя полоса на повороте точно в 1.15234375 или 295/256 раз длиннее прямого конвейера. Это означает, что каждый прямой конвейер состоит из 256 сегментов, где может быть предмет, хотя измерения с такой точностью могут быть получены только косвенным путем.

Ниже представлена таблица со скоростями и длинами в сегментах:

Что именно Количество сегментов
Скорость простого конвейера, в тик 8
Скорость быстрого конвейера, в тик 16
Скорость экспресс-конвейера, в тик 24
Размер предмета 64
Длина одного тайла полосы прямого конвейера, подземного конвейера, и разделителя 256
Длина внутренней полосы конвейера на повороте 106
Длина внешней полосы конвейера на повороте 295
Длина пролета (в случае боковой загрузки другим конвейером) от точки загрузки на конвейер по ближней к концу тайла полосе. Sideload-late.gif 68
Длина пролета (в случае боковой загрузки другим конвейером) от точки загрузки на конвейер по дальней к концу тайла полосе. Sideload-early.gif 188

Например, учитывая цифры выше, можно вычислить скорость простого конвейера:

8 (сегментов в тик) / 256 (сегментов на прямом конвейере) * 60 (тик в секунду) = 1.875 тайлов в секунду.

Пропускная способность на полосу:

8 (сегментов в тик) / 64 (сегментов на предмет) * 60 (тик в секунду) = 7.5 предметов в секунду.

Смотрите также