• 게임
  • 산업 분야
  • 리소스
  • 커뮤니티
  • 학습
  • 문의하기
개발
Unity 엔진
모든 플랫폼 위한 2D 및 3D 게임 제작
다운로드플랜 및 가격
수익화
인앱 결제/인앱 구매(IAP)
스토어 간 IAP 검색 및 관리
Mediation
수익 / 매출 극대화 및 수익화 / 수익 창출 최적화(하다)
Ad Quality
앱 유저. '광고 지면'의 타겟 고객 경험 보호
탭조이
장기적인 유저. '광고 지면'의 타겟 고객 충성도 구축
모든 수익화 / 수익 창출 제품
사용자 확보
사용자 확보
모바일 사용자를 검색하고 Acquire
Unity 벡터 AI
적합한 게임으로 플레이어 연결
Aura 디바이스 단위 광고
최대 참여/인게이지먼트 시 기기 내 사용자 도달률
모든 성장 제품
활용 부문
3D 협업
실시간 3D 프로젝트 빌드 및 검토
몰입형 교육
몰입도 높은 환경 제작
고객 경험
인터랙티브 3D 경험 제작
모든 업계 솔루션
산업 분야
제조업
운영 우수성 확보
리테일
상점 경험을 온라인 경험으로 전환
자동차
혁신 및 차량 내 경험 향상
전체 산업 분야
테크니컬 라이브러리
기술 자료
공식 유저. '광고 지면'의 타겟 고객 매뉴얼 및 API 레퍼런스
개발자 툴
릴리스 버전 및 이슈 트래커
로드맵
예정된 기능 검토
용어집
기술 용어 라이브러리
분석 자료
활용 사례
실제 성공 사례
베스트 프랙티스 가이드
전문가 팁
모든 리소스
새로운 기능
블로그
업데이트, 정보, 기술 팁
뉴스
뉴스, 스토리, 보도 센터
커뮤니티 허브
토론
토론, 문제 해결, 소통
이벤트
글로벌 이벤트 및 현지 이벤트
커뮤니티 사례
Made with Unity
Unity 크리에이터 소개
Livestreams
개발자, 크리에이터, Insider와의 소통
Unity Awards
전 세계 Unity 크리에이터 축하
모든 레벨 지원
Unity Learn
무료로 Unity 기술 마스터
전문 교육
Unity 강사와 함께 팀의 역량을 강화하세요
Unity 처음 사용하시나요
시작하기
학습 시작하기
Unity 필수 학습 길잡이
Unity 사용이 처음이신가요? 여정 시작하기
사용법 가이드
실용적인 팁 및 베스트 프랙티스
교육
학생용
커리어 시작하기
교육 담당자 대상 교육
교육 효율 극대화
교육 라이선스
교육 기관에 Unity 강력한 기능 도입
자격증
Unity 숙련도를 입증하세요
지원 옵션
도움 받기
성공을 위한 Unity
Success 플랜
전문가 지원을 통해 더 빠르게 목표 도달률 달성
FAQ
일반적인 질문에 대한 답변
문의하기
유니티 팀과 소통하기
플랜 및 가격
언어
  • English
  • Deutsch
  • 日本語
  • Français
  • Português
  • 中文
  • Español
  • Русский
  • 한국어
소셜
통화
구매
  • 제품
  • 유니티 애즈
  • 구독
  • Unity 에셋 스토어
  • 리셀러
교육
  • 학생
  • 교육 담당자
  • 기관
  • 인증 시험
  • 레벨업 아카데미
  • Skills Development Program
다운로드
  • Unity Hub
  • 다운로드 아카이브
  • 베타 프로그램
Unity Labs
  • Labs
  • Publications
리소스
  • Unity 학습 플랫폼
  • 커뮤니티
  • 기술 자료
  • Unity QA
  • FAQ
  • Services Status
  • 활용 사례
  • Made with Unity
Unity
  • 회사
  • 뉴스레터
  • 블로그
  • 이벤트
  • 채용 정보
  • 도움말
  • Press
  • 파트너
  • 투자자
  • 어필리에이트
  • 보안
  • 소셜 임팩트
  • Inclusion & Diversity
  • 문의하기
Copyright © 2025 Unity Technologies
  • 법적 고지 사항
  • 개인정보처리방침
  • 쿠키
  • 개인정보 판매 또는 공유 금지

'Unity', Unity 로고 및 기타 Unity 상표는 미국 및 기타 국가에서 유니티 테크놀로지스 또는 계열사의 상표 또는 등록상표입니다(여기에서 자세한 정보 확인). 기타 명칭 또는 브랜드는 해당 소유자의 상표입니다.

Hero background image

Unity에서 애니메이터 컨트롤러를 구축하기 위한 팁

이 웹페이지는 이해를 돕기 위해 기계 번역으로 제공됩니다. 기계 번역으로 제공되는 콘텐츠에 대한 정확도나 신뢰도는 보장되지 않습니다. 번역된 콘텐츠의 정확도에 관해 의문이 있는 경우 웹페이지의 공식 영어 원문을 참고해 주시기 바랍니다.
여기를 클릭하세요.

캐릭터의 애니메이터 컨트롤러를 스크립트처럼 만들면 개발 주기 전반에 걸쳐 간단하게 재사용하고 지원하고 디버깅할 수 있습니다.

아래의 모든 스크린샷은 Campo Santo의 파이어워치에서 캐릭터 헨리의 애니메이션에서 온 것입니다.

  • Blend Trees에서 복잡도 숨기기
  • 레이어를 스크립트 클래스로 생각
  • 재사용 패턴
  • Hub와 대화
  • 공유 진입/공유 종료 패턴
  • 임계 섹션 및 배치 패턴
  • State Machine Behaviour 내에서 복잡한 코드를 작성하지 않기
  • 상태 머신 동작을 사용하여 애니메이션 이벤트를 항상 실행
  • 리소스 더 보기
