OpenComputers/Голографический проектор

Тип |
Твёрдый блок |
---|---|

Требования |
Нет |

Действует ли гравитация |
Нет |

Прозрачность |
Нет |

Светимость |
Да, 15 |

Взрывоустойчивость | |

Прочность | |

Инструмент | |

Возобновляемый |
Нет |

Складываемый |
Да (64) |

Воспламеняемый |
? |


Это устройство проецирует над собой голографическое изображение.

Масштаб изображения может изменяться от 1x1x1 блока до 12х8x12 блоков. Количество «вокселей» остается неизменным, вне зависимости от масштаба. Голограмма имеет разрешение 48x32x48 вокселей (каждый из которых может быть погашен, или окрашен в какой-либо цвет). Значение каждого вокселя в 3D массиве проектора может быть установлено отдельно.

Проектор первого уровня способен создавать лишь монохромные голограммы (каждый воксель может быть либо погашен, либо окрашен в один цвет). Проектор второго уровня имеет трехцветную палитру.

Установленный проектор можно повернуть вокруг вертикальной оси Y при помощи гаечного ключа.

Если у вас над проектором надпись **«Not enough memory»** — значит у вас не хватает видеопамяти.

## Крафт

## Крафт до версии 1.3

Ингредиенты | Процесс |
---|---|

Печатная плата + Алмаз + Стекло + Обсидиан + Микрочип (Уровень 3) + Огненный стержень |


## Галерея

## Интерфейс

Название компонента: `hologram`


`clear()`


Очищает голограмму.

`get(x:number, y:number, z:number):number`


Возвращает значение вокселя по координатам (x, y, z).

`set(x:number, y:number, z:number, value:number or boolean)`


Устанавливает значение (цвет) вокселя по заданным координатам.

`fill(x:number, z:number, height:number, value:number or boolean)`


Заливает «колонну» вокселей в координатах (x, z) на заданную высоту (`height`

) заданным значением (`value`

).

`copy(x:number, z:number, sx:number, sz:number, tx:number, tz:number)`


Копирует прямоугольную область вертикальных «колонн» (`x`

, `y`

— координаты угла области, `sx`

, `sz`

— размеры) с одного места в другое, заданное относительными координатами (`tx`

и `tz`

— смещение по осям x и z соответственно)

`getScale():number`


Возвращает масштаб голограммы.

`setScale(value:number)`


Задает масштаб голограммы. Параметр `value`

может иметь дробное значение от `0.3`

(1х1х1 блок) до `4.0`

(12х8х12 блоков). (Можно передать большее или меньшее значение, однако голограмма не изменит свой масштаб дальше указанных пределов.)

`maxDepth():number`


Возвращает максимальную глубину цвета, поддерживаемую этим проектором.

`getPaletteColor(index:number):number`


Возвращает цвет, установленный в палитре проектора по заданному индексу.

*Примечание*: Проектор второго уровня способен создавать трехцветные голограммы. Его палитра состоит из трех цветов, которые могут произвольно устанавливаться пользователем.

`setPaletteColor(index:number, value:number):number`


Устанавливает новый цвет в палитре проектора по заданному индексу. Возвращаемое значение — старый цвет.

`setTranslation(tx:number, ty:number, tz:number)`


Перемещает голограмму относительно проектора. Координаты могут принимать значения от −1.0 до 1.0 (во вертикали — от 0.0 до 1.0). Максимальное смещение — на длину стороны голограммы (с учётом установленного масштаба).

`getTranslation():number, number, number`


Возвращает положение голограммы относительно проектора.

`setRotation(gr:number, x:number, y:number, z:number):boolean`


Позволяет повернуть голограмму на заданный угол по любой оси.

`setRotationSpeed(speed:number, x:number, y:number, z:number):boolean`


Задает скорость вращения по определённой оси и заставляет голограмму постоянно вращаться, пока есть энергия.

## История версий

- В версии OpenComputers
**1.3**был добавлен голографический проектор второго уровня (цветной). Были изменены рецепты крафта, и модель проектора.

- С версии
**1.3.4**установленный проектор можно поворачивать гаечным ключом.

- В версии
**1.3.5**были добавлены функции для перемещения голограммы относительно проектора.