Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

This article is a Private article. Only a writer and users who know the URL can access it.
Please change open range to public in publish setting if you want to share this article with other users.

More than 5 years have passed since last update.

②Unityへのインポート作業~実行

Last updated at Posted at 2019-08-26

トップページへ

##本作業について
実際に外部アセットとしてUnity上で読み込み、とりあえず実行できるところまで進めていこうと思います。

######クラッシュについて
「AirSim on Unity」には致命的な仕様があります。
それは、CarDemo,DroneDemo(車・ドローン用のシーン)を直接実行しようとすると、Unityがクラッシュしてしまうというものです。
「AirSim on Unity」では、SimModeSelecter(モードセレクト用のシーン)内で必要な情報を処理してから、各シーンに遷移してシミュレータを実行する仕様であるため、このようなクラッシュが発生します。
そのため、実行時は必ず"SimModeSelecter"シーンから実行してください。

尤も、「AirSim on Unity」では、設定を試行錯誤する際にUnityのクラッシュに遭遇することが多々あります。クラッシュが発生しても、プロジェクトやPCが壊れることはないので、落ち着いてUnityを再起動しましょう。
また、保存はこまめに行ってください。クラッシュ前に保存していない「シーンでの作業」や「プロジェクト設定」は、クラッシュ時に消えてしまいます。

##具体的な作業

◆手順
①AirSimのインポート
②「x64」ファイルの削除
③シーン設定
④.NETの変更
⑤実行してみる

##①AirSimのインポート
まずはUnityのプロジェクトを新規作成してください。
プロジェクト名は任意ですが、必ずバージョン"2018.2.21f1"で作成してください。

新規作成が終わったら、AirSimフォルダ内の「Unity」フォルダをUnityにドラック&ドロップしてください。
1.png
あとはインポート作業を勝手にUnityが行ってくれます。

インポート後に外部アセットを使っている旨を警告として12個ほど受けますが、無視して進めても問題ありません。エラーはこれから1つずつ直します。
また、これ以降の作業は全てUnity内で行ってください。

##②「x64」ファイルの削除
Unityフォルダ内には32ビット版と64ビット版の両方の.dllファイルが混在しているため、このままでは実行できません。
そのため、64ビット版をファイルごと削除してしまいましょう。
64ビット版ファイルは「x64」というファイルに入れられており、以下の2か所に存在します。
・Assets→Unity→AirLibWrapper→
・Assets→Unity→AirLibWrapper→AirSimWrapper→
これらに存在する、計2つの「x64」フォルダを削除してください。

##③シーン設定
AirSimが定めた位置に各シーンを置かない場合、後述の実行時にシーンが正常に遷移しません。
Unityフォルダ内に存在する「Scenes」に入っている3つのシーン(CarDemo,DroneDemo,SimModeSelecter)を、デフォルトで作成されている「Scenes」フォルダに移動してください。

元の場所:Assets→Unity→UnityDemo→Assets→Scenes
移動先:Assets→Scenes
2.png

また、シーンを遷移させるために、ビルド設定からシーンを追加する必要があります。
メニューバーの「ファイル」から「ビルド設定…」を開き、"DroneDemo"シーンを開いた状態で「シーンの追加」を押してください。「ビルドに含まれるシーン」に追加されればOKです。
同様の作業を"CarDemo"シーンでも行ってください。
3.png

上記の作業が終わったら、忘れないうちに"SimModeSelecter"シーンを開いた状態にしておきましょう。(クラッシュ防止のため)

##④.NETの変更
この作業はおまじないだと思ってやってください。
この作業を行わない場合、「時刻に関する機能のエラーが出て実行できない」「モード選択後にクラッシュする」といった問題が発生します。

メニューバーの「編集」から「プロジェクト設定>プレイヤー」を開き、画面の右にインスペクターを表示します。
インスペクター内の設定にある「スクリプティングランタイムバージョン」から「.NET 4.x 相当」を設定してください。
4.png

##⑤実行してみる
ここまでの作業が全て終わったら、"SimModeSelecter"シーンを実行して、[Drone Mode]をクリックしてください。
ドローンのプロペラが回転し、ドローン本体がゆっくり自由落下を始めれば成功です。


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

0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?