본문 바로가기

언리얼 BluePrint 정리

05/26 학습 정리( Layered Blend Per Bone, Save cached pose, Animation Slot, Root Motion )

캐릭터가 움직이면서 무기장착을 하면 걷는 모션이 아닌 미끄러지면서 무기장착하는 모습을 볼 수 있는데 이는 걷는 도중

무기장착 애니메이션이 재생되기 때문이다. 

 

 Layered Blend Per Bone

 

스켈레톤의 특정 본 부분집합에만 영향을 끼치는 마스크 블렌딩 노드

Base Pose에 Blend Pose를 덮어씌우는 역할

- Blend Weights : 얼마나 덮어씌울지에 대한 알파값. 0~1사이 Float값 삽입

 

Layered Blend Per Bone노드의 디테일에서 엘리먼트를 추가해 스켈레톤의 어느 부분부터 애니메이션을 적용 시킬건지 정해줄 수 있다.

사진에는 Spine_01부터 애니메이션을 적용 시키는데 Blend Depth의 값에 따라 하위 부위에 적용되는 정도가 달라진다.

Spine_01 : 1/4(Depth값), 25%

ㄴSpine_02 : 2/4, 50%

  ㄴSpine_03 : 3/4, 75%

    ㄴClavicle_l : 4/4, 100%

      ㄴUpperarm_l : 4/4(이미 전단계에서 1, 즉 100퍼센트 적용을 시켰기 때문)

 

Blend 수치의 계산법 :  노드의 Blend Weights X 디테일의 Blend Depth


Save Cached Pose

 

Layered Blend Per Bone의 입력핀은 두개인데 Locomotion의 출력핀은 하나로 밖에 이어지지 않는다.

Save Cached Pose 노드는 애니메이션을 캐싱(꿍쳐놓는거)하여 가져와서 사용하게하는 노드로

원하는 애니메이션을 끌어와 캐싱시키고(CachedLocomotion으로 이름변경시킴) 캐싱시킨이름으로 노드를 생성하여 가져다 쓸 수있다.


Animation Slot

 

캐릭터에 더 복잡한 애니메이션 행동을 만들 때, 일회성 애니메이션을 삽입 가능한 애니메이션 블루프린트에 프록시 영역을 만들어야 할 경우 슬롯을 사용 (우리는 걸어다니면서 무기 탈부착하게)

도구 창 - 애님 슬롯 매니저 활성화 하여 그룹,슬롯을 생성, 제거 가능하다.

애니메이션 트랙에 가보면 몽타주의 슬롯을 지정할 수 있다. 몽타주는 크게 그룹으로 나뉘고 그 아래 슬롯으로 나뉜다.

ABP 전체 AnimGraph


Root Motion

 

구르기 애니메이션를 예로들면 구르는 애니메이션을 재생시킬뿐인데 캐릭터 본체가 움직이는걸 확인할 수 있다.

이것은 구르기 애니메이션에 Root Motion을 적용시켰기 때문이다.

애니메이션의 이동을 캐릭터의 Root Component, 즉 Capsule Component의 이동에 적용시키는 것이다.

루트모션을 끄고 벽에 붙어 구르기를 하면 캐릭터가 벽 밖으로 굴렀다가 다시 돌아오는 모습을 확인할 수 있다.

(캐릭터는 Capsule Component에 붙어있는 Mesh이기 때문에 Root가 있는자리로 오는것)

루트모션은 X,Y축에 대해 물리적용을 받지않는다, Z축은 받는다. 그렇기 때문에 중력설정을 건드려줘야한다.