해당 내용 출처 :) https://docs.godotengine.org/en/stable/getting_started/first_2d_game/index.html
이전 내용 :) https://twd0622.tistory.com/79
이번엔 이전 블로그 내용에 이어서 화면에서 움직일 플레이어를 만들어 보겠다.
2장 플레이어씬 만들기
2-1 노드 생성
먼저 플레이어의 루트 노드를 생성해 줘야한다. 일반적으로 씬의 루트 노드는 객체가 원하는 기능, 즉 객체가 무엇인지를 반영해야한다.
좌측 씬 메뉴에서 다른 노드를 누르면
사진과 같은 새 Node만들기 창이 나오는데 여기서 Area2D를 선택하고 만들기를 누르면 된다.
Area2D 노드를 루트 노드로 사용하는 이유는 플레이어와 겹치거나 충돌하는 객체를 감지할 수 있는 노드이기 때문이다.
그러면 씬 메뉴에 Area2D가 생성된 것을 확인할 수 있다.
이 노드 이름을 더블 클릭하거나 클릭후 F2를 누르면 이름을 변경할 수 있는데 'Player'로 변경해주었다.
노드 왼쪽에 나오는 노란 경고표시는 추후에 없어질거라 신경쓰지 않아도 된다.
다음은 루트 노드에 자식 노드를 추가해 보겠다.
Player노드에 오른쪽 마우스로 클릭하면 '자식 노드 추가..'를 누르면
루트 노드를 만드는 것처럼 노드를 생성할 수 있는데 AnimatedSprite2D 노드와 같은 방식으로 CollisionShape2D를 생성해준다.
AnimatedSprite2D 노드는 애니매이션을 위한 노드이고 CollisionShape2D는 플레이어의 충돌 감지를 위한 노드이다.
마지막으로 플레이어 노드를 클릭한 후 자물쇠 옆에있는 '선택한 노드 그룹화'를 눌러준다.
그룹화를 하는 이유는 자식노드를 작업하면서 실수로 크기를 변경하거나 이동되지 않도록 방지하기 위해서 이다.
여기까지 완료했다면 ctrl + s를 눌러 저장 한번 해준다. 이후에도 작업 중간 중간에 저장을 하면서 작업을 진행해 준다.
2-2 플레이어 이미지 삽입
이제 플레이어의 이미지를 생성하겠다. AnimatedSprite2D 노드를 클릭하고 오른쪽 인스펙터 메뉴를 보면 각 노드에 맞게 인스펙터가 변경되는데 여기서 Animation을 열어 Sprite Frames를 눌러 새 Sprite Frames를 눌러 추가해 준다.
이제 다른 노드를 눌렀다가 다시 AnimatedSprite2D 노드를 눌러주면
사진처럼 하단에 애니메이션을 편집할 수 있는 창이 생긴것을 볼 수 있다. 이렇게 하면 AnimatedSprite2D 노드 옆의 노란 경고 표시도 사라진 것을 확인할 수 있다.
그럼 이제 2가지 애니매션을 추가해볼거다.
우선 default를 'up'으로 바꿔주고 애니매이션 추가 버튼을 눌러 'walk'도 추가해준다.
다음은 오른쪽 구석 FileSystem 메뉴에서 art폴더를 찾아 열어서 player 이미지에 맞게 넣어주면 된다.
이미지의 기본 사이즈가 게임 플레이 하기엔 크기 때문에 인스펙터 메뉴에서 'Transform'을 열어 'Scale'을 x, y 둘다 0.5로 변경해준다.
이렇게 하면 플레이어 이미지를 추가하는 것이 완료 되었다.
2-3 플레이어 충돌 설정
이제 이미지가 생겼으니 플레이어의 충돌을 설정해 줄 차례다.
CollisionShape2D노드를 열어 인스펙터 메뉴에서 'Shape'에서 'CapsulShape2D'를 선택해준다. CapsulShape2D는 충돌 범위를 타원형으로 설정할 수 있게 한다.
그러면 플레이어 이미지에 작은 타원형 모양이 생긴고 또 씬 메뉴를 보면 노란 경고 표시가 사라진것을 확인 할 수 있다.
이걸 잘 조정해 캐릭터 크기에 맞춰주면 된다.
이렇게 하면 캐릭터씬 기본 설정은 마무리 된다.
다음 포스팅에는 이제 플레이어를 코딩해 움직이도록 해보겠다.
다음 포스팅 :) https://twd0622.tistory.com/86
'Godot Engine > 게임 제작' 카테고리의 다른 글
[GodotEngine] Tutorial 2D Game - 4 (0) | 2024.12.19 |
---|---|
[GodotEngine] Tutorial 2D Game - 3 (2) | 2024.12.16 |
[GodotEngine] Tutorial 2D Game - 1 (0) | 2024.12.10 |