Unity3d 导入图片 自动修改Texture Type为Sprite (2D and UI) 及设置 Packing Tag为文件夹名

Unity3d 的新版 UI 系统在给我们带来很大便利的同时,也添加了一些小麻烦。每次从电脑中导入图片到 Unity3d 中都需要手动设置Texture Type为Sprite (2D and UI) 及设置 Packing Tag。对于需要打包为一个图集的图片,我们一般把它们放到一个文件夹中。 基于以上,我们可以让图片的 Packing Tag 自动设置为 文件夹的名字。

转自http://blog.csdn.net/huutu http://www.thisisgame.com.cn

Unity3d 提供了 资源导入 的回调函数,我们 可以使用 AssetPostProcessor 来在Unity3d 对图片进行处理之前、之后 的回调中,再进行一些自己的处理。

转自http://blog.csdn.net/huutu http://www.thisisgame.com.cn

在这里,我们在图片被Unity3d 处理之前,抢先 一步修改它 的 Texture Type 以及 Packing Tag 。

转自http://blog.csdn.net/huutu http://www.thisisgame.com.cn

具体可以参照 Unity3d 官方文档。

http://docs.unity3d.com/ScriptReference/AssetPostprocessor.OnPreprocessTexture.html
/**************************
 * 文件名:AutoSetTextureUISprite.cs;
 * 文件描述:导入图片资源到Unity时,自动修改为UI 2D Sprite,自动设置打包tag 为文件夹名字;
 * 创建日期:2015/05/04;
 * Author:陈鹏;
 ***************************/

using UnityEngine;
using System.Collections;
using UnityEditor;

public class AutoSetTextureUISprite :AssetPostprocessor
{

    void OnPreprocessTexture()
    {

        //自动设置类型;
        TextureImporter textureImporter = (TextureImporter)assetImporter;
        textureImporter.textureType=TextureImporterType.Sprite;

        //自动设置打包tag;
        string dirName = System.IO.Path.GetDirectoryName(assetPath);
        Debug.Log("Import ---  "+dirName);
        string folderStr = System.IO.Path.GetFileName(dirName);
        Debug.Log("Set Packing Tag ---  "+folderStr);

        textureImporter.spritePackingTag = folderStr;
    }
}

把上面的代码文件放到 Editor 文件夹中 ( 不是规定,只是习惯 ) 。

然后从电脑中拖一张图片到 Project 视图中,可以看到 图片被自动修改 。

转自http://blog.csdn.net/huutu http://www.thisisgame.com.cn

转自http://blog.csdn.net/huutu http://www.thisisgame.com.cn

示例下载:

http://pan.baidu.com/s/1dDcZigT
时间: 2024-12-05 07:25:07

Unity3d 导入图片 自动修改Texture Type为Sprite (2D and UI) 及设置 Packing Tag为文件夹名的相关文章

C# 选择文件、选择文件夹、打开文件(或者文件夹) 路径中获取文件全路径、目录、扩展名、文件名称 追加、拷贝、删除、移动文件、创建目录 修改文件名、文件夹名!!

https://www.cnblogs.com/zhlziliaoku/p/5241097.html 1.选择文件用OpenDialog OpenFileDialog dialog = new OpenFileDialog(); dialog.Multiselect = true;//该值确定是否可以选择多个文件 dialog.Title = "请选择文件夹"; dialog.Filter = "所有文件(*.*)|*.*"; if (dialog.ShowDial

Win10系统修改主机名、用户名称和密码、以及C盘中的用户文件夹名

写在前面 近期重新安装了Ubuntu16.04系统,同时也修改了Windows10系统的用户名.密码,还有C盘用户文件夹名称.对于Linux和windows系统来说,修改名称基本都是三部分,主机名.用户名和密码.用户文件夹名称.用户文件夹名是不能在用户自身登陆时修改的(也就是不能自己修改自己的名称,否则修改后无法登陆),需要新建一个用户并赋予管理员权限,或者开启Administrator登陆,直接使用Administrator来修改想要修改的用户文件夹名称.然而登陆界面的用户名和密码都可以轻松的

opencart修改后台文件夹名

在使用opencart进行二次开发时,若需要修改后台目录的文件夹名是可以操作的.具体步骤如下: 1.将网站后台文件夹名字改成opencartadmin 2.在该文件夹下找到config.php文件如图 $document_root = $_SERVER['DOCUMENT_ROOT']; $server_name = $_SERVER['SERVER_NAME']; //$website_root = str_replace("admin/", "", $docum

树莓派Ubuntu 16.04 MATA系统 修改用户文件夹名后,提示configure it with blueman-service

自从修改了树莓派的Ubuntu 16.04 MATA 系统的 /home/ 下的用户文件夹名后,使用vncserver远程操作,看到桌面每次都提示 Configured directory for incoming files does not exist Please make sure that directory "/home/修改前用户文件名/Downloads" exists or configure it with blueman-service, 于是找了下问题所在,因为

delphi 修改文件夹名和文件名

unit Unit1; interface uses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, StdCtrls,FileCtrl,ShellAPI; type  TForm1 = class(TForm)    Button1: TButton;    Memo1: TMemo;    procedure Button1Click(Sender: TObject);

bat 批处理修改多层文件夹名称

最近朋友一直抱怨说有一堆的文件夹需要重新修改名称,一个一个处理非常浪费时间,问有没有什么简洁的方法进行处理. 在明白了朋友的需求后,想到可以写个bat批处理文件进行处理. 首先分析下朋友的需求: 原文件夹名称及结构:D:\ ----test01 ----test02_XXXX_XXXX ----test03_XXXX_XXXX 需要将test01文件夹下的test02下划线后的内容去掉,并将文件夹test02下的test03文件夹下划线后面的内容去掉. 修改为: ----test01 ----t

关于Unity 图片的Texture Type

当我们导入一张图片后,点击图片,有一个Texture Type的贴图类型, Texture:普通贴图 Normal map:法线贴图 Editor GUI and Legacy GUI:UI贴图 Sprite(2D and UI):精灵 Cursor:鼠标指针 Reflection:反射贴图 Cookie:遮罩贴图 Lightmap:烘焙贴图 Advanced:高级(可自定义一些贴图属性)

Cocos2d-x Android.mk文件自动修改器

做cocos2d-x的项目,一般是用电脑进行开发,然后移植到手机平台上.移植到安卓手机需要用eclipse等工具重新编译打包成apk文件.而用eclipse打包的话,要把项目的cpp文件一条条加入到Android.mk配置中,文件少无所谓,但如果文件很多,手工添加就比较麻烦了,特别是有些时候,要和原先的Andriod.mk配置做比较,本次新增了哪些文件,然后把新增的文件添加进去. 总之,打包成apk,手工修改Android.mk配置很麻烦.所以,我做了一个自动修改器.如下图: 我的Cocos2d

spring mvc 图片上传,图片压缩、跨域解决、 按天生成文件夹 ,删除,限制为图片代码等相关配置

spring mvc 图片上传,跨域解决 按天生成文件夹 ,删除,限制为图片代码,等相关配置 fs.root=data/ #fs.root=/home/dev/fs/ #fs.root=D:/fs/ #fs.domains=182=http://172.16.100.182:18080,localhost=http://localhost:8080 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE b