3월경쯤 연구실에 있는 시뮬레이터용 데스크탑으로 어찌저찌 AirSim을 위한 언리얼 환경을 만들어내는 것은 해냈었는데, 그동안 놓고 있다가 약 반년쯤 지난 지금 다시 해보려니 어떻게 했었는지 기억이 안나는 것이다. 내 기억력을 과신해선 안된다는 사실을 다시 한번 실감하면서 찬찬히 과정을 여기 기록해보기로 한다.
제일 먼저 필요한 것은 역시나 Microsoft AirSim. git clone으로 원하는 디렉토리에 다운로드하였다. Script fail의 우려가 있으므로 C가 아닌 D 혹은 E에서의 클론을 권장하고 있기에, D 드라이브에 클론하였다.
https://github.com/microsoft/AirSim
또한 Unreal Engine 환경에서 진행하기 때문에 Epic game Launcher를 깔고, 런처 실행 후 필요한 버전의 Unreal Engine을 받아줘야 한다. 최신은 4.24로 업그레이드되었다. https://www.unrealengine.com/ko/get-now
Build AirSim
Unity 환경에서의 구축과 마찬가지로, 현재 컴퓨터엔 Visual Studio 2017가 설치되어 있기 때문에 VS 2017용 네이티브 도구 명령 프롬프트를 실행하여, 클론한 해당 디렉토리로 이동한다.
빌드를 시도하던 차, 최근 2019로 업그레이드 된 사실을 알게 되었다. 2019를 설치하고 (C++, Windows 10 SDK, .NET 포함) VS 2019 명령 프롬프트로 클론된 디렉토리로 이동하여 build.cmd를 실행하였다. 언리얼 프로젝트에 드롭될 플러그인이 준비되었다.
Build Unreal Project
기존 제공되는 Built-in Blocks Environment와 새 Unreal Environment를 작성하는 두 옵션에서, 최종적으로는 건설 현장 환경을 구축하고 드론 시뮬레이션을 하고 싶기 때문에, 새로운 언리얼 프로젝트를 작성하였다. 언리얼 버젼 4.24로 진행하였다.
파일 메뉴에서 새로운 C++ 클래스를 작성하게 되면 Visual Studio에서 sln으로 오픈할 수 있게 된다. AirSim/Unreal 내 Plugins 폴더를 해당 언리얼 프로젝트의 폴더 안에 복사함으로서 해당 언리얼 프로젝트에서 AirSim 플러그인을 사용할 수 있게 된다.
Visual Studio 2017과 2019가 같이 깔려있었기 때문에, Unreal Project를 2019에서 사용하기 위해 커맨드창에서 이하의 명령어를 실행시켜 주었다. update_from_git.bat 의 디폴트가 2017로 되어있기 때문이다. 이 과정을 해주지 않으면 에러가 발생한다. (익스플로러의 프로젝트명 오른쪽에서 2017이 표시되어있진 않은지 확인한다.)
C:\Program Files\Epic Games\UE_4.24\Engine\Binaries\DotNET\UnrealBuildTool.exe -projectfiles -project=<your.uproject> -game -rocket -progress -2019

.uproject 를 이하와 같은 구성으로 편집한다.
{
"FileVersion": 3,
"EngineAssociation": "4.24",
"Category": "Samples",
"Description": "",
"Modules": [
{
"Name": "LandscapeMountains",
"Type": "Runtime",
"LoadingPhase": "Default",
"AdditionalDependencies": [
"AirSim"
]
}
],
"TargetPlatforms": [
"MacNoEditor",
"WindowsNoEditor"
],
"Plugins": [
{
"Name": "AirSim",
"Enabled": true
}
]
}
Unreal Engine Project File을 우클릭 후, Generate Visual Studio Project Files을 실행시킴으로서 플러그인을 sln에 적용할 수 있게 된다. 이후 .sln파일을 2019로 실행, DebugGame Editor와 Win64로 설정한 후 빌드를 하게 되면 언리얼 프로젝트가 실행된다.
언리얼 프로젝트 실행 뒤 수순
https://microsoft.github.io/AirSim/unreal_custenv/
아웃라이너에서 Player Start를 찾아 설정을 확인해주고, Window/World Settings에서 AirSimGameMode로 설정한 뒤 플레이해주면, AirSim 동작을 확인할 수 있다.