본문 바로가기
디지털노마드

[챗GPT게임개발2] ChatGPT를 활용하여 나만의 캐릭터로 게임 만들기

by 인텔리노마드라이프 2024. 4. 28.
728x90

 

 

안녕하세요. 인텔리원스튜디오(IntelliOneStudio)입니다.

오늘은 ChatGPT를 활용하여 나만의 캐릭터로 게임 만들기를 해볼께요.

 

이 연재를 다 읽은 후에는 누구나 쉽게 Unity 에서 플랫포머 게임을 만들 수 있을 것 같아요.

챗GPT도 많은 도움이 되지만 Unity 의 개발자 환경도 너무 좋은 것 같아요.

 

 ChatGPT 답변 내용 중 제가 별도로 표시한 파란색 내용을 기준으로 읽으시면 좀 더 이해가 쉽게 될거예요.

 

나만의 플레이어 캐릭터로 플랫포머 게임 만들기

지난 글에서 Unity 프로젝트에 다운로드한 에셋을 추가했어요. 

그리고 프로젝트에 Platformer Microgame이 추가했고 게임이 실행되는 모습도 봤어요.

 

[Platformer Microgame 실행 영상]

플레이어 이미지를 새로운 캐릭터 이미지로 변경해요

기존 게임에 있는 플레이어 이미지를 제가 원하는 이미지로 변경하는 방법을 물어봤어요.

[질문] 안녕 ChatGPT, Platformer Microgame의 플레이어 이미지를 새로운 캐릭터의 이미지로 변경하고 싶은데 어떻게 하면 되니?

[답변]

Unity에서 Platformer Microgame의 플레이어 이미지를 새로운 캐릭터 이미지로 변경하는 과정은 비교적 간단하며, 몇 가지 주요 단계를 통해 이루어집니다. 여기에 필요한 단계를 안내해 드리겠습니다:

1. 새 캐릭터 이미지 준비

먼저, 사용할 새로운 캐릭터 이미지를 준비합니다. 이 이미지는 PNG, JPEG 등의 형식이 될 수 있으며, 투명 배경을 가진 PNG 형식이 가장 일반적으로 사용됩니다. 이미지는 적절한 크기와 해상도로 준비되어야 합니다.

2. 이미지를 Unity 프로젝트에 가져오기

  • Unity 에디터를 열고 해당 프로젝트를 로드합니다.
  • Assets 폴더에 새 폴더를 생성하여 이미지를 정리할 수 있습니다 (예: "Characters").
  • File Explorer (Windows) 또는 Finder (Mac)에서 새 캐릭터 이미지를 Unity 에디터의 Assets 폴더로 드래그 앤 드롭합니다.

3. 스프라이트 설정

  • Project 탭에서 새로 가져온 이미지 파일을 클릭합니다.
  • Inspector 판넬에서, 이미지의 Texture Type을 "Sprite (2D and UI)"로 설정합니다. 이렇게 하면 이미지가 스프라이트로 사용될 수 있습니다.
  • Pixels Per Unit, Mesh Type, Wrap Mode, Filter Mode 등의 속성을 필요에 따라 조정합니다.
  • 변경사항을 적용하기 위해 Apply 버튼을 클릭합니다.

4. 기존 캐릭터 스프라이트 교체

  • Hierarchy 탭에서 플레이어 캐릭터 객체를 선택합니다.
  • Inspector 판넬에서, 플레이어 캐릭터의 Sprite Renderer 컴포넌트를 찾습니다.
  • Sprite 속성 옆의 슬롯에 새로운 캐릭터 스프라이트를 드래그 앤 드롭합니다.

5. 애니메이션 조정

  • 만약 새 캐릭터에 여러 애니메이션 프레임이 있다면, 각 애니메이션 클립을 업데이트해야 할 수도 있습니다.
  • Animation 윈도우를 열고 각 애니메이션 클립을 선택한 후, 새 스프라이트 프레임을 애니메이션 시퀀스에 맞게 드래그 앤 드롭하여 교체합니다.

6. 게임 내 테스트

  • 모든 변경사항을 적용한 후, Play 버튼을 클릭하여 게임을 실행하고 새 캐릭터가 제대로 작동하는지 확인합니다.

이러한 단계를 통해 Unity의 Platformer Microgame에서 기존 플레이어 캐릭터를 새로운 캐릭터로 교체할 수 있습니다. 캐릭터의 모든 애니메이션과 기능이 원활하게 작동하는지 확인하는 것이 중요합니다.

 

 

챗GPT가 알려준대로 하나씩 해볼께요.

 

1. 새 캐릭터 이미지 준비

새 캐릭터의 이미지는 이미지를 직접 만들어도 되고 Asset Store 에서 무료로 제공하는 에셋을 사용해도 되요.

저는 아래 Cobra Robot 에셋에 있는 캐릭터를 사용할 거에요. 

