[언리얼5 블루프린트] 발사하는 컴포넌트 만들기
저번 게시글에서 오버랩되면 경로를 이동하는 컴포넌트를 이용하여 엘리베이터를 만들었습니다.
[언리얼5 블루프린트] 인터페이스를 이용한 이동 컴포넌트 만들기 (엘리베이터)
이번에는 오버랩되면 발사하는 컴포넌트를 만들어보겠습니다.
새로운 블루프린트 클래스 액터 컴포넌트를 만듭니다.
이름은 실행_발사로 변경했습니다.
클래스 세팅에서 구현된 인터페이스를 추가합니다.
이전 게시글에서 만든 실행 인터페이스를 추가했습니다.
자동으로 추가된 인터페이스에 우클릭하여 이벤트 실행을 클릭합니다.
Event Trigger가 생성됩니다.
Reset 이벤트는 사용하지 않으므로 만들지 않았습니다.
Event Trigger 노드에 SpawnActor 노드를 연결합니다.
Class는 밖에서도 수정할 수 있도록 변수 승격하고 이름은 발사체로 변경했습니다.
발사체 변수는 눈을 뜨게 해 줍니다.
Spawn Transform은 Get Owner 노드를 통해 Get Actor Transform 노드를 가져와 연결했습니다.
Get Component by Class 노드를 추가하고 프리미티브 컴포넌트로 설정했습니다.
프리미티브 컴포넌트에는 스태틱 메시와 스켈레톤 메시 모두 포함됩니다.
여기에 Add Impulse 노드를 추가하여 발사체가 발사되는 것처럼 만들 수 있습니다.
어느 정도의 힘을 줄지 설정해야 합니다.
Get Owner 노드를 통해 Get Actor Up Vector 노드를 가져와 * 노드를 통해 Impulse에 연결했습니다.
* 노드의 아래핀은 플로트로 변환하여 2000으로 입력했습니다.
발사체가 나오는 방향이 원하는 방향이 아니라면 다른 노드를 연결하면 됩니다. (Get Actor Forward Vector, Get Actor Right Vector)
이제 발사체로 쓰일 액터를 만들어야 합니다.
새로운 블루프린트 클래스 액터를 만듭니다.
언리얼에서 기본적으로 주어지는 Projectile을 복사하여 안에 넣어줬습니다.
발사체가 너무 크다면 오른쪽 트랜스폼에서 스케일을 조정하면 됩니다. (1→0.2로 변경)
피직스 시뮬레이트에 체크합니다.
컴파일, 저장하고 밖으로 나갑니다.
스위치에 작동_Overlap 컴포넌트를 넣었습니다.
실행대상을 스포이드를 통해 선택해 주고 오버랩 이벤트 생성에 체크, OverlapAll로 콜리전을 바꿔줍니다.
공이 나올 곳에는 실행_발사 컴포넌트를 넣어줍니다. (실행대상으로 선택한 액터와 동일)
발사체로 아까 만든 발사체_Ball을 선택했습니다.
플레이해 보면 스위치와 오버랩될 때마다 발사체가 튀어나오는 것을 볼 수 있습니다.
사용한 언리얼 버전: 5.4.1