Создание 3d игр на C++: Minecraft

Автор Andrei Golubev
Создание 3d игр на C++: Minecraft

на этом уроке посмотрим как в Minecraft найти плюс плюс нам понадобится библиотеки и многие идеи дворец платформер посмотрим этапы создания игры на простых примерах так первое, что мы сделаем — это простейший вывод кубика на экран таким образом вот перед нами кот решающий задачу разберём же его подключаем библиотекой схема для подключения Open GL можно воспользоваться рассрочкой pragma Comment lib в настройках проекта блинкер импульс где мы прописываем в библиотеке добавлю настройки Tele2 32 загружаем картинку на задний фон background вот важный кот — это загрузка текстуры в opengl создаем переменную текстуры типа плюс с помощью sfml сначала загружаем картинку в программу, а потом передай вот здесь в третьей строке посмотрим.

Я мы. Передаем имидж и записываем её в переменную текстур с которой уже может работать стандартные волшебные слова для инициализации вот основной цикл нашей программы по функции вариант 2 вспомогательные переменные. Тайны сайт нам понадобится сайт — это размер кубика вот здесь выводит задний фон обратил внимание, что вывод просто картины к своему.

Теперь нужно облачать вот в такие Push GL стоит и Pop Girls очищаем экран в этом коде немножко отделяем кубик на -100 и вращаем его функция RuTracker последние собственная рисование включаем нашу текстуру переменная текстур запускаем рисование квадратиков вот здесь and I рисуем шесть граней и 6 квадратиков нашего клуба задняя сторона передняя лево право низ верх рассмотрим как же рисуется одна грань для этого посмотрим как устроена система координат в.

Анжелу и так пусть у нас есть некая текстура левый угол 00 далее против часовой 101101 вот как здесь 00101011 накладываем текстуру в нужны координаты мы получаем то, что хотим посмотрим кубик. Пусть координата 000 находится в центре кубика плюс в левом минус вверх по. Эрику плюс-минус на себя плюс от себя — где будет координата 1 -1. Значит один идём вправо PS1 идем вверх -1 идём от себя 11 — 1 так и любая другая координатам посмотрим здесь например в первой строке, что мы видим минус. Минус минус — это вот — это координата дальше вот — это короната плюс плюс минус если задняя грань начинаем в левой нижней точки и идем против часовой стрелки называется как нам нужен и всё тут. Выводит на экран освобождаем память и хорошо у вас одна текстура на все 6 сторон. Как сделать чтобы на каждой грани был текстура делаем. Это для удобства закинем код загрузки текстур в отдельную функцию вот так принимаем путь к картинке name остальное также загрузим например вот эти текстуры создаем массив из 6 текстур и загружаем их. О'кей последняя пишем здесь бокс 0 и шесть раз повторяем. Этот кот допустим хоккей для удобства уберём. Этот кот отрисовки в отдельный файл создаем файл Help File PHP подключаем библиотеке копируем сюда. Этот кот функция crate Box принимает массив структура и размер кубика также сюда положим функцию вот текстур чтобы освободить в моем и последняя вместо этого всего ставим бокс хоккей сейчас у нас один бокс сделаем несколько написан цикл чтобы несколько кубиков вывелись подряд цикл for переносим translate. В какой координате мы будем рисовать — это будет их на сайт умножить на 2, а после возвращаемся в исходную точку минус вот догадаться как сделать в игре ку игри на 2 вот теперь сделаем камеру чтобы могли летать по нашему миру для этого затем переменных x и y x по горизонтали от 0 до 360 по вертикали от минус 90 до плюс 90 координаты с которой мы смотрим скорость перемещения камеры. Ну и вспомогательного число. Пи мы пишем вот здесь пишем следующий год — это нахождение отклонения мыши от центра экрана переменная для считывания координаты X Y в неё записываем текущие координаты находим середину экрана у меня 800 поэтому пополам 400 и 300 и отклонение позиции мыши от середины экрана попадают в Galaxy Y. И последнее вместо этого кода кладем лук от задаем. С какой точки. Будем смотреть и куда. Икс минус игрек плюс тангенс -60 10. Хорошо теперь сделаем перемещение вперёд и назад по нажатию клавиши. Помогатель нные переменной смещения DX dy DZ если нажато W делаем просто смещаемся в этом направлении со скоростью спит, а потом прибавляем — это xy&z. О'кей Ну сразу сделаем. Чтобы другие клавиши. Тоже работали для с будет отличаться только знаком тут была минус плюс минус плюс минус плюс для движения в бок прибавляем 90 градусов здесь и здесь отнимаем всё. О'кей работает сделаем теперь не большую карту для этого мотив. Макс и заполни его случайно для работы с трендом не забываем подключить Time Rush цикл по трем координатам заполняем пол и случайным образом другие публики здесь добавляем Z и проверку. О'кей работает сейчас обратил внимание на два момента первое функцию от текстуры добавок без неё текстура будет перевернутой — это из-за того, что он жил как мы сказали 00 находится в нижнем левом углу верхнем левом чтобы соединить мы сами переворот и второе обратим внимание, что сейчас у нас. Это половина ширины для удобства. Будем считать, что — это целая ширина, тогда вот так тоже самое загрузим теперь вот эту текстуру. О'кей Поехали дальше обратил внимание на фон вот я поворачиваюсь налево направо вверх вниз Funny сделаем чтобы всё выглядело натурально вот такие текстуры называются skybox мы накладываем текстуру на внутреннюю часть очень большой коробке сами становимся внутрь будет казаться, что вокруг небо накладываем вот по такой схеме вперёд право-лево вниз назад. Вот я нарезал текстур на кусочки.

0 комментариев
0

Читайте также