一、导入Texture

1.Inpspector

TextureSize

2的n次幂,底层图形学需要,计算更快;不使用2的倍数,系统也会添加像素补全2n;

有最大尺寸限制8k,cubemap最高4k;

Mipmap

图像逐渐减小版本的列表;纹理远离摄像机时,Unity 会自动使用较小版本的纹理;LOD

内存增加33%;

WarpMode

循环模式:平铺,拉伸,镜像,一次镜像回退到拉伸,Per-Axis(uv轴不同循环模式);

FilterMode

滤波模式;采样方式:

Point:点插值,拉伸块状化(锯齿);

Bilinear:双线性插值,拉伸模糊;

Trilinear:三线性插值,除了Bilinear,在不同mipmap等级进行模糊;

AnisoLevel

各项异性过滤,掠射角观察提高纹理质量,非常消耗显卡资源,一般禁止;

2.导入器规范资源格式

Unity导入资源有默认格式,Texture导入默认type是Deafult;如果是2D游戏要求都是Sprite;每次导入都需要修改类型非常麻烦;

Unity提供了导入资源设置资源属性的接口;

这段代码可以实现导入图片资源默认格式为Sprite;

using UnityEditor;

public class PreTexture : AssetPostprocessor
{
void OnPreprocessTexture()
{
TextureImporter tImporter = (TextureImporter)assetImporter;
tImporter.textureType = TextureImporterType.Sprite;
}
}

包含UnityEditor继承AssetPostprocessor,实现以下方法:

  • OnPreprocessTexture

  • OnPreprocessModel

  • OnPreprocessAnimation

  • OnPreprocessAudio

导入资源可以修改格式,压缩大小,禁用mipmaps,wrapmode等;

具体看官方文档,自定义需求;

3.Format

带不带透明通道内存占用相差1/3左右;

PC

DirectX 11:

RGB 纹理 - DXT1 4 位/像素;

RGBA 纹理 - BC7(质量更高,压缩速度较慢)或 DXT5(压缩速度较快);

HDR 纹理 - BC6H;

DirectX 10: DXT5(GPU不支持BC7);

IOS

A8 芯片以上:RGB 和 RGBA 纹理 - ATSC (纹理质量粒度可选);

A7或更低:PVRTC;

Android

OpenGL ES 3.0/Vulkan - ETC2 / ATSC

OpenGL ES 2 - ETC

HDR 纹理 - ASTC HDR(需要Vulkan 或GL-hdr支持)

画质:RGB(A)32 > ASTC4X4 > ASTC6X6 > ETC2 ≈ PVRTC > ETC1

国内TOP600机型情况分布:OpenGL ES 3.1以下覆盖用户占0.2%,设备数量占比6.3%;

所以其实其实移动平台统一用ASTC完事;

二、两种PBR workflow

F0:入射角为0 ° 0\degree0°时的反射光线radiance占入射光线radiance的比例;

漫反射高光都收到F0影响;

1.金属粗糙度(M/R)

  • BaseColor:RGB贴图,表示金属的F0;

  • Metallic:灰度图,金属占比遮罩;100%金属为1白色;0%金属为0黑色;

  • Roughness:灰度图,数值越大越粗糙;

优缺点:非金属的F0固定为0.04,无法调整;主要workflow;

2,。镜面反射光泽度(S/G)

  • Diffuse/Albedo:RGB贴图,表示非金属颜色,金属0纯黑;
  • Specular:RGB贴图,定义金属非金属的F0;
  • Glossiness:灰度图,数值越大越光滑;

优缺点:F0自由调整(可能做出反能量守恒定律的材质);两张RGB图,性能要求高;

贴图分辨率和纹素密度太低会出现白边和黑边,由于贴图之间误差;

