1

現在、WinRT プラットフォーム用の Unity3D を使用してアプリケーションを構築しています。私は2つのプロジェクトを持っています:

  1. AssetBundle をダウンロード/ロードし、そこからシーンを開くことができるメイン プロジェクト。
  2. プロジェクト 1 でロードできるアセットバンドルを生成する複数のシーンを持つプロジェクト。

アプリケーションをビルドするたびに、すべてのスクリプトがコンパイルされ、最終的に AssetBundle から除外されます。これは、プロジェクト 2 がプロジェクト 1 で定義された共有スクリプトを使用できるように強制できるが、カスタム スクリプトを作成できないため、まさに私が望んでいることです。(同じ名前を付けるだけで、Unity はプロジェクト 1 で AssetBundle をロードするときに正しいスクリプトを自動的にロードします)。

しかし、Project2 で async/await コードを使用したり、他の WinRT 関数を使用したりすると、AssetBundles をコンパイルするときにコンパイル エラーが発生します。最終的にはスクリプトが含まれないため、理由はよくわかりません。(Project2 では定義されているが Project1 では定義されていないスクリプトをロードすると、「スクリプトが見つかりません」というエラーが表示されますが、これは予想されることです)。

したがって、基本的には、スクリプトへのリンクを使用して AssetBundle を作成できるようにする必要がありますが、スクリプトをコンパイルする必要はありません (コンパイルされたスクリプトは Project1 に存在するため)。

また、「UNITY_EDITOR」属性を定義しようとしました([編集]> [プロジェクト設定]> [プレーヤー]の下)(私の非同期/待機コードは、コンパイル時にコードの一部を省略するためにそれを使用しているため)が、それができない場所でさらに多くのエラーが発生します特定の名前空間をもう見つけます。例: using UnityEngine.VR.WSA.Sharing;エラーを示します:error CS0234: The type or namespace name 'Sharing' does not exist in the namespace 'UnityEngine.VR.WSA'.

この問題を解決/回避する方法を知っている人はいますか?

4

0 に答える 0