Unity资源导入自动化设置

article/2025/10/21 20:17:57

Unity资源导入自动化设置

  • 简介
    • 具体实现
  • 新的问题
    • 解决方法

简介

大家都知道,在Unity中导入的资源不同类型有不同的设置,
例如:模型文件导入之后是这样的unity模型导入设置
当导入数量少的时候我们可以手动去改,但是当数量很多,或者文件结构复杂的时候,手动去改的工作量就不小了,这里我们探讨一下如何自动化修改。

具体实现

Unity中提供了AssetPostprocessor这个API,首先我们创建C#脚本,继承AssetPostprocessor之后,只要实现对应的方法就可以在对应类型的资源导入时调用我们的逻辑了,有很多种类型对应的方法如下图:
AssetPostprocessor提供可编写的方法
比如我需要导入模型时,自动勾选模型数据可读写,则需要以下代码:

public class ModelPostprocessor : AssetPostprocessor
{//模型导入之前该方法会被调用public void OnPreprocessModel(){Debug.Log("OnPreprocessModel=" + this.assetPath);ModelImporter modelImporter = assetImporter as ModelImporter;//一定要加判断,防止死循环if (!modelImporter.isReadable){//设置为可读写modelImporter.isReadable = true;//重新导入,会再次调用此方法modelImporter.SaveAndReimport();}}
}

新的问题

当我们导入的是模型文件,以上方法是没有问题,但当我们导入的是含有模型文件的文件夹,会发现,上面的方法无效,因为文件夹并不是模型文件。那我们怎么做才能使导入文件夹也对其中的模型文件产生改变呢?

解决方法

