Unreal Engine(22)
-
인터페이스에서 BlueprintNativeEvent 함수와 기본 UFUNCTION 함수의 차이점
BlueprintNativeEvent는 Unreal Engine에서 C++과 블루프린트 간의 상호작용을 위해 제공하는 중요한 기능입니다. 주로 C++에서 함수를 정의하고, 해당 함수를 블루프린트에서도 오버라이드하여 사용할 수 있게 할 때 사용됩니다. 이 기능은 C++에서 기본 구현을 제공하면서도, 블루프린트에서 추가적으로 함수 로직을 확장하거나 오버라이드하는 것이 가능하다는 장점이 있습니다.1. BlueprintNativeEvent의 기본 개념C++ 기본 구현: C++에서 기본 구현을 제공할 수 있으며, 이 기본 구현을 블루프린트에서도 호출할 수 있습니다.블루프린트 오버라이드: 블루프린트에서 이 함수를 오버라이드하여 C++에서 제공된 기본 구현을 덮어쓸 수 있습니다.유연성: 블루프린트로 프로젝트를 확장할..
2024.10.08 -
UE - AddWeakLambda()
AddWeakLambda는 Unreal Engine에서 Delegate(델리게이트)와 함께 사용되는 함수로, 약한 참조를 이용해 람다(lamda) 함수를 델리게이트에 연결하는 기능을 제공합니다. 이 방법은 일반적인 AddLambda와는 다르게, 델리게이트가 참조하고 있는 객체가 사라지거나 파괴되었을 때, 이를 안전하게 처리할 수 있습니다.Delegate의 AddWeakLambda 설명AddWeakLambda는 주로 특정 객체에 대한 델리게이트 바인딩을 할 때, 해당 객체가 파괴되더라도 참조가 남아 있는 델리게이트 호출로 인해 크래시가 발생하지 않도록 하기 위해 사용됩니다.강한 참조와 약한 참조:강한 참조(AddLambda): 델리게이트는 객체에 대한 참조를 유지하므로, 델리게이트가 연결된 객체가 삭제되더..
2024.10.03 -
UE - UPARAM(ref)
UPARAM(ref)는 Unreal Engine에서 UFUNCTION 매크로와 함께 사용되는 매개변수 데코레이터로, 블루프린트와 C++ 간의 함수 호출 시 매개변수의 전달 방식을 정의하는 데 사용됩니다. 이 데코레이터는 특정 매개변수가 참조로 전달될 것임을 명시합니다.UPARAM(ref)의 의미ref: 이 매개변수가 참조로 전달된다는 의미입니다.참조로 전달된 매개변수는 함수 내부에서 수정될 수 있으며, 이 수정 사항이 함수 외부에도 반영됩니다.Unreal Engine에서 일반적으로 C++ 코드와 블루프린트 간의 함수 호출 시, 매개변수가 값으로 복사되어 전달됩니다. 하지만, UPARAM(ref)를 사용하면 매개변수를 참조로 전달할 수 있으며, 이를 통해 함수 내부에서 변경된 값이 함수 호출 이후에도 유지..
2024.10.02 -
언리얼 네트워크 프레임
Net Mode 언리얼 엔진의 NetMode는 보통 이렇게 나뉘어진다 당연히 HUD와 UMGWidget은 game의 플레이에 영향을 주지 않는다.game mode는 서버에만 존재한다. 1234NM_StandaloneNM_DedicatedServerNM_ListenServerNM_Clientcs 다음의 기준으로 NetMode를 나눌 수 있습니다. 1. NM_Standalone (독립 실행 모드)설명: 네트워크 연결 없이 로컬에서 게임을 실행하는 모드입니다. 네트워크를 통한 멀티플레이어 기능이 필요 없는 싱글플레이 게임이나, 게임 개발 및 디버깅을 위한 로컬 테스트에 주로 사용됩니다.용도: 싱글플레이어 게임이나 멀티플레이어 기능을 사용할 필요가 없는 상황.2. NM_DedicatedServer (전용 서버..
2024.09.16 -
UnrealEngine5 - UInterface, IInterface
Unreal Engine에서 UInterface와 IInterface는 인터페이스를 정의하고 사용할 때 함께 사용하는 두 가지 중요한 요소입니다. 이 두 가지는 서로 다른 역할을 가지며, 함께 사용하여 C++ 클래스가 인터페이스를 구현할 수 있도록 합니다. 1. UInterface - Unreal의 리플렉션 시스템을 위한 클래스정의: UInterface는 Unreal Engine의 리플렉션 시스템에서 인터페이스를 나타내기 위한 클래스로, Unreal의 객체 시스템(UObject 시스템)과 통합됩니다.역할: UInterface는 인터페이스가 Unreal의 리플렉션 시스템에 의해 인식되고, 블루프린트, 네트워크 복제, 애니메이션 블루프린트, 및 기타 엔진 기능과 호환될 수 있도록 합니다.특징:UInterfa..
2024.08.28 -
Unreal Engine5 - Interface
인터페이스는 객체 지향 프로그래밍(OOP)에서 중요한 개념으로, 특히 큰 프로젝트나 복잡한 시스템에서 코드를 구조화하고 확장성을 높이는 데 매우 유용합니다. Unreal Engine에서도 인터페이스는 유연하고 유지보수하기 쉬운 코드를 작성하는 데 도움이 됩니다. 다음은 인터페이스를 사용하는 것이 유용한 상황입니다.1. 다양한 클래스에서 공통 기능을 구현해야 할 때여러 클래스에서 동일한 메서드나 기능을 필요로 할 때, 인터페이스를 사용하면 코드 중복을 피할 수 있습니다. 예를 들어, IDamageable이라는 인터페이스를 정의하면, 플레이어, 적, 오브젝트 등 다양한 클래스가 이 인터페이스를 구현하여 공통적인 TakeDamage 메서드를 제공할 수 있습니다.12345class IDamageable{publ..
2024.08.28