본문 바로가기

카테고리 없음

2025 - 03 - 14 TIL (컴포넌트 , 블루프린트 라이브러리)

 

 

Component를 알아야 되는 이유!

 

기능을 묘듈화 해서 액터에서 사용할 수 있게 해주는 용도로

코드를 재사용 할 수 있고 

액터가 너무 비대해지지 않으며 해당 기능(예 : 체력 공격 이동 로직 등 )을 컴포넌트 단위로

분리해서 관리가 가능해진다.

 

Actor Component와 Scene Component의 차이

 

 

Actor Component (UActorComponent)

위치나 공간(Transfrom)을 조절하지 않는 논리적 기능을 제공하는 데 초점이 맞춰진 컴포넌트
데미지 계산 , 상태 관리, 액터에 추가적인 동작 부여하는 용도로
물리적이거나 시각적인 요소를 다룰필요 없을 때 사용
 

 

Scene Component (USceneComponent)
액터 컴포넌트를 상속받아 만들어짐.
 
위치(위치, 회전, 스케일등)의 정보를 가질 수 있는 컴포넌트로 , 게임월드 내에서 공간적인 표현이 필요한 경우사용
메시 , 라이트 , 카메라 등과 같이 장면에 배치되고 계층 구조를가질 수 있는 요소를 다룸

 

 

c++할때 클래스 내부에 클래스를 넣어서 사용한 기억이 있었다.

언리얼에서는 해당 클래스의 역할을 하는 클래스가 컴포넌트였다.

 

 

 

 

블루 프린트 라이브러리

 

언리얼 엔진에서 c++로 작성된 기능을 블루프린트 에서 재사용 가능하도록 노출 시켜주는 클래스

Blueprint Function Library이라는 클래스를 전역 함수로 만들어서 사용하는 것

 

전역 접근이 가능하며 (특정 액터나 컴포넌트를 부를필요없이 어디서나 호출 할 수 있다.)

재사용이 가능하며  (수학 계산용도, 문자열 , 디버깅등)

c++에서 로직을 작성한 것을 블루프린트에서 간단하게 호출 가능

 

변수를 넣어서 사용할 수는 없으니 게임 인스턴스를 같이 사용하거나 아니면 

계산 기능이 담긴 전역함수로서 사용할 수 있을 것 같다.

 
 
 
 
 
UFUNCTION(BlueprintCallable)
 
해당 함수를 부를수 있고 다음 노드를 실행시키는 역할
 
UFUNCTION(BlueprintPure)

 

블루프린트에서 실행 시키는 역할의 노드가 아닌 값을 전달 해주는 노드

 

 

이제 해당 블루프린트 기능을 만들때는 알아두면 좋을 것 같다.