网站建设思维导图,国外设计师灵感网站,网站内容与功能模块设计,广州番禺区有什么好玩的景点推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客 大家好#xff0c;我是佛系工程师☆恬静的小魔龙☆#xff0c;不定时更新Unity开发技巧#xff0c;觉得有用记得一键三连哦。
一、前言
随着项目开发的体量增大#xff0c;要导入大量的素材、UI、模… 推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客 大家好我是佛系工程师☆恬静的小魔龙☆不定时更新Unity开发技巧觉得有用记得一键三连哦。
一、前言
随着项目开发的体量增大要导入大量的素材、UI、模型之类的资源。
需要创建不同的文件夹进行整理便于管理。
就写了一个小工具在导入资源包的时候自动创建文件夹这个包后期还可以增加常用的插件、代码的框架、数据类、单例类、工具类、已经实现的比较完善的功能等。
目前先实现导入资源自动创建文件夹的功能吧。
二、实现自动创建文件夹
2-1、文件夹分类
首先我们需要了解一下文件夹分类的规范。资源如何分类。
Unity的资源有很多比如说动画、贴图、UI、音频、材质球、Shader、预制体、脚本等等。
那么比较常用的分类方式就是 还有一些特殊文件夹
文件夹名详解Resources用于存储需要在运行时动态加载的资源例如音效、纹理、预制件等。这些资源可以通过Unity的Resources API在运行时加载。进底包的资源才可以直接使用Resources APIStreamingAssets放打完的AB包发包的时候这里的会进apk包。该文件夹用于存储需要和应用程序一起打包的数据如视频文件和音乐文件。Plugins第三方库只依赖自己。必须位于 Assets 文件夹的外部。文件夹是另一个特殊文件夹用于存储第三方插件或库。Plugins 文件夹通常包含原生代码或外部库例如 C 代码、动态链接库或共享对象文件等这些文件可被 Unity 编辑器或运行时程序调用。
林新发大佬比较推荐的分类方式 这篇文章就根据一般的文件夹分类方式继续进行了。
2-2、新建CreateProjectFloder.cs类
在Assets/Scripts/Editor文件夹下新建脚本命名为CreateProjectFloder双击打开脚本编辑代码
using UnityEditor;
using UnityEngine;
using System.IO;public class CreateProjectFloder
{/// summary/// 根目录文件夹名多人开发时区分各自的文件夹为空的时候在根目录创建/// /summaryprivate static string _rootFolderName ;/// summary/// 公有文件夹/// /summaryprivate static string _singleFolderArray Resources,StreamingAssets,Plugins;/// summary/// 多人开发各自文件夹/// /summaryprivate static string _folderArray Animation,Audio,Scenes,Texture,Materials,Shaders,Prefabs,Scripts;/// summary/// Asset目录路径/// /summaryprivate static string _assetPath Application.dataPath;/// summary/// 在Project创建指定文件夹/// /summary[MenuItem(Tools/CreateProjectFolder)]public static void CreatAllProjectFolder(){string[] _strArr _folderArray.Split(,);foreach (string str in _strArr){string _folderPath _assetPath / _rootFolderName / str;if (!Directory.Exists(_folderPath))Directory.CreateDirectory(_folderPath);}string[] _singleArr _singleFolderArray.Split(,);foreach (string str in _singleArr){string _folderPath _assetPath / str;if (!Directory.Exists(_folderPath))Directory.CreateDirectory(_folderPath);}//刷新目录AssetDatabase.Refresh();}
}代码没有什么要说的就是简单的创建文件夹刷新目录。
Unity编译后在窗口菜单上就会出现这个菜单栏 但这个不是我们想要的效果我们需要在导入这个资源包的时候自动创建文件夹。
2-3、自动创建文件阿基
导入资源包这里选择一般的unitypackage包拖入到Unity中的方式。
后面还可以通过Unity的Package Manager管理器或者配置manifest.json文件来导入资源包这个以后再说。
接着就是在Assets/Scripts/Editor文件夹下新建脚本命名为AutoCreateFloder双击打开脚本编辑代码
using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;/// summary
/// 自动导入资源创建文件夹
/// /summary
public class AutoCreateFloder : AssetPostprocessor
{static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths){foreach (string s in importedAssets){if (s.Equals(Assets/Scripts/Editor/AutoCreateFloder.cs)){CreateProjectFloder.CreatAllProjectFolder();return;}}}
}选中这个脚本选择Export Paclage导出 导出后新建一个新项目将这个包导入后就会自动创建文件夹了 三、后记
本篇文章实现了在创建项目后导入资源包后自动创建文件夹的功能。
整体来说比较简单代码流程的话对于初学者可能不太理解有什么用。
但是对于开发项目比较多的可以有效的提高效率。
好啦
如果觉得本篇文章有用别忘了点个关注关注不迷路持续分享更多Unity干货文章。 你的点赞就是对博主的支持有问题记得留言
博主主页有联系方式。
博主还有跟多宝藏文章等待你的发掘哦
专栏方向简介Unity3D开发小游戏小游戏开发教程分享一些使用Unity3D引擎开发的小游戏分享一些制作小游戏的教程。Unity3D从入门到进阶入门从自学Unity中获取灵感总结从零开始学习Unity的路线有C#和Unity的知识。Unity3D之UGUIUGUIUnity的UI系统UGUI全解析从UGUI的基础控件开始讲起然后将UGUI的原理UGUI的使用全面教学。Unity3D之读取数据文件读取使用Unity3D读取txt文档、json文档、xml文档、csv文档、Excel文档。Unity3D之数据集合数据集合数组集合数组、List、字典、堆栈、链表等数据集合知识分享。Unity3D之VR/AR虚拟仿真开发虚拟仿真总结博主工作常见的虚拟仿真需求进行案例讲解。Unity3D之插件插件主要分享在Unity开发中用到的一些插件使用方法插件介绍等Unity3D之日常开发日常记录主要是博主日常开发中用到的用到的方法技巧开发思路代码分享等Unity3D之日常BUG日常记录记录在使用Unity3D编辑器开发项目过程中遇到的BUG和坑让后来人可以有些参考。