【Unity】自动修改导入图片的设置

用途

  • 导入图片时自动修改导入格式——节省每次导入图片需要手动设置

导入图片时,API事件接口

// 继承 AssetPostprocessor 资源管理,用于接收事件
public class TextureConfig : AssetPostprocessor
{
    // 当导入图片资源时,触发该事件
    void OnPreprocessTexture()
    {
        // assetImporter.assetPath 
        // 可以获取到导入的图片资源路径,根据这个可以参数可以写适合自己的图片配置规则
        
        // 例1:检测是否是固定文件夹的图片,取消勾选 "Generte Mip Maps"
        if (assetImporter.assetPath.Contains("Assets/Resources/Texture/Common"))
        {
            // 转成图片类型的导入管理
            TextureImporter texture_importer = assetImporter as TextureImporter;
            // 取消勾选 "Generte Mip Maps"
            texture_importer.mipmapEnabled = false;
        }
        // 例2:特定的图片命名规则。比如图片名最后为 "@sprite" 的修改为 "Sprite(2D and UI)"
        else if(assetImporter.assetPath.Contains("@sprite"))
        {
        	// 转成图片类型的导入管理
            TextureImporter texture_importer = assetImporter as TextureImporter;
            // 修改为 "Sprite(2D and UI)"
            texture_importer.textureType = TextureImporterType.Sprite;
        }
    }
}

相关API

1. AssetPostprocessor.OnPreprocessTexture()

描述

在运行纹理导入器之前,将此函数添加到子类以获取通知
这使您可以为导入设置设置默认值
如果要更改纹理的压缩格式,请使用此回调

例子

自动将文件名中带有“ _bumpmap”的任何纹理文件转换为法线贴图。
using UnityEngine;
using UnityEditor;

class MyTexturePostprocessor : AssetPostprocessor
{
    void OnPreprocessTexture()
    {
        if (assetPath.Contains("_bumpmap"))
        {
            TextureImporter textureImporter  = (TextureImporter)assetImporter;
            textureImporter.convertToNormalmap = true;
        }
    }
}

2. TextureImporter

字段描述
allowAlphaSplitting允许在相关平台上对此纹理进行Alpha拆分
alphaIsTransparency如果提供的Alpha通道是透明的,请启用它以对颜色进行预过滤以避免过滤伪影
alphaSource选择如何生成导入纹理的Alpha
alphaTestReferenceValue返回或分配Alpha测试参考值
androidETC2FallbackOverride不支持ETC2的Android设备上的ETC2纹理解压缩回退替代
anisoLevel纹理的各向异性过滤级别
borderMipmap生成mipmap时,纹理边框保持相同吗?
compressionQuality纹理压缩的质量在[0…100]范围内
convertToNormalmap转换高度图为法线图?
crunchedCompression尽可能使用压缩压缩
fadeout淡化色阶为灰色?
filterMode纹理的过滤模式
generateCubemap立方体贴图生成模式
heightmapScale高度图中的凹凸不平量
isReadable如果要从脚本读取纹理数据,请将其设置为true。将其设置为false可以防止脚本读取纹理数据
maxTextureSize最大纹理大小
mipMapBias纹理的Mip贴图偏差
mipmapEnabled生成Mip地图
mipmapFadeDistanceEnd纹理完全消失的Mip级别
mipmapFadeDistanceStartMip级别,纹理开始淡出
mipmapFilterMipmap过滤模式
mipMapsPreserveCoverage启用或禁用保留范围的Alpha MIP映射
normalmapFilter法线贴图过滤模式
npotScale非纹理两种纹理的缩放模式
qualifiesForSpritePacking如果此TextureImporter设置用于Sprite打包,则返回true
secondarySpriteTextures导入的精灵的辅助纹理
spriteBorder生成的精灵的边框大小
spriteImportMode为“精灵”纹理选择“单一”或“手动”导入模式
spritePackingTag选择Sprite包装标签
spritePivotSprite对象的坐标空间中图形所在的点
spritePixelsPerUnit精灵中与世界空间中的一个单位相对应的像素数
spritesheet表示地图集与各个子画面图形对应的部分的数组
sRGBTexture纹理是否存储颜色数据
streamingMipmaps为此纹理启用mipmap流
streamingMipmapsPriority减少内存大小以达到内存预算时此纹理的相对优先级
textureCompression压缩导入的纹理
textureShape导入纹理的形状
textureType我们在这里处理哪种类型的纹理
wrapMode纹理坐标环绕模式
wrapModeU纹理U坐标环绕模式
wrapModeV纹理V坐标环绕模式
wrapModeW纹理W坐标环绕模式

如果有帮到你,给个赞呗~(●’◡’●)

  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值