함수 Exposing
UPROPERTY처럼 함수도 블루프린트로 노출시킬 수 있다.
Item.h
UFUNCTION(BluePrintPure)
float TransformdedSin(float value);
UFUNCTION(BluePrintCallable)
float TransformdedSin2(float value);
Item.cpp
float AItem::TransformdedSin(float value)
{
return Amplitude * FMath::Sin(value * TimeConstant);;
}
float AItem::TransformdedSin2(float value)
{
return Amplitude * FMath::Sin(value * TimeConstant);;
}
BluePrintPure를 옵션으로 넣어주면 실행 핀이 없는 함수가 만들어지며 Callable을 옵션으로 준다면 실행핀이 존재하느 함수가 만들어진다 sin함수의 계산은 실행핀이 필요 없기때문에 Pure옵션이 적절해 보인다.
탬플릿 함수
탬플릿 함수는 JAVA의 제너릭과 유사해보인다.
Item.h
template<typename T>
T Avg(T First, T Second);
T 타입을 반환 하고 T 타입의 변수 First, Second를 받는다.
Item.cpp
template<typename T>
T Avg(T First, T Second)
{
return (First + Second) /2;
}
위와 같이 함수를 만들면 해당 함수는 int32 파라미터, float 파라미터, FVector 타입도 받아 처리할 수 있다.
단 FVector의 객체의 경우 내부에 + 연산과 / 연산이 별도로 오버라이드 되어 있다고 한다.
'기타 > UnReal Engine' 카테고리의 다른 글
Skeletal Mesh Component (0) | 2023.12.03 |
---|---|
CapsuleComponent, Include header (0) | 2023.12.03 |
멤버변수의 노출(UPROPERTY) (0) | 2023.11.21 |
멤버변수의 추가와 sin함수 (1) | 2023.11.21 |
오브젝트의 이동 (초당 이동거리, Persistent, AddActorWorldOffser) (0) | 2023.11.21 |