
안녕하세요. 여영자입니다 :)
지난 시간에는 캐릭터를 움직이기 위한 마지막 준비로
캡슐 형태의 충돌 영역을 추가했습니다.
[40대 AI 초보 성장 일지] 4편
https://dpg.danawa.com/bbs/view?boardSeq=309&listSeq=6040963
이제 정말 캐릭터를 움직일 차례입니다!!!
그런데 캐릭터를 움직이려면 먼저
스크립트를 만들어야 한다고 합니다.

스.크.립.트?
이름은 들어봤지만 왜 추가해야 하는지 전혀 감이 오지 않았습니다.
그래서 ChatGPT에게 물어봤습니다.

스크립트는 캐릭터에게 어떻게 행동할지 알려주는 명령문이었습니다.
캐릭터의 움직임을 만드는 데 꼭 필요한 역할을 한다고 하네요.
그렇다면 오늘은 스크립트 추가에 도전해 보겠습니다!

본격적으로 스크립트를 만들기 전에 씬 파일 이름을 먼저 변경해 볼게요.
현재 씬 이름이 main.tscn으로 되어 있어
나중에 사용할 메인 씬(main.tscn)과 헷갈릴 것 같았기 때문입니다.
[씬] > [다른 이름으로 저장하기]를 선택해 주세요.
[Ctrl + Shift + S] 단축키를 사용해도 같은 기능을 실행할 수 있습니다.

파일 이름을 player.tscn으로 작성 후 [저장] 버튼을 눌러주세요.
이제 씬 파일 이름이 수정되었으니
스크립트를 추가해 보겠습니다!!

[Player]를 선택한 후 마우스 오른쪽 버튼을 클릭해
[스크립트 붙이기]를 선택합니다.
또는 상단의 [스크립트 붙이기] 아이콘을 눌러도
동일하게 스크립트를 추가할 수 있습니다.

흠…언어, 상속, 템플릿…
도대체 무엇을 선택해야 하는지 하나도 모르겠습니다…(하아)

그래서 여영자가 초보자도 이해하기 쉽도록 정리를 해봤습니다!

아하!! (끄덕끄덕…)
이제야 이해가 좀 되는군요!
Godot는 GDScript 외에도 C# 등 다른 언어를 사용할 수 있지만
초보자가 배우기에는 GDScript가 가장 쉽다고 해요.
Godot 공식 문서와 예제도 대부분 GDScript 기준이라고 합니다!

그래서 초보자인 저는 GDScript로 선택했습니다.

노드 스크립트 붙이기 창에서 템플릿만 [Object: Empty]로 변경하고
나머지는 기본값 그대로 [만들기] 버튼을 눌러주세요.

어라? 그런데…
분명 빈 스크립트를 만들었는데 왜 코드가 적혀 있죠?
궁금해서 ChatGPT에게 물어봤습니다.

그렇다면 본격적으로 캐릭터를 움직일 수 있는 스크립트를 넣어볼까요?
ChatGPT를 통해 생성했습니다.

흠…코드를 만들어 주긴 했는데
초보인 저는 이게 무슨 소린지 모르겠어요 정말…

그래서 제가 또 정리를 해봤습니다. (엣헴)

처음에는 그저 암호처럼 보였던 코드가
하나씩 살펴보니 모두 역할이 있었습니다.
이제 어떤 코드가 캐릭터를 움직이는지 조금은 이해가 되네요.

ChatGPT가 생성한 코드를 그대로 복사해 붙여 넣었습니다.
[Ctrl+S]로 파일을 저장한 뒤
[F6]을 눌러 잘 적용되었는지 확인해보겠습니다.
(두근두근)
.
.
.

이건 제가 원하는 움직임이 아니었어요.

분명 정지 동작도 여러 장의 프레임으로 애니메이션을 만들었는데
실행해 보니 한 장의 그림만 움직이더라고요.
대체 뭐가 문제일까요…?
ChatGPT에게 스크립트 수정을 요청했습니다.

기존 코드에 새로운 두 줄이 추가되어 있었습니다.

추가된 코드가 무슨 역할을 하는지 살펴봤습니다.
처음엔 그저 캐릭터만 움직이는 코드를 넣은 거였네요.
애니메이션을 재생하는 코드는 따로 추가해야 한다는 것을 알았습니다.

게임이 시작되면 캐릭터의 애니메이션이 자동으로 재생되도록
코드를 수정해 보겠습니다.
ChatGPT가 생성한 코드 두 줄을 추가하고
[Ctrl+S]로 저장한 뒤 [F6]을 눌러 확인해보니…
.
.
.

드디어 Idle 애니메이션이 자연스럽게 재생되면서
캐릭터가 좌우로 움직이기 시작했습니다.
아니 잠깐!!!
그런데 정지 동작은 좌우로 움직일 일이 없지 않나요?
(이것도 아냐..…)

제가 원하는 건
그래서 이번에도 ChatGPT에게 코드를 수정해 달라고 요청했습니다.

이번에도 기존 코드를 어떻게 수정하면 되는지 알려줬습니다.
과연 이번에는 제가 원하는 동작이 완성될까요?

ChatGPT가 생성한 코드를 추가하고
[Ctrl+S]로 저장한 뒤 [F6]을 눌러 확인해봤습니다.
과연 이번엔 정말 성공일까요?
.
.
.

드.디.어
제가 원하는 캐릭터 동작이 완성되었습니다!!


그럼 다음 편에서 만나요!
| 오늘의 기록 ✔ Player 씬(player.tscn)으로 이름 변경하기 ✔ Player에 스크립트(player.gd) 추가하기 ✔ 방향키로 캐릭터 좌우 이동 구현하기 ✔ Idle 애니메이션 자동 재생하기 ✔ 이동 시 Walk 애니메이션으로 전환하기 다음 미션 ✔ Main 씬(main.tscn) 만들기 |
처음엔 '스크립트'라는 단어조차 낯설었는데
이제는 ChatGPT와 함께 코드를 하나씩 수정하며
원하는 움직임을 직접 만들어내고 있습니다.
아직 갈 길은 멀지만,
하나씩 완성해 나가는 재미를 조금씩 알아가고 있네요.
![]()
댓글과 공감은 여영자에게 정말 큰 힘이 됩니다.



