Godot 엔진에서 2D 발판 만들기

Godot에서 플레이어가 디딜 발판을 만들려면 물리적 충돌을 처리하는 노드를 사용하면 된다. 이전 글에서 'CharacterBody2D' 노드로 플레이어를 만들었으니 플레이어가 디딜 수 있는 발판(플랫폼)을 추가해보도록 하겠다. 발판은 'StaticBody2D' 노드를 사용해서 구현하면 된다.


StaticBody2D 노드 추가

StaticBody2D 노드 추가
StaticBody2D 노드 추가

Scene 패널에서 "Main"으로 이름 붙였던 노드를 선택하고 하위 노드에 'StaticBody2D' 노드를 추가한다.

Main 노드 선택 후 "+" 버튼 클릭 > "StaticBody2D" 검색 > 추가


StaticBody2D 노드 이름 변경
StaticBody2D 노드 이름 변경

노드 구분을 위해 이름을 "Platform1"으로 변경해주었다. 필요한 만큼 여러 개를 만들면 되는데, 하나를 만든 뒤 복사해 편집하는 편이 편하다.


이미지와 충돌 노드 추가

Sprite2D, CollisionShape2D 노드 추가
Sprite2D, CollisionShape2D 노드 추가

발판에 이미지와 충돌을 적용하기 위해 'Platform1' 노드 하위에 'Sprite2D' 노드와 'CollisionShape2D' 노드를 추가해준다.


Sprite2D 노드 텍스처 적용
Sprite2D 노드 텍스처 적용

일단은 단순 박스로 적용하기 위해 인스펙터에서 'Texture'를 'CanvasTexture'로 변경하고 'Visibility' 항목에서 'Modulate' 색상을 회색으로 변경해주었다.


CollisionShape2D 노드 크기 조절
CollisionShape2D 노드 크기 조절

'CollisionShape2D' 노드를 선택 후 인스펙터 패널의 'Shape'항목에서 모양을 지정할 수 있다.  뷰포트에서 빨간 점을 클릭해 Sprite 이미지 크기에 맞춰 크기를 조절해 준다.


위치 이동

노드 위치 이동
노드 위치 이동

플랫폼의 위치를 옮기려면 플랫폼 노드를 선택 후 상단에서 이동 아이콘을 선택하면 쉽게 이동이 가능하다. 뷰포트에서 화살표를 드래그해 원하는 위치로 플랫폼을 옮긴다.


플랫폼 배치
플랫폼 배치

플랫폼을 선택한 후 복사하면, 원하는 하위 항목 아래에 붙여넣어 복제할 수 있다. 복제한 플랫폼은 개별 편집 가능하며 원하는 위치에 다시 배치하면 된다.


댓글

이 블로그의 인기 게시물

전체 화면으로 현재 시간 보여주는 웹 시계 사이트 Bonfire Clock

블렌더 3D 카툰 렌더링으로 웹툰 배경 만들기

3D 디자인 툴의 혁명 spline.design