게임메이커는 2D전용 툴입니다.
하지만 약간의 3D기능을 지원하는데, 사용하기에 따라 다양한 게임을 만들 수 있습니다.
우선 3D기능을 사용하기 전에, 2D의 기능들을 어느정도 사용해보시는 것을 권장합니다.
대부분이 2D기능을 응용해서 사용하기 때문이죠.
이제 3D의 기능을 약간 들여다 보도록 해요.
◈ 3D기능의 활성화
3D의 기능을 활성화할 때는 아래의 코드를 사용합니다.
d3d_start(); |
이것은 한번 활성화되면 d3d_end를 사용하지 않는한 룸을 이동해도 계속 유지됩니다.
보통 게임이 시작될 때 한번만 실행합니다.
또한, d3d_계열의 기능을 사용하려면 d3d_start는 필수로 실행해야합니다.
3D의 기능을 비활성화할 때는 아래의 코드를 사용합니다.
d3d_end(); |
이것은 3D의 기능을 끌때 사용하며, 다시 활성화하려면 d3d_start를 사용해야합니다.
◈ 3D좌표
3D의 좌표는 x,y,z의 좌표를 사용합니다.
하지만, 게임메이커는 2D 전용 툴이라 x,y좌표만 기본적으로 지원되고, z는 사용자가 직접 정의하여
사용해야합니다.
단순히 오브젝트에서 z=0; 이렇게 변수를 선언하고 z좌표를 사용하면 됩니다.
◈ 3D 카메라
d3d_set_projection(xfrom,yfrom,zfrom,xto,yto,zto,xup,yup,zup) |
(▲3D 시점)
xfrom, yfrom, zfrom은 카메라의 위치이고, xto, yto, zto는 바라보는 목표지점입니다.
xup, yup, zup는 카메라의 위쪽의 시점을 지정합니다.
기본적으로 zup을 1로 xup, yup은 0으로 설정하지요.
예를 들면,
d3d_set_projection(0,0,32,320,240,0,0,0,1); |
이것은 카메라가 (0,0,32)의 위치에서 (320,240,0)의 위치를 바라봅니다.
◈ 3D세계에서 2D변환
3D에서 2D화면을 표시할 수 있는데 이럴 땐 아래의 것을 사용한뒤에 프로그래밍하면 됩니다.
d3d_set_projection_ortho(x,y,w,h,angle) |
보통은 (x,y)에 (0,0), w,h는 화면의 크기 angle은 0입니다.
angle로 2D의 화면을 회전할 수 있어요.
주의 할 것은 d3d_set_projection_ortho이 3D카메라 시점인 d3d_set_projection보다 나중에
처리하도록 프로그래밍해야 3D가 제대로 표시됩니다.
물론 두개를 분리하여 사용하는 것도 좋은 방법입니다.
예를 들면,
d3d_set_projection_ortho(0,0,640,480,0) ; draw_text(32,32,"Game Maker") |
이것은 (0,0)를 기점으로 640X480의 화면으로 2D를 설정하고, "Game Maker"문자열을 화면의 (32,32)위치에 표시합니다.
◈ 광원
d3d_set_lighting(enable) |
기본값은 false입니다.
3D 기능에 대해 간략하게 알아보았습니다.
위에 것들은 게임메이커 3D기능에서 가장 기초적인 부분이며, 가장 중요한 부분이기도 합니다.
여기까지 알고있다면 이제 여러분은 간단한 3D게임정도는 만들 준비가 된 것입니다.
'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강좌]기본모델기능 (46) | 2013.05.05 |
댓글