муниципальное общеобразовательное учреждение «Средняя общеобразовательная школа №12
города Горно-Алтайска»
Секция «ИНФОРМАТИКА»
Использование 3-D технологий в играх
,
10 класс МОУ
«Средняя общеобразовательная школа №12
города Горно-Алтайска»
Научные руководители:
учитель информатики и ИКТ высшей квалификационной категории,
преподаватель кружка
г. Горно-Алтайск
2011
Содержание
1. Введение................................................................................... стр. 3
2. Описание проекта в целом..................................................... стр. 3
3. Технология игры «Best Golf»............................................... стр. 4
a. Описание игры............................................................... стр. 4
b. Интерфейс и управление.............................................. стр. 5
c. Подробнее о карте высот............................................. стр. 7
d. Технология VBO........................................................... стр. 7
e. Физика............................................................................. стр. 7
f. Загрузка моделей и обтяжка текстурой.................... стр.8
4. Заключение.............................................................................. стр. 9
5. Литература............................................................................... стр.10
Введение
Сейчас на дворе XXI век – век информационных технологий. И куда не глянь, везде используются компьютерная техника. Будь то или образовательное учреждение, или торговое предприятие или просто жилая квартира. Сейчас практически у всех дома стоят компьютеры, а то и не один. И на этих компьютера установлены какие-либо программы, игры.
Сейчас никого уже не удивишь 3-D технологиями, технологиями, которые помогают представить какой-либо объект в пространстве. И иногда появляется такая потребность, представить какой-либо объект в объемной форме и разглядеть его со всех сторон, где-то приблизить и рассмотреть более мелкие детали, где-то повернуть и заглянуть в глубь модели. Для обычного пользователя это может быть модель персонажа из игры, а для учителя – образ молекул, органов, ландшафта…
В данном проекте показан пример использования этой технологии в игре.
Технология игры «Best Golf»
Описание игры.
Для игры в гольф необходимо от двух до четырнадцати клюшек, специально подготовленное игровое поле размеров с два стадиона и огромный запас времени и терпения. Данный проект призван скрасить жизнь тех, у кого всего этого нет, но есть весёлые друзья и персональный компьютер.
Соревнование происходит на поле с переменным уровнем высоты. Холмы и неровности воспроизводятся про помощи карты высот, загружаемой из файла формата BMP. Для ускорения прорисовки игрового поля используется технология VBO. Сам же игрок представлен в виде анимированной 3D-модели. Для чего был реализован функционал по загрузке и визуализации моделей формата MD3.
Движение шара по полю рассчитывается согласно физическим законам. В модели учтены силы тяжести, трения качения и трения покоя. Шар “не привязан” к земле, он может взлетать на кочках, падать и снова отскакивать. Учитывается также потеря энергии при отскоке.
Модель игрока перемещается по полю клавишами W, S, A, D, как это часто бывает в 3D-шутерах. Приблизившись к шару можно совершить удар. Для этого нужно повернуть модель игрока в направлении удара и нажать пробел. Сила удара определяется длительностью нажатия. При помощи мыши можно перемещать и поворачивать камеру для выбора лучшего ракурса.
Цель игры – довести шар из точки A в точку B, совершив минимальное количество ударов. После тока как первому игроку удалось достичь цели, шар возвращается в начальную позицию и управление переходит ко второму игроку. Игра осуществляется на одном компьютере в режиме hot-seat.
Игра реализована в среде Turbo Delphi. Отрисовка выполнена средствами библиотеки OpenGL.
Интерфейс и управление
После запуска программы появляется меню игры с пунктами “Играть” и “ Выход ”. На данном этапе появляется возможность закрыть программу или перейти к следующему шагу запуска игрового процесса.
После нажатия на кнопку “Играть” программа предлагает выбрать число игроков, которое будет участвовать в игре (от двух до восьми). Количество играющий регулируется кнопками “UP” и “DOWN”. После того, как пользователь определился с количеством игроков, следует нажать кнопу “START”.
Началась игра. Первым приступает игрок номер 1. Его задача “загнать” шар в лузу. Но так как размеры игрового поля слишком большие чтобы сразу обнаружить лузу, и видимость снижает туман, существует специальная возможность отображения направления, в котором находятся шар и луза. Для использования этой возможности нужно нажать и удерживать клавишу Ctrl на клавиатуре.
Белый указатель показывает пользователю, в каком направлении относительно модели игрока находится шар, а красный – положение лузы.
Для упрощения игрового процесса луза для шара была изображена в виде красного полупрозрачного столба выходящего из земли. Его легче заметить на больших дистанциях, и он хорошо выделяется в тумане.
После того как первый игрок забыл свой “гол”, управление переходит ко второму игроку, и так далее. После того как все игроки “загнали“ шары по лузам, на экране появляется таблица с результатами и игры и каждый желающий может посмотреть на свое положение в турнирной таблице.

Подробнее о карте высот
Карта высот в данном случае – это некий ландшафт, образованный путем обработки изображение по следующему алгоритму.
Обрабатываемая картинка для карты высот (формата BMP) представляется в градациях серого. Что позволяется определить уровень земли для ландшафта следующим образом. Черный – низко, белый высоко. Пользуясь этим принципом, получается, что чем темнее пиксель на картинке, тем ниже будет эта точка на нашей карте.
Технология VBO
Vertex Buffer Object (VBO) – это технология позволяющая загружать информацию о вершинах треугольника напрямую в память видеокарты и затем уже пользоваться её оттуда. Эта технология позволяет работать программе намного быстрее, нежели же информация будет постоянно перезаписываться, и считываться с оперативной памяти.
Физика
В данной программе учитываются такие физические силы как: трение качения, трение покоя, сопротивление воздуха, потеря энергии при ударе о землю, отскоки от земли и сила тяжести.
Загрузка моделей и обтяжка текстурой
Любая поверхность объемной модели это есть множество треугольников соединенных между собой по определенному правилу.
Также модель может состоять и из четырехугольников (из любого четырехугольника можно сделать два треугольника), но тогда качество и точность модели снизятся.
Процесс натягивания изображения есть ни что иное, как создание поверхностного слоя модели путем “наклеивания” рисунка на объект. Происходит это следующим образом.
1.
“Нарезается” изображение на треугольники, ответствующие треугольникам модели
2. Выбирается соответствующий треугольник текстуры и накладывается на модель.
Заключение.
По мере продвижение моей работы и создания программы к проекту, я узнал много нового и интересного о том каким образом все-таки создаются объемные модели в пространстве, как происходит дальнейшая обтяжка их изображением, а так же в каких областях это может применяться и каким образом.
Особенно интересной мне показалась теория с треугольниками. Из неё я понял, что объемная графика держится на них как на трех китах… так же, как математика на числах. Так же очень интересная система обтяжки изображением и, конечно, приятен сам результат работы – программа позволяющая загружать модели, обтягивать рисунками, рассматривать с разных сторон и менять масштаб просмотра.
В заключении хотелось бы добавить, что при создании этого проекта было использовано минимум литературы, и максимум личного опыта моего преподавателя и меня самого. Реализовывалась моя программа в бесплатной программной оболочке Borland Turbo Delphi при помощи библиотеки входящий в стандартный пакет Borland – OpenGL.
Литература
1. Самоучитель Photoshop 6- СПб.: Питер. 202.-528 с.:ил.
2. , Компьютерная графика, М.: «АСТ-ПРЕСС СКД», 202, 640 с.:ил.
3. CorelDRAW - М.: БИНОМ. Лаборатория знаний, 2с.


