1.1프라우드넷 연동을 위한 UE4 프로젝트 생성 방법
UE4 Editor를 실행시키신 직후 나오는 아래와 같은 창에서 스크린샷에 빨간 박스로 표시된 '게임'을 선택하시고, '프로젝트 열기' 버튼이 '다음'으로 바뀌면, '다음' 버튼을 누릅니다.
'템플릿 선택' 창에서 '기본'을 선택하시고, '다음'을 누릅니다.
'프로젝트 세팅' 창에서 '블루프린트' 버튼을 누릅니다. 그러면 버튼이 드롭 다운 리스트로 펼쳐집니다.
펼쳐진 드롭다운 리스트에서 아래 스크린샷과 같이 C++를 선택합니다.
아래 스크린샷에 빨간 박스로 표시된 '프로젝트 경로 창'과 '프로젝트명 창'에 프로젝트를 생성할 경로와 생성할 프로젝트명을 입력하시고, '프로젝트 생성'을 누릅니다.
프로젝트 생성이 끝나면, 생성된 프로젝트로 Visual Studio IDE와 UE4 Editor가 동시에 실행되어집니다.
Visual Studio IDE에서 Configuration과 Platform을 반드시 아래와 같이 지정하시고 작업을 진행하셔야 됩니다.
- Solution Configuration : Development Editor
- Solution Platform : Win64
1.2UE4 프로젝트에 프라우드넷을 연동시키기
(프로젝트명).build.cs 파일에 C# 코드로 프라우드넷 라이브러리와 헤더 파일 경로를 지정하시면 됩니다. 지정하는 방법을 상세히 소개해드리자면, 다음과 같습니다.
말씀드린 cs 파일을 여시면 UE4 Editor가 자동생성한 프로젝트 명과 동일한 class가 있을 것입니다. 그리고 클래스는 현재 생성자만 가지고 있는 상태입니다.
생성자의 body를 보시면, 뒷 부분에 주석이 몇 줄 달려있는 것을 보실 수 있습니다. 그 주석 뒤편에 프라우드넷 라이브러리와 헤더 파일 참조 경로를 지정하는 코드를 넣으시면 됩니다.
프라우드넷 라이브러리 참조 경로 지정은 PublicAdditionalLibraries라는 전역 객체의 Add 함수로 라이브러리 경로 문자열을 넘기시면 됩니다. ( ex > PublicAdditionalLibraries.Add(@"D:\ProudNet1.7.48971-master\ProudNet\lib\x64\v140\Release\ProudNetClient.lib") )
프라우드넷 헤더 파일 참조 경로 지정은 PublicIncludepaths라는 전역 객체의 Add 함수로 프라우드넷 include 폴더의 경로를 넘기시면 됩니다. ( ex > PublicIncludePaths.Add(@"D:\ProudNet1.7.48971-master\ProudNet\include") )
프라우드넷을 연동시키는 UE4 프로젝트는 반드시 64비트로 빌드되어야 하므로, 앞서 작성한 두 문장을 중괄호로 감싼뒤 위에 if 문을 붙여줍니다. if 문의 조건으로 "Target.Platform == UnrealTargetPlatform.Win64"를 넣어줍니다.
상기의 1~6을 따라하면 아래와 같이 수정완료되어집니다.
// Copyright Epic Games, Inc. All Rights Reserved. using UnrealBuildTool; public class TestUnreal4 : ModuleRules { public TestUnreal4(ReadOnlyTargetRules Target) : base(Target) { PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs; PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore" }); PrivateDependencyModuleNames.AddRange(new string[] { }); // Uncomment if you are using Slate UI // PrivateDependencyModuleNames.AddRange(new string[] { "Slate", "SlateCore" }); // Uncomment if you are using online features // PrivateDependencyModuleNames.Add("OnlineSubsystem"); // To include OnlineSubsystemSteam, add it to the plugins section in your uproject file with the Enabled attribute set to true if (Target.Platform == UnrealTargetPlatform.Win64) { PublicAdditionalLibraries.Add(@"D:\ProudNet1.7.48971-master\ProudNet\lib\x64\v140\Release\ProudNetClient.lib"); PublicIncludePaths.Add(@"D:\ProudNet1.7.48971-master\ProudNet\include"); } } }
1.3Android 빌드
우선, 아래의 링크를 참조해 주십시오.
https://docs.unrealengine.com/latest/KOR/Platforms/Android/GettingStarted/index.html
"ProudNet\lib\x64\v140\Release\libProudNetClient.lib" 대신에 "ProudNet\lib\NDK\r20\cmake\clangDebug\arm64-v8a\libProudNetClient.a"를 참조하게 합니다.
1.4IOS 빌드
IOS의 경우 libiconv.2.tbd 라이브러리의 경로를 추가적으로 지정해 주어야 합니다.(지정해 주지 않으면 빌드 시 iconv 관련 링크 에러 발생)
그림 1-1그림18
우선, 아래 링크를 참조해 주십시오.
https://docs.unrealengine.com/latest/KOR/Platforms/iOS/QuickStart/index.html
"ProudNet\lib\x64\v140\Release\libProudNetClient.lib" 대신에 "ProudNet\lib\IOS\LLVM\arm64only\Release\libProudNetClient.a"를 참조하게 합니다.