반응형

캐릭터 블루프린트의 Tick 그래프와 같은 기능을 하는 곳으로서 매 틱마다 업데이트되는 기능을 설정합니다.

 

Do Every Frame - 아래를 펼쳐서 확인

 

더보기

Update Chracter Info

- 캐릭터의 인터페이스 이벤트의 Essectial Values값과 Get Current States 에서 설정된 값을 애니메이션 BP에서 사용하기 위해 변수값들로 설정합니다. 여기서 설정된 변수들은 모든 움직임들마다 참고되고 있다.

 

Update Aiming Values

- 다양한 시점에서의 캐릭터의 Look을 처리하는 부분.  Update Character Info에서의 Aiming Rotation과  Aim Yaw Rate 값을 참고하여 캐릭터의 Look을 처리함. 이때 ALS_N_Look_F_Sweep 모션을 이용하여 블렌딩하여 사용함.

 

  • Update Layer Values
    • 오버레이 모션에서 애디티브 모션을 사용하게 되는데, 그 때 모션에서 사용되고 있는 커브 네임을 얻어와서 해당 커브의 Float값을 변수로 지정하여 애디티브 모션의 강도를 설정하게 됩니다.

 

  • Update Foot IK - 풋 IK를 설정하는 구간입니다. 다만 예전 방식의 풋 IK라 과하게 복잡한 부분이 있는데, 이 부분은 제가 기존에 작성했던 새 IK Rig를 활용한 Foot IK를 사용할 것을 추천드립니다.



 

 

Do While On Ground 

  • 기존 가이드 5번에서 캐릭터 BP-TickGraph 부분의 Do while On Ground 와 함께 움직이게 되는 부분이다.
  • https://tartist.tistory.com/166

Update Movement Values - 아래 펼쳐 확인

더보기

Update Movement Values

  • Looking Direction의 경우 방향별 무브번트 별로 블렌드 스페이스 애니메이션으로 제작되어 Stride 속도 Value값과 Walk/Run 속도 Value 값에 모션이 결정되도록 제작되어 있다.
  • 로코모션에서 가장 중요한 것이 풋스텝의 결정이 얼마나 자연스러운가에 있는 가 만큼 현 시스템에서 가장 중요한 처리부분이라 할 수 있다.

 

위와 같은 성격의 모션이 6가지로 준비되어 있고, 전진, 전좌, 전우, 후진, 후좌, 후우 로 여섯가지 모션으로 셋팅되어 있습니다.

  • Interp and set the Velocity Blend. 
    • 속도 혼합을 계산하여 각 방향의 액터 속도를 나타내어 각 방향의 대각선이 0.5가 되도록 정규화 시켜준다. 표준 블렌드 스페이스보다 더 나은 방향 블렌딩을 생성하기 위해 BlendMulti 노드에 사용하기 위한 블렌드 값입니다.
  • Set the Diagnal Scale Amount
    • 발 IK가 작동할 때 IK 루트 골격의 크기를 조정하여 발 IK 골격이 대각선 블렌드에서 더 많은 거리를 사용하도록 합니다. IK 뼈의 선형 혼합으로 인해 발이 대각선 방향으로 충분히 움직이지 않게 되는데 이 부분을 맵핑하는데 사용하게 됩니다.
  • Set the Relative Acceleration Amount and Interp the lean Amount.
    • 상대 가속도를 계산하여 액터 회전에 따른 현재 가속 / 감속 치를 -1과 1로 정규화하여 Lean 포즈에 사용합니다.
  • Set Walk Run Blend / Set the Stride Blend / Set Standing and Crouch
    • 각 이동 및 스탠딩 상태 변에 따른 블렌드 값 설정
  • Set the walk run Blend 
    • 블렌드 스페이스의 걷기와 뛰기값을 설정합니다.
  • Set the Stride Blend
    • 보폭 혼합의 크기를 계산합니다. 이 값은 캐릭터가 다양한 이동속도로 이동할 때 블렌드 스페이스 내에서 보폭의 크기를 조정하는데 사용됩니다. 거기에 더해 곡선 커브까지 이용하여 곡선은 최대 제어를 위해 보폭을 속도에 매핑하는데 사용됩니다.
  • Set the Standing and Crouching Play Rates
    • 캐릭터의 속도를 각 보행의 애니메이션 속도로 나누어 재생 속도를 계산합니다.

위에서 설정된 값들에 의해 아래처럼 블렌드 되어 각 모션에서 가장 적절한 모션이 최종 아웃풋에 출력되게 됩니다.

 

 

 

Update Rotation Values - 아래 펼쳐 확인

 

더보기

Update Rotation Values

  • Set the Movement Direction
    • 이동 방향을 계산하여 셋합니다. 이 값은 회전 보기/ 조준 회전 모드 중 카메라를 기준으로 캐릭터가 움직이는 방향을 나타내며, 애니메이션 레이어 주기 혼합에서 적절한 방향 상태로 혼합하는데 사용됩니다.
  • Set the Yaw Offsets
    • Yaw 오프셋을 설정합니다. 이 값은 애니그래프의 "YawOffset" 곡선에 영향을 미치며 보다 자연스러운 움직임을 위해 캐릭터 회전을 오프셋하는데 사용됩니다. 곡선을 사용하면 각 이동 방향에 오프셋이 작동하는 방식을 미세제어할 수 있게 됩니다.
    • FYaw는 Velocity Direction에서 제어하는데 주로 사용되고, 그외에의 방향은 Looking Direction에 사용하게 됩니다.

 

 

 

Do While Not Moving

  • Looking Direction이나 Aiming 모드일때는 화면을 돌리면 캐릭터가 자동으로 정면으로 바라보도록 회전 모션을 취하게 되는데, 그 때에 처리되는 부분입니다.

 

아래 부분을 펼쳐보면 자세한 설명이 이어진다.

더보기

 

Rotate in Place Check

  • Aiming 상황에서의 로테이션을 체크하여 캐릭터를 회전 시켜 준다. Update Character Info에서 얻어온 Aim Yaw Rate값을 참고하여 Pawn이 캐릭터와 어떻게 서있는지 체크하여 바라보고 있는 방향에 대한 정의를 내리고, 실시간으로 반응하여 적절하게 움직여 준다.
  • Turn in Place Check
    • Looking Direction 상황에서 카메라를 회전했을 때 다시 정면을 바라보도록 회전 시켜주는 역할을 한다.

 

 

 

반응형

+ Recent posts