星期五, 3月 14, 2008

GAMMA 2.2 設定教學

這個教學是要做三小用的?

我們會以一個具體場景來開講~也請注意這個技巧在你使用到GI時特別的有用~

下圖左是個室內場景,個很大的進光口。就像圖片裡所見的,有進光口的全白部份,進光口附近的光暈部份,還有靠近攝影機這一邊的比較暗的區域 ok~現在我想讓整個場景變明亮一點,所以我加強了射入的光的強度。結果入口附近的光暈更大了,但是靠近攝影機這一邊的比較暗的區域卻沒增加多少亮度。一個像這樣子有如此大的入光口的場景,光應該可以反折射到更深的地方,是吧~?

Gamma 2.2 - wow!

左下的影像就是上面的那一個,不過我把圖片的gamma修正為2.2。在經過這樣的轉換之後,把這張圖更多細微的階調表現出來了。

你可能心想:"這張圖現在看來整個色階都平掉…而且好像被刷淡了…" 這是因為我沒去變動材質。在我修正過gamma的這張圖片的材質實際上比沒修過gamma那張圖片的材質還要再亮(因為材質也被做過gamma修正,所以變亮了)。現在我去修正材質以符合 gamma2.2 ,然後重新再render一次,再次對圖片做 gamma修正。現在整個場景是有變的更好了(右下圖)。光線看來相當的合理,符合預期中有如此大的入口光射的場景所應該要要有的光線照明。

Vray tutorial - Gamma 2.2 setup - Click to enlarge Vray tutorial - Gamma 2.2 setup - Click to enlarge

中間發生了什麼事?

問題很簡單。vray跟3dsmax以用"linear space"來做計算的。vray的攝影機是以線性的計算方式來反應燈光的影響。這代表者 vray是以 gamma 1.0 為基礎來做計算的。所有的這一切都沒問題,既然vray跟max都是以 gamma 1.0 (也就是"linear space")為基準,那它也會認為你的顯示器是 gamma 1.0 的…

不過事實上是…市面上的CRT顯示器的gamma設定多半是在 2.5 。 我們沒告訴vray跟max螢幕的gamma值,所以我們在螢幕上看到的圖片會比實際上來的暗(gamma的不同改變了色階的明暗、不單只是明暗控制那麼簡單)。

max內是有可以設定的地方讓我們指定螢幕的Gamma 值,如此max便可以對所要顯示的影像作影響將它正確的顯示出來,我們就可以得到…嗯…"更明亮"的影像。

我怎麼知道我螢幕的 gamma值?

這幾乎是所有人一開始所面臨到的問題。每個顯示器都有不同的gamma值,CRT跟LCD的gamma值也有著一定的差異…當然你也可以用硬體來對你的顯示器作色彩校正,以取得顯示器的正確gamma值。 將你的顯示器作好色彩校正對於你在精準的色彩管理上也是有好處的。把顯示器的gamma校調到一定的標準不會是件壞事的啦~以gamma的標準值來說,是2.2為準 (就算很多CRT的預設值是2.5),雖然在這個設定教學裡我們強調要把螢幕的gamma校調至2.2,但其實也不必那麼的嚴刻。就算你的螢幕gamma預設值是2.35,以我們這個 gamma2.2 設定教學出來的結果也是會相當的滴不錯。

江山易改,本性難移...

當初有人提出 gamma 2.2這樣的校正設定時,很多人(包括我自己)找不到為何要使用這樣子設定的一個出發點。這是因為大家已經習慣在作圖是加入你所學到的任何小技巧或作假的方法來保最後的成像是ok的。 以上面的室內景為例,我們有個問題就是光線無法像我們想要的那樣照明到比較靠攝影機的這一個區塊的暗面。當我們加強了環境光源之後整個場景在入口光源處看來又亮過了頭。為了提升場景的亮度,我們放了虛擬的光源在室內,然後要再加入曝光控製讓入口處的光源不要亮過頭。 而且常常也會遇到很強烈的色溢這個問題。如果你放了個紅色的茶壺在場景中,整個場景就會被這個紅色的茶壺影響,讓畫面變成帶有紅色的調子。所以就又開始想讓法降低這個紅色的色溢,用個白色的材質先指定給茶壺,然後計算、保留這個的gi取樣,再把茶壺弄回紅色。所有的這些手續不但增加了算圖的時間,同時也增加了在設定燈光上的時間。在使用物理精準度的的render時,我們還必須確信所有的"我們所使用的小技巧"是可以讓成像更接近真實的…另個共通的問題是 hdri 貼圖。在下面的二張例圖是用同一張hdri下去算出來的。左下這張是用"老方法",右下這張是使用了 gamma 2.2 設定,下面是hdri原圖。我想這清楚的看出比起左下這張圖,右下的這張圖看起來更像是用原來的hdri所照明的場景,沒有過高的彩度、過高的對比。在第一張圖裡的反射球所反射出來的hdri圖,看起來完全不像hdri原圖

