Четверг, 21 Ноября 2024, 12:03

Приветствую Вас Гость

Меню сайта
Категории каталога
Создание игр [358]
Статьи об общих понятиях связанных с созданием игр.
Программирование [83]
Гайды по программированию на разных ЯП.
Движки и Гейммейкеры [147]
Статьи о программах для создания игр, уроки и описания.
Софт [43]
Различные программы, в том числе в помощь игроделам.
2D-графика [14]
Уроки по рисованию, растр, пиксель-арт, создание спрайтов и пр.
3D-графика [17]
Уроки по моделированию, ландшафт, модели, текстурирование и пр.
Моддинг игр [5]
Модификация компьютерных игр, создание дополнений, перевод, хакинг.
Игры [167]
Статьи об играх, в том числе и сделанных на гейммейкерах.
Разное [132]
Статьи, которые не вошли в определённые разделы.
Наш опрос
Какой ЯП вы знаете?
Всего ответов: 27909
Главная » Статьи » Создание игр

Как создать 3D игру на Game Maker 8
В этой статьи я объясню, как создать 3D игру на Game Maker 8.

В Game Maker у вас не выйдет сделать игру с большим миром, графика  в игре будет не на очень большом уровне. Если вас это отпугнуло, то дальше можете не читать... 
Вот пару скриншотов с 3D игр сделаных на Game Maker :

 Если вы решили все-таки сделать игру на Game Maker, то приступим. Для начала создаем объект камеры и назвем его obj_cam. В Create нужно прописать такой код. Совет не копирует код а сами пишите(так легче запомнить).

Code
d3d_start();\\Это значит что функция 3D включена 
draw_set_color(c_white);\\Окружение будет белым цветом
z=20;
pitch=0;

Я решил не все писать кодом. Зачем если есть кнопки, которые упрощают:
Нужно добавить кнопку Set Friction и даем значение 0.4
И добавляем еще кнопку Set Cursor. Там ничего не меняем.
Теперь в событии Step пишем, а не копируем:
Code
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);

Со Step завершили.
Теперь нужно добавить управление:
В событии клавиши Влево:
Code

  var xn,yn;
  xn = x - sin(direction*pi/180);
  yn = y - cos(direction*pi/180);
  { x = xn; y = yn; }
}  

В событии клавиши Вверх:
Code
Вставляем кнопку Set Variable 
В верхнюю строчку пишем speed
В нижнюю 5.

В событии клавиши Вправо:
Code

  var xn,yn;
  xn = x + sin(direction*pi/180);
  yn = y + cos(direction*pi/180);
  { x = xn; y = yn; }
}

В событии клавиши Вниз:
Code
Вставляем кнопку Set Variable 
В верхнюю строчку пишем speed
В нижнюю 5.

В событии Draw пишем такой код:
Code
d3d_set_projection(x,y,z,x+cos(direction*pi/180),y-sin(direction*pi/180),z-sin(pitch*pi/180),0,0,1) 

Все с obj_cam завершили.
Теперь создаем объект пола и потолка и называем его так obj_floor
и создаем фоны для пола и потолка и называем для пола floor для потолка roof
В событии Draw пишем такое:
Code
d3d_draw_floor(0,0,0,room_width,room_height,0,background_get_texture(floor),24,24);\\Это рисуется пол 
d3d_draw_floor(0,0,64,room_width,room_height,64,background_get_texture(roof),12,12);\\Это рисуется потолок

И не забудьте сделать его твердым)
Все с obj_floor завершили.
Теперь создаем фон для стен и называем его wall.
Теперь создаем объект и называем его hor_wall делаем твердым.
В событии Draw:
Code
d3d_draw_block(x-16,y-2,0,x+16,y+2,64,background_get_texture(wall),1,1); 

Теперь создаем объект ver_wall, делаем твердым.
И в событии Draw:
Code
d3d_draw_block(x-2,y-16,0,x+2,y+16,64,background_get_texture(wall),1,1); 

А теперь возвращаемся к объекту obj_cam
В столкновении с hor_wall, пишем такое:
Code
x=xprevious; 
y=yprevious;

В столкновении с ver_wall, пишем такое:
Code
x=xprevious; 
y=yprevious;

Все с объектами завершено, теперь комната:
Создаем комнату и добавляем obj_cam и объект obj_floor где то с краю. И произвольно добавляем, стены не забываем что они у нас под именем ver_wall, hor_wall.

Все, спасибо за внимание.