Blend Tree 이미지

Blend Trees에서 복잡도 숨기기

블렌드 트리는 복잡도를 숨기기에 적합합니다. 블렌드 트리는 코드로 다시 호출하지 않으므로 상태가 없습니다. 정의한 파라미터에 따라 여러 클립을 블렌딩합니다.

이는 게임의 나머지 부분을 손상시키지 않도록 걱정하지 않고도 Blend Trees에서 반복 작업을 수행할 수 있다는 의미입니다. Blend Tree의 대부분의 애니메이션에 동작을 연결할 수 없기 때문에 복잡한 상태 웹을 숨기고 실시간으로 버그를 방지할 수 있습니다.

애니메이터 상태

레이어를 스크립트 클래스로 생각

스크립트에서 레이어를 클래스로 생각하는 것이 좋습니다. 하나의 레이어에 있는 모든 요소가 동일한 논리적 기능과 동작 함수를 모두 제공하도록 합니다. 이는 각 개별 레이어가 어떤 다른 레이어를 오버라이드할지 제어하기 때문입니다. 특정 뼈대에 영향을 주는지, 해당 레이어가 추가되는지 등.

재사용 패턴

상태 및 서브셋 머신에서 재사용 가능한 논리적 패턴을 사용하면 개발 속도를 높이고, 디버깅을 용이하게 하고, 버그를 줄일 수 있으므로 여러 사람이 유사한 콘텐츠를 만들 수 있습니다.

다음 섹션에서는 레이어를 구조화하는 데 유용한 패턴을 소개합니다.

Hub 및 스피크 애니메이터

Hub와 대화

이 패턴을 사용하면 전환이 벗어나 빈 상태로 돌아오는 것을 명확하게 볼 수 있으므로 디버깅이 더 쉬워집니다. 허브의 모든 스피크는 터치하는 상태를 초기화해야 합니다.

스포크는 다음 패턴을 사용하여 서브셋 머신을 만드는 데 유용합니다.

애니메이터 종료 입장

공유 진입/공유 종료 패턴

상태를 'intro'(실행/루프)의 'outro' 패턴으로 그룹화하면 모든 애니메이션 이벤트나 상태 머신 동작을 Intro 상태와 Outro 상태에 깔끔하게 연결할 수 있습니다. 블렌드 트리와 마찬가지로 게임 손상에 대해 걱정하지 않고도 내부 실행/ 루프 상태를 반복하고 변경할 수 있습니다.

섹션 및 배치 패턴

임계 섹션 및 배치 패턴

중단 가능한 애니메이션, 특히 플레이어 입력 기반 애니메이션의 경우 클립을 두 부분으로 나눌 수 있습니다. 먼저 모든 상태 변경 사항, 효과, 데미지를 포함하는 중요 섹션을 유지하세요. 이 섹션은 항상 재생되어야 합니다. 둘째, 대기 상태로 되돌아가고 새로운 입력으로 인해 중단될 수 있는 안정적인 애니메이션을 설계합니다.

애니메이션이 원하는 대로 작동하고 표시되면, 애니메이터의 상태를 게임 상태로 다시 반영해야 합니다. 다음 섹션에서 몇 가지 주요 사항을 기억하세요.

State Machine Behaviour 내에서 복잡한 코드를 작성하지 않기

상태 머신 동작은 모든 애니메이션 상태에 연결할 수 있는 코드 조각입니다. 이를 통해 애니메이터 자체의 상태에 동작을 직접 연결할 수 있습니다.

상태의 변경 사항이 어디에서 발생하는지 추적하기 어려워지므로 복잡한 게임플레이 코드를 작성하지 마세요. State Machine Behaviour를 사용하여 게임플레이 코드를 구동하는 경우, 메시징 시스템을 활용하거나, 관리자 클래스에 문의하거나, 상위 수준의 파라미터에서 코드를 트리거하세요.

Debug.Break()는 가장 효과적인 상태 머신 동작 중 하나입니다. 애니메이션 설정의 어느 위치에든 연결하면 비주얼 스크립팅 시스템과 유사한 중단점이 생깁니다.

적절한 경우 C# 코드를 사용하세요. 수백 또는 수천 개의 전환을 관리하거나 모든 곳에 AnyState 전환을 연결하는 대신 Animator.Play 또는 Animator.CrossFade를 사용하여 코드에서 직접 전환을 동적으로 생성하세요. 여전히 충분히 제어할 수 없다면 Unity Playables API 코드를 사용하여 애니메이션화하는 더 많은 방법을 알아보세요. 몇 가지 예는 여기에서 볼 수 있습니다.

상태 머신 동작

상태 머신 동작을 사용하여 애니메이션 이벤트를 항상 실행

애니메이션 이벤트는 애니메이션 클립의 특정 순간을 게임의 특정 상태 변경에 연결합니다. 시각 및 음향 효과와 같은 요소를 설정하는 데 사용할 수 있습니다. 하지만 클립이 발사되기 전에 클립에서 전환하지 않으면 결코 발사되지 않습니다. 이 문제를 해결하는 한 가지 방법은 특정 시점에 도달했을 때 게임에서 어떤 일이 일어나거나 일어나지 않는지에 관계없이 항상 이벤트가 발사되는 상태 머신 동작을 추가하는 것입니다.

리소스 더 보기

테크니컬 아티스트를 위한 Unity 주요 툴 및 워크플로

에셋 스토어에서 최고 인기 애니메이션

게임 성공사례

무료 Unity 전자책 및 가이드