Unity修改Project下的Assets的子文件的图标

Unity修改文件夹的图标

示例:
请添加图片描述

在右键可以创建指定文件夹。

github链接
https://github.com/SeaeeesSan/SimpleFolderIconCSDN资源的链接
https://download.csdn.net/download/GoodCooking/89347361
去GitHub下载支持原作者哦。

重要的事情

在这里插入图片描述截图来自GitHub 。

  1. Unity版本是: Unity2019.4 or later
  2. 从GitHub上下载的只能是创建文件夹之后,自己修改名字然后会自动修改图标。修改的图标必须在SimpleFolderIcon/Icons下有对应的图片才会修改,没有对应的图片是不会修改的。
  3. 如果想添加更多风格的文件夹图标,在SimpleFolderIcon/Icons添加图片,然后将图片的名称改为需要修改图标的文件夹名称即可。
  4. 如果修改SimpleFolderIcon的位置,则需要修改IconDictionaryCreator.cs
        private const string AssetsPath = "SimpleFolderIcon/Icons";

的路径。

  1. 自带的文件夹图标有:
Animations
Audio
Editor
Fonts
Materials
Models
Plugins
Prefabs
Presets
Resources
Scenes
Scripts
Settings
Shaders
Sprites
Textures

我自己添加的:

  StreamingAssets    Unity系统定义文件夹 ThirdPartyPlugins   第三方插件CertificateFolder     证书文件夹
  1. 在GIF中右键显示Folder_WithIcon需要添加编辑器脚本CreateCustomStyleFolder.cs