P.S. Не забываем коментировать!
Категория: Создание игр | Добавил: Transced (23 Июня 2011)
Просмотров: 80987 | Комментарии: 27 | Рейтинг: 3.4/14 |
Теги: Урок, 3d игра, Создание игры, обучение, уроки, Game Maker, GM, GML, Game Maker 8, Создание 3D игры
Дополнительные опции:
Также если вы считаете, что данный материал мог быть интересен и полезен кому-то из ваших друзей, то вы бы могли посоветовать его, отправив сообщение на e-mail друга:

Игровые объявления и предложения:
Если вас заинтересовал материал «Как создать 3D игру на Game Maker 8», и вы бы хотели прочесть что-то на эту же тему, то вы можете воспользоваться списком схожих материалов ниже. Данный список сформирован автоматически по тематическим меткам раздела. Предлагаются такие схожие материалы: Если вы ведёте свой блог, микроблог, либо участвуете в какой-то популярной социальной сети, то вы можете быстро поделиться данной заметкой со своими друзьями и посетителями.

Всего комментариев: 271 2 3 »
+1-
26 valter101   (31 Марта 2022 19:55) [Материал]
valter101########################
ERROR in
action number 1
of Create Event
for object Obj_cam:

Variable <unknown_object>.d3d_start(100006, -2147483648) not set before reading it.
at gml_Object_Obj_cam_Create_0 (line 8) - d3d_start() ; //это значит 3d включен
########################
gml_Object_Obj_cam_Create_0 (line 8)

вылетает всегда

+0-
27 TLT   (01 Апреля 2022 16:48) [Материал]
TLTКакая версия? GM 8 и 8.1 значительно отличаются.

+0-
24 Schwards   (23 Июня 2017 15:41) [Материал]
SchwardsУсё хорошо только осталось добавить оружие и прыжки :)

+0-
23 GameLog   (17 Марта 2015 09:39) [Материал]
GameLogСтолкновение игрока со стеною убооогое cry

+0-
22 GameLog   (17 Марта 2015 09:38) [Материал]
GameLogСтолкновение игрока со стеною убооогое cry

+0-
21 GameLog   (10 Января 2015 18:41) [Материал]
GameLog___________________________________________
ERROR in
action number 1
of Draw Event
for object obj_floor:

Trying to get texture from non-existing background.

Что делать?

+0-
25 Schwards   (29 Июня 2017 12:16) [Материал]
SchwardsИзмени имя текстуры.

+-3-
19 Bratаn   (12 Апреля 2012 19:23) [Материал]
BratаnERROR in
action number 1
of Draw Event
for object obj_cam:

Error in code at line 1:
d3d_set_projection(x,y,z,x+cos(direction*pi/180),y-sin(direction*pi/180),z-sin(pitch*pi/180),0,0,1)
^
at position 80: Unknown variable pitch

___________________________________________
ERROR in
action number 1
of Step Event
for object obj_cam:

Error in code at line 2:
pitch += (display_mouse_get_y() -display_get_height()/2)/10;
^
at position 3: Unknown variable pitch
Мда sad

+-1-
20 strelokden   (09 Мая 2012 15:14) [Материал]
если у тя line версия хрен ти чё сделаешь в 3d а если pro то я незнаю

+1-
18 NewLang   (28 Января 2012 09:10) [Материал]
NewLangВторой скрин не с game maker а с 3d game maker wink

+1-
17 antohaz   (22 Января 2012 16:23) [Материал]
antohazпочему ходит сквозь стены? хотя они solid

+0-
16 antohaz   (22 Января 2012 16:08) [Материал]
antohazВ событии клавиши Вниз:
Code
Вставляем кнопку Set Variable
В верхнюю строчку пишем speed
В нижнюю 5.

Здесь ошибка
В нижнюю писать -5

+-2-
15 kr1one   (21 Января 2012 19:13) [Материал]
kr1oneFATAL ERROR in
action number 1
of Create Event
for object obj_cam:

COMPILATION ERROR in code action
Error in code at line 1:
d3d_start();\\
^
at position 13: Unexpected symbol.
кто знает из за чего может быть ошибка.

1-10 11-20 21-22
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Поиск по сайту
10 случ. движков
  • Noobster
  • Chocolate Doom
  • Sandy3D
  • Dark BASIC
  • Quest
  • Devana
  • Visual Novel Maker
  • ZDaemon
  • Haaf's Game Engine
  • Spartan
  • Друзья сайта
    Игровой форум GFAQ.ru Перевод консольных игр
    Все права сохранены. GcUp.ru © 2008-2024 Рейтинг