Vray tutorial - Gamma 2.2 setup - Click to enlarge Vray tutorial - Gamma 2.2 setup - Click to enlargeVray tutorial - Gamma 2.2 setup - Click to enlarge

gamma 2.2 設定只須要小小的改變你的工作方式,但卻大大的增加了您生活的美好!!

怎麼設定?

現在希望你體驗到gamma校正所帶來的好處。第一步我們所要做的就是在變max裡的設定值。 下方的圖就是在max裡沒做任何校正的樣子。

Vray tutorial - Gamma 2.2 setup - Click to enlarge

到customize/preferences、Gamma & LUT的頁標。把你的設定改成像下圖的那個樣子。基本上,這樣你已經將max的顯示修正至 gamma 2.2了

Vray tutorial - Gamma 2.2 setup - Click to enlarge

當你按下ok的時後,render出來的圖會變的相當滴不一樣!你已經改變了max在影像緩衝區(frame buffer)裡的顯示方式,現在max是以gamma 2.2 來顯示影像緩衝區裡的圖。

Vray tutorial - Gamma 2.2 setup - Click to enlarge

第一個遇上的問題 - 選顏色

我們現在改變牆面的顏色,改成高彩度的暗綠色。render一下,結果看起來一點也不暗、彩度也沒那高… 這是因為我們在選顏色時,還是在gamma 1.0的狀態之下,但是我們卻是 在 gamma 2.2 的狀態下進行算圖。

Vray tutorial - Gamma 2.2 setup - Click to enlarge

要解決這個問題很簡單,在 gamma & LUT 頁標中,把 affect color selectors 跟 affect material editor都勾選。ok給他用力的按下去,打開material editor ,現在你可以看出很大的變化了吧

Vray tutorial - Gamma 2.2 setup - Click to enlarge

再來看看這個步驟的最後一張圖(如下),現在顏色選取器跟材質編輯器視窗都是經過 gamma 2.2 調整過的了~一開始看來或許會很奇怪,但是別擔心,你會習慣的~~以我而言,現在要我回去老設定做東西,我總覺的做出來的東西黑的不像話…所以你所須要的只是習慣這個設定而已。這個步驟相當的重要,不然你render出來的圖永遠會比你選的顏色還要來的更亮、更淡。現在下圖中"顏色選取器中的綠"比起上一個步驟中的"顏色選取器中的綠"有明顯的改變,變的更像render出來的圖片中的綠色。

Vray tutorial - Gamma 2.2 setup - Click to enlarge

第二個遇上的問題 - 被洗過的貼圖…

現在我們不用綠色,用了張貼圖來替代。所以我選了張貼圖貼在材質的diffuse槽裡,我用了個高彩度的磚頭貼圖,但render出來的圖片,又來了…變的很淡,搞的跟水洗過一遍一樣(跟本來的顏色做比較)

Vray tutorial - Gamma 2.2 setup - Click to enlarge Vray tutorial - Gamma 2.2 setup - Click to enlarge

一般的貼圖其實都已經做過gamma校正了。舉例來說吧~從數位相機拍下來的圖片多半都有帶一個srgb描述檔,以確保他們在你gamma 2.2的螢幕上能正確的被顯示來,所以當你在max裡用到這張貼圖,卻又沒跟max說圖已經做過gamma校正了,max會認 為這張圖是 gamma1.0的膾然後就再對這張貼圖做了一次gamma 2.2的校正,對同一張圖做了二次gamma校正會讓圖變的過白同時也降低了其彩度…

解決的辦法很簡單。就是告訴max這張圖已經是做過gamma 2.2校正的,在加入貼圖時所跳出來的選擇貼圖視窗中,在gamma群組中把'use system default gamma' 換成"override",然後改成2.2。按下open按鈕,現在在材質編輯器中跟視埠裡的貼圖是不是變的暗多了,色調跟原來我們看到的一樣了。

