Professional Documents
Culture Documents
hỏi trên
họa.
Xét cho cùng, hình mà chúng ta render chỉ là một hình 2D chứ không phải 3D. Vậy tại sao khi nhìn và
và các khối dáng 3D. Có rất nhiều yếu tố trong hình render giúp bộ não của chúng ta làm được điều nà
Nhóm 1: Yếu tố hình học, ví dụ như
- Sự che khuất (occlusion): Vật đằng trước che khuất vật đằng sau
- Luật phối cảnh (perspectivity): bao gồm các hiệu ứng như
+ Vật càng ở xa camera thì càng nhỏ (foreshortening)
+ sự di chuyển tương đối (hiệu ứng parallax): Vật càng ở xa camera thì chúng ta cảm thấy nó di chuyể
chiếc xe chạy qua miền đồng quê vào ban đêm. Bạn sẽ thấy những vật ở gần bạn di chuyển rất nhanh
thì di chuyển rất ít. Còn mặt trăng và sao thì gần như không hề di chuyển vì chúng ở quá xa.
Nhóm 2: Yếu tố ánh sáng, ví dụ như
- [Quan trọng] Định luật Lambert: Lượng ánh sáng mà một polygon nhận được tuỳ vào hướng của po
- Bóng đổ (trực tiếp): là bóng do nguồn sáng tạo nên
- Bóng đổ (gián tiếp); là bóng do ánh sáng gián tiếp từ nguồn sáng tạo nên. Trong đồ hoạ máy tính,
ambient occlusion. Nếu muốn mô phỏng chính xác thì phải sử dụng global illumination (GI).
Sở dĩ "Định luật Lambert" được ghi chú là "quan trọng" vì nó chính là mấu chốt để hiểu nguyên lý củ
này.
Có thể thấy, để tạo được những hình khối 3D chân thật tuyệt đối, chúng ta cần phải tái hiện được TẤT
đáp ứng được yêu cầu này, vì vậy cho kết quả chính xác nhất và có thể dùng làm tiêu chuẩn để đối ch
3. Định luật Lambert (Lambertian Law) và "hướng nhìn" của polygon
Nếu nhìn vào hình 2 (bên trái), chúng sẽ thấy một khối hộp. Chúng ta rõ ràng cảm nhận được đây là m
hộp có 3 sắc độ khác nhau, mặc dù cả ba đều cùng vật liệu với cùng một màu sắc! Nếu 3 mặt này có
không thể nào có được cảm nhận 3D cả.
Normal Map: Khác với bump mapping, normal mapping sẽ không tự tính toán ra các normal từ ảnh m
từ trước (bằng một phần mềm nào đó) và lưu vào một ảnh map gọi là normal map. Thuật toán norma
normal map và đưa vào tính toán định luật Lambert. Trong toán học, mũi tên normal thực chất là một
con số này được lưu thành 3 giá trị màu red, green, blue. Đây là lý do mà normal map là ảnh màu chứ
ポリゴン 1 枚 ポリゴンがピクセルで分割されたイメージ
1 tấm polygon Hình ảnh mà polygon đã được phân chia
bằng pixel
上図は4×4pixelの法線マップを1枚の四角ポリゴンに単純に貼り付けた場合のイメージです。
一枚の平面ポリゴンに法線情報を持ったテクスチャーをアサインすることで凹凸を表現することがで
Trên hình là hình ảnh của trường hợp đã dán normal map của 4x4pixel 1 cách đơn giản vào 1 tấm po
Có thể thể hiện sự lồi lõm bằng cách assign texture đã có thông tin về normal vào 1 tấm polygon mặt
NormalMap 無し
Không có normal map
上図)ポリゴンの法線ではなく、テクスチャーのpixcelを法線として描画する事でより細かいディティ
テクスチャーのサイズが大きくなればなるほどpixcelを多く使用できるためNormalMapによる精度が上がります
Hình trên) Có thể tái hiện những chi tiết 1 cách rõ ràng bằng cách vẽ pixel của texture với tư cách là n
Bởi vì có thể sử dụng nhiều pixcel nên size của texture càng lớn độ chính xác trên Normalmap càng c
Normalmapの概念
Khái niệm Normalmap
3D空間で立体を表現するにはX、Y、Zの3軸が必要になります。
Để thể hiện độ khối ở không gian 3D thì cần 3 trục X, Y, Z
その3軸をテクスチャーのR、G、Bチャンネルに置き換えたものがNormalmapです。
Cái mà đã thế chỗ 3 trục đó thành các channel R, G, B ở texture là Normalmap.
NormalmapではX=R、Y=G、Z=Bで表現するのが一般的です。
Ở Normalmap thường thể hiện bằng X=R、Y=G、Z=B
Rchannel=X Gchannel=Y
横から光が当たっているように見えます 上から光が当たっている
R、G、Bをすべて表示した状態がNormalmapになります。
Trạng thái mà đã hiển thị toàn bộ R, G, B sẽ là Normalmap
下のノーマルマップは文字と四角が凸ということがRGBチャンネルで確認できます。
Ở normalmap bên dưới có thể xác nhận việc hình tứ giác và chữ lồi lên bằng channel RGB.
注意 Normalmap
Normalmap
Chú ý: Không có ngh
Sẽ giải thích sau về phương ph
上のNormalmapをモデルに貼った状態
Trạng thái đã dán Normal map ở trên vào model
上からライトを当てた状態 横からライトを当てた状態
Trạng thái trúng phải ánh Trạng thái trúng phải ánh
đèn từ trên xuống đèn từ bên cạnh sang
上図のようにR、G、Bでの凹凸情報と一致します。
Theo như hình trên thì sẽ thống nhất với thông tin lồi lõm của ở R, G, B
以下にNormalmapの経験が浅い方に良くあるミス(ありえない凹凸情報)の例を記載します。
Ở dưới đây sẽ chỉ ra ví dụ lỗi thường gặp (thông tin lồi lõm không thể có được) ở những bạn thiếu kin
試しにGchannelのみ凹凸情報を反転させてみます。
Để thử thì sẽ thử đảo ngược thông tin lồi lõm chỉ ở channelG
R=X G=Y Gchannelを
Sẽ đảo ngược độ sáng của ch
上から光が当たっているの
横から光が当たっているように見えます
とになります
Có thể nhìn thấy giống như ánh sáng Có thể nhìn thấy giống n
chiếu theo chiều ngang chiếu từ trên xuống
上のNormalmapを板ポリにアサインした場合横から光を当てた際は凸にみえるが、上から光を当てた際
Trường hợp mà đã assign normalmap ở trên vào tấm poly thì lúc trúng ánh sáng chiếu từ bên cạnh sa
nhưng lúc trúng ánh sáng chiếu từ trên xuống thì sẽ thành map kỳ cục bị lõm vào
常にRGBの見え方を確認して、下図のような凹凸情報のつじつまが合わないことのない様に注意して下
Thông thường hãy xác nhận cách nhìn ở RGB và chú ý sao cho sự chặt chẽ của thông tin lồi lõm khớ
(Đây là lỗi thường mắc phải ở những bạn thiếu kinh nghiệm về Normalmap. Hãy chú ý kỹ)
横から光が当たっている際は 上から光が当たってい
膨らんでみえている 凹んでみえてい
Lúc ánh sáng chiếu theo chiều ngang thì
có thể nhìn thấy đang phồng lên
スチャです。
場合のイメージです。
ことで凹凸を表現することができます。
l 1 cách đơn giản vào 1 tấm polygon 4 cạnh.
normal vào 1 tấm polygon mặt phẳng
NormalMap あり
Có normal map
画する事でより細かいディティールを再現する事が出来ます。
ormalMapによる精度が上がります。
ixel của texture với tư cách là normal chứ không phải là normal của polygon.
ính xác trên Normalmap càng cao.
malmapです。
Bchannel=Z
上から光が当たっているように見えます 正面から光が当たっているように見えます
Có thể nhìn thấy giống như ánh sáng Có thể nhìn thấy giống như ánh sáng
đang chiếu từ trên xuống. đang chiếu từ chính diện.
確認できます。
n bằng channel RGB.
NormalmapのR、G、Bを一枚一枚描くわけではありません。
Normalmapの作成方法は後ほど説明します。
hông có nghĩa là sẽ vẽ từng tấm một R, G, B ở Normalmap
Sẽ giải thích sau về phương pháp làm Normalmap
横からライトを当てた状態 下からライトを当てた状態
Trạng thái trúng phải ánh Trạng thái trúng phải ánh
đèn từ bên cạnh sang đèn từ dưới lên
例を記載します。
có được) ở những bạn thiếu kinh nghiệm về normal
GchannelをCtrl+Iで明度反転をします。 B=Z
Sẽ đảo ngược độ sáng của channel G bằng Ctrl+I
上から光が当たっているので凹んでいるこ
真上から光が当たっているように見えます
とになります。
Có thể nhìn thấy giống như ánh sáng Có thể nhìn thấy giống như ánh sáng
chiếu từ trên xuống chiếu ở chính giữa
にみえるが、上から光を当てた際に凹になるという不思議なマップになってしまします。
ánh sáng chiếu từ bên cạnh sang sẽ có thể thấy lồi lên
bị lõm vào
わないことのない様に注意して下さい。(Normalmapの知識が浅い方によくあるミスです。十分注意して下さい)
ặt chẽ của thông tin lồi lõm khớp với nhau giống như hình bên dưới.
map. Hãy chú ý kỹ)
上から光が当たっている際は
凹んでみえている
Lúc ánh sáng chiếu theo chiều từ trên xuống thì
có thể nhìn thấy đang lõm vào
十分注意して下さい)
NormalMapの作成は大きく分けて2つの方法があります。
Để làm Normal Map thì có 2 phương pháp
①hightmapを作成してnormalmap作成TOOLで作成する方法。
hightmapとは白黒の画像で白を高、黒を低として画像を作成するマップの事でです。
1. Phương pháp làm hightmap rồi làm bằng TOOL làm normalmap
Hightmap là map làm hình trắng đen với màu trắng là cao, màu đen là thấp.
②HiModelの法線情報ををLowモデルに焼き付ける方法。
代表的なものはZ-BrushやMudboxを使用したスカルプトツールでHiModelを作成する方法です。
(スカルプトツールとは粘土で造形するように直感的なモデリングツールです)
http://www.pixologic.com/home.php
2. Phương pháp bake thông tin normal ở HighModel thành LowModel
Phương pháp tiêu biểu là phương pháp làm highmodel bằng tool sculpt mà đã sử dụng Z-Brush và M
(Tool sculpt là tool modeling mang tính trực giác giống như tạo hình bằng đất sét)
①hightmapを作成してnormalmap作成TOOLで作成する方法。
1. Phương pháp làm hightmap rồi làm bằng TOOL làm normalmap
PhotoShopのfilterで作成する
Làm bằng filter ở Photoshop
NVIDIAのPlug-inをインストールしてフォトショップのフィルターでnormalmapfilter
Có thể sử dụng normalmapfilter ở filter của photoshop bằng cách install plug-in của NVIDIA
http://developer.nvidia.com/nvidia-texture-tools-adobe-photoshop
NVIDIA Plug-in for Adobe Photoshop (64-bit) (8.51.0621.1635)
下の図のように白と黒の絵を作成します。
Hightmapの基本は50%グレーを基準とした場合白が凸で黒が凹になります。
Làm hình đen trắng giống như hình bên dưới
Cơ bản của Hightmap là trường hợp lấy gray 50% làm tiêu chuẩn thì màu trắng là độ lồi, màu đen là
上のhaightmapにnormalmap filterを適応します。
Sẽ làm normalmap filter tương ứng với hightmap ở trên.
強さや、高さを設定しま
Sẽ thiết lập độ mạnh, đ
Invert Y にチェックを入れてください
Hãy bỏ check vào Invert Y
ノーマルマップが作成されました。
Normalmap đã được tạo ra.
チェンネルのR 、G、Bを確認してみます。
Sẽ thử xác nhận R, G, B ở channel
R =X G =Y
Rは右から、Gは上から、Bは正面から光が当たっているように見える絵になるので、
このノーマルマップはレリーフが凸状態であることが分かります。
Bởi vì sẽ thành hình có thể nhìn thấy giống như R là ánh sáng chiếu vào từ bên phải, G là từ trên xuố
nên có thể hiểu được ở normalmap này hoa văn ở trạng thái lồi lên. (Sau khi làm normal thì nhất định
PhotoShopで作成するノーマルマップは平面的な凹凸を作るのに適しています。
工業製品や、建築物、服の装飾などを作るのに便利です。
Normal Map mà sẽ làm ở Photoshop thì sẽ dùng để làm độ lồi lõm mang tính mặt phẳng.
Sẽ rất tiện lợi trong việc tạo những thứ như đồ phụ kiện cho trang phục, đồ kiến trúc, sản phẩm công
CrazyBumpで作成する
Làm bằng CrazyBump
CrazyBumpをインストールしてください。(インストール方法は担当者まで)
CrazyBumpはPhotoShopでのノーマルマップよりさらに立体的なノーマルを作成することが可能です。
Hãy install CrazyBump. (cách install thì đến người phụ trách)
Crazybump có thể làm normal mang tính thể hiện độ khối hơn là normal map ở Photoshop
クレイジーバンプの設定
Thiết lập crazybump
crazybumpを起動し、右下のtoolsettingのPreferenceを選択します。
Khởi động crazybump, chọn preference của toolsetting ở bên phải phía dưới.
Preferenceで下記の設定に合わせてください。
Hãy làm khớp với thiết lập dưới đây ở Preference
Height mapは、高さ0部分を「Gray(RGB128.128.128)」にしてください。
Ở Height map hãy làm phần có độ cao là 0 (mặt phẳng) thành 「Gray(RGB128.128.128
haightmap → normalmap
CrazyBumpを使用して、normalmapから陰影を抽出
作成したNormal mapをCrazybumpで読み込みましょう。
Displacement、Occlusion、Specularity、Diffuse mapを作成してください。
Sử dụng CrazyBump, rút bóng từ normalmap
Hãy load Normal map đã làm bằng crazybump
Hãy làm Displacement、Occlusion、Specularity、Diffuse map
作成したNormal mapをCrazybumpで読み込みます。
Load normal map đã làm bằng crazybump
Displacement、Occlusion、Specularity、Diffuse mapを調整して、最適なしわや、陰影を抽出します。
各マップを保存し、デカールテクスチャーにオーバーレイなどで重ねてしようします。
Điều chỉnh Displacement、Occlusion、Specularity、Diffuse map, rút ra bóng và nếp nhăn thích hợp nhấ
Lưu các map, chồng thành decal texture bằng overlay chẳng hạn.
ります。
プの事でです。
作成する方法です。
malmapfilterを使用できるようにします。
l plug-in của NVIDIA
絵になるので、
(ノーマルを作成したら必ずR、G、Bを確認するようにしてください)
o từ bên phải, G là từ trên xuống, B là từ chính diện,
au khi làm normal thì nhất định là phải xác nhận R, G, B)
ルを作成することが可能です。
l map ở Photoshop
GB128.128.128)」
しわや、陰影を抽出します。
てしようします。
óng và nếp nhăn thích hợp nhất.
Mayaでハイメッシュを焼き込んでノーマルマップを作成する方
Phương pháp làm normal map bằng cách bake high mesh ở Maya
Z-Brushでのノーマル作成とは違い、ローメッシュのUVに直接焼き込むため、
モデルとノーマルマップがずれることがなくなります。
この方法で作成したノーマルマップでうまく焼き込めない部分などにZ-Brushで作成したノーマルマッ
Khác với cách làm normal ở Z-Brush, bởi vì sẽ bake đầy đủ trực tiếp vào UV của low mesh nên normal map và m
Tôi nghĩ là nên tạo normal map mà đã làm bằng Z-brush cho những phần không thể bake đầy đủ và đẹp bằng
Từ export xuất data của Z-brush ra dạng OBJ Z-Brush のデータを Export から OBJ で
②
maya にローメッシュ(実機用モデル)と Z-Brush から書き出した OBJ を読み込み
Load OBJ đã xuất từ Z-Brush và low mesh (model sử dụng cho máy thực) trong Ma
Bake
焼付け
Bake
焼付け
焼き付けの終わったローメッシュ
以上。
Hết
ルマップを作成する方法
Z-Brushで作成したノーマルマップを合成すると良いと思います。
ủa low mesh nên normal map và model sẽ không bị lệch nhau.
ông thể bake đầy đủ và đẹp bằng normal map đã tạo ở ph ương pháp này.
書き出し先のパスやフォーマットを選択
ze texture
ành chất
nhất (khi
nhất)
High mesh
ーメッシュ
SoftEdgeのモデルにHardEdgeを焼きつける
Nướng HardEdge trên model SoftEdge .
① softedgeのモデルにhardedgeのノーマルを焼き付けます。
Nướng normal của haradge ở model của softedge .
モデルをコピーしてスムージングが奇麗になるようにハードエッジの設定を行ってください。
Copy model và hãy thiết lập cạnh cứng sao cho smoothing nó đẹp lên .
図ではモデルが離れていますが、焼き込む際はモデルは重なっている状態にして下さい。
Trên hình thì model nó đang cách xa nhau nhưng mà khi nướng thì hãy làm thành trạng thái model nó chồng
② UVが重なっているとうまく焼き込めないので、重なっているUVをUVの範囲外に出しておきます。(こう
Khi UV chồng lên nhau thì sẽ không thể nướng tốt được nên, nên hãy cho UV đang chồng lên nhau lòi ra
③ Rendering >> Lighting/Shading >> Transfer Maps を開き、Target Meshesにsoftedgemodel(実データ)、
をadd
Mở Rendering >> Lighting/Shading >> Transfer Maps, add Softedgemodel vào Target Meshes (data th ực), Har
④ normalを選択してnormalmapを保存してください。
Chọn normal và lưu normalmap
⑤ 設定、焼き付け
Thiết lập, nướng
UVから外に何pixcel焼き付けるか指定
焼き付け Nướng
⑥ 外に出していたUVを基に戻します。(基に戻すというよりは基のデータを取っておいてそこにノーマル
Đưa UV lòi ra bên ngoài trở về cơ bản. (trở về cơ bản nói đúng hơn là trở về data ban đầu rồi dán norm
⑦ 完成 Hoàn thành
ってください。
に出しておきます。(こうすると外に出している部分は焼き込みの計算が行われません)
ng chồng lên nhau lòi ra bên ngoài phạm vi của UV (làm như vậy thì phần lòi ra bên ngoài sẽ không bị tiến hành tính toán nướng
model(実データ)、Source Meshesにhardedgemodel(焼き付けたいモデルhimodelなど)
Meshes (data th ực), Hardedgemodel vào Source Meshes ( model muốn nướng chẳng hạn như himodel)
Thiết lập size texture
chất lượng
Thiết lập xem từ UV đến bên ngòai nướng bao nhiêu pixel
ておいてそこにノーマルマップを貼る方が効率がいいです)
ata ban đầu rồi dán normal map lên đó sẽ có hiệu suất tốt hơn)
ến hành tính toán nướng.
Zbrushモデルにテクスチャーを貼る Dán texture vào Zbrush M
Z-Brushでテクスチャーをモデルに貼り、それを当たりにスカルプトを行う方法を説明します。
Dán texture vào model bằng Z-Brush, giải thích phương pháp tiến hành Sculpt (điêu khắc) vào ngay chỗ đ
căng texture ở
model
từ hình ảnh lự
psd đã load lú
④
đổi thành material dễ nhìn của
texture
⑤
nếu để nguyên như vậy mà scuplt (chạm khắc) thì nó sẽ bị d
như là chấm chấm.
⑥
nếu OFF texture thì có thể chạm
khắc như bình thường
以上。
Hết
e vào Zbrush Model
を説明します。
êu khắc) vào ngay chỗ đó.
chọn Texture là ON
từ hình ảnh lựa chọn, mở
psd đã load lúc nãy
ành material dễ nhìn của
e
hạm khắc) thì nó sẽ bị dơ giống
ノーマルマップから陰影を抽出する1
Xuất bóng ra normal map ①
ローモデルに貼っているノーマルマップの凹凸情報をテクスチャーとして
Cách làm texture normal map lòi lõm để áp vào low poly
Render Setting を
Mở Render
② Render Setting を
Mở Render
Common タブを選択
Chọn tab Common
EnableDefault Light の
Sổ dấu check của En
③
Final Gathering にチェックを入れる
bỏ dấu check vào Final Gathering
④
Maya Derivatives にチェックを入れる
Check vào Maya Derivatives
ノーマルマップが接続されました
normal map đã được tiếp tục
⑨
Color を白に変更
đổi màu thành màu trắng
Diffuse を1に変更
Đổi Diffuse thành 1
注)デフォル
Chú ý: Nếu nướ
⑩
アンビエントオクルージョン計算なのでなので遮蔽
上から光が当たっているように見せたい場合は下
Sẽ có tính toán che chắn ambient occulusion
Nếu muốn cho thấy ánh sáng từ trên chiếu xuố
lên.
完成 Hoàn thành
⑬
マテリアルの数値を変更しない場
Kết quả của trường hợp không thay đ
以上
hết
情報をテクスチャーとして焼き込む方法
òi lõm để áp vào low poly
クを入れる
Gathering
Accuracy を最大に変更
đổi Accuracy thành lớn nhất
入れる
s
t を白に変更します
persp thành màu trắng
ノーマルマップテクスチャーを読み込みま
す Chạy texture normal map
Use As を Tangent Space Normals に変更しま Đổi Use As thành Tangent Space Normals
す
lor を白に変更
u thành màu trắng
iffuse を1に変更
ổi Diffuse thành 1
注)デフォルトの設定で焼きこめば白とびしない焼きこみが出来ます
Chú ý: Nếu nướng bằng setting mặc định thì có thể nướng kg ra màu trắng.
ョン計算なのでなので遮蔽を計算します。
るように見せたい場合は下からの光を遮るグリッドをだします
ắn ambient occulusion
nh sáng từ trên chiếu xuống thì sẽ tạo lưới che ánh sáng từ dưới chiếu
Use bake set override にチェック Check vào Use bake set override
た状態で Convert
ọn model nướng
àn thành
アルの数値を変更しない場合の結果
a trường hợp không thay đổi giá trị material
■nDo1の設定のやり方
nDoのフォルダをC:ドライブにコーピーして下さい。
sau khi load thì nDo sẽ xuất hiện trong bảng Actions
ロードが終わったらnDoがAction表に出てくる。
※デフォルトソートカットはF3です。ご注意下さい。
■nDo1の使い方
・選択範囲よりノーマルマップを作る。
下図のように空レーヤーで選択範囲を作る。
F3を押すと自動的にActionが実行される。そして、以下のように結果が出てくる。
Option表で調整した後、Closeを押して終わる。
Option表で数字を調整すると結果がよく更新される。
★注意点
nDoで生成したグループの名前を変更しない条件として
そして、もう一度Optionを調整する場合は左図のようにグ
※グループの名前を変更したのに
パスでノーマルマップを作る
空レーヤーを作ってパスを選択する
F3を押すと自動的にActionが実行される。そして、以下のように結果が出てくる。
調整する方と注意点は上記と同じ内容です。
■実際の画像やHeight Map等からノーマルマップを作り方
F3を押すと自動的にActionが実行される。そして、以下のように結果が出てくる。
調整する方と注意点は上記と同じ内容です。
■nDo2の設定の方
nDoのフォルダをローカルに持って来て、通常通りにインストールする。
インストールが終わったら、デスクトップにあるアイコンを実行する。
また、nDo2を実行する時にPhotoshopが自動的に開く。
■nDo2の使い方
ノーマルマップにコンバートしたいレーヤーを選択すれば、nDo2が自動的にコンバートの形式を分かっ
下記は例として用意しました。
画像やHeight Mapなどをノーマルマップにコ
透明ベースでの色をノーマルマップにコンバ
空レーヤーでの選択範囲をノーマルマップに
パスををノーマルマップにコンバートした
★注意点
oがAction表に出てくる。
トはF3です。ご注意下さい。
果が出てくる。
プの名前を変更しない条件としてCloseを押したとしても、もう一度調整することが可能である。(左図に
nを調整する場合は左図のようにグループをクリックして、F3を押したら、またOption表が出てくる。
変更したのにF3を押すとPhotoshopが中止されて、データが無くなる可能性があります。
果が出てくる。
果が出てくる。
自動的にコンバートの形式を分かってくれる。
ght Mapなどをノーマルマップにコンバートした
スでの色をノーマルマップにコンバートした
ーでの選択範囲をノーマルマップにコンバートした
ーマルマップにコンバートした