Top 16 유니티 2D 애니메이션 레이어 Best 194 Answer

You are looking for information, articles, knowledge about the topic nail salons open on sunday near me 유니티 2d 애니메이션 레이어 on Google, you do not find the information you need! Here are the best content compiled and compiled by the Chewathai27.com/to team, along with other related topics such as: 유니티 2d 애니메이션 레이어 유니티 애니메이션 여러개, 유니티 애니메이션 적용, 유니티 3D 본 애니메이션, 유니티 애니메이션 재생 안됨, 유니티 애니메이터 레이어 스크립트, 유니티 애니메이션 레이어 동기화, 유니티 애니메이션 블렌딩, 유니티 애니메이션 스크립트 제어


애니메이션 레이어 | 유니티
애니메이션 레이어 | 유니티


애니메이션 레이어(Animation Layers) – Unity 매뉴얼

  • Article author: docs.unity3d.com
  • Reviews from users: 127 ⭐ Ratings
  • Top rated: 3.7 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 애니메이션 레이어(Animation Layers) – Unity 매뉴얼 Unity는 서로 다른 신체 부위의 복잡한 상태 머신을 관리하기 위해 Animation Layers 를 사용합니다. 예를 들면, 하체 레이어는 뛰거나 걷는 것을 관리하고, 상체 레이어는 … …
  • Most searched keywords: Whether you are looking for 애니메이션 레이어(Animation Layers) – Unity 매뉴얼 Unity는 서로 다른 신체 부위의 복잡한 상태 머신을 관리하기 위해 Animation Layers 를 사용합니다. 예를 들면, 하체 레이어는 뛰거나 걷는 것을 관리하고, 상체 레이어는 … Unity는 서로 다른 신체 부위의 복잡한 상태 머신을 관리하기 위해 Animation Layers 를 사용합니다. 예를 들면, 하체 레이어는 뛰거나 걷는 것을 관리하고, 상체 레이어는 오브젝트를 던지거나 사격하는 것을 관리합니다.
  • Table of Contents:

매뉴얼

애니메이션 레이어 동기화

애니메이션 레이어(Animation Layers) - Unity 매뉴얼
애니메이션 레이어(Animation Layers) – Unity 매뉴얼

Read More

[Unity3D] Animation – 유니티 애니메이션 레이어 사용하기(5.6.0기준) :: 베르의 프로그래밍 노트

  • Article author: wergia.tistory.com
  • Reviews from users: 35354 ⭐ Ratings
  • Top rated: 4.4 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [Unity3D] Animation – 유니티 애니메이션 레이어 사용하기(5.6.0기준) :: 베르의 프로그래밍 노트 1. 애니메이션 레이어에 사용할 Animator Controller를 생성하고 그 이름을 Animation Layer라고 짓도록 하자. 2. 생성한 애니메이터 컨트롤러를 열면 … …
  • Most searched keywords: Whether you are looking for [Unity3D] Animation – 유니티 애니메이션 레이어 사용하기(5.6.0기준) :: 베르의 프로그래밍 노트 1. 애니메이션 레이어에 사용할 Animator Controller를 생성하고 그 이름을 Animation Layer라고 짓도록 하자. 2. 생성한 애니메이터 컨트롤러를 열면 … 유니티 애니메이션 레이어(Animation Layer) 사용하기 지난 애니메이션 섹션에서는 비슷하지만 방향성이 다른 동작, 혹은 비슷하지만 속도가 다른 동작을 섞는데 사용하는 애니메이션 블랜드(Animation Blend)에..내가 하는 프로그래밍 공부
    그리고 그 외의 여러가지들
  • Table of Contents:
[Unity3D] Animation – 유니티 애니메이션 레이어 사용하기(560기준)

티스토리툴바

[Unity3D] Animation - 유니티 애니메이션 레이어 사용하기(5.6.0기준) :: 베르의 프로그래밍 노트
[Unity3D] Animation – 유니티 애니메이션 레이어 사용하기(5.6.0기준) :: 베르의 프로그래밍 노트

Read More