Vray tutorial - Gamma 2.2 setup - Click to enlarge

再render一次,這次算出來的圖就跟我們預期的一樣,沒那麼亮,彩度也沒那麼淡了,就像用這張貼圖本來該有的樣子。

Vray tutorial - Gamma 2.2 setup - Click to enlarge

所以現在在處理貼圖時你有二個選擇:

  1. 每次你選貼圖時,在貼圖選擇視窗把gamma設定重新指定成 2.2
  2. 在 gamma & lut 的頁標中,把 input gamma 選項設成 .2.2 如此一來你叫入貼圖時便會自動以gamma 2.2 來看待。

第三個遇上的問題 - 存檔…

到目前為止一切都很順利,我們有了張render出來漂漂亮亮的圖片~現在我把他存檔在我電腦裡,事後再用影像瀏覽器開來看,一看…挖咧!這是什麼狗大便啊!這是怎麼一回事!?

答案很簡單,在max裡我們已經做好了相關的 gamma2.2 的校正設正,所以在max中,所有的"顯示出來的圖"都是做過gamma校正的。但是render出來的圖並沒有把這個gamma設定保存下來,他只是在max中被正確的顯示了出來(因為我們的max做好了gamma校正設定)。

所以…現在我們又有了一些應對的方法

  1. 在存檔時指定成 Gamma 2.2
  2. 之後在photoshop中把gamma值設定好
  3. 就讓他這麼暗,然後在photoshop中以 gamma 1.0 再做調整

比較高階的使用者,就是那些後製合成的從業人員,比較喜歡讓圖片就保留在 gamma 1.0 的狀態之下,然後再用相關的 gamma 顯示設定校正來調整圖片。所以他們把圖片保存在 gamma 1.0 的狀態之下,也就是"linar"。

如果你想要這樣的子的工作流程,那就表示你是在 "linear spcae" (gamma 1.0)下工作,但是事實上這樣當的不容易。因為你要把你所有相關的應用程式都做過gamma校正,好讓圖片正確的被顯示。

大多數的user是不須要這樣的做的,所以其實比較好的方是我們把圖片以gamma 2.2的方式保留下來。在max存圖片時指定以 gamma 2.2 來存或是事後再以photoshop來調整這二個方式都是可以校正圖片的方式。

在這個教學中,我是把 input跟ouput gamma設成 1.0,我個比較徧好這個設定因為這樣我比較清楚我自己有沒有做了什麼不該做事。而且有時把output gamma設成2.2在存檔時會造成奇怪的結果,就算你指定圖片 要以 gamma 2.2 的樣子存下來,它還是以 gamma 1.0 的樣子存下來。所以input跟ouput gamma設成 1.0是最安全的設定。

The vray frame buffer…

Untill now, we always used the max VFB. However Vray has it's own VFB, which is in fact a lot better. To use it, go to the Vray frame buffer and enable it. Next we have to disable max's frame buffer: in the common parameters tab, turn of the 'rendered frame window'.

Vray tutorial - Gamma 2.2 setup - Click to enlarge Vray tutorial - Gamma 2.2 setup - Click to enlarge

Now when I render again, the image in the Vray frame buffer looks also very dark... This is because the max gamma preferences don't affect the vray VFB.

Vray tutorial - Gamma 2.2 setup - Click to enlarge

Luckily, the Vray VFB has it's own gamma correction. It's the small button labeled 'sRGB' on the bottom of the frame buffer.

When saving the image, you have to set the gamma to 2.2 again to burn it in, because the sRGB button is also only a display preview gamma correction.

Vray tutorial - Gamma 2.2 setup - Click to enlarge

Color mapping

Color mapping provides a final way of burning in the gamma 2.2 curve. First we disable the srgb button again (the image will be very dark again).
Now in the Vray tab, open the 'color mapping' rollout. You can leave everything as is, you only have the change the gamma to 2.2.
Render the image again, and you'll see that it looks good now, without having to press the srgb button.
The big difference of this technique is that it applies the gamma 2.2 curve while rendering. The previous methods were all done after the rendering has finished (or as a preview only). This difference is pretty important, as it has serious consequences on image quality!

Vray tutorial - Gamma 2.2 setup - Click to enlarge Vray tutorial - Gamma 2.2 setup - Click to enlarge

Color mapping - quality

------------快樂的分格線之-有時間再翻----------------- 20071026

沒有留言: