国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Unity之透明度混合與ps的透明度混合計(jì)算結(jié)果不一致(gamma矯正和線性空間)

這篇具有很好參考價(jià)值的文章主要介紹了Unity之透明度混合與ps的透明度混合計(jì)算結(jié)果不一致(gamma矯正和線性空間)。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一、問題及原因

1.遇到的問題?

前段時(shí)間學(xué)習(xí)shader時(shí)發(fā)現(xiàn)了一個(gè)問題,一張純紅色透明度為128的圖片疊加在一張純綠色的圖片上在unity中得出的結(jié)果與ps中的結(jié)果不一致。網(wǎng)上查找了ps中的透明混合的公式為?

color = A.rgb*A.alpha + B.rgb*(1-A.alpha)。自己計(jì)算了一下結(jié)果總是不對。?

紅色透明度128的圖? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ?綠色透明度255的圖

unity透明度對應(yīng)ps,Unity,ASE,數(shù)學(xué)建模?? ? ? ? ?????????????????? ? ?unity透明度對應(yīng)ps,Unity,ASE,數(shù)學(xué)建模

?ps中紅色在上綠色在下疊加后的結(jié)果色

unity透明度對應(yīng)ps,Unity,ASE,數(shù)學(xué)建模? ??unity透明度對應(yīng)ps,Unity,ASE,數(shù)學(xué)建模

?Unity疊加后的結(jié)果色

unity透明度對應(yīng)ps,Unity,ASE,數(shù)學(xué)建模unity透明度對應(yīng)ps,Unity,ASE,數(shù)學(xué)建模

可以明顯看出ps混合后的數(shù)值要比unity中的數(shù)值低。

2.產(chǎn)生的原因?

問題產(chǎn)生原因是unity使用的顏色空間(Color Space)為線性空間數(shù)值(Linear),而ps使用的是伽馬矯正后的空間數(shù)值(gamma)。一般被gamma矯正后的圖片會比線性空間的數(shù)值要低。所以ps混合后的數(shù)值要比unity中的數(shù)值低。

二、關(guān)于顏色空間描述

1.伽馬空間(gamma)。

在查閱資料學(xué)習(xí)時(shí)關(guān)于gamma矯正產(chǎn)生的原因基本上圍繞著兩點(diǎn)

1.?CRT 顯示器的物理特性

2. 人眼對光強(qiáng)的感知能力并不是線性的

?1.1 伽馬矯正之CRT顯示器的問題

unity透明度對應(yīng)ps,Unity,ASE,數(shù)學(xué)建模

在早期我們的電腦顯示器基本上是陰極射線管顯示器(CRT),就是上面有個(gè)后腦勺的顯示器。顯示器一般是通過電壓來控制每個(gè)像素的數(shù)值從而顯示出圖片的,但是CRT顯示器有一個(gè)物理特性是輸入的電壓會輸出為約等于輸入電壓2.2次冪的亮度。從理論上講這個(gè)值應(yīng)該是2.5倍,但在當(dāng)時(shí)根據(jù)實(shí)際統(tǒng)計(jì)市面上的產(chǎn)品的特性總結(jié)出來的值約是2.2倍。這樣就會導(dǎo)致顯示器的圖比實(shí)際圖像要暗。圖片借用文章

unity透明度對應(yīng)ps,Unity,ASE,數(shù)學(xué)建模

我們想要讓圖片最終展示的亮度與原圖一致就需要對gamma2.2進(jìn)行一個(gè)矯正,這個(gè)矯正值就是gamma1/2.2(2.2次冪的對數(shù)0.45) ,看下方的矯正示意圖。

?unity透明度對應(yīng)ps,Unity,ASE,數(shù)學(xué)建模

unity透明度對應(yīng)ps,Unity,ASE,數(shù)學(xué)建模

我們?yōu)槭裁匆M(jìn)行g(shù)amma1/2.2(0.45)的矯正呢?除了上方需要與gamma2.2進(jìn)行抵消后顯示原圖外還有一點(diǎn)就是我們渲染計(jì)算的數(shù)值要在伽馬值為 1 的理想線性空間進(jìn)行的。

這里舉個(gè)例子:

矯正圖來看假如我們輸入一個(gè)暗紅色的光照RGB顏色為(0.5, 0.0, 0.0)的圖, 然后將這個(gè)顏色提升一倍變?yōu)?strong>(1.0, 0.0, 0.0).?但由于顯示器的非線性特性, 我們最終調(diào)節(jié)的顏色實(shí)際是從 (0.218, 0.0, 0.0) 變成了 (1.0, 0.0, 0.0)。

所以gamma矯正是為了解決CRT的物理特性。但基于人眼的感知特性這個(gè)gamma矯正又是怎么實(shí)現(xiàn)的呢?我們繼續(xù)往下看。

