Показать сообщение отдельно
Старый 05.01.2007, 05:45   #1
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Лампочка Создание SkyBox'а. Один из видов. (Урок)

И так, в этом уроке я расскажу один из способов, как сделать небо.
Плюсы и минусы этого способа:
Плюсы:
++ В отличии от сфероидного скайбокса, вертикально сверху, нету дефектов стыковок текстуры.
+ В отличии от кубического скайбокса, не нужно делать много текстур, лишь одну, и очень просто.
+ Нет мест стыковок текстур.
Минусы:
- Вид скайбокса ограничен верхом, а то что на горизонте и ниже, пусто - Только небо.
- Солнце или подобные, большие космические тела, нужно делать отдельно, т.к. есть несоответствия в перспективе.
Что нам нужно, чтобы сделать такой скайбокс:
1. Photoshop, или другой подобный графический редактор.
2. MilkShape3D, можно и 3Д Макс, но объяснять буду как делать в MilkShap’e.
Синими выделениями я помечал места, где нужно делать действие.
Если вы впервые в милке, то включите показатели видов (Window > Show Viewport Caption)
Начнём с Модели:
1. Открываем Милку.
2. Выбираем инструмент Sphere и создаём сферу на виде сверху, с настройками:
Stacks: 12
Slices: 24

3. Выбираем инструмент Rotate и поворачиваем с настройками:
Z: 90

4. Выбираем инструмент Select и выделяем нижнюю часть сферы в виде сбоку, с настройками:
Face
Ignore Backfaces: 0
By Vertex: 1


5. Удаляем выбранное (Жмём Delete).
6. Теперь, выделяем в виде спереди, крайние фэйсы и удаляем их.

7. Сейчас у нас выходит 12х6 квадров. Выделяем в виде сбоку, лишние по 3 квадра с каждой стороны и удаляем их.

8. Теперь у нас 6х6 квадров, но форма сверху, не квадратная. В виде сверху, выделяем вертексы вертикальных рядов. И масштабируем их инструментом Scale с настройками:
X: Выкл.
Y: Выкл.
Z: Вкл.


9. Выделяем всю модель, и жмём Ctrl+Shift+F (Вывернуть все трианглы на изнанку).

10. Двигаем всю модель, чтобы самые нижние вертексы были на горизонте.

Модель готова, теперь делаем развёртку:
1. Идём в закладку Materials, и создаём новый материал (New).
2. Выделяем всю модель Ctrl+A, и присваиваем материал (Assign).
3. Теперь, жмём Ctrl+T, вылезает окно развёртки, ставим вид Top (там где по стандарту Front), далее жмём Remap. Примечание: До этого не нужно тыкать на экране развёртки, т.к. собьется Регион, и придётся его обводить инструментом Region с установленной галочкой Clamp.


Всё, скайбокс готов, теперь рисуем текстуру, но здесь я не буду объяснять поэтапно, т.к. это уже для каждого неба по своему, но есть только правила:
1. Текстура должна быть квадратной.
2. Нужно чтобы на самом верхнем слою была ограничительная картинка, цветом с фон за небом. В аттаче, png формата, с альфой, формата 1024х1024. Либо, более хороший, но менее производительный способ, это сделать текстуру, но там где маска установить альфу. Такой способ, лучше если цвет фона меняется, например смена дня и ночи.
Что делать в коде:
1. Загружаем модель
2. Загружаем текстуру и текстурим модель.
3. Масштабируем модель.
4. Ставим FX 1+8
5. Каждый цикл, ставим позицию модели на позицию камеры.

Пишите вопросы!
©MoKa
(Offline)
 
Ответить с цитированием