Unity Chapter 9-3. 애니메이션 : 애니메이터 레이어, 마스크, IK – 평생 공부 블로그 : Today I Learned‍ 🌙

  • Article author: ansohxxn.github.io
  • Reviews from users: 47006 ⭐ Ratings
  • Top rated: 3.7 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about Unity Chapter 9-3. 애니메이션 : 애니메이터 레이어, 마스크, IK – 평생 공부 블로그 : Today I Learned‍ 🌙 유니티 애니메이션Permalink. Asstes Store에서 “Unity-Chan!”을 Import 해주었다. 애니메이터 레이어 … …
  • Most searched keywords: Whether you are looking for Unity Chapter 9-3. 애니메이션 : 애니메이터 레이어, 마스크, IK – 평생 공부 블로그 : Today I Learned‍ 🌙 유니티 애니메이션Permalink. Asstes Store에서 “Unity-Chan!”을 Import 해주었다. 애니메이터 레이어 … 인프런에 있는 이제민님의 레트로의 유니티 C# 게임 프로그래밍 에센스 강의를 듣고 정리한 필기입니다. 😀 🌜 [레트로의 유니티 C# 게임 프로그래밍 에센스] 강의 들으러 가기!
  • Table of Contents:

Skip links

🔔 애니메이터 레이어

🔔 IK (Inverese Kinematic)

Unity Chapter 9-3. 애니메이션 : 애니메이터 레이어, 마스크, IK -  평생 공부 블로그 : Today I Learned‍ 🌙
Unity Chapter 9-3. 애니메이션 : 애니메이터 레이어, 마스크, IK – 평생 공부 블로그 : Today I Learned‍ 🌙

Read More

[압량(Amnyang)] #3. 2D 주인공 캐릭터 Idle, Walk, EyeBlink 애니메이션 클립 만들기

  • Article author: daekyoulibrary.tistory.com
  • Reviews from users: 25057 ⭐ Ratings
  • Top rated: 4.9 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [압량(Amnyang)] #3. 2D 주인공 캐릭터 Idle, Walk, EyeBlink 애니메이션 클립 만들기 그리고 애니메이터를 열어서, 애니메이션 레이어(Animation Layer)를 새로 하나 만들어줬다. 눈 깜빡임만 담당할 “Eye” 애니메이션 레이어. 이렇게 눈 … …
  • Most searched keywords: Whether you are looking for [압량(Amnyang)] #3. 2D 주인공 캐릭터 Idle, Walk, EyeBlink 애니메이션 클립 만들기 그리고 애니메이터를 열어서, 애니메이션 레이어(Animation Layer)를 새로 하나 만들어줬다. 눈 깜빡임만 담당할 “Eye” 애니메이션 레이어. 이렇게 눈 … 이전 글에서 눈 부위는 따로 머리 뼈대(Head Bone) 자식 오브젝트로 달아줬었는데, 원래라면 눈도 Photoshop 작업에서 따로 레이어(Layer)를 나눠서 한 PSB 파일에 같이 있는 게 좋긴 하다. /*  뼈대 자식으로 넣..
  • Table of Contents:

DIBRARY

[압량(Amnyang)] #3 2D 주인공 캐릭터 Idle Walk EyeBlink 애니메이션 클립 만들기 본문

티스토리툴바

[압량(Amnyang)] #3. 2D 주인공 캐릭터 Idle, Walk, EyeBlink 애니메이션 클립 만들기
[압량(Amnyang)] #3. 2D 주인공 캐릭터 Idle, Walk, EyeBlink 애니메이션 클립 만들기

Read More

유니티) Animator Controller Layers :: 뻔뻔한블로그

  • Article author: funfunhanblog.tistory.com
  • Reviews from users: 31017 ⭐ Ratings
  • Top rated: 4.5 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 유니티) Animator Controller Layers :: 뻔뻔한블로그 2) Additive : 기존 애니메이션의 혼합되거나 더해지는 연산을 취한다. ex) 캐릭터가 숨을 가쁘게 몰아쉬면서 점점 피곤해지는 레이어를 생각해보자. …
  • Most searched keywords: Whether you are looking for 유니티) Animator Controller Layers :: 뻔뻔한블로그 2) Additive : 기존 애니메이션의 혼합되거나 더해지는 연산을 취한다. ex) 캐릭터가 숨을 가쁘게 몰아쉬면서 점점 피곤해지는 레이어를 생각해보자. Animator Controller Layers 애니메이터 컨트롤러의 상태 머신들은 레이어로 나눌 수 있다. 예를들어 다른 신체 부위의 움직임을 나타낼때 사용 된다. IK Pass :  Inverse Kinematics 를 체크 하게 되면 그 레이[email protected]
  • Table of Contents:

유니티) Animator Controller Layers

티스토리툴바

유니티) Animator Controller Layers :: 뻔뻔한블로그
유니티) Animator Controller Layers :: 뻔뻔한블로그

Read More

