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

[5분개발] ChatGPT를 활용하여 Unity 에서 러닝 애니메이션 만들기

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

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

오늘은 ChatGPT를 활용하여 Unity 에서 러닝 애니메이션 만들어볼께요.

이미지 파일(스프라이드 쉬트)를 이용해서  러닝 애니메이션 만들기

이번에는 러닝 동작 사이클을 가진 이미지 파일을 가지고 러닝 애미네이션을 쉽게 만들어볼께요.

ChatGPT가 알려주는 대로 하면 5분만에 러닝 애니메이션을 만들 수 있어요.

[러닝 애니메이션 기사는 준비하는 IntelliOneStudio 개발자]

[질문] 첨부한 러닝 이미지를 가지고 Unity 에서 플레이어가 러닝하는 애니메이션을 만들고 싶어, 아주 자세하게 러닝 애니메이션을 만드는  방법을 설명해줘
[Unity Asset 에 있는 Platform Microgame에서 제공하는 러닝 이미지 참고]

[답변] 

이 이미지를 Unity에서 플레이어의 러닝 애니메이션으로 만드는 과정은 다음과 같습니다:

  1. Unity 프로젝트 준비하기:
    •    Unity를 열고 새 프로젝트를 생성하거나 기존 프로젝트를 열어줍니다.
    •    2D 게임을 만들고 있다면, Unity 에디터 상단의 2D/3D 토글을 '2D'로 설정해줍니다.
  2. 스프라이트 시트 가져오기:
    •    가져온 이미지 파일(스프라이트 시트)을 Unity의 'Assets' 폴더에 드래그 앤 드롭으로 추가합니다.
    •    Assets 폴더 내에서 이미지 파일을 선택하면 Inspector 창에 해당 파일의 속성이 표시됩니다.
  3. 스프라이트 설정 변경하기:
    •    Inspector 창에서 'Texture Type'을 'Sprite (2D and UI)'로 설정합니다.
    •    'Sprite Mode'를 'Multiple'로 변경합니다. 이는 이미지가 여러 스프라이트로 구성된 시트임을 의미합니다.
    •    'Pixels Per Unit'을 설정하여 스프라이트의 크기를 조절할 수 있습니다. 일반적으로 게임 내의 단위와 일치시키는 것이 좋습니다.
    •    'Filter Mode'와 'Compression'을 게임의 요구에 맞게 조정합니다.
    •    이러한 설정들을 마쳤다면, 'Apply' 버튼을 클릭하여 변경사항을 저장합니다.
  4. Sprite Editor로 스프라이트 나누기:
    •    이미지 파일이 선택된 상태에서 'Sprite Editor' 버튼을 클릭합니다.
    •    'Slice' 메뉴를 열고, 'Type'을 'Grid By Cell Size' 또는 'Grid By Cell Count'로 설정하여 이미지를 개별 프레임으로 나눕니다.
    •    스프라이트의 크기나 그리드의 개수를 조정하여 정확히 분할합니다.
    •   'Slice' 버튼을 클릭하여 이미지를 스프라이트로 나눕니다.
    •   'Apply'를 클릭하여 나누어진 스프라이트를 저장합니다.
  5. 애니메이션 클립 만들기:
    •    Unity 에디터에서 'Animation' 탭을 열거나 'Window' -> 'Animation' -> 'Animation'을 통해 애니메이션 창을 열 수 있습니다.
    •    게임 오브젝트를 하나 생성하고, 이 오브젝트를 선택한 상태에서 애니메이션 창에서 'Create' 버튼을 클릭합니다.
    •    애니메이션 파일을 위한 이름을 입력하고, 저장할 위치를 선택합니다.
    •    이제 애니메이션 창에는 프레임 라인이 보일 것입니다.
  6. 애니메이션 프레임 추가하기:
    •    Assets에서 나누어진 스프라이트를 찾아서 애니메이션 창의 타임라인에 드래그 앤 드롭합니다.
    •    모든 스프라이트가 타임라인에 추가되면, 각 프레임의 지속 시간을 조정하여 애니메이션의 속도를 설정할 수 있습니다.
  7. 애니메이션 테스트하기:
    •    애니메이터 컨트롤러를 생성하고, 만든 애니메이션 클립을 연결합니다.
    •    게임 오브젝트에 'Animator' 컴포넌트가 추가되었는지 확인합니다.
    •    'Play' 버튼을 눌러 게임을 실행하고, 애니메이션이 예상대로 작동하는지 확인합니다.
  8. 스크립트를 통한 애니메이션 제어 (선택적):
    •    게임 오브젝트에 새로운 C# 스크립트를 추가합니다.
    •    스크립트 내에서 'Animator' 컴포넌트를 제어하여 특정 조건에서 애니메이션을 실행하게 합니다.