캐릭터 이미지 준비 완료. !!

 

[Unity Asset Store에서 제공하는 무료 에셋]

 

2. 이미지를 Unity 프로젝트에 가져오기

Cobra Robot 에셋에 있는 HeroSkin_HighRes_Idle, HeroSkin_HighRes_Running 폴더를

Unity 에디터의 Assets 폴더로 드래그 앤 드롭했어요.

 

[Cobra Robot 에셋 중 대기상태와 달리기 상태 이미지]

 

[Unity 에디터의 Assets 폴더로 드래그 앤 드롭]

 

3. 스프라이트 설정

다음의 단계대로 설정했어요.

 

기존 게임 내 플레이어 이미지 사이즈가 Cobra Robot 에셋 보다 훨씬 작아서 PPU(Pixels Per Unit) 값을 1300으로 수정했어요. (*PPU 값이 커지면 원본 이미지 사이즈보다 작아져요)

 

나머지 속성 값은 변경하지 않았어요.

  • Project 탭에서 새로 가져온 이미지 파일을 클릭합니다.
  • Inspector 판넬에서, 이미지의 Texture Type을 "Sprite (2D and UI)"로 설정합니다. 이렇게 하면 이미지가 스프라이트로 사용될 수 있습니다.
  • Pixels Per Unit (*1300으로 수정), Mesh Type, Wrap Mode, Filter Mode 등의 속성을 필요에 따라 조정합니다.
  • 변경사항을 적용하기 위해 Apply 버튼을 클릭합니다.

 

4. 기존 캐릭터 스프라이트 교체

 

기존 캐릭터 스프라이트는 그냥 두고 새로운 캐릭터 스프라이트로 애니메이션만 조정해도 될 같아요.

 

5. 애니메이션 조정

아래 과정에 대해 좀 더 상세히 알고 싶었어요.

  • 만약 새 캐릭터에 여러 애니메이션 프레임이 있다면, 각 애니메이션 클립을 업데이트해야 할 수도 있습니다.
  • Animation 윈도우를 열고 각 애니메이션 클립을 선택한 후, 새 스프라이트 프레임을 애니메이션 시퀀스에 맞게 드래그 앤 드롭하여 교체합니다.
[질문] 안녕 ChatGPT, 아래 단계를 좀 더 상세히 알려줄래?

5. 애니메이션 조정 만약 새 캐릭터에 여러 애니메이션 프레임이 있다면, 각 애니메이션 클립을 업데이트해야 할 수도 있습니다. Animation 윈도우를 열고 각 애니메이션 클립을 선택한 후, 새 스프라이트 프레임을 애니메이션 시퀀스에 맞게 드래그 앤 드롭하여 교체합니다.

[답변]

Unity에서 캐릭터의 애니메이션을 조정하는 과정은 여러 단계를 포함하며, 새로운 스프라이트로 애니메이션 클립을 업데이트하는 것은 꽤 중요한 작업입니다. 아래에서는 이 과정을 보다 상세하게 설명하겠습니다.

애니메이션 조정 상세 가이드

1. 애니메이션 윈도우 열기

  • Unity 에디터에서 Window > Animation > Animation을 선택하여 애니메이션 윈도우를 엽니다.
  • 애니메이션을 수정하고 싶은 캐릭터 오브젝트를 Hierarchy에서 선택합니다.

2. 애니메이션 클립 선택

  • 애니메이션 윈도우에서 사용할 애니메이션 클립을 드롭다운 메뉴에서 선택합니다. 이 드롭다운은 윈도우 상단에 위치해 있습니다.
  • 선택한 오브젝트에 연결된 모든 애니메이션 클립이 여기에서 접근 가능합니다.

3. 스프라이트 프레임 교체

  • 새로운 스프라이트 이미지를 이미 프로젝트에 추가하고 적절히 설정했다면, 이제 이 스프라이트를 사용하여 애니메이션 시퀀스를 업데이트할 수 있습니다.
  • Project 탭에서 새 스프라이트 이미지를 찾아 엽니다.
  • 새 스프라이트 이미지를 Animation 윈도우로 드래그 앤 드롭하여 기존 프레임을 교체합니다. 교체할 프레임을 클릭하여 선택한 다음, 새 스프라이트를 해당 위치에 놓습니다.
  • 모든 프레임을 필요에 따라 교체하면서, 각 애니메이션의 흐름이 자연스럽고 일관된지 확인합니다.

4. 애니메이션 프리뷰

  • 변경사항을 적용한 후, 애니메이션 윈도우 하단에 있는 플레이 버튼을 사용하여 애니메이션을 미리 봅니다.
  • 캐릭터가 원하는 대로 움직이는지, 모든 애니메이션이 부드럽게 연결되는지 확인합니다.

