Live2DモデルをUnityのStreamingAssetsフォルダに置くとインポートが失敗する件

スポンサーリンク
Live2D
スポンサーリンク
↑管理人が個人でUnity+Live2Dで作成しているスマホゲームです

Unityは2019.2.1f1を使っています。

スポンサーリンク

Live2Dのモデルを動的に読み込みたい

次のココのコイン落としのバージョンではLive2Dモデルの差し替えを考えており、スクリプトからLive2Dモデルの読み込む方法をこちらのドキュメントを参考にしていたところ・・・StreamingAssetsという見慣れないフォルダ以下を参照する形になっていました。

StreamingAssets

これまでStreamingAssetsというものの存在を知らなかったのですが、これはアプリのインストール先プラットフォームによって弄られる事なくファイルをそのままプロジェクト内に配置したい時に使うフォルダなのだそうです。
そして、先程ドキュメントではStreamingAssetsにモデルファイルを置いているものとして実装されていました。絶対パスを指定してjsonファイルを動的に読み込む形になるようなので、なるほどこのフォルダを使うのが当然かと思われます。

エラー発生


しかし、いざモデルをStreamingAssetsに放り込んだ所、なぜか真っ白なモデルがシーンに生成され「NullReferenceException: Object reference not set to an instance of an object Live2D.Cubism.Editor.Importers.CubismImporter」みたいなエラーが出てしまいました。
なにかおかしいと思いStreamingAssets内を見てみると、インスペクタが空っぽの破損したprefabと、なぜかエクスプローラでのアイコンのままで表示されているテクスチャファイルを見つけました。
ちょっと調べてみると、どうやらStreamingAssetsにファイル(画像など)を直接インポートさせると問題が起こるらしいです(何じゃそりゃ)。
なのでStreamingAssetsに何かを置きたい時は、まず他のフォルダでインポートしてからこっちに移すという手順が必要だそうです。
そんなのわかるか!怒
ちなみに、StreamingAssets内にあるファイルに何か操作を加えるのもNGらしいです。
操作したい時はStreamingAssetsの外に移動して変更を加えてから戻しましょう
今回用事があるのはLive2Dモデルのプレハブではないのでこのエラー(インポート失敗)は問題ないのかもしれませんが、何か気持ち悪いし何が起こるかわからないので大人しく外のフォルダにインポートしてから持ってくる事にしました。

1 Star2 Stars3 Stars4 Stars5 Stars (1票 平均: 5.00)
読み込み中...

コメント

広告ブロッカーを無効にしてください。

タイトルとURLをコピーしました