Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Unity如何处理导出游戏中的文件夹和文件?_C#_Unity3d_Unity5_Blender - Fatal编程技术网

C# Unity如何处理导出游戏中的文件夹和文件?

C# Unity如何处理导出游戏中的文件夹和文件?,c#,unity3d,unity5,blender,C#,Unity3d,Unity5,Blender,我对Unity的游戏开发非常陌生,我想知道Unity的“导出游戏”功能是如何工作的。我还没有在unity中使用这个函数,但我已经读到它将从您的整个游戏中生成一些.exe文件。我还读到它将创建一个“数据”文件夹或类似的东西 我的问题是:这个“数据”文件夹中到底存储了什么?我如何编写逻辑,将我自己的文件(例如,包含保存状态、设置、配置等的文件)保存在该目录下的某个文件中(该文件随后随完整游戏一起提供/在用户首次保存游戏后在本地游戏目录中创建),例如,是否可以将这些文件保存在相对路径中(例如…/MyG

我对Unity的游戏开发非常陌生,我想知道Unity的“导出游戏”功能是如何工作的。我还没有在unity中使用这个函数,但我已经读到它将从您的整个游戏中生成一些.exe文件。我还读到它将创建一个“数据”文件夹或类似的东西

我的问题是:这个“数据”文件夹中到底存储了什么?我如何编写逻辑,将我自己的文件(例如,包含保存状态、设置、配置等的文件)保存在该目录下的某个文件中(该文件随后随完整游戏一起提供/在用户首次保存游戏后在本地游戏目录中创建),例如,是否可以将这些文件保存在相对路径中(例如…/MyGame/data/savegames)

我可以创建哪些类型的文件?文本/二进制文件?或者我甚至可以使用一些关系数据库(一些小型数据库,如HSQLDB)

模型、声音、动画和其他资产是如何处理的?它们都打包在我的完整游戏的.exe文件中吗?或者我有一些单独的文件夹和附带的游戏吗

谢谢!

数据文件夹(命名与exe文件相同,但最后是
\u data
,而不是
.exe
,它包含实际运行游戏的数据(即使是一个空白的Unity项目也会有这些数据!Unity引擎本身会编译为多个DLL)以及您可能拥有的任何数据(提示:停止使用资源,改用)

省略这个文件夹将是非常糟糕的

至于从硬盘读取/写入其他数据(这在所有平台上都是不可能的——看看您的web部署)我建议您使用自己的文件夹,例如
RuntimeData
,其中可能包含外部音频、图像或视频文件以及可变数据,如音频或屏幕截图。您可以在用户修改时使用几乎所有内容,而不必严重破坏内容(现在“正在”进行修改)

至于文件类型:嗯,这取决于你,真的!创建文本文件(任何扩展名:xml、html、dat、qqq…)非常容易。图像往往通过第三方脚本完成(你真的想编写自己的JPG转换器吗?视频,同样的事情)。您也可以使用自己选择的格式。唯一的困难是为数据编写序列化程序和反序列化程序,这将随着数据复杂性的增加而增加难度

你有完全的文件系统访问权限*因此你可以在任何地方进行实际的读写。这就是我们所说的C#。但强大的力量带来巨大的责任


*注意:移动设备对这种事情非常反感,并且会拒绝访问明确指定给该应用程序的文件夹以外的文件夹。

您可以查看本教程:谢谢。我们会看一看。您应该标记正确答案