애니메이션 레이어 편집하기 | 언리얼 엔진 문서

  • Article author: docs.unrealengine.com
  • Reviews from users: 12172 ⭐ Ratings
  • Top rated: 3.2 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 애니메이션 레이어 편집하기 | 언리얼 엔진 문서 그러면 Additive Layer Tracks (애디티브 레이어 섹션)에 upperarm_l 현재 위치에 대한 Transform, Rotation, Scale (이동, 회전, 스케일) 키가 추가됩니다. …
  • Most searched keywords: Whether you are looking for 애니메이션 레이어 편집하기 | 언리얼 엔진 문서 그러면 Additive Layer Tracks (애디티브 레이어 섹션)에 upperarm_l 현재 위치에 대한 Transform, Rotation, Scale (이동, 회전, 스케일) 키가 추가됩니다. Idle 애니메이션을 편집하여 애니메이션 레이어 편집을 통해 새로운 Reload 애니메이션을 만듭니다.
  • Table of Contents:

Idle 애니메이션을 편집하여 애니메이션 레이어 편집을 통해 새로운 Reload 애니메이션을 만듭니다

단계

최종 결과

애니메이션 레이어 편집하기 | 언리얼 엔진 문서
애니메이션 레이어 편집하기 | 언리얼 엔진 문서

Read More

unity3d – Unity: “Set as Layer Default State” does not show whenever I right-click on an animation – Stack Overflow

  • Article author: stackoverflow.com
  • Reviews from users: 36206 ⭐ Ratings
  • Top rated: 3.8 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about unity3d – Unity: “Set as Layer Default State” does not show whenever I right-click on an animation – Stack Overflow Why do my 2D objects not colle in Unity despite that the layers are set correctly? 0 · Unity build of my game wont play a default animation … …
  • Most searched keywords: Whether you are looking for unity3d – Unity: “Set as Layer Default State” does not show whenever I right-click on an animation – Stack Overflow Why do my 2D objects not colle in Unity despite that the layers are set correctly? 0 · Unity build of my game wont play a default animation …
  • Table of Contents:

1 Answer
1

Your Answer

Not the answer you’re looking for Browse other questions tagged unity3d or ask your own question

unity3d - Unity:
unity3d – Unity: “Set as Layer Default State” does not show whenever I right-click on an animation – Stack Overflow

Read More

[유니티 기술소개] 2D 게임 개발에 활용하면 좋은 유용한 팁 : 네이버 블로그

  • Article author: m.blog.naver.com
  • Reviews from users: 7538 ⭐ Ratings
  • Top rated: 4.6 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [유니티 기술소개] 2D 게임 개발에 활용하면 좋은 유용한 팁 : 네이버 블로그 Unity를 이용하여 2D 게임을 만들 계획이신가요? … Importer는 2D 애니메이션 시스템과 멀티 레이어 캐릭터 워크플로에서 최적으로 작동하도록 설계 … …
  • Most searched keywords: Whether you are looking for [유니티 기술소개] 2D 게임 개발에 활용하면 좋은 유용한 팁 : 네이버 블로그 Unity를 이용하여 2D 게임을 만들 계획이신가요? … Importer는 2D 애니메이션 시스템과 멀티 레이어 캐릭터 워크플로에서 최적으로 작동하도록 설계 …
  • Table of Contents:

카테고리 이동

유니티 코리아

이 블로그 
유니티 기술 소개
 카테고리 글

카테고리

이 블로그 
유니티 기술 소개
 카테고리 글

[유니티 기술소개] 2D 게임 개발에 활용하면 좋은 유용한 팁 : 네이버 블로그
[유니티 기술소개] 2D 게임 개발에 활용하면 좋은 유용한 팁 : 네이버 블로그

Read More

I want to make 2D animation with Unity. Does Unity have layer as Adobe Animate? – Quora

  • Article author: www.quora.com
  • Reviews from users: 47886 ⭐ Ratings
  • Top rated: 4.4 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about I want to make 2D animation with Unity. Does Unity have layer as Adobe Animate? – Quora The answer to your question is yes, it does have layers. But it is not the same as the layers in Adobe Animate than Unity and UE. Your layers of your sprites … …
  • Most searched keywords: Whether you are looking for I want to make 2D animation with Unity. Does Unity have layer as Adobe Animate? – Quora The answer to your question is yes, it does have layers. But it is not the same as the layers in Adobe Animate than Unity and UE. Your layers of your sprites … The only problem with doing 2D animation in a game engine is that you need to make the sprites before hand. Any animation that you do must be done in another animation programme and then should be transferred to unity either has sprite sheets or P…
  • Table of Contents:
I want to make 2D animation with Unity. Does Unity have layer as Adobe Animate? - Quora
I want to make 2D animation with Unity. Does Unity have layer as Adobe Animate? – Quora

Read More


See more articles in the same category here: Top 423 tips update new.

