1. В начале была Тьма… Итак,
у вас есть прекрасная возможность почувствовать себя богом, который создаёт
вселенную. Но сначала давайте разберёмся, из чего же она будет состоять: А состоит
она из всяких разных объектов. Большая часть – это так нами называемые меши.
Что это такое? Сложно сказать словами J… в общем меш – это просто модель. Цилиндр, куб, шар,
ваша собственная модель – всё это меши. Они состоят из вершин (или вертексов)
– это просто точки в пространстве, и треугольников, состоящих из трёх
соединённых вершин. Но это можно пока и не запоминать – к этому мы придем
потом. Но, кроме мешей, к объектам относятся: свет, камера, и пивоты. Пивоты
– это невидимые точки в пространстве, которые очень помогают работать. Далее,
из двухмерного мира к нам пришли спрайты. Нет, это не феи из Heroes of Might and Magic, - это просто плоские меши J,
состоящие из четырёх вертексов и двух треугольников, т.е. это просто плоская картинка.
Потом плайн – тот же спрайт, только бесконечный. Проще говоря - плоскость! Их
обычно используют для создания неба, воды – всего, что должно быть плоским и
бесконечным J. И, наконец террайн, но его мы затрагивать не будем. Далее,
вселенная - трёхмерная, так что у неё есть 3 оси – X,Y,Z. Ось X – это ось ширины,
направленная слева направо. Ось Y – высота,
идущая снизу вверх. И ось Z – как, бы длина,
направленная вперёд! Эти оси существуют не только у всей вселенной, но и у
каждого объекта тоже, но и об этом тоже по порядку… Это
была вводная часть в 3D мир, без которого нельзя было обойтись, чтобы знать,
что вообще мы собираемся делать. Но, более или менее мы всё поняли, так что
идём дальше! Пора уже приступать к программированию – зайдите в Блитц3D, и наберите следующий код:
Момент, когда вы это запустите, можете считать историческим, и отмечать его, как день рождения… - вы только что создали собственный мир! Пусть там ничего не видно – просто он пока пустой! Разберём
все команды по порядку: Graphics3D 640,480,16,1 – эта строчка инициализирует Direct3D, ну, и создаёт
вселенную J. Синтакс
такой: Graphics3D ширина,
высота, глубина цвета, режим Ширина,
высота – размер создаваемого экрана (в пикселях есь-сно) Глубина
– глубина цвета – 16, 24 или 32 бита на пиксель. Режим: 0 -
оконный во время разработки (если
возможно), полноэкранный в .exe формате; 1 -
всегда полноэкранный 2 -
всегда оконный 3 -
всегда оконный, с возможностью изменения размеров окна. SetBuffer BackBuffer() -
устанавливает буфер на задний буфер. Те, кто знали, те поняли, те же, кто не
знали, не поняли вообще J... В общем, если хотите, чтобы всё было правильно,
пишите эту команду после Graphics3D. Repeat Until KeyHit(1) -
между этими двумя командами, у нас будет происходить сам цикл игры. Перевод
таков: Повторять … пока не нажата клавиша Esc J. End – эта команда показывает, что программа завершена. Что,
не впечатляет? А зря – вы только что создали окно Direct3D – практически ваше окно в мир создания компьютерных
игр! |
Оглавление: 0. Введение 5. 2Д в 3Д 7. Родительская зависимость или Привязки 9. Коллизион Детекшн или как устроен мир… 10. Первая 3Д игра. Часть 0 – основы движка 11. Первая 3Д игра. Часть 1 – разработка движка 12. Первая 3Д игра. Часть 2 – устранение багов 13. Первая 3Д игра. Часть 3 – внешний вид 14. Первая 3Д игра. Часть 4 – от массива к спискам 15. Первая 3Д игра. Часть 5 – оптимизация кода 16. Первая 3Д игра. Часть 6 – завершение 17. Выведение |