5. 변경사항 저장

  • 모든 수정 사항을 검토하고 만족스러우면, Unity 에디터에서 File > Save Project를 선택하여 모든 변경사항을 저장합니다.

6. 게임에서 테스트

  • 마지막으로, Unity의 플레이 모드를 사용하여 실제 게임 환경에서 캐릭터의 애니메이션이 제대로 작동하는지 확인합니다.

이러한 단계를 통해 새 캐릭터 스프라이트로 기존 애니메이션을 업데이트하고, 게임 내에서 원활하게 작동하도록 할 수 있습니다. 새 스프라이트의 크기나 프레임 속도가 기존의 것과 다를 경우 추가적인 조정이 필요할 수 있습니다.

 

다음과 같이 PlayerIdle, PlayRun 애니메이션 클릭을 선택하고 

새로운 스프라이트 이미지로 교체했어요.

[새로운 스프라이트 이미지로 교체]

 

6. 게임 내 테스트

모든 변경사항을 적용한 후, Play 버튼을 클릭하여 게임을 실행하고 새 캐릭터가 제대로 작동하는지 확인했어요.

[Play  버튼을 클릭하여 게임을 실행]

 

프레임 속도를 수정했어요

캐릭터는 변경되었는데 캐릭터 프레임 수가 기존 것보다 적어서 동작이 너무 빠른 것 같아요.

[질문] 안녕 ChatGPT,  새로운 캐릭터 프레임 수가  적어서 그런지 실행 후 동작이 너무 빠른데 동작을 좀 느리게 하려면 어떻게 해야해?

[답변]

애니메이션의 프레임 속도가 너무 빠르게 느껴지는 경우, Unity에서는 애니메이션 클립의 재생 속도를 조절하여 해결할 수 있습니다. 애니메이션 클립의 속도를 조절하면 같은 수의 프레임을 더 천천히 재생하여 원하는 애니메이션 효과를 얻을 수 있습니다. 다음은 애니메이션 속도를 조절하는 방법입니다:

애니메이션 속도 조절 방법

1. 애니메이션 클립 열기

  • Unity의 Project 탭에서 애니메이션 클립이 저장된 폴더로 이동합니다.
  • 수정하고자 하는 애니메이션 클립을 더블 클릭하여 엽니다.

2. 애니메이션 속도 설정

  • 애니메이션 클립이 열리면, Inspector 창에서 클립의 속성을 볼 수 있습니다.
  • Samples 필드에서 애니메이션의 프레임 속도를 조절할 수 있습니다. 이 값은 초당 프레임 수를 나타냅니다. 예를 들어, 기본값이 60이면, 애니메이션은 초당 60프레임으로 재생됩니다.
  • 애니메이션을 느리게 하려면 이 값을 줄이세요. 예를 들어, 60에서 30으로 줄이면 애니메이션의 속도가 절반으로 느려집니다.

3. 애니메이션 클립의 재생 속도 조정

  • 또 다른 방법으로, 애니메이션 클립 자체의 Speed 속성을 조정할 수 있습니다. 이 속성도 Inspector 창에서 찾을 수 있습니다.
  • Speed 값을 줄여서 애니메이션 재생 속도를 느리게 조정할 수 있습니다. 예를 들어, 1.0에서 0.5로 조정하면, 애니메이션 재생 속도가 기존의 절반으로 느려집니다.

4. 변경사항 확인

  • 수정한 애니메이션 클립의 재생 속도를 확인하기 위해 Animation 윈도우로 돌아가서 재생 버튼을 클릭해 봅니다.
  • 속도 조절이 적절한지 확인하고 필요에 따라 추가 조정을 합니다.

5. 프로젝트 저장

  • 모든 수정 사항을 적용한 후, File > Save Project를 선택하여 변경사항을 저장합니다.

이렇게 하면 새로운 이미지의 프레임 수가 적어 동작이 너무 빠르게 느껴지는 문제를 조절할 수 있습니다. 애니메이션의 자연스러움을 유지하면서도 게임 내에서 캐릭터의 움직임이 너무 빠르거나 느리지 않도록 세심하게 조정하는 것이 중요합니다.

 

아래 그림과 같이 애니메이터 창을 열어서 Player-Run을 선택하고 Speed 값을 1 -> 0.5로 수정했어요.

[애니메이션 속도 설정]

 

움직임이 부드러워졌어요.

아래 영상에서와 같이 캐릭터의 움직임이 만족스럽게 수정되었어요.

[Play  버튼을 클릭하여 수징된 게임을 실행]

 

 

챗GPT 와 함께 정말 빠르게 원하는 결과를 만들었어요.

다음 시간에는 다양한 애니메이션을 수정해볼께요.

 

[인텔리노마드라이프와 함께 행복하세요 from IntelliOneStudio]

 

지금까지,

언제나 성장하는 인텔리원스튜디오(IntelliOneStudio)입니다.

감사합니다.

 

 

728x90