This post is Private. Only a writer or those who know its URL can access this post.

Article information
Show article in Markdown
Report article
Help us understand the problem. What is going on with this article?

①AirSimのダウンロードとビルド作業

トップページへ

本作業について

タイトル通り、「ダウンロード」「ビルド」の2つの作業を行います。
ちなみにこの作業は公式に手順として以下の画像のように記述されています。

参照元:https://github.com/microsoft/AirSim/tree/master/Unity
pic1.PNG

基本的にはこの情報通りに進めていくことになります。
しかし、公式のページには必要最低限の情報しか記載されていません。
そのため、導入の際にはある程度の知識を必要としますし、仮に指示通りに進めても必ずエラーが発生する箇所も存在します。

今回は、初めて当アセットを導入する際に必要な手順を、可能な限り詳しく記載します。

具体的な作業

Unity・Visual Studioの導入は既に前のページで行っていることを前提としています。
もし終わっていないのであれば、先にそちらの記事をご覧ください。

◆手順
①AirSimのダウンロード
②ビルド(1回目)
③ビルド(2回目)

①AirSimのダウンロード

まずは公式からソフト本体をダウンロードしてくる必要があります。
方法は、「直接サイトからダウンロードする」か「gitコマンドを使用する」かの2通りの方法が使えます。

ただ、後者はgitコマンドを使えるように設定する必要があります。
加えて、ダウンロードしたファイルは"System32"内に作られてしまうため、不安が残ります。
gitコマンドに自信がない方は、素直に公式サイトからダウンロードしましょう。

公式サイトからダウンロードする場合にはココにアクセスして、緑色の「Clone or Download」のボタンから「Download ZIP」を選択するとダウンロードできます。
ダウンロード後は解凍して任意の場所にフォルダを配置してください。
また解説の都合上、フォルダ名を「Airsim」にリネームしてください。

gitコマンドを使用する場合には、git clone https://github.com/Microsoft/AirSim.git
とコマンドプロンプトに打ち込んでください。ダウンロード後は[C:\Windows\System32]に配置されています。

②ビルド(1回目)

ここは詰まるポイントなので、丁寧に作業を行いましょう。

1,専用のコマンドプロンプトを立ち上げる

今回の作業は専用のコマンドプロンプトを使用しないと、「ちゃんと指定のアプリで実行してね」と怒られてしまいます。

今回使用するのは、VS 2017 用 x64 Native Tools コマンドプロンプトです。
正しくVisual Studio 2017がインストールされていれば、「スタートメニュー > Visual Studio 2017 > VS 2017 用 x64 Native Tools コマンドプロンプト」にあるはずです。

2,パスを指定して移動する

起動したら、先ほどダウンロードしたフォルダに移動しましょう。cd (ファイルのパス)と打てば移動できます。(例: デスクトップ上のフォルダ「AirSim」に移動したい場合はcd C:\Users\(ユーザ名)\Desktop\AirSim)

よくわからない人はココとかを参考にしてください。CUI(文字でのPC操作)では真っ先に覚えるべき内容なので、知っておいて損はないです。

3,ビルド(1回目)を実行する (take1)

ビルドを行います。…が、必ず失敗します。
このビルド失敗は無駄な行為ではないため、まずはやってみてください。

コマンドラインにbuild.cmdと入力すると、ビルドが始まります。

ここで、ほとんどの人は初回にcmakeのダウンロード/アップデートが発生します。
表示に従ってインストールを行えばまず問題ないでしょう。

正常に進行していれば、ビルドの終わりに以下のようなエラーが出るはずです。

  9 個の警告(黄色)
  9 エラー(赤色)

経過時間 (実際に経過した時間が表示される)

####BUILD failed - see messages above. 

こんな感じのエラーが出れば成功です。(ビルド自体は失敗していますが…)
次のステップに進んでください。

その他のエラー例:日本語のエラーが出て、そもそもビルドが始まらない

日本語のエラーが最初から出てビルド自体がそもそも始まらない場合、「ビルドを行う環境自体がまだ整っていない」ことが原因です。
まずは自分の環境を確認しましょう。

一番多いのが「MSBUILD」に関するエラーです。
どうも"Visual C++"と"Windows SDK 8.1"が正常にダウンロードできていないのが要因のようです。
もう一度"Visual C++ Build Tools"を再インストールしてみてください。
それでもダメだったら"Build Tools for Visual Studio 2017"をインストールして、同様に"Visual C++ Build Tools"をインストールしてから再度コマンドを実行してください。

4.Half.hを修正する

このことは、このページ以外のどのサイトにも一切書いてないので、忘れずに行ってください。

take1のビルドを済ませると、ファイルやフォルダが新たにダウンロードされています。この時、
AirSim\AirLib\deps\eigen3\Eigen\src\Core\arch\CUDA
上に"Half.h"というファイルができます。

このファイルをVisual Studioなどで開き、冒頭のコメント行(1~35行目)を全て削除してください。
これをサボると、次回のビルドでもエラーを吐かれて失敗してしまいます。

エラーの正体

実はこのエラーは「Visual Studioにおいて、英語版以外の一部言語で発生する」という特別厄介なエラーとなっています。
日本語以外にも中国語版で同様のエラーの発生報告がありましたが、その方は海外版Visual Studioをダウンロードすることで回避していました。
エラーの正体は「エンコードエラー」です。Visual Studioでは「コメント行でもURLは自動でリンクしてくれる」という便利な機能があるのですが、このリンク機能によって一部言語では"UTF-16"へ部分的に自動変換されてしまい、元のファイルの"UTF-8"から形式が逸脱してしまうのが原因です。
コメントアウトされている部分がエラー要因になっているのがミソで、デバック作業に慣れている方でも気づきにくいエラーかもしれません。

5,ビルド(1回目)を実行する (take2)

再びビルドを行います。
問題が無ければ、以下の一文が最後の文章となり、ビルドが終了します。

1個のファイルをコピーしました。
途中でエラーが出てビルドが失敗した場合

まずはエラー文を確認して、何が原因なのかを突き止めましょう。幸い赤字で表示されていることが多いため、見返すのはそう難しくないはずです。
2次的な影響でエラーが出ている可能性もあるので、当然一番早く発生したエラーから見ていくのがおすすめです。(プログラマーでしたら常識かもしれませんが…)

ただ、ビルドが正常に開始したのであれば、(前述のhalf.hの一件を対処していない場合を除けば)そうそうエラーが起きることはないと思うので、AirSim自体のダウンロードが失敗した可能性もあります。
AirSimの再ダウンロードも1度は試してみると良いでしょう。

ビルド(2回目)

先ほどと同じ要領で2回目のビルドを行いますが、作業場所が"AirSim内のUnityフォルダ"になります。
1回目と同じように

1,専用のコマンドプロンプトを立ち上げる
2,パスを指定して移動する(cd C:\ … \AirSim\Unity)
3,build.cmdと入力して、ビルドを実行する。

の手順で行ってください。

このビルドは正常に終えることができても、最後の方に「1個の警告」や「buildfailed」を含む文字列が見えて焦るかもしれません。
しかし、終わりから10行目前後に「ビルドが成功しました。」と表示されるので、正常にビルドできたかどうかは、この1文を目印として判断してください。


前のページに戻る    次のページへ進む>

tyo
工業系大学に通う情報科生です。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした