일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- lua
- c++
- 예외
- effective stl
- Vector
- more effective c++
- 오블완
- 영화 리뷰
- 암시적 변환
- implicit conversion
- Smart Pointer
- reference
- 메타테이블
- 루아
- UE4
- resource management class
- 상속
- 언리얼
- 티스토리챌린지
- 스마트 포인터
- 다형성
- 비교 함수 객체
- 게임
- exception
- Effective c++
- 영화
- virtual function
- 반복자
- operator new
- 참조자
- Today
- Total
스토리텔링 개발자
[UE4] 애니메이션 노티파이(Animation Notify) 본문
개요
애니메이션 노티파이는 애니메이션과 함께 여러 동작들을 처리하고 싶을 때 사용하는 기능입니다.
아래에서 좀 더 깊게 알아보겠습니다.
애니메이션 노티파이란
애니메이션 시퀀스 특정 지점에서 이벤트를 발생시키는 기능입니다.
일반적으로 연출(이펙트(발자국 소리 등)나 파티클(흙먼지 등)을 스폰)에 사용합니다.
노티파이는 애니메이션 시퀀스의 노티파이 트랙 오른쪽 마우스를 눌러 추가할 수 있습니다.
기본적으로 엔진에서 범용적으로 사용 가능한 노티파이를 여럿 준비해 두었습니다.
또한 커스텀 노티파이를 생성하여 자신이 원하는 기능을 구현할 수도 있습니다.
애니메이션 노티파이 스테이트란
애니메이션 노티파이의 종류는 두 가지입니다.
- 애니메이션 노티파이
- 애니메이션 노티파이 스테이트
애니메이션 노티파이가 특정 시점(점)을 의미한다면,
애니메이션 노티파이 스테이트는 시작점과 끝점이 있는 시점(선)을 의미합니다.
그를 위해 begin(시작), tick(틱), end(끝) 세 가지의 이벤트를 제공합니다.
다양한 기본 노티파이 스테이트가 제공되는 것과, 커스텀으로 제작하여 사용할 수 있는 것은 동일합니다.
커스텀 애니메이션 노티파이
기본 애니메이션 노티파이의 종류들은 일단 재쳐두고,
우선 커스텀 애니메이션 노티파이에 대해서 다뤄보도록 하겠습니다.
만드는 방법은 간단합니다.
C++로 만드는 방법과 블루프린트로 만드는 방법, 두 가지를 지원합니다.
부모 클래스를 아래 중 하나로 지정하여 생성하면 커스텀 노티파이를 생성할 수 있습니다.
- UAnimNotify(애니메이션 노티파이)
- UAnimNotifyState(애니메이션 노티파이 스테이트)
커스텀 애니메이션 노티파이 만들기
Received_Notify 함수를 오버라이드 하여 구성합니다.
그러면 애니메이션 타임라인에서 노티파이가 노출됩니다.
커스텀 애니메이션 노티파이 스테이트 만들기
스테이트는 세 가지 함수를 오버라이드 하는 것이 가능합니다.
다만, begin, end 중 하나만 구현할 거라면 노티파이 스테이트보다는 노티파이를 사용하는 것을 권장합니다.
기본 애니메이션 노티파이 종류
스켈레톤 노티파이
애니메이션 BP로 애니메이션 특정 시점을 알리기 위해서 사용합니다.
반대로 특정 시점에 애니메이션 BP에서의 로직을 호출한다고 할 수도 있습니다.
새로운 스켈레톤 노티파이는 아래와 같이 생성합니다.
이렇게 생성한 스켈레톤 노티파이는 애니메이션 블루프린트의 이벤트 그래프에서 로직을 구성할 수 있습니다.
클로딩 시뮬레이션 노티파이
천 시뮬레이션 기능을 조작하기 위해 사용합니다.
제공하는 노티파이들은 아래와 같습니다.
- Pause Clothing Simulation
- Resume Clothing Simulation
- Reset Clothing Simulation
파티클 이펙트 재생 노티파이
파티클 시스템을 스폰하고 재생시키기 위해 사용합니다.
Play Partical Effect 노티파이는 애니메이션 블루프린트에서 로직을 구성할 수 없습니다.
대신 디테일 패널에서 스폰 / 재생할 파티클 시스템을 설정할 수 있습니다.
각 프로퍼티의 기능은 아래와 같습니다.
- PSTemplate(파티클 시스템 템플릿)
- 스폰할 파티클 시스템
- Socket Name(소켓 이름)
- 스폰 지점으로 사용할 스켈레탈 메시 소켓의 이름
- Attached(붙이기)
- 이펙트를 본이나 소켓에 붙일 것인지 여부
- Location Offect(위치 오프셋)
- 소켓으로부터 생성할 위치 오프셋
- Rotation Offect(회전 오프셋)
- 소켓으로부터 생성 시 회전 오프셋
- Notify Color(노티파이 색)
- 노티파이 바에 표시할 색
사운드 재생 노티파이
노티파이 설정 시점에 사운드를 재생하기 위해 사용합니다.
블루프린트 로직은 구성할 수 없고, 디테일 패널로 제어합니다.
- Sound(사운드)
- 재생할 사운드 에셋
- Volume Multiplier(볼륨 배수)
- 사운드 이펙트의 볼륨에 적용할 스케일 배수
- Pitch Multiplier(피치 배수)
- 사운드 이펙트의 피치에 적용할 스케일 배수
- Follow(따라가기)
- 사운드 이펙트 소스가 스태틱 메시에 붙어서 따라다닐지 여부
- Attach Name(붙일 소켓 / 본 이름)
- 사운드 이펙트 스폰 지점으로 사용할 스켈레탈 메시 소켓이나 본 이름
- Notify Color(노티파이 색)
- 노티파이 바에 표시할 색
다이내믹스 리셋 노티파이
스켈레탈 메시에 적용한 애님 다이내믹스를 되돌립니다.
기본 애니메이션 노티파이 스테이트 종류
시한 파티클 이펙트(Timed Particle Effect)
파티클 이펙트 재생 노티파이와 비슷하지만, 자체적으로 이펙트의 길이를 설정할 수 있습니다.
그 외적인 디테일 패널 설정부는 같습니다.
애니메이션 트레일(Animation Trail)
움직이는 오브젝트가 남기는 흔적을 표현하는 이미터입니다.
스켈레탈 메시의 두 소켓 위치를 매 틱마다 샘플링해서 소켓 사이의 트라이앵글을 흔적 길이만큼 이어 붙입니다.
- PSTemplate(파티클 시스템 템플릿)
- 애님 트레일이 들어있는 파티클 시스템
- First Socket Name(첫 번째 소켓 이름)
- Second Socket Name(두 번째 소켓 이름)
- 여기 설정된 두 소켓의 흔적을 샘플링합니다.
- With Scale Mode(너비 스케일 모드)
- 너비 적용 방식을 변경합니다.
- Width Scale Curve(너비 스케일 커브)
- 매 틱 샘플링하는 커브의 너비 값.
- Render Geometry(지오메트리 렌더)
- 메인 트레일 지오메트리 렌더링 여부
- Render Spawn Points(스폰 지점 렌더)
- 매 틱 소켓에서 샘플링한 위치의 디버그 렌더링 여부
- Render Tangents(탄젠트 렌더)
- 커브 탄젠트의 디버그 렌터링 여부
- Render Tessellation(테셀레이션 렌더)
- 커브의 모든 버텍스 디버그 렌더링 여부
- 스폰 지점 사이 커브 테셀레이션 방식을 보여줍니다.
'개발 > 언리얼 엔진' 카테고리의 다른 글
[UE4] 애니메이션 에셋(Animation Asset) (0) | 2022.01.27 |
---|---|
[UE4] 애니메이션 노티파이 브랜칭 포인트(Animation Notify Branching Point) (0) | 2022.01.20 |
[UE4] 블루프린트의 매크로와 함수 (0) | 2021.11.17 |
[UE4] 모프 타겟(Morph Target) (0) | 2021.11.16 |
[UE4] 사운드 에셋(Sound Asset) (0) | 2021.11.04 |