将文件加载到使用webplayer嵌入的unity3d应用程序中

时间:2014-04-28 12:02:26

标签: unity3d embed unity-web-player

我对Unity3D没有经验,所以我想在这里问。

我有一个Unity3D内置的应用程序,允许用户在某个时刻保存文件。然后可以将此文件加载回应用程序以供以后使用。适用于iOS版本的应用程序。但是我也使用webplayer将应用程序嵌入到浏览器中。

嵌入时我无法将文件加载到应用程序中,因为我认为是安全/浏览器限制。

那么,有没有办法解决这个问题,或者有没有办法获得正常的html表单并允许在应用程序中上传和打开文件?

非常感谢任何帮助:)

1 个答案:

答案 0 :(得分:1)

基本上,您有两种很好的方法可以解决这个问题。

1)最简单的工作是使用PlayerPrefs来存储玩家进度数据。您也可以在独立构建中使用它,然后您不必担心保存任何文件。在网络播放器上,有一些限制:

  

WebPlayer也
  在Web播放器上,PlayerPrefs存储在以下位置的二进制文件中:

     

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

     

每个Web播放器URL有一个首选项文件,文件大小限制为1兆字节。如果超出此限制,SetIntSetFloatSetString将不会存储该值并抛出PlayerPrefsException

值得记住的是确保加密您的值,以防止用户作弊。

2)WebPlayer中的第二个选项是使用服务器来提供身份验证和保存进度。网络应用程序很常见,特别是在 Facebook 等商业平台上。

这个选项更加通用,因为用户可以在任何桌面上玩游戏,并且他总是可以访问他的存储,而使用PlayerPrefs则很难实现。

在WebPlayer上,由于安全限制,强制用户保存任何内容非常困难。像为用户提供保存下载链接然后手动重新上载的解决方案似乎是非常糟糕的选择,无论如何它可能涉及服务器。