Welcome, guest. You can be a Login или register
Author
Topic title
ZeRo
Offline
Lazy mapper
200 posts
Karma 16
[SIZE=6][color=DarkOrange]Skybox из панорамного фото 360 градусов. Простой вариант.[/color][/SIZE]

Для этого вам нужно:
-сама панорама(фото).
-фотошоп(я использую CS6) или иную схожую программу SAI или Gimp(принцип везде один и тот же, просто инструменты немного отличаются)

Начинаем работу:
Ищем нужную нам панораму, сохраняем и открываем в фотошопе.
Дальше нужно сделать фотографию панорамы слоем(т.к. изначально она считается "задним фоном"). Делаем двойной клик на фоне, появляется окошко с настройками слоя, просто жмем OK.(скрины по очереди действий)

[center][/center]
[center][/center]

Была взята панорама с http://www.cgtextures.com/, изначально фотография была размером 8000х2071,изначально пробывал сделать высоту 1024, но по ширине текстуры была уже чем 4*1024=4096, в итоге я ужал текстуру по ширине 4096, получилась текстура 4096х1060.
Идем в меню Изображение-> Размер изображения...

[center] [/center]

Дальше нам необходимо сделать заготовку для наших кубов(сторон скайбокса)
Идем в меню Изображение-> Размер холста... меняем ширину и высоту холста на 1024х1024 пикселей, ставим ориентацию в нижний левый угол, и если есть галка относительности уберите ее. Фотошоп выдаст предупреждение что картинка больше холста, нажмите OK. вы увидите кусок нашей картинки левый нижний край размером 1024х1024 пикселей, но на самом деле сама картинка осталась(показано выделением на скрине внизу)

[center] [/center]
[center] [/center]

Теперь начинаем вырезать сами стороны нашего скайбокса. Выбираем инструмент выделения (свмый первый значек в вите квадрата или нажмити на быструю клавишу M), и выделяем квадрат, проведите зажав курсор как показано на второй картинке внизу(таким образом вы выделите только видимую часть изображения). Дальше Ctrl+x Ctrl+v, у вас образуется новый слой с вашей вырезанной стороной скайбокса.

[center] [/center]
[center] [/center]
[center] [/center]

Для удобства можете отключить отображение нашего только что вырезанной текстуры скайбокса(слева от миниатюры есть значок глаза, нажмите на него и слой будет не виден на рабочей области) выбираем наш первый слой с исходным изображением, просто кликнув один раз по нему в слоях.
Выбираем инструмент "Перемещение" (он находится рядом с выделением или нажмите быструю клавишу V), и просто захватываем и тащим курсор справа налево, картинка сама будет прилипать к краям нашей рабочей области холста, лак что просто тянем пока картинка не прилипнет к левому краю.
[center] [/center]

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

Результат:


p.s.вообще статью писал на КСМ, но к кваке это тоже применимо.
p.p.s. тема названа не с проста так, обратите вни мание что сама панарама которую я взял снята не очень корректро, она не захватывает самый верх неба и облаков почти нету, фактически только горизонт, но этому дорисовать верхнюю самть скайбокса проще простого просто покрасив текстуру в цвет верхних границ 4-х сторон ская.
Rioshi
Offline
5 posts
Karma 2
Я недавно этим же вопросом задавался. Хотелось из полной сферической получить кубическую без искажений. Соблазняло большое количество сферических панорам в Интернэте (https://www.google.com/search?q=equirectangular). Далеко не все из них, конечно, подходят для скайбоксов, но, во имя справедливости, я должен был разобраться :D. Поскольку развёрнутая сферическая панорама сильно искажена на полюсах, то тут простым вырезанием не обойтись. Собсна, панорама из урока *ZeRo* и есть сферическая, только нижняя половина отрезана.
В общем, есть несколько программ, которые умеют преобразовывать сферические в кубические:
Flaming Pear Flexify (плагин для фотошопа);
Pano2VR Pro (пробовал лично — работает, пример ниже);
Genetica;
HDRshop (можно найти старую freeware версию).
Кроме того, есть способ с использованием 3DSmax и Blender (ссылки потерялись).

Пример, как я делал скайбокс с помощью Pano2VR 4.1.0:


После этого в фотошопе поразрезал на квадраты и сохранил в отдельные файлы, как положено для Quake3, приписывая к именам окончания _rt, _ft, _lf, _bk, _up, _dn (на скриншоте выше квадраты подписаны). Чёрную нижнюю половину я просто зарисовал приграничными цветами верхней половины (на картинке ниже видно).

Если же в вашем распоряжении уже есть готовая «стандартная» кубическая панорама в виде горизонтального креста, то для того, чтобы в Quake3 небыло несостыковок, скорее всего, нужно будет верхний квадрат повернуть на 90° против часовой стрелки, а нижний на 90° по часовой и, сохраняя квадраты, давать им имена таким образом:


Что получилось, можно посмотреть на примере (.pk3):
https://docs.google.com/file/d/0B7t2uOL7iutNLVh3ZUo1a3paSE0