Unreal Engine: Ultimate Survival Horror Course
마우스로 움켜쥘 수 있는 상호작용을 위해 BPI_Grab 인터페이스를 만든다.
GrabObject, ReleaseObject 인터페이스 함수를 만든다.
Project Settings - Engine - Input - Action Mappings에서 마우스 좌클릭 InputAction을 추가한다.
Character Blueprint Class에서 InputAction LMB의 Pressed 이벤트를 처리한다.
라인 트레이스는 전에 만들어 두었던 함수를 재사용한다.
BP_PhysicsDoor에 BPI_Brab 인터페이스를 추가한다.
GrabObject 함수를 구현한다.
좌클릭을 누르면 플레이어 움직임과 시야 조정을 멈추도록 한다.
- Set Ignore Look Input: 플레이어 컨트롤러에서 시야에 관련된 입력을 무시할지 설정한다.
- New Look Input: 활성화 - Enable Input: 플레이어 컨트롤러의 Input Stack에 현재 액터를 Push하여 Input을 받을 수 있도록 한다.
MoveDoor라는 Custom Event를 생성하고 LookRight InputAxis의 값을 60%만큼 Amount를 통해 받는다.
MoveDoor 이벤트를 구현한다.
Amount에 내적을 곱해주는 이유는 전과 마찬가지로 문이 열리는 방향을 플레이어의 위치에 따라 바꾸기 위해서이다.
내적은 전에 문의 방향을 결정했던 부분에서 복사한다.
두 회전을 더하기 위해 Combine Rotators를 사용한다.
Character Blueprint Class에서 LMB InputAction의 Released 이벤트를 처리한다.
SET 에 아무것도 연결 하지 않하면 NULL로 지정된다.
BP_PhysicsDoor에서 ReleaseObject 인터페이스 함수를 구현한다.
Enable Movement가 아니라 Set Movement Mode인 이유는 전 상태가 어떤 모드였는지 알 수 없기 때문이다.
Reset Ignore Look InputL 플레이어 컨트롤러의 시야에 관련된 입력 무시 설정을 초기화한다.
Disable Input: 플레이어 컨트롤러의 Input Stack에서 현재 액터를 Pop하여 더 이상 입력을 받지 않도록 한다.
마우스로 조작 가능한 문을 완성했다.
'Unreal Engine > Ultimate Survival Horror Course' 카테고리의 다른 글
손전등 만들기 (0) | 2023.01.27 |
---|---|
어두운 배경 제작 (0) | 2023.01.27 |
밀어서 여는 문 만들기 (0) | 2023.01.26 |
양쪽 문 만들기 (0) | 2023.01.26 |
문 만들기 (0) | 2023.01.25 |