Cho các thiết lập tôi chọn một khung cảnh mà các bạn có thể tìm thấy trên
khung cảnh đó do 3 nguyên nhân sau. Thứ nhất khung cảnh được tạo ra đặc
biệt để thử (test) các khả năng của các chương trình render khac nhau và có
trình bày tất cả các dạng 3D cơ bản. Cũng trên trang web đó có trình bầy một
gallery lớn các hình ảnh đã render của khung cảnh này cho nên có thể so sánh
kết quả của mình với những người khác. Thứ 2, khung cảnh có một tính chất
trung gian –đó không hẳn là một cảnh nội thất cũng như không phải là một
cảnh ngoại thất hoàn toàn. Đó là một cái sân trong nhỏ, được bao bọc kín bởi
4 bức tường. Ánh sáng chiếu vào trong từ phía trên qua một cái “giếng” khá
sâu được tạo nên từ các bức tường của ngôi nhà. Trong khung cảnh có tầng 2,
vùng dưới ban công, và ánh sáng chiếu thẳng vào đó. Thứ 3 là khung cảnh
khá lớn, khoảng 40m chiều dài. Khung cảnh gốc được tạo trong LightWave.
Trên trang web cũng có version cùng với vật liêu đã tương thích với 3ds của
nó, và chúng ta sẽ làm việc với nó.Trong scan-line renderer 3ds max nó trông
như thế này.
21 trang |
Chia sẻ: luyenbuizn | Lượt xem: 1039 | Lượt tải: 1
Bạn đang xem trước 20 trang nội dung tài liệu Xác lập ánh sáng cho khung cảnh trong Vray, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Xác lập ánh sáng cho khung cảnh trong Vray
a. Khung cảnh
Cho các thiết lập tôi chọn một khung cảnh mà các bạn có thể tìm thấy trên
Internet tại địa chỉ Chọn chính
khung cảnh đó do 3 nguyên nhân sau. Thứ nhất khung cảnh được tạo ra đặc
biệt để thử (test) các khả năng của các chương trình render khac nhau và có
trình bày tất cả các dạng 3D cơ bản. Cũng trên trang web đó có trình bầy một
gallery lớn các hình ảnh đã render của khung cảnh này cho nên có thể so sánh
kết quả của mình với những người khác. Thứ 2, khung cảnh có một tính chất
trung gian – đó không hẳn là một cảnh nội thất cũng như không phải là một
cảnh ngoại thất hoàn toàn. Đó là một cái sân trong nhỏ, được bao bọc kín bởi
4 bức tường. Ánh sáng chiếu vào trong từ phía trên qua một cái “giếng” khá
sâu được tạo nên từ các bức tường của ngôi nhà. Trong khung cảnh có tầng 2,
vùng dưới ban công, và ánh sáng chiếu thẳng vào đó. Thứ 3 là khung cảnh
khá lớn, khoảng 40m chiều dài. Khung cảnh gốc được tạo trong LightWave.
Trên trang web cũng có version cùng với vật liêu đã tương thích với 3ds của
nó, và chúng ta sẽ làm việc với nó. Trong scan-line renderer 3ds max nó trông
như thế này.
Hình 1: Khung cảnh được nhìn thấy thế này trong scan-line renderer 3ds max
. Thời gian render với AthonXP 3200 – 14 giây.
b. Vật liệu và hình khối
VRay, dù sao, cũng như những renderer khác, có một loạt các yêu cầu về hình
học của khung cảnh. Hình khối phải “chính xác”, tức là cần phải tuân theo
những đòi hỏi bình thường về dựng hình đúng. Hình khối không được chứa
những poligon dài, mảnh (dải), còn các vết nối cần phải không có bất kỳ khe
hở nào. Sự tồn tại những khe hở là nguyên nhân chính để lọt ánh sáng xuyên
qua góc (xuất hiện hiện tượng tự sáng ở góc) và vết nối các bề mặt. Tốt nhất
nếu như các vật thể riêng biệt là những mô hình riêng biệt. Ví dụ, khi xây
dựng phòng dạng hộp nên làm bằng 1 vật thể chứ không phải tạo thành từ 6
vật thể hình hộp (box). Khi dựng hình cần sử dụng các hình khối “xây được”,
ví dụ như tường trong thế giới thực luôn luôn có bề dày thì trong khung cảnh
đừng cố gắng dựng nó bằng mặt không có độ dày. Bản thân tôi luôn tránh sử
dụng thao tác boolean để tạo các lỗ cửa và cửa sổ bởi vì nó thường tạo ra
những lưới poligon không tối ưu. Phương pháp tốt nhất để dựng hình tôi có
thể khuyên là làm việc với Editable poly.
VRay không đòi hỏi về hình khối nặng như các chương trình sử dụng
radiosity, tuy nhiên, dựng hình tốt là bảo đảm cho việc tính toán trên nó nhanh
và không lỗi. Vì thế kiểm tra và tinh chỉnh hình của khung cảnh khi cần là
việc làm đầu tiên để chuẩn bị cho render.
Việc chọn đơn vị đo cho khung cảnh là khá quan trọng mặc dù không phải là
bắt buộc. Khi làm việc với VRay tiện nhất là làm việc với millimetre. Đó là
yêu cầu của phạm vi đo các giá trị của VRay, mà việc sử dụng mm sẽ tăng độ
chính xác khi làm việc với nó. Ví dụ, giá trị nhỏ nhất của thông số Max.
density của photon map là 0.001 trong hệ đo lường đã chọn. Nhưng 0.001 của
1m và 1mm là hoàn toàn khác nhau. Tất nhiên độ chính xác cao như vậy của
Max. density cho photon map là для фотонной карты không xác đáng,
nhưng VRay còn có một loạt những thông số khác có giới hạn đo cũng dựa
trên hệ đơn vị đo như vậy. Hệ đơn vị được dùng luôn có thể thay đổi sang hệ
khác, ví dụ, bằng công cụ Rescale World Units 3 ds max. Nó chỉ có thể ảnh
hưởng mạnh ở chỗ khối lượng lớn công việc tính toán sẽ phải tính lại.
Cũng tương tự cần giữ nguyên tắc tương ứng giữa kích thước của các vật thể
trong khung cảnh và thế giới thực. Sự cần thiết của yêu cầu đó bị chỉ định bởi
sự sử dụng luật tắt dần cường độ chiếu sáng theo khoảng cách trong mọi
chương trình render có tính Global Illumination hiện thời.
Vì tôi đã định dùng photon map nên cần xây dựng vật liệu. Như ta đã rõ,
VRay chỉ tính photon map cho vật liệu VrayMtl. Vì thế cần phải chuyển đổi
các vật liệu Standard 3ds max đã được dùng trong khung cảnh sang dạng
VrayMtl. Việc chuyển đổi vật liệu khá dễ, chỉ cần thay đổi dạng vật liệu sang
VrayMtl, mô phỏng tính diffuse của vật liệu sẽ được áp vào mục tương ứng.
Vì một số vật liệu gốc có bump nên chúng sẽ được thiết lập tương tự trong vật
liêu mới cũng với giá trị như vậy.
Dung lượng của khung cảnh là 66 454 poligon, như thế hoàn toàn chấp nhận
được. Các chỉ số về số lượng hình học và vật liệu cũng quan trọng – chi phí
cho chúng là bộ nhớ sẽ không được dùng cho các mục đích khác tiếp theo, ví
dụ - cho photon map. Càng nhiều bộ nhớ tốn kém cho hình học và vật liệu thì
càng ít bộ nhớ còn lại cho các photon vì Windows không thể quản lý nhiều
hơn 2 GB bộ nhớ - đó là tất cả những thứ truy cập được cho hệ thống và
chương trình đang chạy. Nếu khung cảnh quá lớn render có thể là hoàn toàn
không thực hiện được. Hoạch định và tối ưu kích thước cho khung cảnh cũng
là một điều không kém phần quan trọng khi chuẩn bị tính toán.
Để hoạch định cần lấy giá trị gần với 1.5 GB (nếu bạn không bật đồng thời
với 3ds max thêm Photoshop, Corel Draw, WinAmp, Word và IE :). Đây là
khung cảnh với vật liệu đã được xây dựng xong.
c. Ánh sáng
Vì bản thân khung cảnh của chúng ta cần có ánh sáng ban ngày, tôi dự định
dùng 2 nguồn sáng (NS). Một trong số chúng mô phỏng mặt trời cái còn lại –
ánh sáng rải rác rộng khắp của vòm trời.
Một NS bất kỳ thỏa mãn 3 điều kiện sau có thể mô phỏng ánh sáng mặt trời
· Nó không giảm cường độ ánh sáng theo khoảng cách
· Các tia sáng của nó song song với nhau;
· Nó có mặt trước chiếu sáng dạng một phần của mặt phẳng, hình chữ nhật
hay hình tròn.
Trong 3 ds max các yêu cầu trên gần như dẫn đến sự lựa chọn NS Target
Direct. VrayLight không phù hợp vì không cung cấp các tia sáng song song
(yêu cầu thứ 2). Thậm chí khi tắt Ignore light normal trong thông số của nó,
mặt trước chiếu sáng sẽ có dạng cầu. Điều đó sẽ dẫn tới tổn thất các tia
photon, tức là tới việc tăng thời gian tính toán vô ích.
Yêu cầu không có sự tắt dần theo khoảng cách mâu thuẫn với nguyên tắc
chính xác vật lý vì chúng ta đang xây dựng mặt trời. Trong đồ họa máy tính
chỉ có 1 trong số các phương pháp tắt dần có thể - kết quả của việc thay đổi
mật độ dòng năng lượng ánh sáng khi thay đổi diện tích mặt trước chiếu sáng
khi phân bố ánh sáng (tăng bán kính hình cầu mặt trước chiếu sáng theo theo
thời gian hoặc chỉ đơn giản là theo khoảng cách từ nguồn sáng). Điều đó dẫn
đến việc tắt dần theo bình phương khoảng cách, còn sự thay đổi cường độ chỉ
phụ thuộc vào sự thay đổi khoảng cách (bán kính). Nói về mặt trời thì khoảng
cách mà tia sáng đi từ đó tới trái đất quá lớn so với sự thay đổi bán kính mặt
trước chiếu sáng trong phạm vi trái đất. Vì thế sự thay đổi cường độ chiếu
sáng trong phạm vi các khoảng cách trên trái đất, cứ cho là hàng trăm Km hay
viên bi 10mm là rất nhỏ. Nói một cách khác, quả cầu sáng tỏa ra từ mặt trời
tới trái đất lớn tới cỡ mà bề mặt của nó có thể co là phẳng (hơn nữa với cơ sở
lớn hơn rất nhiều so với việc coi bề mặt trái đất là phẳng), sự thay đổi mật độ
ánh sáng là không đáng kể còn các tia sáng là song song. Và đó chính là sự
chính xác vật lý đối với mặt trời như là một nguồn sáng. Các nguồn sáng bình
thường của trái đất - hoàn toàn khác. Sự thay đổi tương đối bán kính quả cầu
sáng của chúng lúc nào cũng lớn, nhân thấy được và cần phải tính đến theo
qui luật tắt dần theo bình phương khoảng cách.
Xác lập vị trí và độ cao của Target Direct trong khung cảnh được chọn sao
cho phần nhìn thấy trong camera được chiếu sáng đẹp nhất. Mặt trước chiếu
sáng chọn là hình chữ nhật (Light Cone>rectangle) để giảm nhẹ sự chiếu tia
vào phần đẹp của khung cảnh sao cho thất thoát khi chiếu các tia photon là tối
thiểu. для облегчения егопроецирования на интересующую часть сцены
так, чтобы минимизировать потери при излучениифотонов. Sự tắt dần tất
nhiên là chúng ta sẽ bỏ (Decay>Type>None). Chọn loại bóng đổ là
VRayShadow với các giá trị theo mặc định.
Nguồn sáng thứ 2 cần phải mô tả ánh sáng tỏa xuống từ bầu trời và vì thế nhất
định phải là loại không gian (dạng Area). Có thể chọn NS dạng Skylight từ bộ
NS của 3ds max, và không tồi nếu như cung với nó dùng một hình ảnh bầu
trời phù hợp vào HDRI. Mặt khác nếu tính đến việc photon map không làm
việc với Skylight và HDRI thì thay vào đó ta dùng loại NS VrayLight là thích
hợp. Tuy thế, phương án dùng Skylight+HDRI hoàn toàn không bị loại bỏ,
chỉ đơn giản là tại đây và bây giờ tôi chưa đề cập đến.
Thiết lập VrayLight sao cho nó có dạng chữ nhật tương ứng với kích thước ô
trống phía trên của sân trong và đặt nó thấp hơn một chút so với mái. Vị trí
như vậy hạn chế tối đa thất thoát photon, còn sự chiếu sáng ngoài mái của
ngôi nhà sẽ do VRay Environment đảm nhiệm. Sự tắt dần vẫn để bật – đây
không phải là mặt trời.
Hình. 02. Xác lập VRayLight
Cuối cùng, để thể hiện mầu sắc của bầu trời ta áp mầu trắng cho Environment
3ds max.
Hình 03. Khung cảnh với các nguồn sáng và camera.
Kích thước render chúng ta đặt là 640х480, Như thế là hoàn toàn đủ cho mục
đích xác lập ánh sáng. Sau khi xác lập ngay trước khi tiến hành render lần
cuối nó cần được thay đổi sang kích thước cần thiết. Cũng cần để thông số
chống răng cưa (sau đây sẽ viết tắt là AA) tối thiểu chế độ fixed rate,
subdivs=1, có thể còn để thô hơn.
Bây giờ, sau khi bố trí ánh sáng, cần thiết lập hệ số nhân (Multiplier) cho
cường độ của chúng. Thao tác này cần thực hiện qua nhiều bước. Đầu tiên chỉ
để ánh sáng trực tiếp. Bây giờ ta sẽ làm việc đó.
Tắt tính GI của VRay và bắt đầu thử với các giá trị cường độ bằng cách chỉ
render ánh sáng trực tiếp và điều chỉnh của NS. Cho khung cảnh này tôi dừng
lại ở các giá trị sau: cho Target Direct - 3, cho VRayLight - 5 và màu trắng
cho cả hai (255, 255, 255). Khi xác lập cường độ ánh sáng ngay từ ban đầu ta
cũng dùng công cụ điều khiển theo luật số mũ trong VRay: Color mapping,
loại - HSV Exponential, Dark Multiplier =1.6, Bright multiplier =1, Affect
background off.
Hình. 04. Khung cảnh với ánh sáng trực tiếp sẽ trông như thế này.
Công cụ điều khiển này hay ở chỗ cho phép loại đi những ánh sáng thừa ở
những chỗ quá sáng. Trong khung cảnh này tôi muốn thể hiện cảm giác rực rỡ
của ánh sáng ban ngày, do đó sẽ thừa sáng ở vùng mái khi đạt được độ sáng
cần ở các vùng khác. Vấn đề được giải quyết bằng công cụ điều khiển theo
luật số mũ sự chiếu sáng. Nói chung sự cần thiết trong kiểm soát các chỗ thừa
hoặc thiếu sáng đã nảy sinh do các renderer hiện giờ đều tính giá trị cường độ
theo sự chính xác vật lý, điều không phải lúc nào cũng gắng gượng thực hiện
được trong mô hình RGB chuẩn.
Hình. 05. Các thông số của nhóm Color mapping giúp điều chỉnh các cường
độ chiếu sáng
Tất cả có 3 loại điều khiển: Linear multiply (đường), Exponential (theo luật số
mũ), HSV exponential (theo luật số mũ có giữ lại sự bão hòa màu sắc). Sự
khác nhau giữa Exponential và HSV exponential là ở chỗ khi bão hòa về tông
(tone) sau khi tinh chỉnh có sử dụng Exponential hình ảnh sẽ “nén hơn”, khô
hơn. Trong các bước cuối cùng, sau khi tính photon map và irradiance map,
có thể xuất hiện yêu cầu tinh chỉnh bổ sung cho ánh sáng. Việc đó hoàn toàn
có thể thực hiện bằng cách tương tự và không phải tính lại bản đồ.
Thursday November 8, 2007 - 08:25pm (ICT) Permanent Link | 0 Comments
Xác lập ánh sáng cho khung cảnh trong Vray
Thiết lập photon map
Để tính sáng phương pháp irradiance map + photon map đã được chọn. Làm
như thế vì những nguyên nhân sau: photon map cung cấp kết quả nhanh và
chính xác, bản đồ chiếu sáng (irradiance map) cũng cho tốc độ như vậy và với
thiết lập cần thiết là chất lượng render. Ưu việt của phương pháp này đã được
xem xét khá kỹ trong phần 1.
Chúng ta bắt đầu thiết lập photon map. Trước đó, trong bảng VRay: Indirect
Illumination nhập vào những thông số như sau. выставляем следующие
параметры:
HÌnh 06. Chọn photon map
Bây giờ cho first bounce chọn phương pháp Global photon map với mục đích
tạo ra photon map. Sau đây, khi photon map đã có, tôi sẽ sử dụng Irradiance
map.
Nhập vào giá trị Secondary bounces>Multiplier lớn nhất bằng 1, vì lý do kích
thước của khung cảnh lớn và có những phần photon khó bay đến. Cũng vì lý
do đó giá trị độ sâu tia dò photon, Bounces, thiết lập bằng 20 thay cho 10 như
mặc định.
Tắt Refractive GI caustics và Reflective GI caustics, vì tôi không có ý định
tính hiệu ứng caustic từ ánh sáng phản xạ khuếch tán.
Xác lập quan trọng nhất bây giờ là số lượng tia photon từ các nguồn sáng
(subdivs). Nó cần phải đủ lớn để cho hình ảnh có chất lượng cần thiết và đủ
nhỏ để đảm bảo điều kiện tốc độ cao nhất cho các tính toán sau. Trong ý
tưởng, mật độ của photon map càng cao thì bán kính thu thập photon (Search
distance – sẽ viết tắt là SD) càng nhỏ và photon map càng chất lượng. Thực tể
cũng cần tính đến yếu tố thời gian tính toán và hạn chế của bộ nhớ hệ thống
(1,5 GB trừ đi phần bộ nhớ cho cho hình học và vật liệu, chắc bạn còn nhớ?).
Vì thế, sự chọn lựa SD hợp lý và chỉnh đúng mật độ photon cho nó là chiến
lược cốt yếu ở bước này.
Phân tích bản thân khung cảnh là tiêu chuẩn cho sự lựa chọn giá trị SD phù
hợp. Nếu, ví dụ như, trong khung cảnh có một số vật thể quan trọng nhìn thấy
tốt, chỗ chuyển bóng của chúng cần thể hiện thì lựa chọn SD là hướng vào
chúng - SD cần phải có giá trị sao cho cung cấp được độ chính xác chuyển
bóng dọc theo chúng. Nếu không có vật thể trọng tâm, SD có thể chọn dựa
vào kích thước của khung cảnh và đơn vị sử dụng (SD được đo bằng đơn vị
được dùng trong khung cảnh). Vì trong khung cảnh của chúng ta không có vật
thể trọng tâm, tôi đề xuất SD trong giới hạn 50-150 mm.sẽ là phù hợp và dừng
lại ở giá trị SD = 100. Sự lựa chọn SD cho phép ngay lập tức xác định cả
Max. density (kích thước của photon map, hay độ “nén” của nó, tiếp theo sẽ
viết tắt là - MD), bởi vì giữa chúng có mối liên hệ. Rõ ràng là SD không thể
nhỏ hơn MD bởi vì khi đó trong giới hạn của SD sẽ không có môt photon nào.
Tác giả bài này khuyên nên giữ tỷ lệ giữa SD và MD trong giới hạn 2 đến 6,
tức là SD=MDx2….6, , chúng ta cũng sẽ dùng tỷ lệ đó bây giờ. Nếu bạn bỏ
qua MD tức là cho nó giá trị 0 (photon map giữ nguyên dạng) thì sẽ không
thành công bởi vì chúng ta cần chiếu một lượng khá lớn photon, mà hạn chế
của bộ nhớ hệ thống không cho phép làm như thế. Chọn MD =100/6=15,
trong mối tương quan này giá trị của MD luôn cần tiến tới giá trị nhỏ nhất có
thể được. Bây giờ chúng ta tính 4 photon map với các giá trị khác nhau của
subdivs cho nguồn sáng lần lượt là : для 3000, 5000, 7000 và 8000 subdivs .
Mỗi photon map tất nhiên cần lưu vào một file riêng biệt.
Hình.07 Các thông số của photon map
Các thông số của photon map sẽ không thay đổi, có chăng chỉ là giá trị của
subdivs cho nguồn sáng. Trước khi tính có thể tắt thêm sự phát sinh caustic
photons của nguồn sáng và các vật thể (bởi vì chúng ta không định tính
caustic từ ánh sáng trực tiếp trong khung cảnh này) và kiểm tra tính chất của
các vật thể xem Generate GI/Receive GI cho chúng đã được xác lập chưa?
HÌnh phot_map#3 Photon map sẽ trông như thế này với 3000 subdivs và ánh
sáng trực tiếp.
Thống kê của photon map:
· subdivs 3000 3000 (nguồn sáng thứ nhất và thứ hai - Target Direct и
VrayLight, mặt trời và bầu trời của chúng ta) ;
· chiếu tối đa: 18 000 000 photon;
· Số photon lưu trữ trong bản đồ: 5 635 989;
· Dung lượng bộ nhớ cần 516.4 MB;
· Kích thước file trên đĩa 315.6 MB.
Hình. phot_map#5. Photon map với 5000 subdivs trông như thế này.
Thống kê của photon map:
· subdivs 5000 5000;
· chiếu tối đa: 50 000 000 photon;
· Lưu trữ trong bản đồ 7 788 992;
· Dung lượng bộ nhớ cần 714.1 MB;
· Kích thước file trên đĩa 436.1 MB.
Hình. phot_map#7. Photon map với 7000 subdivs trông như thế này.
Thống kê của photon map:
· subdivs 7000 7000;
· chiếu tối đa: 98 000 000 photon;
· Lưu trữ trong bản đồ 9 023 203;
· Dung lượng bộ nhớ cần 827.7MB;
· Kích thước file trên đĩa 505.2 мMB.
Hình. phot_map#8. Photon map với 8000 subdivs trông như thế này.
Thống kê của photon map:
· subdivs 8000 8000;
· chiếu tối đa: 128 000 000 photon;
· Lưu trữ trong bản đồ 9 486 395;
· Dung lượng bộ nhớ cần 869.8MB;
· Kích thước file trên đĩa 531.2 MB.
Dễ dàng nhận thấy là bản đồ tốt nhất nhận được với 128 triệu photon (hình
phot_#8). Bởi vì nó được tính với thời gian chấp nhân được và đòi hỏi không
quá nhiều chỗ trên đĩa để lưu trữ. (có lẽ tôi đã chọn nó kể cả 3 năm về trước:),
và bây giờ tôi cũng chọn nó để tính tiếp. Nói chung, nếu như tôi muốn thu hẹp
góc nhìn của camera thì hoàn có thể sử dụng photon map đầu tiên với 3000
subdivs. Nhưng tôi muốn tìm hiểu xem cái gì sẽ xảy ra ở ban công mà ở đó
mật độ photon map sẽ là thấp nhất trong khung cảnh và 3000 subdivs có thể là
không đủ để cho một ảnh render chất lượng. может
Bây giờ load photon map từ file mà nó đã được ghi và tiếp tục “cuộc chơi”
với việc xác lập photon map. Cụ thể chúng ta sẽ thử thay đổi SD vì việc đó
không đòi hỏi tính lại photon map.
Hình. sd-10. SD=10мм. Bản thân bán kính rất tốt vì đã cho phép chi tiết hóa
hình ảnh cao. Nhưng tiếc rằng dùng bán kính đó với mật độ hiện thời của
photon sẽ nhận được photon map rất nhiễu, ít thiết thực để sử dụng.
Hình. sd-1000. SD=1 met. Nhiễu hầu như không có, nhưng bù vào đó các chi
tiết bóng rất mờ nhạt do bán kính quá lớn. Hình ảnh trông phẳng và ít thú vị.
Và đúng là thời gian tính tăng gần tới 30 lần vì trong tính sáng đã thao tác với
một số lượng lớn photon.
Hình. sd-90. Sau một vài phép thử bổ sung với bán kính, tôi quyết định dừng
lại với giá trị SD=90 мм. Photon nhận được có độ nhiễu chấp nhận được và
bán kính thu thập có đủ khả năng diễn tả chi tiết chiếu sáng, còn các vết nối
và góc nhận được liền mạch, không nhận thấy bị dán đoạn. Thời gian tính
photon map cũng hoàn toàn chấp nhận được.
Cho thiết lập photon map như vậy có thể nói là đã hoàn tất. Nhưng tôi muốn
đề xuất tiêu tốn thêm ít thời gian bổ sung và thực hiện thêm một kỹ xảo, cho
phép nâng cấp chất lượng của photon map.
Đến thời điểm này số lượng photon thu thập Max. photons vẫn được đặt là 0
để không có gì ảnh hưởng đến việc thiết lập bán kính thu thập. Chúng ta hãy
cho giá trị Max. photons sao cho nó tương ứng với số lượng photon thu thập
được trong giới hạn SD của chúng ta tại vị trí có mật độ photon thấp nhất
khung cảnh. Ý tưởng là để cho trong các vùng của bản đồ có mật độ photon
cao, sự chiếu sáng của điểm sẽ được tính với Max. photons. Khi đó bán kính
thu thập sẽ nhỏ hơn so với giá trị đã thiết lập trong các xác lập của SD và sẽ
thay đổi phụ thuộc vào mật độ photon của bản đồ, đạt đến giá trị đã thiết lập
của giá trị SD trong những vùng có mật độ thấp nhất. Như vậy chúng ta sẽ đạt
được cùng một lúc 2 mục đích: bán kính thu thập sẽ thay đổi trong suốt
photon map và các vết nhiễu sẽ mất đi sự đều đặn của nó. Còn do việc giảm
bán kính thu thập thực tế, khả năng diễn tả chi tiết bóng sẽ được nâng lên, đặc
biệt ở vùng có sắc độ trung bình.
Làm sao để tìm được giá trị Max. photons? Chúng ta bắt đầu nâng từng bước
giá trị của nó từ 0 với một vài bước (ví dụ 10 photon) và mỗi lần sẽ tiến hành
render hình. Lúc hình ảnh ở các vùng có mật độ photon nhỏ nhất (tối và khó
chiếu sáng) không thay đổi nữa trong khi ta vẫn tăng đổi Max. Photons thì giá
trị lúc đó của Max. photons sẽ được lấy. Chỉ còn tiếc là không có công cụ
“thường trực” để theo dõi mật độ photon map tại một điểm bất kỳ của khung
cảnh.
Hình. mp-10. Photon map với Max. photons = 10. Rất nhiễu, tiếp tục tăng số
photon thu thập.
Hình. mp50. Tiếp tục tăng từng bước giá trị của Max. photons, tôi dừng lại ở
giá trị 50 photon. Sau ngưỡng 100 photon hình ảnh sẽ hoàn toàn không thay
đổi nữa - tại mọi vùng của khung cảnh đã đạt tới giới hạn được định bởi SD.
Chú ý rằng các vết nhiễu bây giờ đã trở nên ít đều đặn hơn và không rõ như ở
hình sd-90. Sự tối ở các vết nối và góc cũng gần như biến mất hoàn toàn -
Convex hull area estimate đã làm việc.
Một photon map được xác lập tốt là chìa khóa cho thành công và render
nhanh. Bây giừo chúng ta chuyển sang phần xác lập irradiance map.
e. Xác lập Irradiance map
Chúng ta lại chuyển sang bảng VRay: Indirect illumination và trong vai trò
tính khuếch tán bật lên đầu tiên chúng ta chọn irradiance map. Để xác lập
irradiance map tôi chọn Irradiance map preset>High, ngay sau đó chọn -
Custom. Điều đó cho phép chỉnh các xác lập của preset High.
Hình 08. Các xác lập tính sự bật lên đầu tiên của ánh sáng bằng phương pháp
irradiance map
Các giá trị ngưỡng cho mầu sắc, pháp tuyến, khoảng cách và số lượng
samples subdivs ta sẽ giữ nguyên như của preset High. Số lượng subdivs là 50
samples có nghĩa là để tính sự chiếu sáng khuếch tán của mỗi điểm sẽ sử dụng
tới 2500 tia, điều hoàn toàn đủ cho hầu hết các trường hợp. Nói chung, pham
vi “làm việc” của subdivs nằm trong khoảng 30-120 samples và có thể tăng
hơn nữa khi xuất hiện nhiều nhiễu trong hình.
Khi có nhiễu cần nghiêm túc phân tích các nguyên nhân có thể của nó bởi vì
giảm giá trị ngưỡng tương ứng có thể dẫn đến giải pháp không tăng. Giá trị
Min. rate và Max. rate có thể để hơi cao vì để xác lập chúng ta dùng hình có
kích thước nhỏ (640х480). Để theo dõi quá trình quét các điểm có thể bật
Show calc. phase.
Bây giờ ta chuyển sang các xác lập của chính bản đồ trong bảng VRay:
Advanced irradiance map parameters.
Hình. 09. Các xác lập irradiance map
Thực hiện việc thiết lập các thông số khá là đơn giản. Chọn Interpolation
type: Least squares fit. Ngoài ra chỉ có thêm một phương án nữa - Delone
triangulation, cái sẽ không làm mờ sự chiếu sáng nội suy và khác với các loại
khác, có thể được dùng cho hình đòi hỏi sự rõ nét cao. Khung cảnh của chúng
ta hoàn toàn bình thường vì thế chúng ta sẽ để Least squares fit. Sample
lookup (khả năng chọn các điểm đã tính cho phép nội suy) - Precalc'd
overlapping, tốt nhât trong những tùy chọn có, chúng ta sẽ để nguyên. Thiết
lập Randomize samples. Check sample visibility đáng để bật chỉ khi xuất hiện
vấn để trong khung cảnh liên quan đến việc thẩm thấu ánh sáng qua bề mặt.
Trong khung cảnh này vấn đề như thế không có, tức là ta sẽ không bật.
Calc. pass interpolation samples xác định số lượng các giá trị sáng đã tính cho
phép nội suy sự chiếu sáng của các điểm chưa tính. Giá trị đó càng cao đường
dốc càng bằng và càng nhiều vết nhòe. Phạm vi giá trị cho thông số này nên là
12-25, ta để 15. Đánh dấu ghi photon map vào file, điều đó có thể hữu ích cho
các thao tác tinh chỉnh bằng Color map (điều chỉnh chiếu sáng theo luật số
mũ) và xác lập chống rằng cưa. Bây giờ tất cả đã sẵn sàng và có thể nhấn nút
“Render” !
Tôi tính 2 hình với 2 xác lập của photon map - cho Search distance=90, Max.
photons=0 và cho Search distance=90, Max. photons=50 (chính là những map
ta đã tính ở hình sd90 và hình mp50). Còn đây là những gì nhận được (kích
thước và xác lập AA tạm thời chừa thay đổi).
Hình. irr-1. Hình ảnh nhận được bằng phương pháp irradiance map+ photon
map với Search distance=90, Max. photons=0. 640х480, không có АА.
Hình. irr-2. Hình ảnh nhận được bằng phương pháp irradiance map+ photon
map с Search distance=90, Max. photons=50. 640х480, không có АА.
Cá nhân tôi thích hình thứ hai hơn và tôi sẽ render lần cuối với chính nó. Tôi
chỉ điều chỉnh màu sắc một chút, thay Dark Multiplier từ 1.6 thành 1.4, và đặt
AA:
Hình.10. Các xác lập АА cho render cuối.
Vì sự làm mềm AA là một bước bổ sung độc lập trong mối quan hệ với bước
tính irradiance map, nên cho xác lập AA, cũng như cho xác lập Color map,
bản đồ đã lưu trong file sẽ được dùng. Từ các bộ lọc AA chất lượng nhất là
Catmull-Rom và Mitchell-Netravali. Đơn giản nhất là Area. Các bộ lọc đó xác
định ảnh hưởng lẫn nhau của các pixels trong hình và là kết quả của các
nghiên cứu lý thuyết chống răng cưa. Các bộ lọc khác của nhóm này để dùng
cho các trường hợp đặc biệt, miêu tả về điều đó có thể thấy trong tài liệu
hướng dẫn của VRay. Trước khi render, tôi thay đổi cỡ ảnh lên 1024х768 và
giảm giá trị Min. rate xuống -4, còn Max. rate xuống -1. Vì số điểm ảnh tăng
lên, chất lượng irradiance map sẽ không bị tổn thất. VÀ :
Hình. cam-1. Render cuối, ảnh từ camera 1.
Trong khung cảnh có một camera nữa đặt trên tầng 2. Tôi render một ảnh từ
nó vẫn dùng chính photon map từ file và irradiance map được tính lại cho ảnh
mới cũng với các xác lập tương tự.
Hình. cam-2. Render cuối cho cảnh từ camera 2. Khu vực này có mật độ
photon thấp nhất khung cảnh. Số photon ở đây không vượt quá 30 trên diện
tích thu thập với Search distance =90 mm. Một phép thử thực sự cho photon
map.
Hình.11. Irradiance map, chỉ có sự bật lên khuếch tán đầu tiên.
Hình. 12. Irradiance map, chỉ có sự bật lên khuếch tán đầu tiên và chiếu sáng
trực tiếp.
Hìn
Các file đính kèm theo tài liệu này:
- trong3dmaxxaclapanhsangchokhungcanhtrongvraya.pdf