애니메이션 레이어(Animation Layers)

하위 상태 머신 솔로 및 뮤트 기능

애니메이션 레이어(Animation Layers)

Unity는 서로 다른 신체 부위의 복잡한 상태 머신을 관리하기 위해 Animation Layers 를 사용합니다. 예를 들면, 하체 레이어는 뛰거나 걷는 것을 관리하고, 상체 레이어는 오브젝트를 던지거나 사격하는 것을 관리합니다.

애니메이션 레이어는 Animator Controller 의 좌측 상단에 있는 Layers Widget 에서 관리할 수 있습니다.

해당 창의 오른쪽 톱니바퀴 아이콘을 클릭하면 레이어의 설정을 볼 수 있습니다.

각 레이어 별로 마스크와 블렌딩 타입을 지정할 수 있습니다. 마스크는 애니메이션을 적용할 신체 부위를 지정합니다. 블렌딩 타입은 애니메이션이 적용되는 방식을 지정합니다.

Override 를 선택하면 새 레이어의 애니메이션을 사용하여 아래 레이어의 애니메이션을 대체합니다.

를 선택하면 새 레이어의 애니메이션을 사용하여 아래 레이어의 애니메이션을 대체합니다. Additive를 선택하면 아래 레이어의 애니메이션 위에 새 레이어의 애니메이션을 추가합니다.

애디티브 블렌딩이 성공하려면 추가 레이어의 애니메이션이 아래 레이어와 동일한 프로퍼티를 포함해야 합니다.

위젯 위에 있는 + 버튼을 누르면 새 레이어를 추가합니다.

Mask 프로퍼티는 해당 레이어에 사용되는 마스크를 지정합니다. 예를 들어 던지는 애니메이션을 모델의 상체에서만 재생함과 동시에 캐릭터가 걷거나 뛰거나 서 있을 수도 있게 하려면 다음과 같이 상체 부분이 정의된, 던지는 애니메이션을 재생하는 레이어 위에 마스크를 사용합니다.

레이어 사이드바의 ‘M’ 표시는 레이어에 마스크가 적용된 것을 표시합니다.

애니메이션 레이어 동기화

때때로 동일한 상태 머신을 여러 레이어에 재사용하는 것이 유용한 경우가 있습니다. 예를 들어, “부상” 동작을 두어, “건강” 상태에서의 걷기/뛰기/점프 애니메이션과는 다른 “부상” 상태 고유 애니메이션을 시뮬레이션하기를 원한다면, 레이어 중 하나에서 동기화(Sync) 체크박스를 클릭하고, 동기화를 원하는 레이어를 선택하면 됩니다. 상태 머신 구조는 동일하지만, 상태가 사용하는 실제 애니메이션 클립은 서로 다르게 됩니다.

이는 동기화된 레이어가 자신만의 상태 머신 정의를 가지지 않는다는 의미입니다. 대신, 동기화된 레이어 원본의 인스턴스를 가지게 됩니다. 상태 머신의 레이아웃이나 구조에 변경 사항이 있는 경우(상태나 전환을 추가/제거 등), 이는 동일하게 동기화된 레이어 원본에 적용됩니다. 동기화된 레이어에만 적용되는 유일한 변경 사항은, 각 상태에서 사용되는 애니메이션 선택을 변경한 경우입니다.

타이밍(Timing) 체크박스는 가중치에 따라, 동기화된 레이어의 각각의 애니메이션이 얼마 동안 재생될지 애니메이터가 조절할 수 있도록 합니다. 만약 타이밍 체크박스가 선택되지 않은 경우, 동기화된 레이어의 애니메이션은 자동으로 조절됩니다. 옵션이 선택된 경우, 애니메이션의 재생 시간은 각각의 가중치에 따라 각 애니메이션의 균형에 맞추어 조절됩니다. 두 경우 모두, 애니메이터가 애니메이션의 재생 시간을 조절합니다. 만약 옵션이 선택되지 않은 경우, 원본 레이어의 설정이 단독으로 우선시됩니다. 그 반대의 경우에는, 두 설정 간의 균형을 맞추게 됩니다.

화면에서는 “Fatigued” 레이어가 베이스 레이어와 동기화되어 있습니다. 상태 머신의 구조는 베이스 레이어와 같은 상태로 되어 있고, 각 상태에서 사용되는 각각의 애니메이션이 서로 다르지만 동급의 애니메이션으로 교환되어 있습니다

레이어 사이드바의 ‘S’ 표시는 레이어가 동기화된 것을 표시합니다.

2021–07–07 페이지 수정됨

[Unity3D] Animation – 유니티 애니메이션 레이어 사용하기(5.6.0기준)

