kitsoRik Asked:2020-12-19 00:36:26 +0800 CST2020-12-19 00:36:26 +0800 CST 2020-12-19 00:36:26 +0800 CST 项目文件夹访问 772 是否可以以某种方式从项目文件夹中获取对象?除了 Resources 类和与之相关的所有内容,例如,在 Assets 文件夹中有一个立方体预制 Cube,是否可以在不将其传递到缓存的情况下以某种方式访问此预制?那些。有没有办法得到对象? unity3d 1 个回答 Voted Best Answer vmchar 2020-12-19T19:39:08+08:002020-12-19T19:39:08+08:00 答案可以分为两部分——关于编辑器和关于游戏。 游戏 此处列出的所有功能都可以在编辑器中使用。 您可以使用位于Resources中的资源。从这里您只能读取(下载)文件。在构建项目时,这些文件夹中的所有资源(可以有任意数量的同名资源)被收集到一个二进制资产中。所以资源编辑器是一个虚拟文件夹。 您可以使用来自StreamingAssets的文件。一个很好的教程可以在这里找到。你只能阅读。 可以与Application.presistanDataPath一起读写文件和文件夹。表示应用程序的外部存储。在不同的平台上,这个存储代表不同的路径,但使用它的 API 是相同的。 关于您关于位于 中的预制件的问题,在游戏中,如果该文件不位于或中,Assets/...您将无法访问该文件。ResourcesStreamingAssetsApplication.presistanDataPath 编辑 为游戏列出的所有内容也可以在编辑器中使用。 您可以使用AssetDataBase类,它允许您读取、写入、删除、添加任何文件到 Unity 项目。这不仅适用于预制件,而且也适用于脚本(如果您想使用编辑器生成代码,这可能是唯一可能的解决方案)。 关于您关于Assets/...编辑器中的预制件的问题,您可以使用AssetDatabase.LoadAssetAtPath,它完全沿着项目的路径加载资产。
答案可以分为两部分——关于编辑器和关于游戏。
游戏
此处列出的所有功能都可以在编辑器中使用。
关于您关于位于 中的预制件的问题,在游戏中,如果该文件不位于或中,
Assets/...
您将无法访问该文件。Resources
StreamingAssets
Application.presistanDataPath
编辑
为游戏列出的所有内容也可以在编辑器中使用。
关于您关于
Assets/...
编辑器中的预制件的问题,您可以使用AssetDatabase.LoadAssetAtPath,它完全沿着项目的路径加载资产。