//任何资源(包括文件夹)导入都会被调用的方法
void OnPreprocessAsset(){//模型文件不在这做处理if (this.assetPath.EndsWith(".fbx")){return;}Debug.Log("OnPostprocessAsset=" + this.assetPath);string path = Application.dataPath + this.assetPath.Substring(this.assetPath.IndexOf("/"));DirectoryInfo root = new DirectoryInfo(path);//找到该文件下所有的fbx模型文件FileInfo[] files = root.GetFiles("*.fbx");for (int i = 0; i < files.Length; i++){int index = files[i].FullName.IndexOf("Assets");string assetPath = files[i].FullName.Substring(index);ModelImporter modelImporter = ModelImporter.GetAtPath(assetPath) as ModelImporter;//此处会触发我们之前的模型导入的代码modelImporter.SaveAndReimport();}}

目前的实现已经基本满足我的需求,后面有问题再做补充。

===================================
补充1:
经测试,如果删除Library目录重新导入资源,所有文件都会经历以上代码,这是我们不希望的。如果只对某些文件采用此规则需要在此处加入判断即可

public class ModelPostprocessor : AssetPostprocessor
{//模型导入之前该方法会被调用public void OnPreprocessModel(){//只针对指定下的文件夹if (!this.assetPath.StartsWith("Assets/Resources"))return;...}
}

补充2:
今天运行发现,上文新的问题又不存在了。。。如果只写OnPreprocessModel就解决问题了那自然最好


http://chatgpt.dhexx.cn/article/OWibvjpO.shtml

相关文章

Unity资源下载材质贴图消失

一、问题 在网上下载的Unity资源模型导入Unity后变成白色&#xff0c;材质丢失。 二、解决办法 1.在Unity Assets中选择下载的模型。 2.在Inspector面板点击模型的materials&#xff0c;在Location那一栏选择Use External Materials&#xff08;Legacy&#xff09;&#xff0…

Unity资源导入

1、在资源中添加自定义包 2.选择导入 3.导入后出现以下错误 4.双击错误打开进行修改

unity资源管理

unity资源一般&#xff0c;分为两个目录&#xff1a;Resources和StreamingAssets&#xff0c;下面我们就来了解下&#xff0c;这两个目录 如何使用&#xff0c;有什么区别。 Resources 放在Resources里边的资源&#xff0c;会全部打进包体&#xff0c;且会压缩。这里边的资源&…

Unity中的资源管理-资源类型和基本使用

本文分享Unity中的资源管理-资源类型和基本使用 真不容易, 经过几篇文章的铺垫, 我们终于进入正题了. 今天继续给大家聊聊资源管理中的基础知识: 资源的类型和基本的使用. Unity中的资源类型 这一部分在官方文档里介绍的很清楚, 有兴趣的同学可以自行跳转: 如果不愿意看官网…

【Unity3D】资源文件 ③ ( Unity 资源包简介 | 导出 Unity 资源包 | 导出资源包的包含依赖选项 | 导入 Unity 资源包 | Unity 资源商店 )

文章目录 一、Unity 资源包简介二、导出 Unity 资源包1、正常导出 Unity 资源包2、导出资源包的包含依赖选项 三、导入 Unity 资源包四、Unity 资源商店 一、Unity 资源包简介 将 Project 文件窗口 中的 Assets 资源进行打包 , 就会得到一个 资源包 Unity Package , 后缀为 &qu…

图嵌入 DeepWalk

文章目录 图表示学习-图嵌入 DeepWalk1 图嵌入2 随机游走-Random walks3 DeepWalk3.1 Hierarchical Softmax3.1.1 哈夫曼树3.1.2 Logistic Regression3.1.3 Softmax 回归3.1.4 Hierarchical Softmax 3.2 模型训练 图表示学习-图嵌入 DeepWalk 1 图嵌入 目标&#xff1a;将节点…

对DeepWalk的理解

DeepWalk的理解 如今我们都处于大数据时代&#xff0c;同时我们也身处于各个网络当中&#xff0c;列如通信网络&#xff0c;交通网络等等。我们如何将网络中的信息用我们计算机能懂的方式展现出来&#xff0c;这就是网络表示。而deepwalk主要是用来表示网络的一种方式&#xf…

KDD 2014 | DeepWalk: 社会表征的在线学习

目录 前言Abstract1.Introduction2.Problem Definition3.Learning Social Representations3.1 Random Walks3.2 Connection: Power laws3.3 Language Modeling 4.Method4.1 Overview4.2 Algorithm&#xff1a;DeepWalk4.2.1 Skip-Gram4.2.2 Hierarchical Softmax4.2.3 Optimiza…

DeepWalk

原文 《DeepWalk: Online Learning of Social Representations》 亮点 In this paper we introduce deep learning (unsupervised feature learning) techniques, which have proven successful in natural language processing, into network analysis for the first time.…

【论文精读实战】DeepWalk: Online Learning of Social Representations

DeepWalk: Online Learning of Social Representations 本文是我参加Datawhale的CS224W图机器学习时的笔记&#xff0c;第一次学习图机器学习&#xff0c;对DeepWalk这篇开山之作的理解。 论文的三位作者均来自纽约州立大学石溪分校&#xff0c;杨振宁和丘成桐也曾在此教学。 …

Deepwalk深度游走算法

主要思想 Deepwalk是一种将随机游走和word2vec两种算法相结合的图结构数据的挖掘算法。该算法可以学习网络的隐藏信息&#xff0c;能够将图中的节点表示为一个包含潜在信息的向量&#xff0c; Deepwalk算法 该算法主要分为随机游走和生成表示向量两个部分&#xff0c;首先…

DeepWalk阅读笔记

DeepWalk是一种学习网络中节点的表示的新的方法&#xff0c;是把language modeling的方法用在了social network里面&#xff0c;从而可以用deep learning的方法&#xff0c;不仅能表示节点&#xff0c;还能表示出节点之间的拓扑关系&#xff0c;也就是表现出社会网络的社会关系…

论文阅读|DeepWalk: Online Learning of Social Representations

论文阅读|DeepWalk: Online Learning of Social Representations 文章目录 论文阅读|DeepWalk: Online Learning of Social RepresentationsAbstractIntroductionProblem DefinitionLearning Social RepresentationsMethod实验设置Related Work我的看法参考资料 Abstract Deep…

大致了解一下DeepWalk

大致了解一下DeepWalk 讲到DeepWalk&#xff0c;不得不说的Word2VecCBOW模型CBOW模型的理解CBOW模型流程举例 Skip-Gram模型模型假任务模型细节隐层输出层直觉下一步 一些常用的trick词组降采样常用词采样率Negative Sampling选择 negative samples DeepWalk步骤相关算法 转载于…

[论文阅读] (25) 向量表征经典之DeepWalk:从Word2vec到DeepWalk,再到Asm2vec和Log2vec(二)

《娜璋带你读论文》系列主要是督促自己阅读优秀论文及听取学术讲座&#xff0c;并分享给大家&#xff0c;希望您喜欢。由于作者的英文水平和学术能力不高&#xff0c;需要不断提升&#xff0c;所以还请大家批评指正&#xff0c;非常欢迎大家给我留言评论&#xff0c;学术路上期…

DeepWalk论文详解

DeepWalk算法报告 Deepwalk是网络表示学习的经典算法之一&#xff0c;是用来学习网络中顶点的向量表示&#xff08;学习学习图的结构特征即属性&#xff0c;并且属性个数为向量的维数&#xff09;。 该算法通过截断随机游走学习出一个网络的社会表示&#xff0c;输入是一张图…

DeepWalk原理理解:DeepWalk: online learning of social representations

文献&#xff1a;DeepWalk: online learning of social representations 对比阅读了几篇关于网络表示学习的文献&#xff0c;其中一篇包括DeepWalk的提出&#xff0c;下面将自己对于论文的理解和论文的笔记组织好记录下来。 deep walk 的提出是针对网络表示学习的稀疏性提出来…

DeepWalk模型的简介与优缺点

1、DeepWalk [DeepWalk] DeepWalk- Online Learning of Social Representations (SBU 2014) word2vec是基于序列进行embedding&#xff1b;但是&#xff0c;实际上实体之间的关系越来越复杂化、网络化。这个时候sequence embedding------>graph embedding。 图的定义&…

[论文阅读] (24) 向量表征:从Word2vec和Doc2vec到Deepwalk和Graph2vec,再到Asm2vec和Log2vec(一)

《娜璋带你读论文》系列主要是督促自己阅读优秀论文及听取学术讲座&#xff0c;并分享给大家&#xff0c;希望您喜欢。由于作者的英文水平和学术能力不高&#xff0c;需要不断提升&#xff0c;所以还请大家批评指正&#xff0c;非常欢迎大家给我留言评论&#xff0c;学术路上期…

PyG基于DeepWalk实现节点分类及其可视化

文章目录 前言一、导入相关库二、加载Cora数据集三、定义DeepWalk四、可视化完整代码前言 大家好,我是阿光。 本专栏整理了《图神经网络代码实战》,内包含了不同图神经网络的相关代码实现(PyG以及自实现),理论与实践相结合,如GCN、GAT、GraphSAGE等经典图网络,每一个代…