유니티 애니메이션 레이어(Animation Layer) 사용하기

지난 애니메이션 섹션에서는 비슷하지만 방향성이 다른 동작, 혹은 비슷하지만 속도가 다른 동작을 섞는데 사용하는 애니메이션 블랜드(Animation Blend)에 대해서 이야기해 보았다. 이번 섹션에서는 애니메이션 위에 일정 부분에 애니메이션을 덮어씌우는 애니메이션 레이어(Animation Layer)에 대해서 배울 것이다.

지난 애니메이션 블랜드 섹션 :: http://wergia.tistory.com/54

애니메이션 레이어는 여러 종류의 게임에서 이용될 수 있지만, 대표적으로는 FPS나 TPS 형식의 게임에서 주로 이용될 수 있다. 이러한 형식의 게임의 경우 캐릭터는 한 순간에 한 가지 행동만을 하는 것이 아니라, 하나 이상, 일반적으로는 두 개 정도의 행동을 하는 일이 많다. 간단하게 예를 들자면 총 같은 화기를 사용하는 FPS 게임이라면 캐릭터는 달리거나 걷는 동시에 총을 쏠 수도 있고, 단검을 휘두를 수도 있으며, 탄창을 교체하기도 한다. 앞서 이야기한 행동들을 하기 위해서 걸음을 멈추는 경우는 거의 없다. 평소에는 상체와 하체 모두 달리는 애니메이션을 취하지만, 달리는 도중에 다른 행동을 취한다면 하체는 여전히 달리는 모션을 출력하지만, 상체는 총을 쏘거나, 단검을 휘두르거나, 탄창을 교체하는 애니메이션을 출력하게 되는 것이다.

물론 이러한 애니메이션들을 일일이 만들어 내는 방법도 있지만 이것은 너무 비효율적인 일이다. 만약에 애니메이션 레이어를 사용하지 않고 모든 애니메이션을 만든다면, 가만히 서서 위의 세 가지 행동을 하는 애니메이션, 걸으면서 다른 행동을 하는 애니메이션, 달리면서 행동을 하는 애니메이션 등을 모두 만들어내야 할 뿐만 아니라, 만약 점프하면서 폭탄을 던지는 모션을 만들고자 한다면 점프하는 모션 중 어느 타이밍에 폭탄을 던지는 모션을 추가해야할지 골머리를 앓게 될 것이다.

하지만 애니메이션 레이어를 사용하게 된다면, 걷는 애니메이션, 달리는 애니메이션, 서있는 애니메이션, 점프 애니메이션, 그리고 각각의 행동을 취하는 애니메이션 정도만 만든다면 위에서 설명한 표현들을 손쉽게 할 수 있게 된다.

이번 예시를 들기 위해서 지난 애니메이션 블랜드 섹션에서 사용했던 달리기 모션과 함께 이번에 간단하게 만든 팔을 휘두르는 애니메이션을 사용할 것이다. 공격이라고 보기엔 귀엽지만 공격 모션이다. 애니메이션 레이어와 달리는 모션, 그리고 가만히 서서 공격하는 모션만 있다면 달리면서 공격하는 모션을 만들 수 있다.

애니메이션 레이어 사용법을 배우기 위해 다음의 튜토리얼을 따라해보도록 하자.

1. 애니메이션 레이어에 사용할 Animator Controller를 생성하고 그 이름을 Animation Layer라고 짓도록 하자.

2. 생성한 애니메이터 컨트롤러를 열면 다음과 같이 빈 애니메이터 컨트롤러 창이 보일 것인데 그 중에 Layers라는 항목이 있을 것이다. 그 항목을 선택하면 Base Layer가 있는데 이 레이어는 애니메이션에서 기본적으로 제공하는 레이어이다. 이 레이어의 이름을 바꿀 수도 있고 나중에 다른 레이어를 추가한다면 기본 레이어를 삭제할 수도 있다.

3. 기본적인 달리기 애니메이션을 애니메이터 컨트롤러에 추가한다. 그리고 이 애니메이터 컨트롤러를 씬에 추가한 캐릭터의 애니메이터 컴포넌트에 넣고 플레이 버튼을 누르면 이 박스맨은 계속해서 달리기만 할 것이다.

4. 이 다음 작업은 아바타 마스크(Avatar Mask)를 생성하는 것이다. 이 아바타 마스크는 애니메이션 레이어를 사용할 때, 위에 덮어쓴 애니메이션이 적용될 본을 지정하는 것으로, 해당 레이어에서 원하는 본만 애니메이션이 작동하고 그 외의 본은 그 아래 레이어의 애니메이션을 작동하도록 만드는 것이다.

