info8995 님의 블로그

5일차(캐릭터애니메이션 추가) 본문

TIL(Today I Learned)/Unreal Engine

5일차(캐릭터애니메이션 추가)

info8995 2024. 12. 20. 21:01

1. 캐릭터 애니메이션 추가

  • 애니메이션 블루프린트 생성
  • Blueprints > ABP_character 경로에서 애니메이션 블루프린트를 생성합니다.
  • ABP_character를 열어 우측 하단의 에셋 브라우저에서 A_bpt_Idle 애니메이션을 찾아 선택합니다.
  • 이 애니메이션은 캐릭터가 아무 동작도 하지 않을 때 사용됩니다.
  1. 블루프린트 노드를 연결하여 애니메이션을 Output Pose에 연결합니다.
  1. BP_Character 캐릭터 블루프린트로 이동해, 위에서 만든 ABP_character를 등록합니다.

 

  • 블렌드 스페이스 생성
    1. 블렌드 스페이스를 생성하고 이름을 BS_NBC_IdleRun으로 설정합니다.
    2. 좌측 디테일 패널에서 Axis Settings를 수정:
      • 가로 축: 기본 설정 유지.
      • 세로 축: Speed로 설정.
    3. 블렌드 스페이스에 애니메이션 배치:
      • 아래쪽(속도 0)에는 A_Bot_Idle 애니메이션.
      • 위쪽(최대 속도)에는 A_Bot_Run 애니메이션.
      • Shift 키를 누른 채 드래그하여 배치.
  • 속도 변수 연결
    1. ABP_Character에 Speed 변수를 생성.
      • 캐릭터의 현재 속도를 저장하기 위한 변수.
    2. BS_NBC_IdleRun의 Speed를 Output Pose에 연결.
    3. 이벤트 그래프에서 다음 순서로 설정:
      • Try Get Pawn Owner > Get Velocity로 캐릭터의 벡터 정보를 가져옵니다.
      • X, Y 축 값으로 벡터를 새로 생성하고, 길이를 계산해 Speed에 저장합니다.
      • 이 길이는 캐릭터의 속도를 의미합니다.

2. 이동하는 액터 제작

  • 발판 블루프린트 생성
    1. bp_floor 블루프린트 클래스를 생성.
      • Static Mesh로 sm_wall01_l0을 사용하고 눕혀서 발판으로 설정.
    2. 무브먼트 컴포넌트에서 보간 액터를 추가합니다.
    3. 컨트롤 포인트의 X, Y, Z를 세팅하고, 동작 타입을 Ping Pong으로 설정해 무한 루프 동작 구현.

3. 미끄러지는 빙판 효과

  • 빙판 블루프린트 생성
    1. 블루프린트 이름: bp_ice.
    2. 사용한 Static Mesh: sm_floorbase.
      • Box Collision 컴포넌트를 추가하고, 적당한 크기로 설정.
  • 오버랩 이벤트 처리
    1. Box Collision을 선택하고 OnComponentBeginOverlap 이벤트를 생성합니다.
    2. Get Player Pawn > Cast to bp_nbc_character 노드를 사용해 액터를 지정합니다.
    3. 오버랩 이벤트에서 지면 마찰과 감속 값을 변경:
      • SetGroundFriction: 0.
      • SetBrakingDecelerationWalking: 100.
    4. 미끄러짐이 끝난 후, OnComponentEndOverlap 이벤트로 원래 계수로 복원.

마무리

이처럼 애니메이션 블루프린트, 블렌드 스페이스, 회전 및 이동하는 액터, 그리고 미끄러지는 효과까지 설정하면 캐릭터와 환경의 인터랙션을 보다 생동감 있게 구현할 수 있습니다.

'TIL(Today I Learned) > Unreal Engine' 카테고리의 다른 글

17일차(Delta Time)  (0) 2025.01.09
8일차(오브젝트와 레퍼런스)  (0) 2024.12.26
4일차(캐릭터움직임구현)  (0) 2024.12.19
3일차(블루프린트 텍스트 슈팅 게임)  (0) 2024.12.18
2일차(액터배치)  (0) 2024.12.17