[Unity 3 D]AR coreで構築されたファイルが常に停止している場合
ARアイテムだから当然!ARを開発するので環境が良いのかな….確認のためにテスト構築を行い、実際のマシンでテストを行いました.
△アンドロイドスタジオのシミュレータを使ってみましたが、原因が分からず、取り付けが悪いので諦めました.
しかし、もちろんうまくいくわけではなく、「終わり続ける」ことを2度も直面した.
正確に言えば、いっそスクリーンが電源を入れていないうちにまた電源を切った.携帯を動かす
でも解決した!
まず使用する汎用バージョンや各パッケージなど...乙の赤字は以下の通りです.
Unity : 2020.3.23f1
AR Foundation : 4.1.7
ARCore XR Plugin : 4.1.7
試験装置:Samsung Gallaxy S 1+/android 11
交換しなければならないものはすべて交換しましたが、全然開いていません.何か問題があったのか分かりません.ソフトウェアは32ビットバージョンで、携帯電話は32ビット互換性のない携帯電話です.
チェックボックスをオンにすると、上記の問題を非常に簡単に解決できます.
Unityの32 bitバージョンがベースなので、それを確認することが重要です
プロジェクト設定>プレーヤー>(Android)構成>ARM 64チェック
ARMv 7については32ビットシステムではARCOREが動作しないと判断しチェックをキャンセルした
また、64ビットコンストラクションを使用する場合は、上記のスクリプトパッケージの値をIL 2 PPPに変換する必要があります.(でもそのせいか、後で問題が発生しました)
IL 2 PPPでARCOREが作動しない…実は私は正確な理由を知らない.ここで勉強の必要性を感じました
つまり、解決策はこのフォーラムで見つけることができます.これはIL 2 PPPの問題です...
ScriptBeckEndと言っても理解できなかった….
Unityでは、C#を使用してスクリプトを作成しますが、このコードに従ってデバイス上で実行するのは無理なので、マシン言語に変換する必要があります.
monoはC#コードを仲介言語(IL)に変換し、マシン言語に再翻訳して顧客に渡す.
IL 2 PPPはC#コードをILLに変換するのは同じですが、実際にはIL+をC++に変換します.
最終的には高級言語に戻るのは無駄だと思うかもしれませんが、最近はほとんどの機械にC++コンパイラ(高級言語→機械言語)があるので、単独で機械言語に翻訳する必要はありません.
いずれにしても、IC 2 PPPは安全性に優れているので、機械言語に翻訳する必要がなく、迅速な利点があり、64ビット体制と互換性があるので使用していると思います.
上は単点、下はIL 2 PPP、クリックするとアクセスできます
要するに、ソリューションは、Assetフォルダに以下の内容を含むlinkです.xmlファイルを追加します.△既に存在する場合は、修正すればよい.
Unity Technologiesのtdmowrerリンク.xmlを修正させてもらいましたが、そのファイルが全然ないので、いくつかのテーマ記事を参考に追加しました.2019年に次のバージョンが変更されます・・・
+)未使用のモジュールをこのリンクに接続します.xmlファイルからフィルタリングできるそうですが、その部分はreserve部分のようです.まず急いで全部書き直しましたが、私たちのプロジェクトの状況はARKITを使わないので、修正してからテストする必要があるかもしれません.
本当に泣きそうになりました.iosユーザーでさえ...ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ今はもう心配事を置いて、もう一度努力すべきだ...
△アンドロイドスタジオのシミュレータを使ってみましたが、原因が分からず、取り付けが悪いので諦めました.
しかし、もちろんうまくいくわけではなく、「終わり続ける」ことを2度も直面した.
正確に言えば、いっそスクリーンが電源を入れていないうちにまた電源を切った.携帯を動かす
でも解決した!
まず使用する汎用バージョンや各パッケージなど...乙の赤字は以下の通りです.
Unity : 2020.3.23f1
AR Foundation : 4.1.7
ARCore XR Plugin : 4.1.7
試験装置:Samsung Gallaxy S 1+/android 11
32ビットバージョンと64ビットバージョン
交換しなければならないものはすべて交換しましたが、全然開いていません.何か問題があったのか分かりません.ソフトウェアは32ビットバージョンで、携帯電話は32ビット互換性のない携帯電話です.
チェックボックスをオンにすると、上記の問題を非常に簡単に解決できます.
Unityの32 bitバージョンがベースなので、それを確認することが重要です
プロジェクト設定>プレーヤー>(Android)構成>ARM 64チェック
ARMv 7については32ビットシステムではARCOREが動作しないと判断しチェックをキャンセルした
また、64ビットコンストラクションを使用する場合は、上記のスクリプトパッケージの値をIL 2 PPPに変換する必要があります.(でもそのせいか、後で問題が発生しました)
修理しても表示されません..。
IL 2 PPPでARCOREが作動しない…実は私は正確な理由を知らない.ここで勉強の必要性を感じました
つまり、解決策はこのフォーラムで見つけることができます.これはIL 2 PPPの問題です...
IL2CPP? mono?
ScriptBeckEndと言っても理解できなかった….
Unityでは、C#を使用してスクリプトを作成しますが、このコードに従ってデバイス上で実行するのは無理なので、マシン言語に変換する必要があります.
monoはC#コードを仲介言語(IL)に変換し、マシン言語に再翻訳して顧客に渡す.
IL 2 PPPはC#コードをILLに変換するのは同じですが、実際にはIL+をC++に変換します.
最終的には高級言語に戻るのは無駄だと思うかもしれませんが、最近はほとんどの機械にC++コンパイラ(高級言語→機械言語)があるので、単独で機械言語に翻訳する必要はありません.
いずれにしても、IC 2 PPPは安全性に優れているので、機械言語に翻訳する必要がなく、迅速な利点があり、64ビット体制と互換性があるので使用していると思います.
上は単点、下はIL 2 PPP、クリックするとアクセスできます
要するに、ソリューションは、Assetフォルダに以下の内容を含むlinkです.xmlファイルを追加します.△既に存在する場合は、修正すればよい.
preseve
を"none"
から"all"
に変更すればよい.<linker>
<assembly fullname="Unity.XR.ARCore" ignoreIfMissing="1" preserve="all"/>
<assembly fullname="Unity.XR.ARKit" ignoreIfMissing="1" preserve="all"/>
<assembly fullname="Unity.XR.ARFoundation" ignoreIfMissing="1" preserve="all"/>
<assembly fullname="Unity.XR.ARSubsystems" ignoreIfMissing="1" preserve="all"/>
</linker>
Unity Technologiesのtdmowrerリンク.xmlを修正させてもらいましたが、そのファイルが全然ないので、いくつかのテーマ記事を参考に追加しました.2019年に次のバージョンが変更されます・・・
+)未使用のモジュールをこのリンクに接続します.xmlファイルからフィルタリングできるそうですが、その部分はreserve部分のようです.まず急いで全部書き直しましたが、私たちのプロジェクトの状況はARKITを使わないので、修正してからテストする必要があるかもしれません.
本当に泣きそうになりました.iosユーザーでさえ...ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ今はもう心配事を置いて、もう一度努力すべきだ...
Reference
この問題について([Unity 3 D]AR coreで構築されたファイルが常に停止している場合), 我々は、より多くの情報をここで見つけました https://velog.io/@zmin9/Unity3D-AR-core-이용해서-빌드한-파일이-자꾸-실행-중지될-때テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol