問題タブ [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.
unity3d - コンソール アプリケーションからの Unity アセットバンドルの解析 (C#)
UnityEngine.dll を使用して、非 Unity プロジェクト (コンソール アプリケーションなど) から Unity アセットバンドルをロード/解析することは可能ですか?
アセットバンドルからプレハブを読み込んで、そこからゲームオブジェクトを取得できるようにしたい...
ここで説明されているように、UnityEngine.dllを参照し、UnitEngine.dllから AssetBundle ヘルパーを操作しようとしました: https://docs.unity3d.com/Manual/LoadingAssetBundles.html
しかし、私のコンソール アプリケーションでは実行されません。おそらく、このコードは Unity 以外では実行できません。次のコードを実行すると
または
次の例外が発生します。
この目的で UnityEngine dll を使用できますか? または、独自のパーサーを作成する必要がありますか?
c# - Unity でのアセットバンドルの読み込みエラー
エラー自体から始めます。1 つ目: 式でアサーションが失敗しました: 'm_UncompressedBlocksOffsets[blockInd] <= from + dstPos && m_UncompressedBlocksOffsets[blockInd] + uncompressedBlockSize >= from + dstPos' UnityEngine.AssetBundle:LoadFromFile(String)
続いて: AssetBundle 'D:/Unity/projects/PQv0.10/Assets/AssetBundles/spritesbundle' のデータの解凍に失敗しました。UnityEngine.AssetBundle:LoadFromFile(文字列)
私はいつも自分のプロジェクトにリソース フォルダーを使用してきましたが、現在のプロジェクトはその方法で対応できる範囲を超えています。そこで、アセット (この場合は 5000 程度のスプライト) をアセットバンドルにオフロードし、実行時に必要に応じてロードしようとしています。私は、assetbundle への参照を取得してから、assetbundle.LoadAsset(assetname) を呼び出して、以前の Resources.Load 呼び出しを置き換えることができると考えました。エラーが発生し続けるアセットバンドル参照を作成しようとする私の試みは次のとおりです。
デューデリジェンスのために、そのアセットバンドルを作成するために使用したコードもここに示します。私のプロジェクトで png を簡単に検索し、それらをアセットバンドルにパックします。
アセットバンドルはエラーなしでビルドされ、あるべきディレクトリに表示されます。ロードしようとしたときに発生するエラー以外に、障害があることを示す兆候はありません。生成されるマニフェストには適切な項目が含まれているため、少なくとも意図したとおりに機能していると思います。関連する情報が不足している場合は、指摘してください。提供するように努めます。
これは、違いが生じるかどうかをテストするために、loadSprites() の代わりに使用したテスト コルーチンです。
c# - 単一の進行状況バーで複数の unity3d アセットバンドルをダウンロードしますか?
複数のアセットバンドルに対して単一のダウンロード進行状況バーを作成しようとしています。すべてのアセットバンドルの合計サイズは、そのwebRequest.GetResponseHeader("Content-Length")
. ただし、www.downloadProgress
は 0 から 1 までの値のみを返します。
サンプルコードは次のとおりです。