- 投稿日:2020-09-15T22:45:22+09:00
【Unity】複数解像度スクリーンショットを一括で撮影する拡張機能
はじめに
アプリを開発していると申請するときに必要なスクリーンショットを用意するのが大変ですよね。
なので今回は複数解像度を連続撮影できる拡張機能をご紹介します。
手間だなぁと感じている方はぜひご利用いただければ幸いです。ブログ本文はこちらです。
https://tedenglish.site/unity-ex-multi-screenshots/
- 投稿日:2020-09-15T21:46:47+09:00
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.7ML-Agents と tensorflow のバージョンの相性問題
ImportError: DLL load failed: 指定されたモジュールが見つかりません。が出てうまくいかない。
調べてみると、ml-agentsとtensorflowのバージョンの相性が悪いのではないかという記事が。
tensorflowのバージョンを2.0にまで下げてさらに実行。
以下で対応。pip isntall tensorflow==2.0.0yaml での typo
ValueError: 'pro' is not a valid TrainerTypeググっても全然情報が出てこないと思ったら、yaml ファイルの設定を typo していた。
この後もエラーがいくつが出たが、すべてyaml の typo だった。
設定ファイルは丁寧に書きましょう。
- 投稿日:2020-09-15T10:32:40+09:00
【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
UnityEditorのメニューから
Window -> Analysis -> Frame Debugger
で立ち上げます ↩
- 投稿日:2020-09-15T10:28:20+09:00
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できる。
- 投稿日:2020-09-15T07:22:28+09:00
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流れ
- Unityのインストール
- Pythonのインストール
- ML-Agents Unity packageのインストール
- mlagents Python packageのインストール
と公式マニュアルには書いてありますが、1と3、2と4はセットなので、順番入れ替わっても大丈夫です。(2→4→1→3みたいに)
やっていくぞい
1.Unityのインストール
Unity Hubを使って2018.4より新しいものをインストールしましょう。
僕は現時点(2020/9/15)での最新LTS版2019.4.10f1をインストールしました。2.Pythonのインストール
公式サイトからPython3.7系の最新バージョンをインストールしました。
「Looking for a specific release?」と書いてある表の中から3.7.x系の一番上にあるやつ(最近更新されたやつ)をダウンロードすればいいと思います。
必ず64bit版(x64-86ってかいてあるやつ)をダウンロードしてください。3.ML-Agents Unity packageのインストール
UnityのProjectにpackageをインストールします。
ここが昔と比べて格段に分かりやすくなりましたね。
(昔はbarracudaをインストールしろとか直感的じゃなかった)UnityでML-Agentsを使いたいプロジェクトを開いてください。
メニューバーから「Window→Package Manager」をクリックして、Package Managerを開いて下さい。
そして、下の画像の赤いところが同じようになっているかを確認します。
次に、右上の検索ボックスから、「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
- 投稿日:2020-09-15T07:22:28+09:00
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流れ
- Unityのインストール
- Pythonのインストール
- ML-Agents Unity packageのインストール
- mlagents Python packageのインストール
と公式マニュアルには書いてありますが、1と3、2と4はセットなので、順番入れ替わっても大丈夫です。(2→4→1→3みたいに)
やっていくぞい
1.Unityのインストール
Unity Hubを使って2018.4より新しいものをインストールしましょう。
僕は現時点(2020/9/15)での最新LTS版2019.4.10f1をインストールしました。2.Pythonのインストール
公式サイトからPython3.7系の最新バージョンをインストールしました。
「Looking for a specific release?」と書いてある表の中から3.7.x系の一番上にあるやつ(最近更新されたやつ)をダウンロードすればいいと思います。
必ず64bit版(x64-86ってかいてあるやつ)をダウンロードしてください。3.ML-Agents Unity packageのインストール
UnityのProjectにpackageをインストールします。
ここが昔と比べて格段に分かりやすくなりましたね。
(昔はbarracudaをインストールしろとか直感的じゃなかった)UnityでML-Agentsを使いたいプロジェクトを開いてください。
メニューバーから「Window→Package Manager」をクリックして、Package Managerを開いて下さい。
そして、下の画像の赤いところが同じようになっているかを確認します。
次に、右上の検索ボックスから、「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