問題タブ [assetbundle]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1649 参照

c# - LoadFromCacheOrDownload ファイルが存在する場合にキャッシュからロードする方法

以下のコードを使用しています。バンドルが初めてインストールされる場合にのみ機能します。それ以外の場合は、バンドルが既に存在するというエラーが発生します。私の質問は、バンドルが存在するかどうかを確認する方法です。存在する場合は、キャッシュされたファイルから読み取ります

ありがとうございました

0 投票する
2 に答える
1699 参照

yii2 - アセットバンドルyii2のjsセクションにディレクトリ全体を追加する方法

アセットバンドルyii2のjsセクションにディレクトリ全体を追加する方法

こんな感じになると思います

毎回(cssまたはjsを縮小するときに)アセットバンドルに次のようなものを書きたくないので、これが必要です

書く代わりに、'module.min.js', 'module2.min.js'ディレクトリからすべてのファイルを収集してアセットバンドルに追加する正規表現(ディレクトリ全体を追加する)のようなものを書きたいと思います。$js配列は次のようになります

では、それを実装する方法は?「すぐに使える」ソリューションはどこにありますか? 助けてください。私がこれを尋ねるのは、「私 (gulp やさまざまなミニフィケーターなどを使用している) がアセット バンドルに書き込むのは正常ですmodule.min.cssか? module.min.js

0 投票する
0 に答える
767 参照

c# - Unity の AssetBundle から C# スクリプトを除外する

現在、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'.

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

0 投票する
0 に答える
934 参照

ios - Unity3D アセット バンドル アニメーターの依存関係

問題:

アニメーション コントローラーをパックしているときに、不要な依存関係が大量に発生します。

説明:

そのため、アニメーションとパラメーターをロードしたアニメーション コントローラーがあります。これらのアニメーションはすべて独自の FBX に分割され、Unity のヒューマノイド アニメーション タイプを利用して、アバターをベース キャラクター リグから切り離します。予想どおりですが、実際のアプリケーションにパックされるという事実にもかかわらず、望ましくありません (ベース リグ fbx が追加され、シェーダーなどです)。これは私の最大の問題ではありません。

私の最大の問題は、これらのヒューマノイド アニメーションを利用するさまざまなキャラクターのすべてで使用されるすべてのテクスチャが、アセット バンドルにパックされていることです。

私が試したこと:

-すべてのアニメーションを調べて、テクスチャを操作しているかどうかを確認する

-すべてのテクスチャに、パッキングを指定する「アセット ラベル」がないことを確認します。

-アニメーション コントローラーの依存関係を選択しました。その結果、ベース リグ マテリアル/テクスチャと、ヒューマノイド アニメーションが追加されました (ゲーム オブジェクトとして表示されます)。これは、アセット バンドルにあると私が期待するすべてのものですが、代わりにプロジェクト内のすべてのテクスチャ / マテリアルをパックします。

ここに画像の説明を入力

私ができるテストに関するアイデアや提案があれば、それをいただければ幸いです。

******************アップデート********************

私はこれがすべて間違っていると思います。(バンドルのサイズが小さいことから判断するだけです)iOS / Android用にパックするとき、Unityエディターがプラットフォームを切り替えていると思います。まるでビルド設定に行ったかのように->プラットフォームを切り替え、テクスチャをパックせずに再圧縮し、次にアセット バンドル マネージャーは、それぞれのプラットフォーム用に圧縮されたファイルから取得します。すべてのアセットに対してこれを行う必要があるのは奇妙に思えます。誰かがこれについて洞察を持っているなら、私は感謝します。

更新 -> そのプラットフォーム用のアセット バンドルを構築する前にプラットフォームを切り替えると、ほとんどすべてのパッキング時間が削減されます。上記の主張が正しいと仮定しています。引き続きドキュメントを探しています