9월 2일 블루프린트 수업 정리

나무·2022년 9월 2일
0

Unreal Engine 4

목록 보기
13/14

변수를 우클릭하고 레퍼런스 찾기를 누르면 하단에 변수 설정이 나오고 그 변수를 더블클릭 하면 변수가 사용되는 위치를 찾을 수 있다

--

Get All Actors Of Class 를 사용하면 여러개의 같은 유형의 변수를 사용하기 위해 배열을 여러개 만들어줄 필요가 없다

캐스팅을 사용해주면

for each루프의 요소와 같은지 확인하고 맞으면 실행, 틀리면 Cast Failed로 진행한다

Get All Actors를 사용해주면 My_Box에서 배열을 생성해서 변수를 저장해줄 필요없이 액터들을 동작시키는게

Get All Actors Tag를 사용할려면

다음과 같이 태그명을 설정하고

레벨상에서 각 액터를 클릭해서 태그를 설정해주면 태그명이 입력된 액터를 호출하는것이 가능하다

Get All Actors with interface를 사용하려면

블루프린트 인터페이스를 하나 생성해주고

원하는 함수를 설정해준다음

다음과 같이 원하는 블루프린트에 만들어준 인터페이스 이벤트를 설정해준다

이후 다음과 같이 설정해주면 배열에 있는 액터중 인터페이스가 생성된 액터들만 호출이 가능하다

--

이벤트 디스패처를 사용하기

Event Dispatche를 생성해주고

동작시키길 원하는 각 액터마다 이벤트 그래프 노드를 생성해줌

이벤트 생성 노드에서 일치하는 함수 생성을 눌러주고

우리가 원하는 동작을 시킬 함수를 연결해준다

ThirdPersonCharacter 블루프린트를 조작해서 기믹 만들기(실습)

DoGetUp 함수 (일어나기)

End GetUp 함수 (GetUp 애니메이션이 끝난 후 캐릭터를 동작시키기)

Enable Input은 GetUp이 End되고 나서 키 입력을 받을 수 있게하는 반응

DoRagdoll 함수 (Ragdoll 상태에서 타이머를 설정해 지정된 시간 이후에 자동으로 DoGetUp 함수를 실행)

FallingRagdoll 함수(체공시간을 측정해주는 is Falling 함수를 이용하여 2초이상 체공 상태였다 바닥에 충돌하면 Do Ragdoll을 실행할 수 있도록 반응)

최종

플레이컨트롤러를 하늘 높게 두어 바닥에 떨어지기까지 2초이상 걸리게 위치를 설정 ->

Is Falling 함수가 체공시간을 측정하고 2초 이상이면 Do Ragdoll 함수 실행 ->

RagDoll 상태에서 지정한 시간동안 움직일 수 없고 쓰러지는 애니메이션 몽타주를 실행

랙돌을 지정한 시간이 지나면 다시 플레이어 입력을 받을 수 있도록 enable 함수를 실행(End GetUp 함수)

--

큐브에 기믹 함수를 만들어 캐릭터가 큐브에 Hit 했을 때 랙돌을 발생시키기 (실습)

On Component Hit (Cube) 를 생성해주고 Character에 Cast를 실행, 이 후 캐릭터가 맞으면 Do Ragdoll 함수를 수행한다

--

애니메이션 설정 블루프린트 구현

다음과 같은 애니메이션을 사용함

애니메이션 블루프린트를 설정해준다

캐릭터 카메라의 위치를 설정해줌

캐릭터의 허리에서(캐릭터 스켈레톤 트리에서 미리 허리춤로 설정) 레이져가 나갈 수 있도록 설정

레이저가 바닥에 닿으면 True(엎드려서 쓰러짐), 바닥에 닿지 않으면 Fail로(뒤로 쓰러짐) 각각의 상황에 맞는 (Do GetUp)애니메이션을 실행시킴(Forward, Backward)

이렇게 설정해주면 캐릭터가 쓰러지는 방향에 따라 앞으로 일어나는 애니메이션과 뒤로 일어나는 애니메이션중 상황에 맞는 형태로 DoGetUp 함수를 실행한다

profile
개인 공부를 정리함니다

0개의 댓글