5. 생성한 아바타 마스크를 열어보면 Humanoid 방식과 Transform 방식이 있는 것을 알 수 있다. 휴머노이드 방식의 경우는 사진을 보면 알다시피 일반적인 사람형태의 본에 대해서 손쉽게 마스크를 지정할 수 있게 하는 것이고, 트랜스폼 방식은 직접 만든 특별한 형태의 본을 가져와서 원하는 애니메이션이 적용될 본을 직접 선택하는 방식이다.

6. 이번엔 None이라고 비어있는 Avatar 란에 직접 만든 박스맨의 본을 가져와야 한다. 이 본은 BoxMan@Attack을 열어보면 목각인형 상체 모양의 BoxMan@AttackAvatar를 볼 수 있는데 이것을 끌어와서 넣어주면 된다. 그리고 Import skeleton 버튼을 클릭하면 박스맨에 적용된 본들이 아바타 마스크의 인스펙터 창에 표시된다.

7. 이번 섹션의 작업에서 우리가 동작하기 바라는 것은 왼팔 하나뿐이다. 박스맨의 본들 중에 왼팔에 해당하는 본은 Bone005(mirrored)이다. 이 본만이 움직이길 원하기 때문에 Bone005(mirrored)를 제외한 모든 본의 체크를 꺼준다.

8. 이제 아까 만든 AnimationLayer 애니메이터 컨트롤러로 돌아와서 Layers 항목의 아래 쪽에 +버튼을 클릭하여 새 레이어를 만들고 그 이름을 UpperBody로 변경한다.

9. 잠시 Parameters 항목으로 넘어가서 애니메이터 컨트롤러의 매개변수에 “Attack”라는 이름의 트리거를 생성한다.

10. UpperBody 레이어에 NoneAttack 상태를 만들고 애니메이션은 비워둔다. 아무것도 하지 않는 동작이기 때문에 비워두는 것이다. 만약 아무것도 하지 않는 동작이기 때문에 아래쪽의 베이스 레이어와 맞춰서 달리는 동작으로 해줘야 한다고 생각할 수 있는데 그런 식으로 달리는 애니메이션을 넣었다가는 하체의 달리는 모션과 상체의 팔 휘두르는 모션의 싱크가 일치하지 않게되는 현상을 겪을 수도 있다.

11. Attack 상태를 추가하고 Attack 애니메이션을 넣어준 다음에 NoneAttack 상태에서 Attack 상태로 넘어가는 조건에 아까 만든 Attack 트리거를 넣어준다. 이렇게 함으로서 이제 애니메이션 컨트롤러에 Attack 트리거 신호가 들어오면 캐릭터는 어택 모션을 취하게 될 것이다(설정에 실수를 했는데 Inspector 창에서 Has Exit Time의 체크는 해제해야 한다).

12. 다음 작업은 레이어 설정을 해주는 것이다. 레이어 이름 옆에 톱니바퀴 버튼을 클릭하면 레이어 옵션을 볼 수 있는데 여기서 두 가지를 설정해주면 된다. 첫 번째는 Weight 값인데 이 값은 현재 레이어와 아래 레이어의 애니메이션 비중을 의미한다. 1에 가까울 수록 캐릭터는 현재 레이어에 가까운 모션을 취한다. 즉, 1값이면 캐릭터는 현재 레이어의 애니메이션만 취한다. 그리고 Mask 옵션인데 이것은 애니메이션을 출력하고자 하는 부위만 출력하도록 해주는 것이다. 아까 전에 만든 왼팔만 적용되는 마스크를 넣어준다.

애니메이션 레이어에 필요한 모든 설정을 끝냈다. 이제 플레이 버튼을 클릭하고 캐릭터의 달리는 모션이 출력되는 도중에 Attack 트리거를 켜보면 다음 이미지와 같이 박스맨 캐릭터가 달리기 모션을 취하면서도 왼팔만은 정상적으로 휘두르는 것을 볼 수 있다.

이것처럼 애니메이션 레이어를 사용하면 애니메이션 작업양을 획기적으로 줄이면서도 다양한 동작을 취하도록 할 수 있다. 하지만 이 예시는 매우 간단하게 제작된 본과 모델링을 사용하는 것으로, 일반적으로 게임 제작에 사용되는 복잡한 형태의 본과 모델을 사용하는 경우에는 본의 구조나 리깅된 면의 정상적인 움직임을 위한 면밀한 연구가 필요할 것이다.

마지막으로 다음의 링크에서 위의 예시로 제작된 간단한 애니메이션 레이어 예제를 받을 수 있다.