이 과정은 Unity에서 애니메이션을 생성하고 조작하는 기본적인 방법을 설명합니다. 각 프로젝트의 요구사항에 따라 추가적인 설정이나 스크립팅이 필요할 수 있습니다.

 

ChatGPT가 알려준 과정대로 진행하면 되요

ChatGPT가 알려준대로 차근차근 하나씩 실행했어요. 

러닝 애니메이션을 만들기 위해 단계별로 진행

 

러닝 애니메이션을 완료했어요

너무도 쉽고 빠르게 점프 애니메이션이 만들어졌어요. 

이제 IT 기술을 배우기 위해 학원을 다니거나 책을 사는 일이 점점 줄어들 것 같다는 생각이 들어요.

러닝 애니메이션 결과

 

행복한 하루 되시고 이 글이 많은 도움이 되셨으면 해요.

[퇴근을 준비하는 IntelliOneStudio 개발자]

 

아래는 이미지 파일(스프라이드 쉬트)에 대한 설명이에요.

이미지 파일 중 하나인 스프라이트 시트(sprite sheet)는 여러 개의 작은 이미지나 아이콘들을 하나의 큰 이미지 파일에 모아놓은 것을 말합니다. 스프라이트 시트는 주로 비디오 게임, 웹 애플리케이션, 그래픽 디자인에서 사용됩니다. 각각의 작은 이미지들은 스프라이트라고 불리며, 특정 애니메이션 효과나 그래픽 요소를 표현하는 데 사용됩니다.

스프라이트 시트의 사용 목적
성능 향상: 스프라이트 시트는 웹 페이지나 게임에서 여러 이미지를 빠르게 로딩하고 처리하는 데 도움을 줍니다. 여러 이미지 파일을 하나로 합치면 네트워크 요청의 수가 줄어들어 로딩 시간이 단축되고, 성능이 향상됩니다.

리소스 관리 용이: 스프라이트 시트를 사용하면 많은 수의 그래픽 리소스를 효율적으로 관리할 수 있습니다. 개별 이미지를 개별 파일로 관리하는 것보다 파일의 수를 줄일 수 있어 관리가 용이해집니다.

애니메이션 구현: 특히 게임 개발에서 스프라이트 시트는 캐릭터의 움직임이나 변화를 표현하는 애니메이션을 만드는 데 자주 사용됩니다. 각각의 스프라이트는 캐릭터의 다른 동작이나 상태를 나타내며, 순차적으로 빠르게 전환되어 동작하는 것처럼 보이게 합니다.

스프라이트 시트의 구성

스프라이트 시트는 일반적으로 격자 무늬 형태로 구성되어 있으며, 각 셀에 하나의 스프라이트(이미지)가 배치됩니다. 개발자는 스프라이트 시트의 각 이미지를 정확히 참조하기 위해 위치 좌표(x, y)와 각 이미지의 크기(너비, 높이) 정보를 사용합니다.

스프라이트 시트의 예
예를 들어, 비디오 게임의 캐릭터가 걷는 모션을 표현하고 싶다면, 걷는 동작의 여러 단계(오른발 내딛기, 왼발 내딛기 등)를 각각 다른 스프라이트로 제작하여 스프라이트 시트에 순차적으로 배열합니다. 게임을 실행할 때, 이 스프라이트들을 순차적으로 불러와서 캐릭터가 걷는 것처럼 보이게 하는 것입니다.

스프라이트 시트는 이처럼 다양한 그래픽 자원을 효율적으로 관리하고, 애니메이션을 쉽게 구현할 수 있게 도와주는 중요한 도구입니다.

 

지금까지,

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

감사합니다.

728x90