Unreal

[Unreal] 5월 22일 수업정리

k-codestudy 2025. 5. 22. 14:44

오늘은 에임 옵셋에 대한 수업을 들었다.

 

에임 옵셋 애니메이션 설정

MF_Idle을 가져와 MF_aim_cc 라고 이름 변경
애니메이션에 들어가 프레임을 1에서 131까지 제거를 눌러 1프레임으로 만듬
총 9개의 복사본을 만든 후 각각의 이름 설정 ( 정면 : C / 좌 : L / 우 : R / 위 : U / 아래 : D )
전부 선택 후 프로퍼티 매트릭스를 이용하여 전체 총괄 편집
AddtivieSetting - Addtive Anim Type : Mesh Space / Base Pose Type : Selected Animation Frame / Base Pose Animation : MF_Idle 설정
각각 상황에 맞게 spine0_1의 각도 조절 후 키를 눌러 시퀀스에 추가 후 저장

  • 본 데이터 절대 바꾸면 안 된다. 어차피 바꾸고 저장하고 나가도 바뀌지 않는다
  • 하지만 우리는 키 값을 이용하여 매핑이라는 과정을 거쳐 계산을 통해 꺾어주는 방식을 사용하여 수정 ( 실시간 커브 적용)
  • 원래는 애니메이터한태 부탁을 해야 하지만 우리는 지금 그렇수 없기에 이 방식을 채택

스캘레톤 우클릭 - 생성 - 에임 오프셋
가로 축 : Yaw (- 60 ~ 60 ) / 세로 축 : Pitch ( -70 ~ 70 )설정 후 각 상황에 맞게 애니메이션 세팅 ( 마름모 처럼 보이는 부분 )
ABP_Manny - 변수 m-aimYaw / m-aimPitch 선언 - 백업된 Character에서 각각 Control Rotation, Actor Rotation을 얻어와 Delta (Rotator)로 계산 후 결과값을 Rinterp To 의 Target에 연결 - get m-aimYaw / m-aimPitch 얻어와 Make Roator에 연결 후 결과 값을 Current에 연결 - Delta Time은 get Delta Seconds - Interp Speed : 15 설정 (보간 작업 부분 완료 ) - 나온 결과를 구조체 핀 분할을 한 후 Y, Z값을 각각 Clamp Angle로 자르는 과정을 해주고 나온 값을 각각 알맞은 값에 연결
애니메이션 그래프에 들어가 에임 오프셋이 먼저 실행이 되고 몽타주가 그 후에 실행되게 설정 ( 몽타주 -> 에임 오프셋이 되면 결과값이 달라짐 ) - 만들어 둔 에임 오프셋을 드래그 앤 드랍으로 올리고 각각의 값에 알맞게 연결
실행 ( 잘 꺽임 )

 

Third, FPS 모드 변경

기본적으로 모험 모드는 에임 오프셋을 이용하지 않는다. 그렇기에 모드를 바꾸는 느낌으로 변경할 수 있게 설정할 예정

Enum (블루 프린트 열거형)인 e-aimMode 생성 - 이너머레이터 추가를 2번 누른 후 각각 Third, FPS 이름 설정
ThridPerson 블루 프린트 - 함수 (e-SetMoveMode ) 생성 - 입력 추가 : e-aimMode 가 자료형인 Type - Switch on e-aimMode - Third 일때 : Orient Rotation ~ True, use Controllor ~ : False / FPS 일때 : 전부 False

아까 애니메이션 그래프에서 만든걸 그대로 가져와 수정할 것만 수정해서 사용 ( 수정은 알아서 )

나머지는 내일 할 예정

 

언리얼 공식 문서 ( 에임 오프셋 )