AnimaitonLayerExample.zip 다운로드

반응형

Unity Chapter 9-3. 애니메이션 : 애니메이터 레이어, 마스크, IK

인프런에 있는 이제민님의 레트로의 유니티 C# 게임 프로그래밍 에센스 강의를 듣고 정리한 필기입니다. 😀

🌜 [레트로의 유니티 C# 게임 프로그래밍 에센스] 강의 들으러 가기!

Chapter 9. 유니티 애니메이션

Asstes Store에서 “Unity-Chan!”을 Import 해주었다.

🔔 애니메이터 레이어

Layers : 여러개의 상태 머신(FSM)을 동시에 동작하게 해준다. 1개의 상태 머신 내에서는 1개의 상태만 동작할 수 있다. 그러나 Layers 로 여러개의 상태 머신을 동시에 돌릴 수 있기 때문에 여러개의 상태를 동시에 동작시킬 수 있다.

두 레이어에서 동작에 있어 겹치는 부분이 있다면 최종적으로 가장 아래에 있는 레이어가 덮어 씌운다. 위의 사진를 예로 들어 만약 Face Layer에 공격하는 신체 동작 애니메이션이 실행된다면 Base Layer의 애니메이션이 실행이 안된다. 묻혀서! weight 값이 높을수록, 즉 가중치가 높을 수록 덮어 씌우는 정도가 높아진다. 1에 가까울 수록 아예 덮어 씌워버리는 정도가 높아짐.

최종적으로 가장 아래에 있는 레이어가 따라서 레이어별로 각자 역할을 명확하게 나누어야 한다. ⭐ ex) Move Layer (움직임에 대한 애니메이션만) Face Layer (표정에 대한 애니메이션만) “손, 팔, 몸통”과 “얼굴 표정”은 서로 동작이 겹칠 일이 없다.

Face Layer의 weight을 1로 해준 후 화난 표정 애니메이션을 추가하니 두 레이어가 덮어 씌우는 것 없이 두 레이어가 동시에 잘 동작하는 것을 볼 수 있다. “손, 팔, 몸통”과 “얼굴 표정”은 서로 동작이 겹칠 일이 없으므로.

마스크

Mask 를 통해서 레이어가 어떤 영역에 대해서만 애니메이션을 적용할지 결정한다.

몸통의 상체 애니메이션 을 담당할 Upper Layer도 만들어주었고 순서는 Base – Upper – Face로 하였다. Upper Layer의 weight을 1로 해준다.

을 담당할 Upper Layer도 만들어주었고 순서는 Base – Upper – Face로 하였다.

마스크 만들기

📂Assets 빈공간 우클 – Create – Avatar Mask 이름은 Upper Mask 하체 부분은 체크 해제하고 상반신만 체크해준다. Upper Layer의 톱니바퀴 버튼을 누르고 Mask 슬롯에 이를 넣어준다.

Face Layer에는 미리 만들어져있는 Unity Chan 에셋의 face only mask 를 마스크로 넣어준다.

를 마스크로 넣어준다. Blending 값으로 Override는 아예 덮어씌우는거고 Additive는 적절히 섞이게끔. Override : 아래에 있는 Layer들을 다 덮어 씌워버려서 아래 Layer의 애니메이션은 실행되지 않음 Additive : 아래에 있는 Layer들의 애니메이션과 적절히 섞여서 함께 실행됨!

LOOSE 애니메이션 클립을 Upper Layer에 드래그 앤 드롭하여 State 추가해준다.

레이어 덮어 씌우는 구조

현재 세 Layer 모두 weight값이 1인 상태 👉 자신보다 위에 있는 Layer들을 완전히 덮어 씌운다.

게임을 실행시키고 방향키를 누르면 Upper Layer가 Base Layer를 덮어씌워 상반신만 덮어씌워져 상반신은 LOOSE 애니메이션을 취하지만 하반신은 방향키대로 걷고 있는 애니메이션을 취한다. Face Layer는 두 Layer를 덮어 씌우므로 화난 얼굴 표정 애니메이션은 계속 유지가 된다.

🔔 IK (Inverese Kinematic)

IK : 어떤 위치를 중심으로 관절의 위치를 역계산 하는 것. 물체의 위치가 어디든 상관없이 거기에 맞춰서 시선이나 팔의 위치가 결정될 때 많이 쓴다.

Sphere인 Ball 이름의 오브젝트를 만들어 게임이 시작되면 unitychan 이 이 Ball 을 잡는 애니메이션을 취하게 해보자.

👉 Ball 오브젝트의 위치를 중심으로 애니메이션의 관절의 위치를 결정한다.

