이제 게임메이커에서 지원되는 기본 3D모델들에 대해 알아봅시다.
◈텍스쳐
텍스쳐의 크기는 가로X세로의 크기가 같아야 하고, 모두 2의 제곱의 크기여야 제대로 표시가
됩니다.
만약 크기가 2의 제곱이 아니면 실제 화면에서 일부가 잘려서 제대로 표시가 되지 않아요.
(▲강좌에서 사용할 텍스쳐)
일단 강좌에서 사용되는 텍스쳐는 위의 그림(64X64)을 사용해 보도록 해요.
이것을 텍스쳐로 사용하려면 아래의 함수를 사용해야합니다.
텍스쳐가 스프라이트인 경우
sprite_get_texture(spr,subimg)
사용예)
texid=sprite_get_texture(sprite0,0); |
텍스쳐가 배경인 경우
background_get_texture(background)
사용예)
texid=background_get_texture(background0); |
◈기본모델-블럭
육면체를 표시할 수 있는 3D 모델입니다.
d3d_draw_block(x1,y1,z1,x2,y2,z2,texid,hrepeat,vrepeat)
(▲블럭)
texid : 사용할 텍스처 ID를 지정,
hrepeat : 텍스쳐를 수평으로 몇번 반복시킬지를 지정(값은 1이상).
vrepeat : 텍스쳐를 수직으로 몇번 반복시킬지를 지정(값은 1이상).
텍스쳐 모양대로 표시하려면 아래처럼 하시면 됩니다.
사용예)
d3d_draw_block(-10,-10,10,10,10,-10,texid,1,1); |
◈기본모델-실린더
d3d_draw_cylinder(x1,y1,z1,x2,y2,z2,texid,hrepeat,vrepeat,closed,steps)
(▲실린더)
texid : 사용할 텍스처 ID를 지정,
hrepeat : 텍스쳐를 수평으로 몇번 반복시킬지를 지정(값은 1이상).
vrepeat : 텍스쳐를 수직으로 몇번 반복시킬지를 지정(값은 1이상).
closed : 모델의 위와 아래를 닫을지를 지정. 0이면 위와 아래의 원부분을 면으로 막지 않고
열린상태가 됩니다.
steps : 모델의 각을 지정합니다. 예를 들어 8이면 8각 실린더가 됩니다.
(▲closed가 0일 경우)
사용예)
d3d_draw_cylinder(-10,10,10,10,-10,-10,texid,2,1,0,12); |
◈기본모델-원뿔
d3d_draw_cone(x1,y1,z1,x2,y2,z2,texid,hrepeat,vrepeat,closed,steps)
(▲원뿔)
texid : 사용할 텍스처 ID를 지정,
hrepeat : 텍스쳐를 수평으로 몇번 반복시킬지를 지정(값은 1이상).
vrepeat : 텍스쳐를 수직으로 몇번 반복시킬지를 지정(값은 1이상).
closed : 모델의 원부분을 닫을지를 지정. 0이면 원부분을 면으로 막지 않고 열린상태가 됩니다.
steps : 모델의 각을 지정합니다. 예를 들어 8이면 8각 원뿔가 됩니다.
사용예)
d3d_draw_cone(-10,10,10,10,-10,-10,texid,2,1,1,100); |
(▲텍스쳐 모양대로 하려면 뒤집어야함)
◈기본모델-구형
d3d_draw_ellipsoid(x1,y1,z1,x2,y2,z2,texid,hrepeat,vrepeat,steps)
(▲구)
texid : 사용할 텍스처 ID를 지정,
hrepeat : 텍스쳐를 수평으로 몇번 반복시킬지를 지정(값은 1이상).
vrepeat : 텍스쳐를 수직으로 몇번 반복시킬지를 지정(값은 1이상).
steps : 모델의 각을 지정합니다. 값이 클수록 부드럽게 됩니다.
사용예)
d3d_draw_ellipsoid(-10,10,-10,10,-10,10,texid,2,1,50); |
◈기본모델-벽
d3d_draw_wall(x1,y1,z1,x2,y2,z2,texid,hrepeat,vrepeat)
(▲벽)
이것은 주로 벽을 만들 때 사용합니다.
texid : 사용할 텍스처 ID를 지정,
hrepeat : 텍스쳐를 수평으로 몇번 반복시킬지를 지정(값은 1이상).
vrepeat : 텍스쳐를 수직으로 몇번 반복시킬지를 지정(값은 1이상).
사용예)
d3d_draw_wall(-10,0,10,10,0,-10,texid,1,1); |
◈기본모델-바닥
d3d_draw_floor(x1,y1,z1,x2,y2,z2,texid,hrepeat,vrepeat)
(▲바닥)
이것은 주로 바닥을 만들 때 사용합니다.
texid : 사용할 텍스처 ID를 지정,
hrepeat : 텍스쳐를 수평으로 몇번 반복시킬지를 지정(값은 1이상).
vrepeat: 텍스쳐를 수직으로 몇번 반복시킬지를 지정(값은 1이상).
사용예)
d3d_draw_floor(-10,-10,0,10,10,0,texid,1,1); |
'GameMaker강좌[GM8] > 3D기능강좌' 카테고리의 다른 글
[게임메이커강좌-3D 강좌]간단한 FPS게임 만들기-2-게임 구성 (118) | 2013.05.31 |
---|---|
[게임메이커강좌-3D 강좌]간단한 FPS게임 만들기-1-시점 구성 (51) | 2013.05.30 |
[게임메이커강좌-3D 강좌]간단한 3D 탈출 게임 만들기-2-게임 구성 (45) | 2013.05.22 |
[게임메이커강좌-3D 강좌]간단한 3D 탈출 게임 만들기-1-시점설정 (58) | 2013.05.22 |
[게임메이커강좌-3D강좌]3D의 시작 (13) | 2013.04.16 |
댓글