【100个 Unity小知识点】☀️ | Unity 可以在编辑器中读取Excel,打包成exe后就无法读取的问题

2021-10-28 11:09:13 浏览数 (1)

Unity 小科普

老规矩,先介绍一下 Unity 的科普小知识:

  • Unity是 实时3D互动内容创作和运营平台 。
  • 包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助 Unity 将创意变成现实。
  • Unity 平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和3D内容,支持平台包括手机、平板电脑、PC、游戏主机、增强现实和虚拟现实设备。
  • 也可以简单把 Unity 理解为一个游戏引擎,可以用来专业制作游戏!

Unity小知识点学习

Unity 可以在编辑器中读取Excel,打包成exe后就无法读取的问题

问题描述:

  • 项目中涉及到了文件读取的相关操作
  • 项目在Unity下能够正常获取到文件信息并且不报错
  • 项目能够成功打包并且不报错
  • 项目打包成exe后或者apk安装成功后项目无法正常运行。

可能出现的原因:

  1. 文件路径问题。使用的文件路径导致在Unity编辑器中与实际打包后的路径不一致,导致未能加载到Excel文件!
  2. 打包后的exe文件,未能加载到Excel的库文件 导致不能进行Excel的读取!

解决方案:

  1. 出现上述第一个问题的解决方案:
  • 在脚本中使用文件路径的时候尽量使用Application.streamingAssetsPath,而不要使用 Application.dataPath
  • Application.streamingAssetsPath中的文件在打包成exe后依然在依赖的文件夹中,也就是可以正常使用加载
  • 但是 Application.dataPath在打包成exe文件后,其中的文件可能就丢失了!

Application.streamingAssetsPath路径:项目名/Assets/StreamingAssets/ Application.dataPath路径:项目名/Assets/

  1. 出现上述第二个问题的解决方案:
  • 出现这问题是因为Win并没有把Excel的Dll打包进Exe中
  • 所以我们需要进行一个额外的操作:把UnityEditorDataMonolibmonounity目录下的一系列i18n相关dll导入项目中。
  • 为了防止有的小伙伴懒得找或者找不到,我把需要的文件都打包好了
  • 在使用的时候直接把我这个资源导入到工程中,在打包成exe的时候就可以正常加载Excel了!

Excel打包成exe后不能读取的解决方案下载链接:https://download.csdn.net/download/zhangay1998/34613898


0 人点赞