📜PlayerController.cs

using System.Collections ; using System.Collections.Generic ; using UnityEngine ; public class PlayerController : MonoBehaviour { public Animator anim ; public Transform target ; void Update () { if ( Input . GetButtonDown ( “Jump” )) { anim . SetTrigger ( “Jump” ); } float verticalInput = Input . GetAxis ( “Vertical” ); float horizontalInput = Input . GetAxis ( “Horizontal” ); anim . SetFloat ( “Speed” , verticalInput ); anim . SetFloat ( “Horizontal” , horizontalInput ); } void OnAnimatorIK () { anim . SetIKPositionWeight ( AvatarIKGoal . LeftHand , 0.5f ); anim . SetIKRotationWeight ( AvatarIKGoal . LeftHand , 0.5f ); anim . SetIKPosition ( AvatarIKGoal . LeftHand , target . position ); anim . SetIKRotation ( AvatarIKGoal . LeftHand , target . rotation ); anim . SetLookAtWeight ( 1.0f ); anim . SetLookAtPosition ( target . position ); } }

public Transform target; 어떤 오브젝트를 중심으로 관절을 꺾을지. Ball 오브젝트를 잡게 할 것이므로 Ball 오브젝트의 중심 위치가 필요하므로 선언했다. 슬롯에 Ball 오브젝트를 드래그 앤 드롭 해주어야 한다.

void OnAnimatorIK() 이벤트 함수. IK 정보가 갱신될때마다 유니티는 OnAnimatorIK 메세지를 뿌린다. 애니메이터가 붙어있는 오브젝트만 이 이벤트 함수를 동작시킬 수 있다.

anim. SetIKPositionWeight (AvatarIKGoal.LeftHand, 1.0f); IK의 우선순위를 결정해준다. 두번째 인수가 0.0에 가까울 수록 IK가 덜 적용되며 1.0에 가까울 수록 IK가 더 강하게 적용된다. 위치(Position) 면에서 IK의 대상이 되는 아바타는 “왼쪽 손”이다.

(AvatarIKGoal.LeftHand, 1.0f); anim. SetIKRotationWeight (AvatarIKGoal.LeftHand, 1.0f); IK의 우선순위를 결정해준다. 두번째 인수가 0.0에 가까울 수록 IK가 덜 적용되며 1.0에 가까울 수록 IK가 더 강하게 적용된다. 회전(Rotation) 면에서 IK의 대상이 되는 아바타는 “왼쪽 손”이다.

(AvatarIKGoal.LeftHand, 1.0f); anim. SetIKPosition (AvatarIKGoal.LeftHand, target.position); 관절을 꺾어 해당 타겟의 위치로 이동시킨다.

(AvatarIKGoal.LeftHand, target.position); anim. SetIKRotation (AvatarIKGoal.LeftHand, target.rotation); 관절을 꺾어 해당 타겟의 위치로 회전시킨다.

(AvatarIKGoal.LeftHand, target.rotation); anim. SetLookAtWeight (1.0f); 시선 에 있어 IK의 우선순위를 결정해준다. 0.0에 가까울 수록 IK가 덜 적용되며 1.0에 가까울 수록 IK가 더 강하게 적용된다.

(1.0f); anim. SetLookAtPosition (target.position); 시선 을 해당 타겟의 위치로 이동시킨다.

(target.position);

IK Pass

신체 애니메이션을 담당하는 Base Layer와 Upper Layer의 IK PASS 를 체크해주어야 IK를 받을 수 있다. (체크해주지 않으면 무시함)

를 체크해주어야 IK를 받을 수 있다.

IK가 적용된 왼손 은 Ball 오브젝트를 향해 뻗어 있는 것을 볼 수 있다. 반면에 IK가 적용되지 않은 오른손은 여전히 LOOSE 애니메이션 동작을 취하고 있다.

은 오브젝트를 향해 뻗어 있는 것을 볼 수 있다.

🌜 개인 공부 기록용 블로그입니다. 오류나 틀린 부분이 있을 경우 언제든지 댓글 혹은 메일로 지적해주시면 감사하겠습니다! 😄

맨 위로 이동하기

So you have finished reading the 유니티 2d 애니메이션 레이어 topic article, if you find this article useful, please share it. Thank you very much. See more: 유니티 애니메이션 여러개, 유니티 애니메이션 적용, 유니티 3D 본 애니메이션, 유니티 애니메이션 재생 안됨, 유니티 애니메이터 레이어 스크립트, 유니티 애니메이션 레이어 동기화, 유니티 애니메이션 블렌딩, 유니티 애니메이션 스크립트 제어

Leave a Comment