0

Unity3D の経験がないので、ここで質問します。

ユーザーがある時点でファイルを保存できるようにする Unity3D に組み込まれたアプリケーションがあります。このファイルは、後で使用するためにアプリケーションにロードし直すことができます。アプリの iOS バージョンでは正常に動作します。ただし、webplayer を使用してブラウザーにアプリケーションを埋め込んでいます。

埋め込まれている場合、セキュリティ/ブラウザの制限により、ファイルをアプリケーションにロードできません。

それで、これを修正する方法はありますか、それとも通常の html フォームを使用して、ファイルをアップロードしてアプリケーション内で開くことができるようにする方法はありますか?

どんな助けでも大歓迎です:)

4

1 に答える 1

1

基本的に、この問題を解決するには 2 つの良い方法があります。

1) 最小限の作業で最も簡単なのは、プレーヤーの進行状況データを保存するためにPlayerPrefsを使用することです。スタンドアロン ビルドでも使用でき、ファイルの保存について心配する必要はありません。ただし、Web プレーヤーにはいくつかの制限があります。

WebPlayer
Web プレーヤーでPlayerPrefsは、次の場所にバイナリ ファイルとして保存されます。

Mac OS X: ~LibraryPreferencesUnityWebPlayerPrefs
Windows: %APPDATA%\Unity\WebPlayerPrefs

Web プレーヤー URL ごとに 1 つの設定ファイルがあり、ファイル サイズは 1 メガバイトに制限されています。この制限を超えるとSetIntSetFloatSetStringは値を格納せず、 をスローしPlayerPrefsExceptionます。

ユーザーによる不正行為を防ぐために、値を暗号化することを忘れないでください。

2) WebPlayer の 2 番目のオプションは、サーバーを使用して認証と保存の進行状況を提供することです。Web アプリ、特にFacebookなどの商用プラットフォームではよくあることです。

このオプションは、ユーザーが任意のデスクトップからプレイでき、いつでも自分のセーブデータにアクセスできるため、より汎用性があります。

WebPlayer では、セキュリティの制限により、ユーザーに何かを強制的に保存することは非常に困難です。ユーザーに保存とダウンロードのリンクを提供してから手動で再アップロードするなどのソリューションは、非常に悪いオプションのように思えます。

于 2014-04-28T14:14:36.100 に答える