형변환
형변환(Casting)은 액터에 대한 레퍼런스를 받아 다른 클래스로 변환하려고 할 때 흔히 사용하는 커뮤니케이션 방법이다. 변환이 성공적으로 이루어졌다면 직접 액터 커뮤니케이션을 사용하여 정보 및 기능에 액세스 할 수 있다.
이 방법은 형변환(Cast) 노드를 사용하여 액터의 레퍼런스를 특정 클래스로 변환해 볼 수 있도록 레벨의 액터에 대한 레퍼런스가 필요하다. 이 커뮤니케이션 방법은 작업 중인 액터와 타깃 액터 사이의 일대일 관계를 사용한다.
⇒ default pawn: 컨트롤러에 빙의할 수 있음. 움직임 조작 등 여러 기능을 가지고 있음
위는 레벨 블루프린트에서 3번을 누르면 움직임을 제한하고, 다시 4번을 누르면 기능이 돌아오는 로직.
https://docs.unrealengine.com/5.2/ko/casting-quick-start-guide-in-unreal-engine/
형변환 퀵스타트 가이드
형변환 커뮤니케이션 방법에 대한 퀵스타트입니다.
docs.unrealengine.com
블루프린트 인터페이스
Blueprint Interface (블루프린트 인터페이스)는 이름만 있고 구현은 없는 함수 하나 이상으로 된 집합으로, 이를 다른 블루프린트에 추가할 수 있습니다. 블루프린트에 인터페이스를 추가하면 그 블루프린트는 그 안에 들어있는 함수를 갖게 된다. 인터페이스의 함수에는 그것을 추가한 각각의 블루프린트에 함수성을 줄 수 있다. 이는 본질상 일반 프로그래밍의 인터페이스 개념과 비슷한데, 각기 다른 다수의 오브젝트가 모두 공통의 인터페이스를 통해 접근할 수 있게 되는 것이다.
⇒ 생성방법: 콘텐츠 탭 우클릭 → 하단의 블루프린트 → 블루프린트 인터페이스 클릭 → 함수 이름 설정.(생성 후 꼭 컴파일해야 사용가능.)
⇒ 사용방법: 원하는 블루프린트 클래스 클릭 → 이벤트그래프의 위쪽메뉴에서 클래스 세팅 클릭 → 구현된 인터페이스에서 만든 블루프린트 인터페이스 추가
⇒ 왼쪽의 인터페이스에서 사용할 인터페이스를 우클릭하여 이벤트 생성.
⇒ 1번을 누르면 레벨의 모든 액터들에게 작동하라는 메시지를 던지고 TEST 인터페이스를 가지고 있는 액터들은 모두 동작한다.
⇒ 2번은 인터페이스를 가지고 있는 모든 액터를 가져와서 메시지를 메시지를 던지고 메시지를 받은 액터들은 모두 동작한다.
https://docs.unrealengine.com/4.27/ko/ProgrammingAndScripting/Blueprints/UserGuide/Types/Interface/
블루프린트 인터페이스
블루프린트 사이의 인터페이스를 정의하기 위한 함수를 선언하는 블루프린트입니다.
docs.unrealengine.com
오버랩
- 표시: 게임 시와 편집 시 모두 숨기거나 보임
- 액터게임에서 숨김: 편집 시는 보이지만 게임화면에서는 숨김
- 단추키 G: 게임상태로 들어갔을 때의 화면 보기
⇒ 오버랩이란 해당 콜리전 박스와 겹쳐졌을 때 오버랩 생성. 이것도 마찬가지로 오버랩 이벤트 생성을 체크해야 기능 사용 가능.(최적화)
⇒ 해당 트리거박스를 선택한 후 레벨 블루프린트 에디터창을 열어 우클릭 후 이벤트 생성. 우측의 로직은 트리거 박스와 오버랩되면 “들어감”이란 String을 출력 후 트리거 박스와 접촉한 오브젝트의 움직임을 제한시킨다. 이후 3번을 누르면 다시 움직일 수 있다.
⇒ 위의 기능에서 LightPoint 액터의 visibility의 값을 체크하여 오버랩 시 불이 켜지고, 나가면 불이 꺼진다.
⇒ 레벨 블루프린트로 만든 것을 블루프린트 클래스로 만들어 동작(액터화). 한 블루프린트 클래스 내부에 box와 Sphere를 같이 배치함.
게임플레이 프레임워크
게임의 틀을 이루는 게임 규칙, 플레이어 입력과 컨트롤, 카메라, 유저 인터페이스 등의 코어 시스템이다.
플레이어 셋업이 이루어지는 곳은 PlayerController로, 이것이 Pawn을 빙의(possess)한다. Pawn 은 게임 내 플레이어의 물리적 표현인 반면, Controller는 Pawn에 빙의되어 그 동작에 대한 규칙을 설정할 수 있다.
⇒ 게임 모드 베이스를 부모클래스로 하는 블루프린트 클래스를 생성. 이후 디테일 창에서 디폴트 폰 클래스를 직접 생성한 디폴트 폰 클래스로 지정.
디폴트 폰 블루프린트 클래스를 적용하는 방법.
⇒ 첫 번째, 언리얼 에디터 프로젝트 세팅의 맵&로드에서 기본 게임모드를 변경 → 프로젝트 전체의 기본 게임모드가 지정된 게임모드로 설정됨.
⇒ 두 번째, Default Pawn을 레벨에 배치하고 디테일 창에서 플레이어 자동빙의를 활성화하면 기본 Pawn에서 배치된 Pawn으로 변경된다. 해당 레벨애 서만 사용 가능. 플레이어 스타트 액터를 배치한 곳에서 시작.
https://docs.unrealengine.com/4.27/ko/InteractiveExperiences/Framework/
게임플레이 프레임워크
게임의 틀을 이루는 게임 규칙, 플레이어 입력과 컨트롤, 카메라, 유저 인터페이스 등의 코어 시스템입니다.
docs.unrealengine.com
입력
Input 오브젝트는 플레이어로부터의 입력을 액터가 이해하고 활용할 수 있는 형태의 데이터로 변환하는 작업을 담당한다.
PlayerInput 오브젝트는 플레이어로부터 받은 입력을 PlyaerController 나 Pawn 같은 액터가 이해하고 활용할 수 있는 형태의 데이터로 변환하는 작업을 담당한다. 이는 PlayerInput 매핑과 InputComponent를 가지고 플레이어의 하드웨어 입력을 게임 이벤트와 동작으로 변환하는 입력 프로세스 흐름의 일부다.
⇒ 해당 블루프린트의 디테일 창에서 입력 부분의 입력 자동 수신을 Player로 설정해야 게임모드에서 입력을 받아 Print String을 할 수 있다. 또한 입력 우선순위로 위의 입력 프레임워크에서의 순서를 임의로 지정할 수 있다.
https://docs.unrealengine.com/4.26/en-US/InteractiveExperiences/Input/
Input
The Input object is responsible for converting input from the player into data in a form Actors can understand and make use of.
docs.unrealengine.com
라인 트레이스
Trace (트레이스)는 레벨을 뻗어나가며 직선상에 무엇이 존재하는지 확인할 수 있는 메서드를 제공한다. 두 (시작과 끝 위치) 지점을 제공해 주면, 피직스 초밥템에서 그 두 점에 직선을 그으며 거기에 (콜리전으로) 걸리는 액터가 있는지 보고해 주는 식으로 사용한다. 트레이스는 본질적으로 다른 소프트웨어의 Raycast (레이 캐스트) 또는 Raytrace (레이 트레이스)와 같다.
⇒ Return Value는 block일 때 True값을 반환. 앞의 장애물을 오버랩으로 두고 뒤에 장애물만 블록으로 설정해 둘 경우 앞의 장애물은 파괴되지 않고 뒤의 장애물만 파괴된다.
https://docs.unrealengine.com/4.27/ko/InteractiveExperiences/Tracing/Overview/
트레이스 개요
언리얼 엔진 4 의 트레이스 시스템 개요입니다.
docs.unrealengine.com
'UnrealEngine' 카테고리의 다른 글
[UE] 애니메이션 출력, 애님 블루프린트 (0) | 2023.07.11 |
---|---|
[UE] 언리얼 콘솔 명령어, UI와 HUD, UMG UI 디자이너 (0) | 2023.07.11 |
[UE] 컨스트럭트 스크립트, 이벤트 디스패쳐 (0) | 2023.07.10 |
[UE] 블루프린트 매크로, 커스텀 이벤트, 수학 표현식, 블루프린트 클래스 (0) | 2023.07.10 |
[UE] 프로젝트 폴더, 언리얼 엔진 에디터, 브루프린트 개요 (0) | 2023.07.10 |