Microsoftが公開しているAirSimをUbuntuで使おうと思ったときに、公式の手順通りではうまくいかなったため、自分が行った方法を書く。
環境
OS | UnrealEngine |
---|---|
Ubuntu 20.04 | UnrealEngine4.27.2 |
事前準備
AirSimを動かすためにはまずUnrealEngine(ver.4.27)とVisual Studio Codeをインストールする必要がある。
UnrealEngineのインストール方法は別でQiitaの記事を書いているので、そっちを読んでほしい。
UnrealEngine
UnrealEngineをUbuntuで使う
Visual Studio Codeは記事を書いている人が多いのでその記事or公式サイトを見てほしい。参考に貼っとく。
Visual Studio Code
Visual Studio Code on Linux
UbuntuにVSCodeをインストールする3つの方法
AirSim APIsのインストールをしようと思っている人はAnacondaのインストールも必要。
AirSimのダウンロードとビルド
準備ができたらAirSimをAirSimのGithubからダウンロードする。以下コマンドを実行する。
$git clone https://github.com/Microsoft/AirSim.git
ダウンロードできたら以下のコマンドを実行する。
$cd AirSim/
$./setup.sh
$./build.sh
./setup.sh
を実行して
************************************
AirSim setup completed successfully!
************************************
./build.sh
を実行して
==================================================================
AirSim plugin is built! Here's how to build Unreal project.
==================================================================
All environments under Unreal/Environments have been updated.
For further info see:
https://github.com/Microsoft/AirSim/blob/master/docs/build_linux.md
==================================================================
と出たら完了。
サンプルプロジェクトの実行
AirSimにはBlocksという名前のサンプルプロジェクトが入っているが、これの実行が一番苦労した。
プロジェクトはAirSim/Unreal/Environments/Blocks
に入っており、Blocksの中は以下の画像のようになっている。
ここに入っているBlocks.uproject
がUnrealEngineのプロジェクト。
これを実行するためにUnrealEngineを起動する。
- 「さらに表示」を選択。
- 「ブラウズ...」を選択。
-
Blocks.uproject
を選択して開く。
- 「より多くのオプション」を選択。
- 「同じ場所で変換」を選択。(英語だとConvert-In-Place)
すると、プロジェクトの変換が始まる。公式はこれでできると言ってるができない。
下の画像のようなダイアログが出てくるが、要はコンパイル失敗してプロジェクト変換できなかったということ。
変換に失敗するとディレクトリの中は以下の写真のようになる。
ここで修正するためにVisual Studio Codeが必要になる。
ディレクトリの中にあるBlocks.code-workspace
を開くと、Visual Studio Codeが起動する。
起動したら、「Run and debug」を選択(写真の赤矢印)。
一覧からBlocksEditor(Development)(Blocks)
を選択して実行(写真の黄矢印)。
すると、UnrealEngineが起動しプロジェクトが実行できる。
この作業を行えば次からは下の画像のように最近のプロジェクトから実行できる。
AirSim APIsのインストール
APIのインストールは公式からAnaconda環境でやることが推奨されているので、Anacondaで環境を作ってから行う。
PythonのバージョンはPython3.5以上となっているが、一部のコードはPython2.7でも動くらしい。
まずはAnacondaで環境を作る。
$conda create -n airsim python
$conda activate airsim
作成した環境に切り替えたら、公式のとおりにコマンドを打つとエラーが出るので(主にairsimのインストールで)、以下を先に実行する。
$pip install numpy
$pip install backports.ssl_match_hostname
次に以下を実行。
$pip install msgpack-rpc-python
$pip install airsim
これでエラーなくインストールすることができるはず。
参考
Build AirSim on Linux
コンパイルエラーでUE4プロジェクトが開けない場合の対処法
AirSim APIs