Вверх ↑
Этот топик читают: Гость
Как вам идея?
1)
(24/24)
2)
(0/24)
3)
(0/24)

Ответов: 884
#1: 2012-11-21 11:41:19 ЛС | профиль | цитата
Предлагаю в этой теме обсудить техническую возможность создания прожектора строителя.

Проблема: В процессе строительства крупных объектов часто возникает проблема равномерного освещения строительной площадки и постоянной переукладки светильников по мере работы. Также имеющиеся светильники не всегда сочетаются со сложной архитектурой сооружения.

Предложение: Можно добавить в игру блок-прожектор работающий по такому принципу: Блок-прожектор по аналогии с детектором устанавливается в любом направлении. Если в радиусе 10 кубов уже имеется хотябы один установленный блок-прожектор, установка не происходит.

При установке блока происходит следующее: Программа на стороне сервера просчитывает координаты 32 прямых линий длиной 64 блока проходящих через блок-прожектор и расходящихся равномерным пучком в виде телесного угла 60х60 градусов.
Расчет координат производится по уравнению прямой:


Рассчитанные координаты заносятся в стек. Затем программа идет по координатам вдоль каждой линии проверяя какой блок находится в каждой точке (Xi,Yi,Zi). Если в этой точке находится блок воздуха программа переходит к следующей точке и так до первого непрозрачного блока. Как только найден непрозрачный блок в предыдущей рассчитанной точке устанавливается технический блок-источник света и прога переходит к обработке следующей линии. Если непрозрачный блок не найден на прямой (длина прямой 64 блока), прога также переходит к следующей линии. На одной линии может быть установлен только 1 блок-источник.

Свойства блока-источника света:
- обладает всеми свойствами блока воздуха (невидимость, проходимость и т.п.)
- создает освещение 15 единиц
- исчезает при установке на его месте любого блока.

В итоге программа запрашивает свойства не более 32*64 = 2048 блоков для установки не более 32 источников света. Для уменьшения нагрузки на сервер при установке/эксплуатации блока предусмотрено ограничение плотности установки блоков (1 блок на 10 кубов), баф "опасный блок" 10 сек., высокая прочность блока как у сверхпроводника.

Таким прожектором можно будет освещать территорию города, окружающий ландшафт, создавать архитектурную подсветку высотных строений и т.п. В данной реализации возможна установка направления прожектора на 0, 90, 180 и 270 градусов, можно обсудить варианты установки под произвольными углами - тогда в блок-прожектор придется добавлять какой-нибудь интерфейс для смещения пучка линий на углы меньше 45 градусов.

Крафт и текстуру блока-прожектора не превожу т.к. в данной теме обсуджается только техническая возможность реализации подобного алгоритма.

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

--- Добавлено в 2012-11-21 12:07:20

Сейчас прикинул, при 32 линиях и телесном угле 60х60 плотность источников света быстро падает с расстоянием. Более сбалансированным вариантом будет 32 линии длиной по 48 блоков каждая и 45х45 телесный угол.
карма: 136
3
Голосовали:wthout_brain, Steone, Flane
Ответов: 195
#2: 2012-11-21 15:24:28 ЛС | профиль | цитата
было-бы неплохо,а то,когда строишь большие конструкции свет везде расставлять задолбаешься,я за.
карма: 1
I wanna see you BURN!!!A-HA-HA-HA-HA!!!
0
Ответов: 4446
Steons Clan
лидер
#3: 2012-11-21 15:25:57 ЛС | профиль | цитата
Хм.. Неплохо проработана идея.
карма: -110
Аккаунт вернул, бан на месте, скучно не играть =((
0
Ответов: 73
Monte Carlo
Неактивен
#4: 2012-11-21 16:23:41 ЛС | профиль | цитата
хм...действительно нужная вещь,а то и в правду,город тяжело освещать.
карма: 14
One club.One Love.One United!
0
Ответов: 1543
#5: 2012-11-21 16:55:57 ЛС | профиль | цитата
Выглядеть будет так, верно?
По теме: За, будет неплохо. Придумай крафт и текстуруНа крайняк, отдай мне
карма: 22
Тратуте
0
5
Сообщение
...