Unreal Engine 4

1. UE4 프로젝트 생성

1-1. UE4 Editor를 실행시킨 창에서 게임 을 선택하고, 프로젝트 열기 버튼이 다음 으로 바뀌면, 다음 버튼을 누릅니다.

1-2. 템플릿 선택 창에서 기본을 선택 후, 다음을 누릅니다.

1-3. 프로젝트 세팅에서 블루프린트 버튼을 클릭하면 버튼이 드롭 다운 리스트로 펼쳐집니다.

1-4. 펼쳐진 드롭다운 리스트에서 아래 스크린샷과 같이 C++를 선택합니다.

1-5. 아래 빨간 박스로 표시된 프로젝트 경로 창과 프로젝트명 창에 프로젝트를 생성할 경로와 생성할 프로젝트명을 입력하시고, 프로젝트 생성을 누릅니다.

1-6. 프로젝트 생성이 끝나면, 생성된 프로젝트로 Visual Studio IDE와 UE4 Editor가 동시에 실행되어집니다.

1-7. Visual Studio IDE에서 Configuration과 Platform을 반드시 아래와 같이 지정하시고 작업을 진행하셔야 됩니다.

  • Solution Configuration : Development Editor

  • Solution Platform : Win64

2. UE4 프로젝트에 ProudNet 연동하기

(프로젝트명).build.cs 파일에 C# 코드로 ProudNet 라이브러리와 헤더 파일 경로를 지정하세요.

  1. cs 파일을 열어 UE4 Editor가 자동 생성한 프로젝트명과 동일한 class가 있을 것입니다. 클래스는 현재 생성자만 가지고 있는 상태입니다.

  2. 생성자의 body를 보시면, 뒷 부분에 주석이 몇 줄 달려있는 것을 보실 수 있습니다. 그 주석 뒤편에 ProudNet 라이브러리와 헤더 파일 참조 경로를 지정하는 코드를 넣으시면 됩니다.

  3. ProudNet 라이브러리 참조 경로 지정은 PublicAdditionalLibraries 객체의 Add 함수로 라이브러리 경로 문자열을 넘기시면 됩니다. 예: > PublicAdditionalLibraries.Add("D:\ProudNet1.7.48971-master\ProudNet\lib\x64\v140\Release\ProudNetClient.lib")

  4. ProudNet 헤더 파일 참조 경로 지정은 PublicIncludepaths라는 전역 객체의 Add 함수로 ProudNet include 폴더의 경로를 넘기시면 됩니다. 예: > PublicIncludePaths.Add("D:\ProudNet1.7.48971-master\ProudNet)

  5. 프라우드넷을 연동시키는 UE4 프로젝트는 반드시 64비트로 빌드 되어야 하므로, 앞서 작성한 두 문장을 중괄호로 감싼 뒤 위에 if 문을 붙여줍니다.

  6. IOS 및 Android 빌드 시 필요한 lib 파일들 또한 if 문으로 감싼 뒤 작성합니다.

아래는 주석 처리를 지우고 작성한 예시입니다.

// Copyright Epic Games, Inc. All Rights Reserved.
 
using System.IO;
using UnrealBuildTool;
 
public class TestUnreal4 : ModuleRules
{
    public TestUnreal4(ReadOnlyTargetRules Target) : base(Target)
    {
        PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
    
        PublicIncludePaths.AddRange(
	new string[] {
	    // ... add public include paths required here ...
	}
	);
				
		
	PrivateIncludePaths.AddRange(
	new string[] {
	    // ... add other private include paths required here ...
	}
	);
 
        if (Target.Platform == UnrealTargetPlatform.Win64)
        {
            // Add the import library
            PublicAdditionalLibraries.Add(@"D:\ProudNet1.8.00002-master\ProudNet\lib\x64\v140\Release\ProudNetClient.lib");
        }
        else if (Target.Platform == UnrealTargetPlatform.IOS)
        {
            PublicAdditionalLibraries.Add(@"D:\ProudNet1.8.00002-master\ProudNet\lib\x64\v140\Release\libProudNetClient.a");
            
            PublicAdditionalLibraries.Add(@"D:\ProudNet1.8.00002-master\ProudNet\lib\x64\v140\Release\libiconv.2.tbd"));
        }
        else if(Target.Platform == UnrealTargetPlatform.Android)
        {
        PublicAdditionalLibraries.Add(@"D:\ProudNet1.8.00002-master\ProudNet\lib\NDK\r20\cmake\clangRelease\arm64-v8a\libProudNetClient.a);
        }
        
         PublicIncludePaths.Add(@"D:\ProudNet1.7.48971-master\ProudNet\include");
    }
}

iOS 및 Android 는 ProudNet\lib\x64\v140\Release\libProudNetClient.lib 대신ProudNet\lib\NDK\r20\cmake\clangDebug\arm64-v8a\libProudNetClient.a 를 참조하게 합니다.

위 예시 코드의 경로로 설정하지 마시고 실제 프라우드넷이 설치된 경로의 경로를 입력해 주세요.

위의 예시처럼 컴파일 에러 없이 정상적으로 CNetClient를 생성할 수 있습니다.

3. Android 빌드

아래의 링크를 참조해 주십시오.

4. iOS 빌드

libiconv.2.tbd 라이브러리의 경로를 추가적으로 지정해 주어야 합니다.

지정해 주지 않으면 빌드 시 iconv 관련 링크 에러가 발생합니다.

아래 링크를 참조해 주십시오.

Last updated