Unreal/Udemy 강의

Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 4-23

게임개발기원 2024. 3. 23. 18:19

블루프린트 호출

간단히 Grab에 대해 문자열을 출력하도록 했지만, 우리가 원하는 것은 우리가 C++에서 구현했던 기능이다.

이 기능을 블루프린트로 호출해줄 필요가 있다.

이를 위해 사용되는 것이 UFUNCTION이다.

테스트로 Release에 대한 함수를 만들어보자.

 

기존에는 문자열로 출력해줬지만, 이번엔 로그메시지로 출력하도록 함수로 구현해준다.

 

이제 BP_Player로 돌아가서 기존 print string을 해당 함수로 대체해주자.

Grabber 컴포넌트를 끌어와서 해당 컴포넌트를 얻고, 여기서 함수를 가져오면 된다.

주의할 점은 라이브코딩으로 우리가 만든 Release 함수가 보이지 않을 수도 있다.

이 경우에는 에디터를 끄고, Vscdoe에서 제대로 컴파일을 해준 후에 다시 켜야할 필요가 있다.

이제 로그메시지를 보면 정상적으로 작동하는 것을 볼 수 있다.

 

이제 핵심 기능인 Grab을 함수로 만들어서 호출해보자.

함수 구현은 기존에 구현했던 내용을 그대로 옮겨주면 된다.

이제 로그 메시지를 보면, 마우스 좌클릭을 하냐 안하냐에 따라 메시지가 출력되는 것을 볼 수 있다.

 

좌클릭을 한 곳에 트레이스한 조각상이 있다면 조각상 이름을, 아니라면 액터가 없다는 문구를, 좌클릭을 풀었으면 풀었다고 알려주게 된다.