пятница, 9 ноября 2012 г.

Создание 3D игры.



Хочется 3D игрушку? Не вопрос. На деле создание 3D игры оказывается очень простым. В процессе создания 3D игры помаленьку становится понятно чего мы боимся - шкала Z и вход в 3D пространство. На самом деле все это очень легко. Специально для этого я пошарясь в интернете максимально упростил процесс создания 3D мира.

Начнем. Откройте Game Maker. Желательно 8-ю версию. Создайте спрайт sprite0 в виде красного кружочка: .
Далее создайте объект camera. Спрайтом этого объекта будет sprite0. Кстати, я выбрал именно красный кружок по стандартам создания 3D игр в Game Maker. Обычно синий кружок - это персонаж в игре, а красный - камера. В течение всей игры игрок будет играть не только персонажем, но и камерой прикрепленной к нему.


Создайте событие Create для нашего объекта. Из вкладки Control перенесем Execute Cod(далее: введем скрипт) и напишем следующий код:


d3d_start();
draw_set_color(c_white);
z=15; 
pitch=0; 


Объясняю что мы сделали:
1-я строка - старт 3d режима
2-я строка - цвет рисования - черный
3-я строка - высота камеры по Z равна 15
4-я строка - ставим шаг на 0

Теперь добавим событие Draw и введем скрипт:


d3d_set_projection(x,y,z,x+cos(direction*pi/180),y-sin(direction*pi/180),z-sin(pitch*pi/180),0,0,1) 

Понимать его не обязательно, хотя он и важен. Создайте комнату и разместите в ней объект cameraВход в 3D пространство осуществлен! По желанию можно добавить возможность каким либо образом двигаться по миру. Для этого можно воспользоваться привычными нам стрелками.


Вращение камеры можно осуществить при помощи следующего скрипта, который следует добавить в событие Step:

direction -= (display_mouse_get_x() -display_get_width()/2)/10; 
pitch += (display_mouse_get_y() -display_get_height()/2)/10; 
pitch = max(min(pitch,100),-100); 
display_mouse_set(display_get_width()/2,display_get_height()/2); 

Мы можем ходить по пространству, но пока мы не понимаем, что мы ходим . Поэтому читайте следующие уроки. А этот урок я завершаю. Всем пока!

1 комментарий: