20200915のUnityに関する記事は6件です。

【Unity】複数解像度スクリーンショットを一括で撮影する拡張機能

ookawasan2020241977_TP_V.jpg

はじめに

アプリを開発していると申請するときに必要なスクリーンショットを用意するのが大変ですよね。
なので今回は複数解像度を連続撮影できる拡張機能をご紹介します。
手間だなぁと感じている方はぜひご利用いただければ幸いです。

ブログ本文はこちらです。
https://tedenglish.site/unity-ex-multi-screenshots/

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Unity ML-Agent Release6 の環境構築方法とエラー対応

Unity ML-agentsも正式リリースされたことで、とりあえず触ってみようということでまずは環境構築した。

起動するまでにエラーがいくつか出たので、メモをのこしておきました。
誰かのためになればいいのですが・・・。

最終的に正常に動作した環境

種類 バージョン 備考
Windows10 -
ml-agents release 6
python 3.7(3.7.9) 3.8 にするとtensorflow が対応してないので注意

環境構築手順

GitHub にドキュメントがまとめられているのでこれを見るのが吉。
身も蓋もないですが、本家で、現状これより良いものはない気がします。

エラー対応メモ

python と tensolflow のバージョンの問題

ImportError: DLL load failed while importing _pywrap_tensorflow_internal

うーんと思って調べると、tensolflow のバージョンでエラーって言っている人が多かった。
そこで TensorFlow のサイト行ってみてみたら、そもそもPython のバージョンが 3.5-3.7 になっていて、
自分が最新版ならいいでしょって 3.8 でやっていたのがダメだったというオチ。
(Unity ML-Agent は python が 3.6以上となっていたので、3.8 で始めたのだが)
以下で対応。

conda create -n ml-agents python=3.7

ML-Agents と tensorflow のバージョンの相性問題

ImportError: DLL load failed: 指定されたモジュールが見つかりません。

が出てうまくいかない。
調べてみると、ml-agentsとtensorflowのバージョンの相性が悪いのではないかという記事が。
tensorflowのバージョンを2.0にまで下げてさらに実行。
以下で対応。

pip isntall tensorflow==2.0.0

yaml での typo

ValueError: 'pro' is not a valid TrainerType

ググっても全然情報が出てこないと思ったら、yaml ファイルの設定を typo していた。
この後もエラーがいくつが出たが、すべてyaml の typo だった。
設定ファイルは丁寧に書きましょう。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

【Unity】実機ビルドでFrameDebuggerが実行できない時の対処法

経緯

Android実機ビルドをしたところ、描画周りで不具合が見つかりました。
FrameDebugger1を使って1ドローコール毎の処理を確認してみようと思ったら、以下のエラーに遭遇しFrameDebuggerが起動できませんでした。

Failed to enable Frame Debugger on Remote Device: Frame Debugger does not support the current threading mode. Only RenderingThreadingMode.MultiThreaded, RenderingThreadingMode.LegacyJobified and RenderingThreadingMode.NativeGraphicsJobs are supported.

本記事はその備忘録です。

Multithreaded Renderingを設定する必要あり

エラー内容にある通り、ビルド設定のMultithreaded Renderingにチェックを入れる必要があるようです。

環境

  • Unity2019.4.9f1
  • Pixel3XL Android10

  1. UnityEditorのメニューからWindow -> Analysis -> Frame Debuggerで立ち上げます 

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Unityプロジェクトを Bitbucket & SourceTree で管理する方法

Unityプロジェクトを Bitbucket & Sourcetree

Windowsで開発して、iPhone用ビルドのためにMacにプロジェクト同期させる時など、
2台以上のPCで同じUnityプロジェクトを使いたい時用。

新しいプロジェクトを作った時に、
.gitignoreを作らず大量のコミットが発生してしまうことを防ぐ
いつも忘れてて時間かかるので自分用メモ

1.新規リポジトリの作成

 BitBucketにログインして、「Create repository」で新規リポジトリを作成
 非公開リポジトリにチェック
 READMEは要らない
 gitignoreは作成

2.Soucetreeでクローンする

 作成したら、Soucetreeを立ち上げて、「Remote」タブからさっき作ったリポジトリを、置きたい適当な場所に「Clone」する。

3.ローカルリポジトリができているか確認

 指定したディレクトリに.gitignoreだけがあることを確認。

4..gitignoreを編集する

 ・Soucetreeのメニューで「リポジトリ」→「リポジトリ設定」を選択。
 ・でてきたウインドウで「詳細」タブを選択。
 ・リポジトリ固有の無視リストの「編集」ボタンを押して、メモ帳などで開く。
 ・開いた.gitignoreを これ→「https://github.com/github/gitignore/blob/master/Unity.gitignore 」の内容に書き換える。

5..gitignoreをコミット

 変更をすぐにorigin/masterにプッシュするにチェックしてコミット

6.Unityプロジェクトを移動

 管理したいUnityプロジェクトを丸ごと、さっき作った.gitignoreがあるローカルリポジトリに移す

7.Soucetreeでコミット

 未コミット一覧に挙がってくるので、コミットする。
 ・変更をすぐにorigin/masterにプッシュするにチェック

これでUnityプロジェクトの共有必要なものだけをアップし終えたので、
あとはもう一台端末のSoucetreeからCloneできる。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Ml-Agents Release 6 環境構築まとめ【Windows】

こんにちは。すずともです!
最近、学校関係でML-Agentsを触ることがあったのですが、前触ったときといろいろ変わってたので、環境構築のやり方について整理してみました。

使用環境

  • Windows 10 Pro 1909
  • Python 3.7.9 x86-64
    • 最新は3.8.5ですが、ML-Agents(というかvenvなのかな?)は今のところ3.6.x又は3.7.x系のみサポートしてるようなので3.7系の最新バージョンを使いました。
  • Unity 2019.4.10f1(LTS)

参考資料

いろいろな解説サイトあるけど、結局は公式サイトにすべて書いてありました!英語ですがGoogle先生の力も借りながら読みました笑
Installation

流れ

  1. Unityのインストール
  2. Pythonのインストール
  3. ML-Agents Unity packageのインストール
  4. mlagents Python packageのインストール

と公式マニュアルには書いてありますが、1と3、2と4はセットなので、順番入れ替わっても大丈夫です。(2→4→1→3みたいに)

やっていくぞい

1.Unityのインストール

Unity Hubを使って2018.4より新しいものをインストールしましょう。
僕は現時点(2020/9/15)での最新LTS版2019.4.10f1をインストールしました。

Download - Unity

2.Pythonのインストール

公式サイトからPython3.7系の最新バージョンをインストールしました。
「Looking for a specific release?」と書いてある表の中から3.7.x系の一番上にあるやつ(最近更新されたやつ)をダウンロードすればいいと思います。
必ず64bit版(x64-86ってかいてあるやつ)をダウンロードしてください。

Download Python | Python.org

3.ML-Agents Unity packageのインストール

UnityのProjectにpackageをインストールします。
ここが昔と比べて格段に分かりやすくなりましたね。
(昔はbarracudaをインストールしろとか直感的じゃなかった)

UnityでML-Agentsを使いたいプロジェクトを開いてください。

メニューバーから「Window→Package Manager」をクリックして、Package Managerを開いて下さい。
そして、下の画像の赤いところが同じようになっているかを確認します。
image.png

次に、右上の検索ボックスから、「ML-Agents」と検索します。すると、ML Agentsのパッケージが出てくると思うので選択して、右下のインストールボタンからインストールしてさい。

これでML-Agents Unity Packageのインストールは完了です。
(Barracudaなどの依存するパッケージもまとめてインストールしてくれます。)

4.mlagents Python packageのインストール

4-1.仮想環境の構築

ML-AgentsはPythonのいろいろなモジュールを使ってるらしく、既にインストールされているとの被ってたりすると上手く動かないことがあるそう(例えば、numpyモジュールは最新バージョンは対応してない)なので、そこらへん分からない人はおとなしく仮想環境を構築しましょう。
ML-Agentsのバージョンが変わったときにも対応しやすいですし。

前は、Anacondaで環境作るように言われてましたが、今はvenvを使うのが推奨らしいです。

We do not provide support for Anaconda installation on Windows.

ってことで、venv使って仮想環境を構築していきます。

仮想環境の構築方法も公式マニュアルに載ってて、「Using Virtual Environment」に書いてあります。親切!

Pipのインストール

公式の手順にはpipをインストールして!と書いてありますが、どうもPython 3.4以降には標準でインストールされているようなので、割愛します。

pipとは簡単に言うと便利なモジュールの管理ツール(install,update,uninstall etc...)です。

仮想環境作成

まずは仮想環境を保存しておくフォルダを作ります。あらかじめ、フォルダを作りたい場所にカレントディレクトリを移動しておいてください。
僕は自分のユーザフォルダ(C:\Users\ユーザ名)下に作ります。

コマンドプロンプトやPowershellなどで、下記のコマンドを入力してください。
すると、「python-envs」というフォルダが作成されたと思います。

md python-envs

次に、仮想環境を作成します。下記のコマンドを入力してください。
すると、「mlagents-release6」という名前の仮想環境が作成されます。
この「mlagents-release6」という部分は自分の好きな名前に変えてください。ちなみに公式マニュアルでは「sample-env」となってます。

py -3.7 -m venv python-envs\mlagents-release6

次に、先ほど作成した仮想環境を使えるようにします。この操作を「アクティベート」と呼びます。これをしていないと、「あれ、この前モジュールインストールしたのに使えないなぁ」ってなるので気を付けてください。

.\python-envs\mlagents-release6\Scripts\activate

上のコマンドを実行して、下のようにコマンド書くところの前に仮想環境の名前が表示されたらアクティベート完了です。

PS C:\Users\kamekyame>
# アクティベート後↓
(mlagents-release6) PS C:\Users\kamekyame>

ここからは、仮想環境がアクティベートされている前提で進めていきます。

Pipのアップグレード

仮想環境内のpipを最新バージョンにアップグレードしておきます。下記のコマンドを実行してください。

pip install --upgrade pip

人によっては、下のエラーが出るかもしれませんが、とりあえずpipのアップグレードはできてるみたいなので、気にせず、とりあえず放置しておきます。

ERROR: Could not install packages due to an EnvironmentError: [WinError 5] アクセスが拒否されました。

mlagentsのインストール

さいごにmlagentsのインストールです。
ここら辺も昔と比べて随分と楽になって、依存するモジュールもすべてコマンド1行でインストールできるようになりました。
下のコマンドを実行してください。

pip install mlagents

しばらくすると、Successfully installed (いろんなモジュールの名前がいっぱい)と表示されて、インストールが完了します。

このSuccessfully installedの上の方に下記のようなERRORが出る場合があります。

ERROR: After October 2020 you may experience errors when installing or updating packages. This is because pip will change the way that it resolves dependency conflicts.

We recommend you use --use-feature=2020-resolver to test your packages with the new resolver before it becomes the default.

mlagents-envs 0.19.0 requires numpy<1.19.0,>=1.14.1, but you'll have numpy 1.19.2 which is incompatible.
tensorflow 2.3.0 requires numpy<1.19.0,>=1.16.0, but you'll have numpy 1.19.2 which is incompatible.

まぁGoogle先生に聞けば翻訳してくれると思いますが、これは、既にインストールされてたnumpyのバージョンが1.19.0だったけど、mlagents-envsとtensoflowモジュールでは1.16.0~1.19.0(1.19.0は含まない)がサポートされてませんよと言われています。

なので、numpyのバージョンを1.19.0より下のバージョンに変更します。下記のコマンドを実行してください。

pip install numpy==1.18.5

これで環境構築は終わりです!

さいごに

これで環境構築は終わりです!
あとはmlagents-learnコマンドを使うなりして、良い機械学習ライフを。

新しいことをするのに出くわす最初の壁「環境構築」!
ML-Agentsも例外ではなく、ちょっと混乱しますが、公式マニュアルをよく読めばちゃんとできますね。

ML-Agentsは公式マニュアルが充実していて、だいたいは公式マニュアルで知りたいことが分かります。というか、ML-Agentsは仕様変更も多く、昔のバージョンのコードでは使えないこともしばしば。ML-Agentsについて調べるときには、公式を見るか、誰かの記事ならML-Agentsのバージョンを確認してからにするといいと思いますよ!

さいごに使いそうなリンクを少しだけ貼っておきます。
ここまでご覧いただきありがとうございましたm(__)m

リンク集

Unity ML-Agents Github
Unity ML-Agents Release 6 Source code & Sample code download page
Unity ML-Agents Toolkit Documentation ←ここがすべて
Unity ML-Agents Installation Documentation

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Ml-Agents Release 6(0.19.0) 環境構築まとめ【Windows】

ML-Agentsを触ることがあったのですが、前触ったときといろいろ変わってたので、環境構築のやり方について整理してみました。

使用環境

  • Windows 10 Pro 1909
  • Python 3.7.9 x86-64
    • 最新は3.8.5ですが、ML-Agents(というかvenvなのかな?)は今のところ3.6.x又は3.7.x系のみサポートしてるようなので3.7系の最新バージョンを使いました。
  • Unity 2019.4.10f1(LTS)
  • ML-Agents Release 6 (0.19.0)

参考資料

いろいろな解説サイトあるけど、結局は公式サイトにすべて書いてありました!英語ですがGoogle先生の力も借りながら読みました笑
Installation

流れ

  1. Unityのインストール
  2. Pythonのインストール
  3. ML-Agents Unity packageのインストール
  4. mlagents Python packageのインストール

と公式マニュアルには書いてありますが、1と3、2と4はセットなので、順番入れ替わっても大丈夫です。(2→4→1→3みたいに)

やっていくぞい

1.Unityのインストール

Unity Hubを使って2018.4より新しいものをインストールしましょう。
僕は現時点(2020/9/15)での最新LTS版2019.4.10f1をインストールしました。

Download - Unity

2.Pythonのインストール

公式サイトからPython3.7系の最新バージョンをインストールしました。
「Looking for a specific release?」と書いてある表の中から3.7.x系の一番上にあるやつ(最近更新されたやつ)をダウンロードすればいいと思います。
必ず64bit版(x64-86ってかいてあるやつ)をダウンロードしてください。

Download Python | Python.org

3.ML-Agents Unity packageのインストール

UnityのProjectにpackageをインストールします。
ここが昔と比べて格段に分かりやすくなりましたね。
(昔はbarracudaをインストールしろとか直感的じゃなかった)

UnityでML-Agentsを使いたいプロジェクトを開いてください。

メニューバーから「Window→Package Manager」をクリックして、Package Managerを開いて下さい。
そして、下の画像の赤いところが同じようになっているかを確認します。
image.png

次に、右上の検索ボックスから、「ML-Agents」と検索します。すると、ML Agentsのパッケージが出てくると思うので選択して、右下のインストールボタンからインストールしてさい。

これでML-Agents Unity Packageのインストールは完了です。
(Barracudaなどの依存するパッケージもまとめてインストールしてくれます。)

4.mlagents Python packageのインストール

4-1.仮想環境の構築

ML-AgentsはPythonのいろいろなモジュールを使ってるらしく、既にインストールされているとの被ってたりすると上手く動かないことがあるそう(例えば、numpyモジュールは最新バージョンは対応してない)なので、そこらへん分からない人はおとなしく仮想環境を構築しましょう。
ML-Agentsのバージョンが変わったときにも対応しやすいですし。

前は、Anacondaで環境作るように言われてましたが、今はvenvを使うのが推奨らしいです。

We do not provide support for Anaconda installation on Windows.

ってことで、venv使って仮想環境を構築していきます。

仮想環境の構築方法も公式マニュアルに載ってて、「Using Virtual Environment」に書いてあります。親切!

Pipのインストール

公式の手順にはpipをインストールして!と書いてありますが、どうもPython 3.4以降には標準でインストールされているようなので、割愛します。

pipとは簡単に言うと便利なモジュールの管理ツール(install,update,uninstall etc...)です。

仮想環境作成

まずは仮想環境を保存しておくフォルダを作ります。あらかじめ、フォルダを作りたい場所にカレントディレクトリを移動しておいてください。
僕は自分のユーザフォルダ(C:\Users\ユーザ名)下に作ります。

コマンドプロンプトやPowershellなどで、下記のコマンドを入力してください。
すると、「python-envs」というフォルダが作成されたと思います。

md python-envs

次に、仮想環境を作成します。下記のコマンドを入力してください。
すると、「mlagents-release6」という名前の仮想環境が作成されます。
この「mlagents-release6」という部分は自分の好きな名前に変えてください。ちなみに公式マニュアルでは「sample-env」となってます。

py -3.7 -m venv python-envs\mlagents-release6

次に、先ほど作成した仮想環境を使えるようにします。この操作を「アクティベート」と呼びます。これをしていないと、「あれ、この前モジュールインストールしたのに使えないなぁ」ってなるので気を付けてください。

.\python-envs\mlagents-release6\Scripts\activate

上のコマンドを実行して、下のようにコマンド書くところの前に仮想環境の名前が表示されたらアクティベート完了です。

PS C:\Users\kamekyame>
# アクティベート後↓
(mlagents-release6) PS C:\Users\kamekyame>

ここからは、仮想環境がアクティベートされている前提で進めていきます。

Pipのアップグレード

仮想環境内のpipを最新バージョンにアップグレードしておきます。下記のコマンドを実行してください。

pip install --upgrade pip

人によっては、下のエラーが出るかもしれませんが、とりあえずpipのアップグレードはできてるみたいなので、気にせず、とりあえず放置しておきます。

ERROR: Could not install packages due to an EnvironmentError: [WinError 5] アクセスが拒否されました。

mlagentsのインストール

さいごにmlagentsのインストールです。
ここら辺も昔と比べて随分と楽になって、依存するモジュールもすべてコマンド1行でインストールできるようになりました。
下のコマンドを実行してください。

pip install mlagents

しばらくすると、Successfully installed (いろんなモジュールの名前がいっぱい)と表示されて、インストールが完了します。

このSuccessfully installedの上の方に下記のようなERRORが出る場合があります。

ERROR: After October 2020 you may experience errors when installing or updating packages. This is because pip will change the way that it resolves dependency conflicts.

We recommend you use --use-feature=2020-resolver to test your packages with the new resolver before it becomes the default.

mlagents-envs 0.19.0 requires numpy<1.19.0,>=1.14.1, but you'll have numpy 1.19.2 which is incompatible.
tensorflow 2.3.0 requires numpy<1.19.0,>=1.16.0, but you'll have numpy 1.19.2 which is incompatible.

まぁGoogle先生に聞けば翻訳してくれると思いますが、これは、既にインストールされてたnumpyのバージョンが1.19.0だったけど、mlagents-envsとtensoflowモジュールでは1.16.0~1.19.0(1.19.0は含まない)がサポートされてませんよと言われています。

なので、numpyのバージョンを1.19.0より下のバージョンに変更します。下記のコマンドを実行してください。

pip install numpy==1.18.5

これで環境構築は終わりです!

さいごに

これで環境構築は終わりです!
あとはmlagents-learnコマンドを使うなりして、良い機械学習ライフを。

新しいことをするのに出くわす最初の壁「環境構築」!
ML-Agentsも例外ではなく、ちょっと混乱しますが、公式マニュアルをよく読めばちゃんとできますね。

ML-Agentsは公式マニュアルが充実していて、だいたいは公式マニュアルで知りたいことが分かります。というか、ML-Agentsは仕様変更も多く、昔のバージョンのコードでは使えないこともしばしば。ML-Agentsについて調べるときには、公式を見るか、誰かの記事ならML-Agentsのバージョンを確認してからにするといいと思いますよ!

さいごに使いそうなリンクを少しだけ貼っておきます。
ここまでご覧いただきありがとうございましたm(__)m

リンク集

Unity ML-Agents Github
Unity ML-Agents Release 6 Source code & Sample code download page
Unity ML-Agents Toolkit Documentation ←ここがすべて
Unity ML-Agents Installation Documentation

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む