using UnityEngine;
using UnityEditor;
using System.IO;/// <summary>
/// 创建自定义风格的文件夹
/// </summary>
public class CreateCustomStyleFolder : MonoBehaviour
{[MenuItem("Assets/Create/Folder_WithIcon/Animations", false, 10)]private static void CreateAnimationsFolder(){CreateFolder("Animations");}[MenuItem("Assets/Create/Folder_WithIcon/Audio", false, 11)]private static void CreateAudioFolder(){CreateFolder("Audio");}[MenuItem("Assets/Create/Folder_WithIcon/Editor", false, 12)]private static void CreateEditorFolder(){CreateFolder("Editor");}[MenuItem("Assets/Create/Folder_WithIcon/Fonts", false, 13)]private static void CreateFontsFolder(){CreateFolder("Fonts");}[MenuItem("Assets/Create/Folder_WithIcon/Materials", false, 14)]private static void CreateMaterialsFolder(){CreateFolder("Materials");}[MenuItem("Assets/Create/Folder_WithIcon/Models", false, 15)]private static void CreateModelsFolder(){CreateFolder("Models");}[MenuItem("Assets/Create/Folder_WithIcon/Plugins", false, 16)]private static void CreatePluginsFolder(){CreateFolder("Plugins");}[MenuItem("Assets/Create/Folder_WithIcon/Prefabs", false, 17)]private static void CreatePrefabsFolder(){CreateFolder("Prefabs");}[MenuItem("Assets/Create/Folder_WithIcon/Presets", false, 18)]private static void CreatePresetsFolder(){CreateFolder("Presets");}[MenuItem("Assets/Create/Folder_WithIcon/Resources", false, 19)]private static void CreateResourcesFolder(){CreateFolder("Resources");}[MenuItem("Assets/Create/Folder_WithIcon/Scenes", false, 20)]private static void CreateScenesFolder(){CreateFolder("Scenes");}[MenuItem("Assets/Create/Folder_WithIcon/Scripts", false, 21)]private static void CreateScriptsFolder(){CreateFolder("Scripts");}[MenuItem("Assets/Create/Folder_WithIcon/Settings", false, 22)]private static void CreateSettingsFolder(){CreateFolder("Settings");}[MenuItem("Assets/Create/Folder_WithIcon/Shaders", false, 23)]private static void CreateShadersFolder(){CreateFolder("Shaders");}[MenuItem("Assets/Create/Folder_WithIcon/Sprites", false, 24)]private static void CreateSpritesFolder(){CreateFolder("Sprites");}[MenuItem("Assets/Create/Folder_WithIcon/Textures", false, 25)]private static void CreateTexturesFolder(){CreateFolder("Textures");}[MenuItem("Assets/Create/Folder_WithIcon/StreamingAssets", false, 26)]private static void CreateStreamingAssetsFolder(){CreateFolder("StreamingAssets");}[MenuItem("Assets/Create/Folder_WithIcon/ThirdPartyPlugins", false, 27)]private static void CreateThirdPartyPluginsFolder(){CreateFolder("ThirdPartyPlugins");}[MenuItem("Assets/Create/Folder_WithIcon/CertificateFolder", false, 28)]private static void CreateCertificateFolder(){CreateFolder("CertificateFolder");}private static void CreateFolder(string folderName){// 获取鼠标右键点击的位置的路径string assetPath = AssetDatabase.GetAssetPath(Selection.activeObject);if (string.IsNullOrEmpty(assetPath)){assetPath = "Assets";}else if (Path.GetExtension(assetPath) != ""){assetPath = assetPath.Replace(Path.GetFileName(AssetDatabase.GetAssetPath(Selection.activeObject)), "");}// 创建文件夹string newFolderPath = AssetDatabase.GenerateUniqueAssetPath(assetPath + "/" + folderName);AssetDatabase.CreateFolder(assetPath, folderName);AssetDatabase.Refresh();Debug.Log("Created folder at: " + newFolderPath);}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/14036.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【高阶数据结构】跳表

文章目录 跳表1. 什么是跳表-skiplist2. skiplist的效率如何保证&#xff1f;3.skiplist的实现4.skiplist跟平衡搜索树和哈希表的对比 跳表 1. 什么是跳表-skiplist skiplist本质上也是一种查找结构&#xff0c;用于解决算法中的查找问题&#xff0c;跟平衡搜索树和哈希表的价…

Docker安装MongoDB(Linux版)

文章目录 前言一、Docker环境的准备1.安装依赖2.安装Docker 二、使用Docker安装MongoDB1.mongo版本选取2.拉取合适的镜像3.宿主机创建MongoDB需要挂载的文件夹4.第一次无认证创建mongo用户5.启动需要认证的mongo容器 问题汇总总结 前言 本文章主要介绍在Centos系统&#xff0c…

java中的TreeMap类和Hashtable类+Map集合遍历+集合小结

一、TreeMap类 实现了Map接口&#xff0c;元素为键值对、键不可重复、值可重复 特点&#xff1a;可排序 要求&#xff1a;Key类必须实现Comparable接口 底层结构&#xff1a;红黑树 1、可排序 2、常用方法 与HashMap一致 二、Hashtable类 实现了Map接口&#xff0c;元素…

【JVM之打破双亲委派】

Jvm之打破双亲委派 1. 双亲委派2.打破双亲委派 1. 双亲委派 // ClassLoader中的方法 protected Class<?> loadClass(String name, boolean resolve)throws ClassNotFoundException{synchronized (getClassLoadingLock(name)) {// First, check if the class has alread…

【Qt】如何优雅的进行界面布局

文章目录 1 :peach:写在前面:peach:2 :peach:垂直布局:peach:3 :peach:水平布局:peach:4 :peach:网格布局:peach:5 :peach:表单布局:peach: 1 &#x1f351;写在前面&#x1f351; 之前使⽤ Qt 在界⾯上创建的控件, 都是通过 “绝对定位” 的⽅式来设定的。也就是每个控件所在…

kubenetes中K8S的命名空间状态异常强制删除Terminating的ns

查看ns状态为异常&#xff1a; 查看ns为monitoring的状态为Termingating状态 使用方法一&#xff1a; kubectl delete ns monitoring --force --grace-period0 使用方法二&#xff1a; kubectl get ns monitoring -o json > monitoring.json 修改删除文件中的"kubern…

Oracle行迁移解析

行迁移&#xff08;Row Migration&#xff09;是Oracle数据库中的另一个现象&#xff0c;它与行链接类似&#xff0c;都是由于数据行大小的变化导致的存储问题&#xff0c;但其本质和影响有所不同。 触发条件&#xff1a;行迁移发生在当一个已存在的、原先能够完全存储在一个数…

Redis优化笔记

Redis优化 一&#xff1a;Key&#xff1a; 1.1.Key的规范&#xff1a; 测试如下&#xff1a; 1.2.拒绝BigKey&#xff1a; 我们可以用&#xff1a; MEMORY USAGE name命令来看它的大小。 注意&#xff0c;这里的第二种之所以不使用Keys *&#xff0c;因为在实际生产时&#…

强化学习算法

从上图看出&#xff0c;强化学习可以分成价值/策略、随机策略/确定策略、在线策略/离线策略、蒙特卡洛/时间差分这四个维度。这里分析了基础算法中除了在线策略/离线策略以外的其他维度。 &#xff08;一&#xff09;基础知识 一、基础概念 重点概念&#xff1a;状态S、动作A、…

leetcode题目16

最接近的三数之和 中等 给你一个长度为 n 的整数数组 nums 和 一个目标值 target。请你从 nums 中选出三个整数&#xff0c;使它们的和与 target 最接近。 返回这三个数的和。 假定每组输入只存在恰好一个解。 示例 1&#xff1a; 输入&#xff1a;nums [-1,2,1,-4], targ…

Android:使用Kotlin搭建MVC架构模式

一、简介Android MVC架构模式 M 层 model &#xff0c;负责处理数据&#xff0c;例如网络请求、数据变化 V 层 对应的是布局 C 层 Controller&#xff0c; 对应的是Activity&#xff0c;处理业务逻辑&#xff0c;包含V层的事情&#xff0c;还会做其他的事情&#xff0c;导致 ac…

切换分支报错:Untracked Files Prevent Checkout

切换分支报错&#xff1a;Untracked Files Prevent Checkout 分支切换 Untracked Files Prevent Checkout 新起的项目在切换master分支到工作分支时&#xff0c;出现下图的问题&#xff1a; Untracked Files Prevent Checkout Move or commit them before checkout 网上的解决…

回溯算法05(leetcode491/46/47)

参考资料&#xff1a; https://programmercarl.com/0491.%E9%80%92%E5%A2%9E%E5%AD%90%E5%BA%8F%E5%88%97.html 491. 非递减子序列 题目描述&#xff1a; 给你一个整数数组 nums &#xff0c;找出并返回所有该数组中不同的递增子序列&#xff0c;递增子序列中 至少有两个元素…

大数据智慧消防解决方案(24页PPT)

方案介绍&#xff1a; 大数据智慧消防解决方案是提升消防安全管理水平、保障人民群众生命财产安全的重要手段。通过集成物联网、云计算、大数据、人工智能等先进技术&#xff0c;构建集监测、预警、指挥、救援于一体的智慧消防系统&#xff0c;将为消防安全事业注入新的活力。…

工业级3D开发引擎HOOPS:创新与效率的融合!

在当今这个技术日新月异的时代&#xff0c;3D技术已成为推动各行各业发展的重要力量。从工程设计到游戏开发&#xff0c;从虚拟现实到增强现实&#xff0c;3D技术的应用无处不在&#xff0c;它极大地丰富了我们的生活和工作。而在这样的背景下&#xff0c;HOOPS作为一个强大的3…

vue watch深度监听数组每一项的变化

在 Vue 中&#xff0c;watch 选项默认只能监听对象的属性变化&#xff0c;无法直接监听数组的变化 监听数组变化 一般情况下我们监听数组变化&#xff0c;可以监听长度的变化 watch(() > list.value.length, (now, old) > {// 会在数组长度变化时触发 })上面的写法不能…

面试被问到sizeof的概念

面试被问到sizeof的概念 问题1: 定义一个空的类型 ,里面没有任何成员函数,和成员变量,对该类型求sizeof ,得到的结果是多少? 问题2: 如果在该类型中添加一个构造函数和析构函数呢? 问题3:如果将析构函数标记为虚函数呢? 解答: struct student{}; struct student stu; s…

爬虫技术升级:如何结合DrissionPage和Auth代理插件实现数据采集

背景/引言 在大数据时代&#xff0c;网络爬虫技术已经成为数据收集的重要手段之一。爬虫技术可以自动化地从互联网上收集数据&#xff0c;节省大量人力和时间成本。然而&#xff0c;当使用需要身份验证的代理服务器时&#xff0c;许多现有的爬虫框架并不直接支持代理认证。这就…

CSS动画技术(css-animation)

掌握CSS动画技术 一、CSS动画基础 1. 什么是CSS动画&#xff1f; CSS动画是一种在网页上创建动态效果的技术&#xff0c;通过CSS样式规则来实现元素的平滑过渡和变换。CSS动画通过改变属性值来控制元素的动态外观&#xff0c;如位置、大小、颜色、透明度等。 2. CSS动画与传…

mongoDB初体验

概念 NOSQL not only SQL 文档型数据库&#xff0c;按列存储&#xff0c;分布式架构&#xff0c;批量写入性能好 教程学习札记 db.getCollection("111").find({"name":"Jane"}) 关联关系设计 Example1 引用关系 {"_id":ObjectId(&q…