質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

WebGL

WebGL(ウェブジーエル)は、ウェブブラウザで 3次元コンピュータグラフィックスを表示させるための標準仕様です。

Q&A

2回答

2329閲覧

UNITY Web上で次のシーンのデータロード方法

MANMARU_KUMA

総合スコア10

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

WebGL

WebGL(ウェブジーエル)は、ウェブブラウザで 3次元コンピュータグラフィックスを表示させるための標準仕様です。

0グッド

0クリップ

投稿2019/03/18 03:46

前提・実現したいこと

UNITY初心者で初投稿です。
UNITY 2DのWebGLなどにて長編ゲームを制作していまして、
容量の都合でシーン10分割ほどを検討しています。
そこで1つわからないことがあり、

■ Web上で次のシーンのデータロード方法

Web上でそのシーンをロードする際、AssetBundleなどを活用するかと思われますが、
最近AssetBundleManagerが非推奨となり、2017.1以降対応しなくなりました。
今後どのような方法が良いのか、またAssetBundle以外に方法があるようでしたら
この素人にご教示いただけると幸いです。説明サイトなどでもかまいません。

Web上のシーンデータロードだけならこのスクリプトを組めば大丈夫。
みたいな感じにはならないですよね….
言葉足らずですいません。

発生している問題・エラーメッセージ

NullReferenceException: Object reference not set to an instance of an object AssetBundles.AssetBundleManager.RemapVariantName (System.String assetBundleName) (at Assets/AssetBundleManager/AssetBundleManager.cs:251)

試したこと

なお、AssetBundleManagerを使った際、上記Nullエラーが出て正しく動作せず、
正常処理を一度も経験したことがありません。
どうぞよろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

MANMARU_KUMA

2019/03/18 06:06

記載の通りAssetBundle以外の方法もお尋ねしております。マニュアルは読み、そこに具体的に明示されていなかったことからの質問となっております。もしマニュアル内にあるのであれば、その場所を具体的に掲示いただけると幸いです。素人ですので、あのマニュアルを汲み取る手法も持ち得ておりません。
guest

回答2

0

WebGLは経験が少ないので参考にならないかもしれませんが、質問への追記・修正欄で書くには長いのでこちらに。

アセットバンドル - Unity マニュアル
こちらの下位ページ(左メニューの「+」アイコンクリックで出て来るリストから遷移)に作成からロードまで記載があります。
とりあえずロードについては「アセットバンドルを使いこなす - Unity マニュアル」参照。

ただ実際最初はコードだけ見せられても分かりにくいと思うので「unity AssetBundle」でGoogle検索しつつ、自分で手を動かすのも必要かと思います。(特にWebGLは情報が少ない印象があるので実験必須かと)


何故ここまでAssetBundle推しかというと、公式に「読み込み時間とメモリ使用量を減らすためにはAssetBundle使え」とお達しがあるからです。
Memory in WebGL - Unity マニュアル

そもそも「Unityにおけるシーンファイル(.unity形式ファイル)」を外部取り込みする場合は(WebGLでなくても)恐らくAssetBundle以外無いんじゃないかと思います(私の知識不足かもしれませんが)。

それ以外のアセット(例えば画像ファイルのみ、シナリオ用テキストファイルのみ)であれば、WebGLでも外部ファイルをロードすることは可能なようです。
C# - Unity WebGLで外部ファイルの読み込みをしたいです|teratail

なので「シーンファイルは全て初期ファイルとしてパック」「画像はWWWで別途ロード」みたいな形にすればいけるかもしれません。

投稿2019/03/18 08:49

sakura_hana

総合スコア11427

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

MANMARU_KUMA

2019/03/18 13:51

ご返答ありがとうございます。お話はおおよそ理解いたしましたので、その情報を元に自分なりにチャレンジしてみようと思います。ただ考察を含め、テスト&ブラッシュなど、それなりに時間がかかると思われますので、結果につきましては後日報告させていただきます。取り急ぎお礼まで。
guest

0

AssetBundleManager

AssetStoreでは更新がストップしておりますが、リポジトリでは有志の方々か2018/10まで更新しております。
オフィシャルはリポジトリの管理を放棄してプルリクエストに対応していないので導入は完全に自己責任です。
もし試す場合はバックアップを取って、今のAssetBundleManagerのディレクトリを削除して導入するようにすると良いと思います。

https://bitbucket.org/Unity-Technologies/assetbundledemo/overview

AssetBundleManagerの代替え案

AssetBundleManagerはAssetBundleGraphToolAddressable Asset Systemに置き換える為、更新がストップしました。この機会に乗り換えをおすすめします。

Addressable Asset Systemが開発途中の為AssetBundleGraphToolをおすすめします。
正式版がリリースされれば乗り換えた方が良いと思います。

▼ AssetBundleGraphTool
[解説動画] https://www.youtube.com/watch?v=33V9Dl3X8Aw
[DL] https://bitbucket.org/Unity-Technologies/assetbundlegraphtool/overview

▼ Addressable Asset System
[解説動画] https://www.youtube.com/watch?v=Rls8e7tZUNE
[DL] Window > Package Managerから導入

投稿2019/03/18 05:56

IShix

総合スコア1724

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

MANMARU_KUMA

2019/03/18 13:56

上記2つについてはお話だけは承知しております。ただ、Addressable Asset Systemが開発途中で、AssetBundleGraphToolが現在可動中ということは知らなかったのでもう少し深く調べてみようと思います。正直Webでのシーン読み込みだけにここまで手こずるとは思っていませんでした。またご報告いたします。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問