해당 포스팅은 " Udemy 의 C++ 비디어 게임 제작하기 " 기반으로 정리 하였습니다.
1. Actor spawn
: 클래스에서 액터 생성
◻️ Spawning - 플레이 중 오브젝트를 만드는것
◻️ Transform - 오브젝트의 위치, 회전, 스케일 조합
◻️ Return Value pin - 노드의 출력 / 실행 시킨 결과로 나오는 데이터나 오브젝트
🔹 Add Impulse의 Impulse 연결
[ 스페이스 바 누르면 튕겨 올라가는 이미지 ]
2. Spawn 위치를 Pawn으로 변경
Pawn
: 엑터의 서브클래스, 게임 월드에서 플레이어의 물리적 묘사를 나타낸다.
: F8을 길게 누르면 이동을 하면 Pawn의 위치를 확인 할 수 있다.
게임 정지 상태에선 Pawn이 없는 이유
: 사용자를 위해 씬 안에 폰을 스폰, Player Start라는 씬 안의 액터가 주어진 위치에 배치
🔹 Get Player Pawn 생성
: Player Pawn의 레퍼런스 의미
: Player Index는 몇 번째 플레이어인지 나타냄
: Actor의 위치 값 반환
: Get Player Pawn의 Return Value와 Target을 연결
: Return Value를 Spawn Actor from Class의 Spawn Location과 연결
Pawn의 위치에 발사체가 발사되는 것을 확인 할 수 있다.
3. 카메라 회전
: Actor의 회전 값 반환
: Get Player Pawn의 Return Value와 Target을 연결
: Return Value를 Spawn Actor from Class의 Spawn Rotation과 연결
But, 카메라가 회전하더라도 Pawn의 회전 값을 변하지 않았다. 그 이유는 무엇일까?
언리얼에선 Pawn이 카메라 회전과 함께 회전하도록 설정되어 있지 않기 때문이다.
이를 해결하기 위해 해당 노드가 아닌 다른 노드를 이용해 회전 값을 받아 올 수 있다.
: 제어하는 Pawn의 회전값을 반환
: Get Actor Rotation 삭제
: Return Value를 Spawn Actor from Class의 Spawn Rotation과 연결
4. 발사체 발사하기
: 월드 좌표계를 기준으로 액터의 정면을 나타내는 벡터 출력
: Spawn Actor from Class의 Return Value와 연결
🔹 Multiply
: 두 입력 값을 받아 곱한 값 출력
: 언리얼에서는 단위가 cm로 초당 1cm씩 이동하기 때문에 값을 곱해 속도를 나타내야 한다.
: Get Actor Foward Vector와 연결
: Add Impulse의 Impulse 연결
[ 발사 되는 이미지 ]
5. 탄약 갯수 출력하기
🔹 블루프린트의 VARIABLES에 Int 변수를 추가한 뒤 Details창에 갯수를 지정해준다.
🔹 My Blueprint에서 이벤트 그래프로 변수를 드래그 해준다.
◻️ Get "변수명"
: 저장된 값을 가져옴
: Ctrl 누르면서 드래그
◻️ Set "변수명"
: 저장된 값을 덮어씀
: Alt 누르면서 드래그
🔹 Get 의 경우 Print String과 연결
🔹 Subtract
: 두 값을 뺀 값 출력
: Get과 Set을 값을 빼기
: Print String과 연결하여 값이 감소 할 때마다 출력
5. 발사체 제한하기
🔹 비교 연산자
◻️ greater : 주어진 값보다 큰지 확인
◻️ equal : 주어진 값과 동일한지 확인
◻️ less : 주어진 값보다 작은지 확인
: greater 연산자를 이용하여 발사체 변수와 비교
🔹 Branch
: 조건에 따라 True, False 의 흐름을 만듬
: Boolean 값을 살펴본 뒤, 적합한 값을 출력
🔹 스페이스 바와 연결
'Unreal Engine' 카테고리의 다른 글
[ Unreal Engine 5 ] 언리얼5 언어 변경하기, 바꾸기 (0) | 2024.02.16 |
---|---|
[ Unreal ] Light System (0) | 2023.08.03 |
[ Unreal ] 블루프린트 클래스 (0) | 2023.07.25 |
[ Unreal ] 블루프린트 사용하기 (0) | 2023.07.25 |
[ Unreal ] 언리얼 엔진 시작하기 (0) | 2023.07.25 |