본문 바로가기

3d게임제작15

[게임메이커강좌-3D 강좌]간단한 FPS게임 만들기-1-시점 구성 이전 강좌에서 간단한 3D게임을 만들어 보았죠. 게임메이커로 화려한 3D 게임은 힘들지만, 아주 간단한 3D 게임은 만들 수 있답니다. 이번엔 좀 더 어려운 1인칭 시점의 게임인 FPS게임을 한번 만들어보도록 합시다. (▲강좌에서 만들게 될 FPS 게임) FPS는 만들기가 매우 어려운 쪽에 속하지만, 만들어보고 이해한다면 다른 어떤 게임을 만들더라도 많은 도움이 된 답니다. ◈ FPS의 시점(obj_cam) 이전 강좌에서도 해보았지만, 시점을 만드려면 아래와 같은 함수를 사용해야합니다. d3d_set_projection(xfrom,yfrom,zfrom,xto,yto,zto,xup,yup,zup) (▲3D의 시점) 먼저 카메라용 오브젝트(obj_cam)를 하나 만듭니다. 그리고 Sprite 에 마스크 용으.. 2013. 5. 30. (♡ )
[게임메이커강좌-3D 강좌]간단한 3D 탈출 게임 만들기-2-게임 구성 기본적인 3D설정을 해보았으니 이제 게임을 다듬어봅시다. (▲강좌에서 만들게 될 탈출 게임) ◈ 3D 벽(obj_wall_h,obj_wall_v) 일단 벽을 구성할 오브젝트 2개를 만듭니다. 한개는 가로로 배치할 것이고, 또 하나는 세로로 배치할 것입니다. (▲벽 오브젝트) 마스크로 사용할 스프라이트를 지정하고, 플레이어(카메라)가 벽을 뚫고 지나갈 수 없도록 Solid를 체크합니다. 먼저 가로에 배치할 벽을 만들어봅시다. (▲벽으로 사용할 텍스쳐이미지) 텍스쳐 이미지를 준비하고, Draw이벤트를 추가한 다음, 아래와 같이 입력합니다. //obj_wall_h - Draw이벤트 draw_set_alpha(1); draw_set_color(c_white); texid=background_get_texture.. 2013. 5. 22. (♡ )
[게임메이커강좌-3D 강좌]간단한 3D 탈출 게임 만들기-1-시점설정 기본적인 3D기능에 대해 알아보았으니, 이번엔 3D 탈출 게임을 한번 만들어 봅시다. (▲강좌에서 만들게 될 탈출 게임) ◈ 3D기능의 시작(obj_cam) 3D게임을 만들려면 일단 3D기능을 활성화해야합니다. 이 기능은 가장 먼저 실행되어야 하며, 한번만 실행하면 d3d_end()를 사용하지 않는한 계속 활성화됩니다. 먼저 플레이어 오브젝트 하나를 만듭니다. 1인칭 시점이니 강좌에서 이 오브젝트는 카메라로도 사용될 것입니다. 일전에도 말했지만, 오브젝트에서 이벤트가 같더라도 depth값이 높을 수록 먼저 실행됩니다. 먼저 실행되어야 하니 depth값을 높게 설정합시다. 강좌에선 값을 99999정도로 설정하도록 하겠습니다. 그리고 오브젝트에 마스크로 사용할 스프라이트를 지정합니다.(카메라, 플레이어 겸용.. 2013. 5. 22. (♡ )
[게임메이커강좌-3D강좌]기본모델기능 이제 게임메이커에서 지원되는 기본 3D모델들에 대해 알아봅시다. ◈텍스쳐 텍스쳐의 크기는 가로X세로의 크기가 같아야 하고, 모두 2의 제곱의 크기여야 제대로 표시가 됩니다. 만약 크기가 2의 제곱이 아니면 실제 화면에서 일부가 잘려서 제대로 표시가 되지 않아요. (▲강좌에서 사용할 텍스쳐) 일단 강좌에서 사용되는 텍스쳐는 위의 그림(64X64)을 사용해 보도록 해요. 이것을 텍스쳐로 사용하려면 아래의 함수를 사용해야합니다. 텍스쳐가 스프라이트인 경우 sprite_get_texture(spr,subimg) 사용예) texid=sprite_get_texture(sprite0,0); 텍스쳐가 배경인 경우 background_get_texture(background) 사용예) texid=background_ge.. 2013. 5. 5. (♡ )
[게임메이커강좌-3D강좌]3D의 시작 게임메이커는 2D전용 툴입니다. 하지만 약간의 3D기능을 지원하는데, 사용하기에 따라 다양한 게임을 만들 수 있습니다. 우선 3D기능을 사용하기 전에, 2D의 기능들을 어느정도 사용해보시는 것을 권장합니다. 대부분이 2D기능을 응용해서 사용하기 때문이죠. 이제 3D의 기능을 약간 들여다 보도록 해요. ◈ 3D기능의 활성화 3D의 기능을 활성화할 때는 아래의 코드를 사용합니다. d3d_start(); 이것은 한번 활성화되면 d3d_end를 사용하지 않는한 룸을 이동해도 계속 유지됩니다. 보통 게임이 시작될 때 한번만 실행합니다. 또한, d3d_계열의 기능을 사용하려면 d3d_start는 필수로 실행해야합니다. 3D의 기능을 비활성화할 때는 아래의 코드를 사용합니다. d3d_end(); 이것은 3D의 기능을.. 2013. 4. 16. (♡ )