1.2?伽馬矯正之人眼的感知特性并不是線性的

這是一個(gè)黑白漸變圖。在rgba數(shù)值中是(0,0,0,1)~(1,1,1,1)

unity透明度對應(yīng)ps,Unity,ASE,數(shù)學(xué)建模根據(jù)上面這個(gè)圖左側(cè)黑色數(shù)值為0,右側(cè)白色數(shù)值為1,那么半灰色是不是0~1區(qū)間的中間數(shù)0.5呢?在數(shù)學(xué)中0~1的中間值的確應(yīng)該是0.5。但是人眼在自然界中看到的半灰色實(shí)際在上面這張圖的3/4的位置即:0.75。來我們看下面這張圖:

unity透明度對應(yīng)ps,Unity,ASE,數(shù)學(xué)建模

我們根據(jù) “物理亮度圖” 第0.5的半灰色對比去找 “人類自然界感知亮度圖”中對應(yīng)的顏色應(yīng)該是在0.75左右。所以“?人眼對光強(qiáng)的感知能力并不是線性的 ” 的意思就是如此。

unity透明度對應(yīng)ps,Unity,ASE,數(shù)學(xué)建模

人類的視覺系統(tǒng)在黑暗環(huán)境下的辨識能力要強(qiáng)于明亮環(huán)境這是進(jìn)化過程中出現(xiàn)的特性, 這樣有助于我們及時(shí)發(fā)現(xiàn)黑暗中隱藏的危險(xiǎn)。而且人眼的這一特性與CRT顯示器的gamma2.2相似。

1.3 CRT顯示器與人眼特性的關(guān)系

網(wǎng)上查的好多資料視頻有的說gamma矯正是因?yàn)槿搜鄹兄匦?,有的又說是為了解決CRT顯示問題。但其實(shí)一開始gamma矯正是為了解決CRT的物理特性巧合的是人眼的感知特性也是如此,而且后面Led等液晶顯示器現(xiàn)世后已經(jīng)可以達(dá)到與現(xiàn)實(shí)色彩呈線性的數(shù)值因?yàn)槿搜厶匦院图嫒軨RT顯示器處理的圖片才保留了gamma矯正。我感覺這才是正確的。如果有什么不對的也歡迎大家指正。

其他:

  1. gamma本身是人眼對于不同灰階畫面切換時(shí)候,一個(gè)讓眼睛覺得更自然的亮度補(bǔ)充.
  2. 保存在計(jì)算機(jī)中的圖片數(shù)據(jù)是經(jīng)過gamma1/2.2(0.45)后的數(shù)據(jù)。

2.?線性空間(Linear)

這個(gè)空間對應(yīng)的就是物理空間亮度圖。半灰色在0~1區(qū)間中屬于正常的0.5。根據(jù)上方伽馬空間描述了解到人眼感受的亮度值比實(shí)際物理空間的亮度值暗,所以unity中線性空間下的圖片亮度會比gamma矯正后的圖片要亮。

2.1Texture紋理圖片sRGB(Color Texture)屬性

Texture紋理圖片sRGB(Color Texture)屬性只有在線性空間下才管用。勾選是開啟gamma矯正,未勾選是不開啟gamma矯正。

unity透明度對應(yīng)ps,Unity,ASE,數(shù)學(xué)建模

在線性空間下勾選了sRGB效果圖:

unity透明度對應(yīng)ps,Unity,ASE,數(shù)學(xué)建模

運(yùn)算公式?color = (A.rgb^2.2 * A.alpha + B.rgb^2.2 * (1-A.alpha)) ^ (1/2.2)? ?

未勾選sRGB效果圖:

unity透明度對應(yīng)ps,Unity,ASE,數(shù)學(xué)建模

運(yùn)算公式?color = (A.rgb * A.alpha + B.rgb*(1-A.alpha)) ^(1/2.2)? ?

三、解決方法?

1.將unity改為伽馬空間(gamma)

修改 File—>Build Settings—>Player Settings—>Other Setting選項(xiàng)卡中的Color Space為gamma即可。

unity透明度對應(yīng)ps,Unity,ASE,數(shù)學(xué)建模

2.PS修改為Linear?

?“編輯”—>“顏色設(shè)置”—>勾選“用灰度系數(shù)混合RGB顏色”。

unity透明度對應(yīng)ps,Unity,ASE,數(shù)學(xué)建模

?修改后ps的最后混合顏色結(jié)果?與unity中的一致。

unity透明度對應(yīng)ps,Unity,ASE,數(shù)學(xué)建模unity透明度對應(yīng)ps,Unity,ASE,數(shù)學(xué)建模文章來源地址http://www.zghlxwxcb.cn/news/detail-743748.html

到了這里,關(guān)于Unity之透明度混合與ps的透明度混合計(jì)算結(jié)果不一致(gamma矯正和線性空間)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包