Перейти к публикации
Форум - ComputerCraft
Doob

Полезное применение камеры из Computronics

Рекомендованные сообщения

На сколько я понял, картинка на экране отражает расстояние до того или иного блока, но не отражает свойства самого блока. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

На сколько я понял, картинка на экране отражает расстояние до того или иного блока, но не отражает свойства самого блока. 

Именно! Единственное свойство, доступное у камеры — возврат расстояния до ближайшего блока. Причём у камеры можно указывать "поворот" по двум осям. Кроме того, блоки, которые дальше, чем на 32 блока, не "улавливаются" камерой. На ГитХабе CX давным-давно висит тема с возвратом цвета блока, на который смотрит камера. Но воз и ныне там.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

На сколько я понял, картинка на экране отражает расстояние до того или иного блока, но не отражает свойства самого блока.

Там довольно интересно устроено, шаг луча трассировки можно сделать очень маленьким, на мониторах OC нельзя увидеть достаточно детализировано форму блока, надо попробовать с мониторами CC.

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

Изменено пользователем Doob

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Да, действительно, неполные блоки маленьким лучом можно довольно точно просветить. Саженцы выглядят почти как обычные блоки, а листва иногда полупрозрачна, стекло же, как ни странно - обычный блок, надо было камеру радаром назвать.

 

Вот пример, как выглядит рычаг сбоку и спереди (сделал зум x5, чтобы влезло в монитор)

 

 

9MEOgTO.png

2yC45IF.png

 

 

Изменено пользователем Doob

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А как камера реагирует на сущности?

 

Вот так:

 

 

BW37Emb.png

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Типо, не реагирует?


А, она в виде той плоской фимгни жителя изобразила)

Изменено пользователем SergOmarov

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Типо, не реагирует?

А, она в виде той плоской фимгни жителя изобразила)

 

Когда курсор наведен на какой-нибудь блок, у этого блока появляется черная рамка, камера как раз эту рамку и высвечивает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Новая версия программы: pastebin get NxTSdH4G camAdv
Выкинул поддержку железных мониторов, все-равно ничего не видно, сделал для алмазных мониторов два режима - оттенки серого и тепловой.
Кнопочки:
  Z - увеличить зум, C - уменьшить
  Backspace - сбросить зум
  X - переход в тепловой режим
  Q - выход из программы.

 

 

LwTNjTM.png

 

Изменено пользователем Doob
  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Z - увеличить зум, C - уменьшить   Backspace - сбросить зум

 А перемещение вверх-вниз, вправо-влево можно?

Как я понял, один "пиксел" это два символа . Можно уменьшить зернистость используя половинки этих символов (не помню какой код)

Изменено пользователем Zer0Galaxy

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 А перемещение вверх-вниз, вправо-влево можно?

Как я понял, один "пиксел" это два символа . Можно уменьшить зернистость используя половинки этих символов (не помню какой код)

 

Можно сделать и перемещение, только искажение перспективы будет мешать.

У 1Ridav в QR генераторе есть отрисовка квадратных пикселей, но там битовый формат, чтобы его приспособить для цветного отображения надо потанцевать с разделением одного изображения на два - один на foreground, другой на background, пока не могу сообразить, как такое провернуть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Каждое знакоместо будет содержать два пикселя. Необходимо заполнять экран символами ▄ (символ из псевдографики - нижняя часть закрашена, верхняя нет) предварительно установив цвет фона равным цвету верхнего пикселя, а цвет шрифта - цвету нижнего. Неплохо было бы заполнить весь экран такими символами заранее, а потом только менять атрибуты цвета для каждого знакоместа, Но, что то не найду такой возможности в библиотеке gpu.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Каждое знакоместо будет содержать два пикселя. Необходимо заполнять экран символами ▄ (символ из псевдографики - нижняя часть закрашена, верхняя нет) предварительно установив цвет фона равным цвету верхнего пикселя, а цвет шрифта - цвету нижнего. Неплохо было бы заполнить весь экран такими символами заранее, а потом только менять атрибуты цвета для каждого знакоместа, Но, что то не найду такой возможности в библиотеке gpu.

 

Хм, точно, четные строки - цвет текста, нечетные - цвет фона, в разных таблицах

Пройтись в цикле параллельно по обоим таблицам устанавливая из них цвет фона и текста.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

×