Texture+PBR两种工作流程的更多相关文章

  1. FTP协议的两种工作模式简单解析!

    转载自百度百科:http://baike.baidu.com/link?url=KaBZmDM4IZ2v56MyoOnpjqKr0gADv_BRbgjlscYdyvh3-zDwINOHNPSi9Jlp ...

  2. Vue路由器的hash和history两种工作模式 && Vue项目编译部署

    1 # 一.Vue路由器的两种工作模式 2 # 1.对于一个uri来说,什么是hash值? 井号及其后面的内容就是hash值. 3 # 2.hash值不会包括含在HTTP请求中,即:hash值不会带给 ...

  3. 一步一步学FRDM-KE02Z(一):IAR调试平台搭建以及OpenSDA两种工作模式设置

    摘要:FRDM-KE02Z是飞思卡尔公司较为新的微控制器,学习和开发资料较少.从本篇开始会陆续介绍其相关的开发流程,并完成一个小型的工程项目.这是本系列博客的第一篇,主要介绍开发环境IAR for A ...

  4. (转载)关于Apache 的两种工作模式

    今天在查看服务器的时候,发现服务器http请求数 每天增长越来越多,在优化集群服务器的时候,查看到Apache 的工作模式是prefork,于是想到了worker 模式, 想暂时的把当前运行模式改成w ...

  5. epoll的两种工作模式

    epoll有两种模式,Edge Triggered(简称ET) 和 Level Triggered(简称LT).在採用这两种模式时要注意的是,假设採用ET模式,那么仅当状态发生变化时才会通知,而採用L ...

  6. apache常用的两种工作模式 prefork和worker

    apache作为现今web服务器用的最广泛也是最稳定的开源服务器软件,其工作模式有许多中,目前主要有两种模式:prefork模式和worker模式 一.两种模式 prefork模式: prefork是 ...

  7. FTP两种工作模式:主动模式(Active FTP)和被动模式

    在主动模式下,FTP客户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,然后开放N+1号端口进行监听,并向服务器发出PORT N+1命令.服务器接收到命令后,会用其本地的FTP数据端口 ...

  8. Golang两种执行流程以及区别

    Go语言的执行方式有两种,一种是编译后再执行,另一种直接go run执行. 一.先编译后执行 .go文件(源代码)--->go build指令把源代码编译(如果是windows下会编译出一个.e ...

  9. android(十五) FTP的两种工作模式

    (一)PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链 当需要传送数据时,客户端在命令链路上用 PORT命令告诉服务器:“我打开了 ...

随机推荐

  1. HBuilderX无法启动微信小程序?仅三步

    1.复制微信开发者工具启动路径 : "C:\Program Files (x86)\Tencent\微信web开发者工具\微信web开发者工具.exe" 不要后面的 "微 ...

  2. CTF 自动拼图

    忘记在哪个群里面看见有师傅说过这样一句加,百度搜索"CTF拼图脚本,有惊喜". 在做JUSTCTF的题时候,看到一道拼图题.就想着试一试. 先百度搜了,看到了fjh1997师傅的一 ...

  3. GoLang设计模式17 - 访客模式

    说明 访客模式是一种行为型设计模式.通过访客模式可以为struct添加方法而不需要对其做任何调整. 来看一个例子,假如我们需要维护一个对如下形状执行操作的库: 方形(Square) 圆形(Circle ...

  4. Table.FillDown填充Table.Fill…(Power Query 之 M 语言)

    数据源: 任意列中包含空单元格 目标: 将空单元格填充为其上或其下单元格中的内容 操作过程: 选取指定列>[转换]>[填充]>[向下] 选取指定列>[转换]>[填充]&g ...

  5. 使用.NET 6开发TodoList应用(2)——项目结构搭建

    为了不影响阅读的体验,我把系列导航放到文章最后了,有需要的小伙伴可以直接通过导航跳转到对应的文章 : P TodoList需求简介 首先明确一下我们即将开发的这个TodoList应用都需要完成什么功能 ...

  6. mysql 字符串转日期及其他日期转换

    -- 字符串转日期 select str_to_date('2019/1/1', '%Y/%m/%d') -- 2019-01-01 SELECT STR_TO_DATE(concat(Cyear,' ...

  7. 同步IO与一部IO、IO多路复用(番外篇)select、poll、epoll三者的区别;blocking和non-blocking的区别 synchronous IO和asynchronous IO的区别

    Python之路,Day9 , IO多路复用(番外篇)   同步IO和异步IO,阻塞IO和非阻塞IO分别是什么,到底有什么区别?不同的人在不同的上下文下给出的答案是不同的.所以先限定一下本文的上下文. ...

  8. 以太网/ IPV4/IPV6包头,TCP包头格式回顾

    问题:以太网数据包,承载的数据内容大小46~1500字节,是如何来的? 以太网数据包结构  以太网协议规定最小链路层数据包(帧)为64字节,其中以太网首部+尾部共计18字节(源/目的MAC12字节:上 ...

  9. mysql如何查询某个库,某个表都有哪些字段

    如下语句便可查看 SELECT column_name FROM Information_schema.columns  WHERE table_Name = 'columns' AND TABLE_ ...

  10. 创建具有root权限的账号

    第一种 # guest:123456 useradd -p `openssl passwd -1 -salt 'salt' 123456` guest -o -u 0 -g root -G root ...