Unreal

[Unreal] 5월 2일 수업정리

k-codestudy 2025. 5. 5. 13:28

오늘은 라인 트레이스와 상하체 분리 애니메이션에 대한 수업을 들었다.

 

라인 트레이스

직전상에 콜리전 트레이스를 수행하여 트레이스에 히트한 첫 번째 오브젝트는 반환한다.

엑터 생성 -> static Mesh, colision 추가 후 설정
BP_ThirdPerson -> Mesh의 산하에 Scene 추가 -> 소켓 -> 부모 소켓에 head 설정
Event Tick 호출 -> Line Trace by Channel 호출 후 연결 -> Scene에서 Get Wolrd Loacation 호출 후 Start에 연결 -> get Actor Rotaion 호출 -> Get Forward Vector로 변환 후 곱한 값을 Get Wolrd Location과 더한 값을 End에 연결 ( Draw Debug Type은 during으로 설정 )
Mul을 우클릭하여 플로트(단정밀도)로 설정
실행
do once를 사용하여 spawn Emitter at Location을 한번만 호출 -> Reset의 경우 delay를 줌
on Hit을 구조체 핀 분할로 사용하는 것이 아닌 Break hit Result를 이용하여 Location을 spawn Emitter at Location에 연결 -> reset의 경우 이펙트가 실행이 된 후 delay를 준 후에 e-resetEffect라는 커스텀 이벤트를 호출 ( 커스텀 이벤트는 만들 것 )
실행 (이펙트 Off)
실행 ( 이펙트 On )
프로파일 설정 ( Weapon )
프로파일 설정 ( Target )
Scene를 2개 추가하여 각각 get Wolrd Location을 얻어온후 Capsule Trace by profile의 start와 end에 연결
실행

 

상체 하체 블렌딩 애니메이션

신비의 애니메이션 2개를 리타겟팅으로 가져옴
각각 애니메이션을 몽타주로 만듬
왼쪽 마우스를 누르면 몽타주 실행
Locomotion과 Main States를 cache로 백업하고 c-locomation을 default에 연결 후 cache로 백업 / Layed Blend per bone을 호출 후 c-locomotion - base Pose에 연결 -> Blend Poses 0 - c-montage에 연결 -> control rig에 연결

 

blend poses bty bool로 블랜드를 할지 안할지 On/Off하는 기능 추가 -> cache로 백업 후 control rig에 연결
Layed Blend per bone -> 설정에 Layer Setup에 Branch Fliters에 인덱스를 3개 추가한 다음 각각 본 이름을 추가 ( 본은 스켈레탈에 있는 본의 이름과 같아야함 ), blend Depth는 얼마나 섞일지 설정하는거 ( -1이면 아예 안섞임 )
애니메이션 이벤트 그래프에 가서 should Move와 m-Blend Upper Body가 둘다 참이면 m-Blend Upper Body를 참으로 설정
notifyState하나 생성 -> begin에 ABP_Manny를 캐스팅 후 set m-Blend Upper Body를 On 설정
End에 ABP_Manny를 캐스팅 후 set m-Blend Upper Body를 Off 설정
노티파이 스테이트 설정
노티파이 스테이트 설정
실행

'Unreal' 카테고리의 다른 글

[Unreal] 5월 12일 수업정리  (0) 2025.05.12
[Unreal] 5월 9일 수업정리  (0) 2025.05.09
[Unreal] 5월 1일 수업정리  (0) 2025.05.01
[Unreal] 4월 30일 수업정리  (0) 2025.04.30
[Unreal] 4월 29일 수업정리  (0) 2025.04.29