Texture+PBR两种工作流程
一、导入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,实现以下方法:
OnPreprocessTextureOnPreprocessModelOnPreprocessAnimationOnPreprocessAudio
导入资源可以修改格式,压缩大小,禁用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两种工作流程的更多相关文章
- FTP协议的两种工作模式简单解析!
转载自百度百科:http://baike.baidu.com/link?url=KaBZmDM4IZ2v56MyoOnpjqKr0gADv_BRbgjlscYdyvh3-zDwINOHNPSi9Jlp ...
- Vue路由器的hash和history两种工作模式 && Vue项目编译部署
1 # 一.Vue路由器的两种工作模式 2 # 1.对于一个uri来说,什么是hash值? 井号及其后面的内容就是hash值. 3 # 2.hash值不会包括含在HTTP请求中,即:hash值不会带给 ...
- 一步一步学FRDM-KE02Z(一):IAR调试平台搭建以及OpenSDA两种工作模式设置
摘要:FRDM-KE02Z是飞思卡尔公司较为新的微控制器,学习和开发资料较少.从本篇开始会陆续介绍其相关的开发流程,并完成一个小型的工程项目.这是本系列博客的第一篇,主要介绍开发环境IAR for A ...
- (转载)关于Apache 的两种工作模式
今天在查看服务器的时候,发现服务器http请求数 每天增长越来越多,在优化集群服务器的时候,查看到Apache 的工作模式是prefork,于是想到了worker 模式, 想暂时的把当前运行模式改成w ...
- epoll的两种工作模式
epoll有两种模式,Edge Triggered(简称ET) 和 Level Triggered(简称LT).在採用这两种模式时要注意的是,假设採用ET模式,那么仅当状态发生变化时才会通知,而採用L ...
- apache常用的两种工作模式 prefork和worker
apache作为现今web服务器用的最广泛也是最稳定的开源服务器软件,其工作模式有许多中,目前主要有两种模式:prefork模式和worker模式 一.两种模式 prefork模式: prefork是 ...
- FTP两种工作模式:主动模式(Active FTP)和被动模式
在主动模式下,FTP客户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,然后开放N+1号端口进行监听,并向服务器发出PORT N+1命令.服务器接收到命令后,会用其本地的FTP数据端口 ...
- Golang两种执行流程以及区别
Go语言的执行方式有两种,一种是编译后再执行,另一种直接go run执行. 一.先编译后执行 .go文件(源代码)--->go build指令把源代码编译(如果是windows下会编译出一个.e ...
- android(十五) FTP的两种工作模式
(一)PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链 当需要传送数据时,客户端在命令链路上用 PORT命令告诉服务器:“我打开了 ...
随机推荐
- 如何查看Python的版本号
一.如何查看Python的版本号 win+r输入cmd在输入:python --version回车即可
- 原来这才是 Socket !
关于对 Socket 的认识,大致分为下面几个主题,Socket 是什么,Socket 是如何创建的,Socket 是如何连接并收发数据的,Socket 套接字的删除等. Socket 是什么以及创建 ...
- 罗德与施瓦茨公司和TSN Systems公司为车载以太网提供纳秒级精度延时测量
前言 随着毫米波雷达.激光雷达和摄像头等传感器的大量出现,并要求海量的传感器数据在几毫秒内传输完成并处理,使得网络延迟问题变得越发重要.测试和测量的专家Rohde&Schwarz(以下简称R& ...
- thinkPHP的多语言支持如何配置和部署
框架底层语言包位于:ThinkPHP/Lang/zh-cn.php 可以参考如何编写语言文件 第一步:项目目录下的配置文件中配置多语言支持的相关选项 以我的路径为例是Application\Commo ...
- 创建Ubuntu server 服务器git项目
服务器端: mkdir project.git cd project.git git init --bare cd .. p.p1 { margin: 0; font: 11px Menlo; col ...
- vc++ 调用winapi调节屏幕亮度
!!版权声明:本文为博主原创文章,版权归原文作者和博客园共有,谢绝任何形式的 转载!! 作者:mohist ---- 已经更正文章中错误的地方, 时间: 10/10/2020--------- 自己封 ...
- 聊一聊Yarp结合Nacos完成服务发现
背景 Yarp 这个反向代理出来后,相信还是有不少人在关注的. 在 Yarp 中,反向代理的配置默认也是基于配置文件的,也有不少大佬已经把这个配置做成了数据库配置+可视化界面. 仔细想了想,做成数据库 ...
- 【LeetCode】720. Longest Word in Dictionary 解题报告(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 暴力查找 排序 日期 题目地址:https://le ...
- 【LeetCode】649. Dota2 Senate 解题报告(Python)
[LeetCode]649. Dota2 Senate 解题报告(Python) 作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 题目地 ...
- 【LeetCode】40. Combination Sum II 解题报告(Python & C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 方法一:DFS 方法二:回溯法 日期 题目地址:ht ...