2014年3月19日 星期三

摘要 AE網站重點整理

久違的筆記文
工作後到離職有段時間 一直很想要把自己學的東西 加以筆記
可能是身體的緣故
事後想想   很多時候都是自己給自己的藉口
只要好好的安排一定有時間可以製作 或是學習的

工作一段小時間 了解到如何善用時間安排更為重要
尤其是我們這類型的工作者 有時候趕案件 連自己的時間都沒有
或者你又接了 一份外案等等

但是最重要最迅速的成長往往都透過實務經驗 來馬上提升


如何善用時間成效就會反應出來

以上提外話瞜 

其實真正碰AE 也是工作之後的事情

工作前有好好的惡補一番

看Andrew Kramer 創辦的Video Copilot   就非常足夠了

當然看AE教學越多 還是覺得 他所授的教學 真得非常棒 觀念是我看過使用最活躍的一位神

帶我入行的合成師傅常說  真正厲害的人 是無私奉獻與傳授教學的人  所以我就想 AK就是這
樣的一位神吧XD 

幾個點的網站也分享吧~ 



【AE中文字幕】新手入門 VideoCopilot Basic Training 
【AE教學中文翻譯】12集 Particular 粒子入門教學

以上的網站都是由釘子酷 前輩的部落格分享出來的  他提供了非常充裕的資源在他的網站上

再來就是對岸的教學點

AK大神優酷中文翻譯點

還是習慣中文的朋友可以考慮看看上面的連結


其他點就不說了  youtube 就非常多 教學影片  網路上真的資源 源源不絕阿

請善用GOOGLE大神 為你解答

像對岸的朋友 就常說  百度是你的好朋友  也是這樣的道理 (誤


不過開創部落格 一翻面也是想透過筆記審視一下自己在製作上碰到甚麼問題 如何解決

培養自己解決問題的能力  一方面就  當作自己的筆記庫?!  或許也是不賴的地方


其實我的贅詞也非常多 白話口問太多 其實這些也是要訓練過?!
說不定文筆會變好也不一樣 哈哈哈   (想太多?!






所以也請大家多多指教瞜 :)~  

2013年11月21日 星期四

關於 normal map<轉載文章>



關於 normal map





normal
map是目前3D繪圖最常使用的技術之一。

                                           
    ( normal map )

以下分成幾部分做個歸納整理:


Normal map[規格制定]

normal map是使用RGB來儲存normal 的XYZ向量值,所以必須定義normal儲存的座標系。

座標系就包括了world/object/tangent space,其中還分成左/右手系統。

不同的座標系統在處理lighting計算時候會需要不同的處理方式, 因此程式人員需要制定normal map所在的座標系,才能夠正確的處理normal map效果。

目前最常使用到是tangent space的normal map.它的優缺點如下:

優處:
  • 可以共用normal map貼圖(不同物件間的共用或是mirror物件共用)。
  • 目前一些normal map壓縮技術也只能使用tangent space的normal map (這部分在normal map壓縮會詳細說明) 。
缺點:
  • 需要 vertex normal/tangent的資料, 在計算lighting時候, 需要多處理一些座標轉換.處理。
World space/object space的優缺點和tangent space正好相反,所以某些狀況下或許使用world/object space的normal map 會比較好。
對object space下的normal map有興趣的可看
http://www.3dkingdoms.com/tutorial.htm

選定了tangent space, 接下來是要使用左手還是右手系統呢?

下圖是目前常見的兩種 tangent space 座標系統的圖示, X軸都面向右邊, Z軸都往螢幕外方向, 而Y軸向上或是向下.



下圖是兩個系統下normal map的比較.




可以發現左手系統XYZ(0, 1, 0) 或是#80ff80是指向下方,右手系統是指向上方。

這只是一個規格制定時的選擇,重點還是在於產生normal map工具的設定是否可以輸出符合規格的normal map。



Normal map[製作]


normal map的座標系確定後,接下來整理一下normal map的製作方式。

一般製作normal map的方式大概有以下幾種:
  • 製作 bump map轉normal map
  • 製作高面數物件以及低面數物件來產生 normal map。
  • 拍照法
第3的方法可參考 http://zarria.net/nrmphoto/nrmphoto.html。以下針對1, 2做法做個說明。

製作bump map轉normal map

製作bump灰階高低圖透過轉換工具產生normal map。這個方法只適合產生tangent space的normal map。製作的流程如下:
  • 製作bump圖。圖必須是RGB channel, 長寬必須是2的次方。
  • 使用normal map轉換工具產生Y-up的normal map
NVIDIA Photoshop Normal map filter plug-in





紅色框的Invert-Y一要勾選, Wrap建議勾選

Scale看情況調整

以下是試做bump map轉normal map的試做結果


製作高面數物件以及低面數物件來產生 normal map:

這個做法就是製作高面數的物件, 把高面數的normal 儲存成normal map。

目前美術人員常使用的 3ds max, Maya, XSI等軟體都有內建高面轉低面數的工具,所以都可以使用這些工具製作高面數模型來轉換輸出。

不過現在 Zbrush/Mudbox 這類 3D建模軟體的出現,使得 normal map 的製作更有效率。以下說明的是使用Zbrush/Mudbox軟體轉normal map的製作方式.。


使用ZBrush


製作的流程如下:

先用3DS max、Maya、XSI等等製作遊戲使用的低面模型,並把UV拆好。ZBrush會使用同樣的UV資料來產生normal map。
輸出OBJ格式。
在ZBrush 使用Tool->import 載入OBJ檔案。
使用ZBrush 製作物件細節。
使用ZMapper工具產生normal map:
產生Y-up的normal map設定方式如下圖所示:





注意圖中紅色框框:

Tangent space N.Map 必須勾選,才能產生tangent space的normal map。
 
Flip Image Vertically 必須勾選。
 
Interpolate/RayTrace : 計算normal map的方式, Interpolate 比較快,Ray Trace會比較慢。理論上ray trace品質應該會比較好才是。
 
其他參數使用預設值。
直接開啟ATI/Maya/NVIDIA tangent space設定檔也可以產生Y-up的normal map。

在Texture介面export normal map輸出檔案。
 
以下是使用ZBrush製作normal map試做的結果:




使用Mudbox

製作方式與Zbrush差不多,也是製作低面模型輸出OBJ檔案到mudbox製作細節。

不過目前測試的結果發現mudbox產生normal map的 Texture Baking工具 效果不是很理想,所以看到網路上一些美術好手的做法是將高面數的物件匯出OBJ檔案,

再使用3DS MAX/Maya/XSI透過高低面產生normal map的工具來產生normal map。

3DS MAX/Maya/XSI 產生Y-up 的normal map設定可參考
http://sd-art.wikispaces.com/normalMapping





Normal map[壓縮]


現在的3D遊戲幾乎都使用DDS的壓縮材質,主要原因是壓縮效率品質都不錯。

可是normal map直接壓縮為DXT1~5這些格式, 效果都很不好。於是研究了一下目前一般常用的技術。

大致上目前使用的技術都是只儲存X/Y值,而Z值都在pixel shader裡面計算..

Z = sqrt( 1 – x*x – y*y)


這樣的方式有些限制:

必須是tangent space normal map。因為在world/object space下,Z有可能是正值或是負值,這個做法只能取正值(或是只取負值)。
normal必須是normalize 的。一般我們會希望normal 都是normalize,所以不算很大的限制。
 
pixel shader版本必須是1.4以上。
這個方式下有幾個常用的normal map格式:

使用V8U8/CxV8U8格式:效果和R8G8B8的normal map一樣好。但壓縮率還不夠好,只能壓縮到2/3。
 
使用Swizzled DXT5格式:基本上還是DXT5格式,但是把X值放到A,把Y值放到G,R/B channel可忽略,理由是DXT5壓縮特性使得A/G channel壓縮品質比較高。
品質會比直接把DXT5存XYZ的方式好很多。
使用3Dc:這目前只有AMD(ATI)的GPU支援。效果應該比Swizzled DXT5好。
(由於手邊沒有ATI的卡,所以無從比較)

下圖是測試比較圖,可以看出Swizzled DXT5效果還不錯說




簡單說明一下如何使用
NVIDIA Photoshop plugin製作這些壓縮格式的方式:

V8U8/CxV8U8格式:選擇V8U8/CxV8U8格式輸出。
Swizzled DXT5:選擇DXT5_NM格式輸出。
3Dc:無法輸出。目前只有ATI支援,所以只能透過AMD(ATI)的工具The Compressornator輸出

技術文件



相關工具


Zbrush官方網站

有免費試用版本可下載,可是功能有限,可以拿來先熟悉了解一下雕塑功能。
 
Mudbox
有完整功能15天試用版本供下載。
Nvidia Photoshop plugin ( Normal map filter & DDS importer/expoter)
 

 Normal map filter說明文件

ATI the Compressornator (DDS& 3Dc generator)




normal map製作

Normal map製作設定