Texture PBR兩種工作流程

2022-09-11 12:54:15 字數 1771 閱讀 5751

texturesize

2的n次冪,底層圖形學需要,計算更快;不使用2的倍數,系統也會新增畫素補全2n;

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

mipmap

影象逐漸減小版本的列表;紋理遠離攝像機時,unity 會自動使用較小版本的紋理;lod

記憶體增加33%;

warpmode

迴圈模式:平鋪,拉伸,映象,一次映象回退到拉伸,per-axis(uv軸不同迴圈模式);

filtermode

濾波模式;取樣方式:

point:點插值,拉伸塊狀化(鋸齒);

bilinear:雙線性插值,拉伸模糊;

trilinear:三線性插值,除了bilinear,在不同mipmap等級進行模糊;

anisolevel

各項異性過濾,掠射角觀察提高紋理質量,非常消耗顯示卡資源,一般禁止;

unity匯入資源有預設格式,texture匯入預設type是deafult;如果是2d遊戲要求都是sprite;每次匯入都需要修改型別非常麻煩;

unity提供了匯入資源設定資源屬性的介面;

這段**可以實現匯入資源預設格式為sprite;

using unityeditor;

public class pretexture : assetpostprocessor

}

包含unityeditor繼承assetpostprocessor,實現以下方法:

匯入資源可以修改格式,壓縮大小,禁用mipmaps,wrapmode等;

具體看官方文件,自定義需求;

帶不帶透明通道記憶體占用相差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完事;

f0:入射角為0 ° 0\degree0°時的反射光線radiance佔入射光線radiance的比例;

漫反射高光都收到f0影響;

優缺點:非金屬的f0固定為0.04,無法調整;主要workflow;

優缺點:f0自由調整(可能做出反能量守恆定律的材質);兩張rgb圖,效能要求高;

貼圖解析度和紋素密度太低會出現白邊和黑邊,由於貼圖之間誤差;

兩種敏捷開發方式的工作流介紹

敏捷開發時當今很流行的一種開發軟體方式,接下來主要介紹一下兩種主要的敏捷開發方式的工作流 專案計畫從定義backlog開始,即交付完成的產品時應該完成的使用者需求列表。每個sprint都從乙個計畫階段開始,在下乙個sprint中選擇任務。對於計畫階段,整個團隊通常都會到場,包括產品負責人和scrum...

工作流活動例項狀態轉換的兩種實現模式

今天和同事 chelsea 就活動例項狀態的實現思路上進行了討論。我們兩個站在了兩個不同的角度來看待,這兩個不同的角度也正好眼下最為常見到的兩種實現思路 chelsea 是從狀態角度 來看待,當然也完全是從 state pattern 的角度來思考 狀態在達到某個狀態的時候,會引起或必須引起活動例項...

工作流活動例項狀態轉換的兩種實現模式

今天和同事chelsea 就活動例項狀態的實現思路上進行了討論。我們兩個站在了兩個不同的角度來看待,這兩個不同的角度也正好眼下最為常見到的兩種實現思路 chelsea是從狀態角度 來看待,當然也完全是從state pattern的角度來思考 狀態在達到某個狀態的時候,會引起或必須引起活動例項執行什麼...