Unity项目的资源目录如何组织呢?作为一个初学者,我提供一个基于Resources的简单方案。我们先来分析一下。
首先,一个资源,例如三维模型,Import之后会自动创建一些目录,比如Materials、Texture。我们可以根据自己创建的目录结构来随意移动这些原有内容,比如将材质、贴图和模型文件分别归类整理,但这些操作并不影响模型的使用。其次,整理过后导出为unitypackage后,再次Import到别的项目中则会保留当时Export之前的默认目录。为了保证项目资源之间的方便移植,我们将目录做出规定,所有使用的资源都使用同一种目录结构,这样不同的资源整合就变得容易了。Unity在Import时会自动识别哪些文件是新的,我们只需要勾选这些文件即可。但如果想删除某一个资源的所有相关文件呢?只需要右击想要删除的那个Prefab,选择Select Dependencies选项,Unity会自动找到这些相关文件。
我设置的目录如下图:
我们可以使用Resources.Load函数来导入Resources目录下的资源,当然我们可以写全路径,这样就可以不必要用Resources这个名字。使用用Resources.Load函数将用到的Prefab导入为一个GameObject,然后使用Instantiate函数实例化它。