★お知らせ(2023/12/27)
いつもLive2D公式コミュニティをご利用いただき誠にありがとうございます。
本コミュニティは2023年12月27日 11:00をもって閉鎖いたしました。
今後の運営はすべて新Live2D公式クリエイターズフォーラムに移行します。
閉鎖に伴い、以下機能は利用不可となります。
・アカウントの新規作成
・トピック投稿、返信
たくさんのご利用誠にありがとうございました。
新Live2D公式クリエイターズフォーラムは以下バナーよりご利用いただけます。
なお、本コミュニティに投稿されたトピックはすべて残りますが、今後削除する可能性がございますので予めご了承ください。
閉鎖に関するお問い合わせにつきましてはLive2D公式クリエイターズフォーラムへご連絡ください。
いつもLive2D公式コミュニティをご利用いただき誠にありがとうございます。
本コミュニティは2023年12月27日 11:00をもって閉鎖いたしました。
今後の運営はすべて新Live2D公式クリエイターズフォーラムに移行します。
閉鎖に伴い、以下機能は利用不可となります。
・アカウントの新規作成
・トピック投稿、返信
たくさんのご利用誠にありがとうございました。
新Live2D公式クリエイターズフォーラムは以下バナーよりご利用いただけます。
なお、本コミュニティに投稿されたトピックはすべて残りますが、今後削除する可能性がございますので予めご了承ください。
閉鎖に関するお問い合わせにつきましてはLive2D公式クリエイターズフォーラムへご連絡ください。
Live2D Cubism 2.0β SDK のサンプルを出力して実行した際、起きるエラーについて
unity 用SDKに付属されているサンプルを使用してiPhoneに出力していろいろ試そうとしているのですが、エラーが発生して試せません。
これが、通常状態で、iOS,Androidでアプリを実行する場合、別途対応がいるのでしょうか?
また、なにかunityないし、xcodeでの設定、実行環境を見直せば、治る問題でしょうが?
ご回答よろしくお願い致します。
-------------------------------------------------------
◆使用しているSDK
Live2D_SDK_Unity_2.0.00_beta_2_jp
◆使用したサンプル
SampleApp1
◆使用しているunity ver
4.5.2
◆使用しているxcode
5.1.1
◆使用したiPhone
A1332:iPhone 4 (GSM モデル)
iOS:7.1.1
◆表示されるエラー
上略
UnauthorizedAccessException: Access to the path "/var/mobile/Applications/9380E581-77AC-484E-B437-F81EEB7D4E74/ProductName.app/Data/Raw/live2d/wanko/wanko.model.json" is denied.
at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean anonymous, FileOptions options) [0x00000] in :0
at System.IO.FileStream..ctor (System.String path, FileMode mode) [0x00000] in :0
at FileManager.LoadString (System.String path) [0x00000] in :0
at PlatformManager.loadString (System.String path) [0x00000] in :0
at LAppModel.LoadFromStreamingAssets (System.String dir, System.String filename) [0x00000] in :0
at LAppModelProxy.Awake () [0x00000] in :0
◆原因
StreamingAssets の何かと思っています。
これが、通常状態で、iOS,Androidでアプリを実行する場合、別途対応がいるのでしょうか?
また、なにかunityないし、xcodeでの設定、実行環境を見直せば、治る問題でしょうが?
ご回答よろしくお願い致します。
-------------------------------------------------------
◆使用しているSDK
Live2D_SDK_Unity_2.0.00_beta_2_jp
◆使用したサンプル
SampleApp1
◆使用しているunity ver
4.5.2
◆使用しているxcode
5.1.1
◆使用したiPhone
A1332:iPhone 4 (GSM モデル)
iOS:7.1.1
◆表示されるエラー
上略
UnauthorizedAccessException: Access to the path "/var/mobile/Applications/9380E581-77AC-484E-B437-F81EEB7D4E74/ProductName.app/Data/Raw/live2d/wanko/wanko.model.json" is denied.
at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean anonymous, FileOptions options) [0x00000] in :0
at System.IO.FileStream..ctor (System.String path, FileMode mode) [0x00000] in :0
at FileManager.LoadString (System.String path) [0x00000] in :0
at PlatformManager.loadString (System.String path) [0x00000] in :0
at LAppModel.LoadFromStreamingAssets (System.String dir, System.String filename) [0x00000] in :0
at LAppModelProxy.Awake () [0x00000] in :0
◆原因
StreamingAssets の何かと思っています。
0
コメント
背景のロッカーが表示されている状態でハングしている
・Mac OXS、Windows 用にビルドして実行した場合は、問題なく実行できます。
・iPhoneエミューレーターでも、起動実行できています。
よろしくお願い致します。
反応が遅れて申し訳ありません。
こちらで確認したところ、確かに表示できませんでした。
原因としては、2.0βで試験的に導入したStreamingAssetsのせいだと思われます。
2.0βでは、従来のファイルの読み込みを、UnityのResourcesクラスを利用した方法から、C#のInputStreamに変更しました。
UnityはAssets内に特定の名前のフォルダが有る場合、特殊な処理を行います。
StreamingAssetsはそのひとつで、この中に入れられたファイルは、どのプラットフォーム向けにビルドしてもすべてそのままの形で書き出されるため、ビルド後も外部からのファイルの操作が容易です。
※StreamingAssetsの詳細はこちらを→ http://docs-jp.unity3d.com/Documentation/Manual/StreamingAssets.html
ですが、これがよくなかったようで、試しにこれを元のResources.Load()の方式に戻したら、iPhone4の実機で正しく表示されるようになりました。
正式版のSDKはResourcesクラスからの方式に戻して統一する予定ですが、現在のベータ版のSDKもResourcesクラスでの方式に戻してやれば正しく表示されるようになります。
報告ありがとうございました。
確認ありがとうございました。
また、対応策までありがとうございます。
Resources.Load()で対応を勧めます。
> ファイルは、どのプラットフォーム向けにビルドしてもすべてそのままの形で書き出されるため、ビルド後も外部からのファイルの操作が容易
こちらの利点が、とても良いと思っていますので、StreamingAssetsからの読み込みの対応も引き続き検討してもらえればと思います。
※ .byte を各ファイルにつける手間が大きくて困っているのも事実です。
本当にありがとうございました。
http://forum.unity3d.com/threads/accessing-files-in-streamingassets-on-ios-access-denied.261994/
情報ありがとうございます。
早速、調べてみます。
それが、iPhoneエミューレーターで動くのに実機では動かないの差なのかと、思ったりしました。
Cubism Editor 2.0、Cubism SDK 2.0 のリリースおめでとうございます。
そして、ありがとうございます。
早速、使わせて貰います。
UnauthorizedAccessExceptionとなります。
ReadOnlyな読み込みにすればエラーにならないのではないかと予想しています。
参考 http://forum.unity3d.com/threads/accessing-files-in-streamingassets-on-ios-access-denied.261994/
テクスチャ読み込みの部分を
//FileStream fs = new FileStream(path, FileMode.Open);
FileStream fs = File.OpenRead(path);
のようにReadOnlyの読み込みにしました。これでテクスチャ部分はOK。
しかし、mocファイルの読み込みの方は手が入れられません。
Live2DModelUnity.loadModel()
こちらの中を見ていくと、同じくFileStreamを使っているようです。
こちらも書き換えてみて、動作確認したいところで止まっております。
・iOSでStreamingAssetsからのモデルとテクスチャロードの状況はどうなっていますか?
・Live2DModelUnity.loadModel()の中をこちらで書き換えることはできますか?
(TrueColorを使わずに、よりサイズの小さいテクスチャ
できれいに実機で表示できることを期待して、StreamingAssetsを検証しています)
ご確認、よろしくお願いします。
不具合報告ありがとうございます。
こちらの確認不足でした、申し訳ございません。
次回更新時に修正させて頂きます。
それまでは、loadModel()はbyte[]型で渡すこともできるため、モデルのロード部分を以下のようにして回避しておいてください。
live2DModel = Live2DModelUnity.loadModel(TextureUtil.LoadBin(dataDir + MODEL_PATH)); // LoadBinはpublicなメソッドにしておく
お返事ありがとうございます。
iOS端末にて、エラーにならず表示されることを確認しました。
ありがとうございました。