Unreal

[Unreal] 4월 22일 수업정리

k-codestudy 2025. 4. 22. 15:22

오늘은 탑뷰 설정과 애니메이션에 대한 수업을 들었다.

 

탑뷰 

cameraBoom -> 회전 Y값 -90 -> 카메라 세팅 ( Use Pawn Control Rotaion, inherit Pitch, Yaw, Roll OFF )
Camera -> 카메라 세팅 -> Projection Mode -> OrthoGraphic -> Auto Calculation Orthc Planes On
Carmera Input 연결 끊기
실행

애니메이션

본 구조 (Skeleton) : 기준은 본(Bone)

  • 언리얼 4: 스파인(Spine) 4개 / 언리얼 5: 스파인 5개 -> 더 정교한 애니메이션 가능
  • 루트 본(Root Bone) 존재 -> 모든 움직임의 기준점 -> 골반에서부터 상하좌우로 본이 연결되어 있음

움직임의 실제 주체

  • 우리가 움직인다고 느끼는 캐릭터는 사실 캡슐(Capsule)이 움직이고 있는 것
  • 메시는 그 위에 따라오는 것일 뿐 , 애니메이션은 시각적인 착각

애니메이션 유형

루트 모션 애니메이션 (Root Motion)

  • 애니메이션 자체가 위치와 회전을 제어
  • 실제로 캐릭터가 움직이는 위치를 애니메이션이 담당
  • 예: 점프할 때 앞으로 나아가는 모션 자체가 위치 이동을 포함함

인플레이스 애니메이션 (In-place)

  • 제자리에서만 동작
  • 이동은 애니메이션과는 별개로 코드나 물리 시스템이 제어
  • 제자리 달리기 애니메이션 + 캡슐 이동으로 실제 이동 구현
1. 본을 수정할 수 있는 공간
2. 머태리얼 작업 공간
3. 애니메이션 실행 시킬수 있는 공간
  • 우리 애니메이션의 기준은 본을 기준으로 작업을 진행한다
  • 애니메이션을 공유 하기 떄문에 우측 하단 에셋 브라우저에 똑같이 들어가 있다.
  • 프리뷰 셋팅 : 화면상에 보이는 모델을 세팅 -> 에셋 적용을 누르게 되면 특정 애니메이션을 특정 모델로 볼수 있다. 
4. 애니메이션 관련된걸 프로그래밍 하는 공간
 
[ 이벤트 그래프 / 애니메이션 그래프 ]
  • 이벤트 / 이벤트 그래프 : 애니메이션을 돌리기 위한 근거를 만드는 공간 ( 함수 ), 효율적이지는 않지만 다른곳에 있는 데이터를 변수로 백업을 해야한다. 즉, 사용하고 싶은 값을 가져와 백업을 한 후 그 백업된 함수를 가지고 애니메이션의 근거를 만듬 
  • 애니메이션 그래프 : 어떤 애니메이션을 플래이할껀지에 대한 조건을 만드는 공간, 무조건 자기 자신이 가지고있는 밸류 즉, 직접 백업해 둔 변수값만 가지고 조건을 만들어야 함 
  • 문제점 : 백업하는 과정이 있다보니 한프레임 무조건 늦다.
[ 에셋 브라우저 ]
  • 본을 다룰수 있는 애니메이션이 존재 , 기본 디폴트가 루프가 아니기에 알아서 무한 루프로 설정해서 사용하면 됨 
  • 창 옆에 점점점 누르게 되면 다른 애니메이션으로 들어가서 작업할 수 있음
5. 충돌 관련

 

 

애니메이션 실습

  • 에니매이션 블루 프린트 하나 만들기 ( 스켈레톤을 기준으로 하기 때문에 우리가 작업할려는 스켈래톤을 우클릭 후 생성 -> 애님 블루프린트로 만들어 줘야 한다. )

애니메이션 이밴트 그래프 : init에 bp-thirdperson을 백업

  • init / begin 함수를 꺼내서 print를 해보게 되면 init -> begin 이 순서대로 불리게 되는데, init 같은 경우 엑터가 생성되기 전에 init이 먼저 불리는 경우가 있어 생성 시기가 맞지 않게 되는 버그가 존재한다고 한다. ( 타이밍 상의 버그 )
  • 하지만 예제는 init이기에 init으로 진행
 
Event Blueprint Updata Animation ( 매 프래임 마다 업데이트 )
  • update에 sequence 연결
  • 속력 = 속도 * 방향
  • 언리얼의 경우 속력이 주어지기 떄문에 속도, 방향을 나눠서 구해야하는 번거로움이 존재한다 ( 특히 방향이 기준에 따라 다르게 설정됨 )
  • 또한 피타고라스 정리 ( 루트 연산 ) 을 하기에 과부화가 존재한다.
  • m-player의 get Velocity ( 속력 ) -> vector Length ( 방향 ) -> 함수로 백업 ( Speed )
Blend Poses By bool or int : 애니메이션에서 사용하는 if문
  •  애니메이션 블루 프린트 : speed에 조건문 > (0 .5) 설정 -> Blend Poses by Bool로 Run, Idle 연결 
  • 애님 프리뷰 에디터에서 디폴트 편집에 가면 어캐 실행이 되는지 테스트하는게 있는데 될때가 있고 안될 때가 있음
  • 블랜드 스페이스 1d, 블랜드 스페이스가 있는데 1차원 배열 2차원 배열이라 생각하면 편할 것이다.
블랜드 스페이스 1d

  • name : 이름
  • Maximum Axis Value : 최대 값
  • Gird Divisions : 많으면 많을수록 디테일하게 애니메이션 설정 가능

  • Alt : snap to grid를 사용할 수 있음 
  • Ctrl : 태스트하는 값을 움직일 수 있음 ( 좌측 초록색 크로스 에임 )

weight speed : 높으면 높을 수록 자연스럽게 애니메이션이 섞임

  • run 대신 blend-move를 가져와 연결 

'Unreal' 카테고리의 다른 글

[Unreal] 4월 24일 수업정리  (0) 2025.04.24
[Unreal] 4월 23일 수업정리  (0) 2025.04.23
[Unreal] 4월 21일 수업정리  (0) 2025.04.21
[Unreal] 4월 18일 수업정리  (0) 2025.04.18
[Unreal] 4월 16일 수업정리  (0) 2025.04.16