Cách render ảnh sắc nét trong 3dmax

CÁCH RENDER ẢNH SẮC NÉT

admin 03/07/2021 64

Đặc biệt cảm ơn:Toni BratinevicvàJohn OConnellvề những thông tin mà họ đã chia sẻ với cộng đồng quanh chủ đề này.John Rousevà Nicolas Nandi về những giúp đỡ của họ trong việc đọc bài duyệt và kiểm tra các phương pháp đã nêu trong bài viết.Peter Guthrieđã cho mượn khung cảnh phòng trưng bày của anh để sử dụng trong các ví dụ

Một bài phân tích chuyên sâu, giúp các bản render đạt chất lượng tốt nhất trong thời gian ngắn nhất

Giới thiệu.

Bạn đang xem: Cách render ảnh sắc nét

Bài hướng dẫn này nhằm bao quát và làm rõ quá trình tối ưu hóa việc hiệu chỉnh hình ảnh V-RAY render giúp bạn có được chất lượng ảnh render tốt nhất trong thời gian nhanh nhất cho một bối cảnh nhất định.

Thường có nhiều khúc mắc và vấn đề xung quanh chủ đề về lấy mẫuV-RAY Sampling và cách hiệu chỉnh lý tưởng là như thế nào. Trong nhiều trường hợp bạn sẽ thấy các họa viên sử dụng chế độ hiệu chỉnh Universal V-RAY setting với giá trị Max Subdivs của Image Sampler [Anti-Aliasing, hay AA] điều chỉnh ở mức rất cao [50 hay 100], và sau đó đơn giản là làm giảm giá trị ngưỡng noise threshold cho đến khi bức ảnh trở nên đủ rõ nét bạn nghĩ rằng đó là cách tốt nhất/ nhanh nhất mà V-Ray có thể làm.

Tuy nhiên với một vài hiểu biết về cách V-Ray hoạt động như thế nào, bạn có thể đạt được chất lượng tốt hơn với thời gian render nhanh hơn trong một vài trường hợp đặc biệt có thể giúp nhanh hơn từ 3 đến 13 lần so với cách hiệu chỉnh Universal setting.

Đầu tiên chúng ta sẽ điểm qua một vài khái niệm căn bản về cách hoạt động của quá trình render và lấy mẫu V-Ray. Sau đó chúng ta sẽ đi qua ví dụ về một bối cảnh cụ thể để minh họa cách tối ưu hóa một ảnh render giúp nó nhanh hơn và rõ nét hơn là như thế nào. Sau đó chúng ta sẽ tìm hiểu về cách nhận diện các nguyên nhân khác nhau của nhiễu ảnh có thể gặp phải. Và cuối cùng, tôi sẽ cung cấp một phương pháp cụ thể từng bước một giúp tối ưu hóa bất kỳ một bối cảnh nào để render với sự cân bằng lý tưởng giữa chất lượng và tốc độ render.

Nếu bạn đã nắm vững các khái niệm căn bản và chỉ cần đến phương pháp từng bước một sau cùng, hãy nhấn vào đây để đến trực tiếp tới phần này.

Raytracing 101

Khi bắt đầu render, các tia đầu tiên sẽ được gửi từ camera đi vào khung cảnh để thu thập các thông tin về phân bố hình học sẽ xuất hiện trong bức hình cuối. Các tia xuất phát từ camera này được gọi là tia chính Primary Rays [đôi khi cũng gọi là Camera Rays hoặc Eye Rays] và được điều khiển bởi Vrays Image Sampler [còn được biết đến là Anti-Aliasing hay AA]

Khi một tia chính Primary Ray tiếp xúc với một vật thể trong khung cảnh, những tia phụ xuất phát từ giao điểm đó sẽ được gửi đến phần còn lại của khung cảnh để thu thập các thông tin như ánh sáng, bóng đổ, chiếu sáng toàn cảnh [GI], phản xạ, khúc xạ, Sub-surface Scattering [SSS] Các tia phụ thêm này được gọi là Secondary Rays và được điều khiển bởi bộ lấy mẫu Vrays DMC Sampler.

Hình 01: Một biểu đồ giản lược của quá trình Raytracing: Tia Primary Ray được phát từ camera đến bối cảnh, giao với các cảnh vật, và phát ra các tia Secondary Rays khác nhau để lấy mẫu bối cảnh.


Từ lúc này trở về sau, chúng ta sẽ đơn giản gọi các tia Rays là các mẫu Samples vì đó là mục đích của một tia được phát đi nhằm lấy mẫu của một bối cảnh để thu thập thông tin trong đó. Rays = Samples.

Xem thêm: Cách Làm Mọc Lông Mày Mọc Nhanh Đến Không Ngờ, Top 10 Cách Làm Lông Mày Mọc Nhanh Đến Không Ngờ


Để có thể xác định chính xác hiện trạng trong một bối cảnh, nhiều mẫu PrimarySecondary cần được lấy và tính toán. Một bối cảnh được lấy mẫu càng nhiều, V-Ray càng lấy được nhiều thông tin, và chất lượng render sẽ càng cao đồng nghĩa với việc có ít nhiễu hơn trong bức ảnh render.

Bạn thấy đấy, nhiễu ảnh là do sự thiếu sót thông tin mà ra. Sự xuất hiện của nhiễu trong ảnh render có nghĩa là V-Rays đã không thu thập đầy đủ thông tin về bối cảnh đó. Vì vậy để giảm nhiễu, bạn cần cung cấp cho V-Ray nhiều thông tin hơn và để cung cấp nhiều thông tin hơn cho V-Ray, bạn cần lấy nhiều mẫu hơn.

Số lượng mẫu Primary được đưa vào bối cảnh được điều khiển chủ yếu bởi các thông số Min Subdivs, Max Subdivs, và Color Threshold của bộ lấy mẫu Image Sampler.

Số lượng mẫu Secondary đưa vào bối cảnh được điều khiển chủ yếu bởi thông số Subdivs đối với các loại ánh sáng đơn/ ánh sáng toàn cục/ vật liệu trong khung cảnh, và giá trị ngưỡng Noise Threshold của bộ DMC Sampler. [Noise Threshold được gọi là Adaptive Threshold trong V-Ray đối với Maya] Tóm lược các thuật ngữ quan trọng:

Ray =Sample
Primary Samples=Các mẫu điều khiển bởi bộ Vrays Image Sampler [còn gọi là Anti-Aliasing hay AA], chuyên dùng để xác định cấu trúc hình học của bối cảnh cũng như các đặc tính về texture, DOF, và mờ chuyển động motion blur.
Secondary Samples=Các mẫu được điều khiển bởi bộ Vrays DMC Sampler, chuyên dùng để xác định ánh sáng của bối cảnh, chiếu sáng toàn cục [GI], đổ bóng, tính phản xạ, khúc xạ của vật liệu, và độ phân tán mặt dưới Sub-surface Scattering [SSS]
Noise=Nhiễu do sự thiếu thông tin
Subdivs=Căn bậc 2 của số lượng mẫu thực tế, vậy Subdivs2 = số lượng mẫu. Ví dụ: 8 Subdivs = 64 mẫu [82 = 64]

Trong bài hướng dẫn này, chúng ta sẽ tìm hiểu cách sử dụng các mẫu Primary và Secondary này để đạt được chất lượng ảnh render tốt nhất [mức độ nhiễu thấp nhất] trong thời gian render hợp lý.

Tìm hiểu về thành phầnrender samplerate

Thành phần render Samplerate là một trong những công cụ quan trọng mà chúng ta sẽ dùng để tối ưu hóa chất lượng ảnh render. Đó là cách V-Ray chỉ cho chúng ta thấy chính xác những gì mà bộ lấy mẫu Image Sampler [AA] đang thực thi tại một pixel cho trước bất kỳ. Nó làm điều này bằng cách ấn định một màu sắc nhất định cho mỗi pixel trong bản render tùy theo số lượng mẫu Primary [AA] được lấy tại pixel đó [là thứ có thể quan sát được bằng cách nhìn vào thành phần Samplerate render]

Màu xanh dương cho biết số lượng ít các mẫu Primary [AA] đã được lấy tại pixel đó.Màu xanh lục cho biết số lượng trung bình các mẫu Primary [AA] được lấy tại pixel đó.Màu đỏ cho biết số lượng lớn các mẫu Primary [AA] được lấy tại pixel đó.

Hình 02: Thành phần render samplerate [phải], cho thấy số lượng mẫu Primary khác nhau đã được lấy tại từng pixel trên ảnh render [trái]

Đối với một khung cảnh với bộ Image Sampler [AA] được cài đặt Subdivs từ 1min đến 10max [đồng nghĩa với việc có từ 1min đến 100max mẫu Primary]

Điểm ảnh xanh lam có nghĩa 1 mẫu Primary đã được lấy.Điểm ảnh màu xanh lục có nghĩa là 50 mẫu Primary đã được lấy.Điểm ảnh màu đỏ có nghĩa là 100 mẫu Primary đã được lấy.

Đối với một khung cảnh với bộ Image Sampler [AA] được cài đặt Subdivs từ 1min đến 100max [đồng nghĩa với việc có từ 1min đến 10000max mẫu Primary]

Điểm ảnh xanh lam có nghĩa 1 mẫu Primary đã được lấy.Điểm ảnh màu xanh lục có nghĩa là 5000 mẫu Primary đã được lấy.Điểm ảnh màu đỏ có nghĩa là 10000 mẫu Primary đã được lấy.Ví dụ một khung cảnh cụ thể Tìm hiểu về cách V-Ray hoạt động như thế nào

Đối với bài hướng dẫn này, chúng ta sẽ làm việc với một khung cảnh đơn giản bao gồm: một mặt phẳng với một vài quả cầu ở trên nó, các loại vật liệu đơn giản khác nhau [bao gồm diffuse, glossy reflection, glossy refraction và SSS], 2 vùng sáng, và một sánh sáng vòm domelight với một HDRI. Tính năng Global Illumination [GI] được kích hoạt và cài đặt ở chế độ Brute Force + Light Cache. Bạn có thể download khung cảnh này tại đây.

Chúng ta sẽ bắt đầu với một ảnh render cơ bản với các thiết lập render như sau:

Image Sampler [AA] cái đặt ở 1min & 8max Subdivs.Lights, GI, và Material đều được chỉnh ở mức mặc định 8 Subdivs.Ngưỡng Noise Threshold chỉnh ở mức mặc định 0.01

Tất cả các thiết lập render khác đều được cài đặt ở mức mặc định

Hình 03: Một bản render cơ bản.1min&8max Subdivs= Image Sampler [AA].8Subdivs = Lights, GI, và Material cho mỗi loại.

Bây giờ chúng ta cùng điểm qua những gì đã diễn ra trong bản render cơ bản này. Thông qua các thiết lập render ở trên, bạn đang muốn nói với V-Ray rằng:

Tôi đang cho phép bạn sử dụng đến tối đa 64 [8 Subdivs] mẫu Primary Samples [AA] trên mỗi pixel để lấy thông tin về bối cảnh này và giảm nhiễu đến mức gần nhất có thể được so với mức ngưỡng noise threshold mà tôi đã chọn Nhưng với mỗi mẫu Primary bạn lấy, bạn chỉ được phép lấy thêm 1 mẫu Secondary để lấy thông tin cho từng thông số như Lights, GI, và Material.

Lúc này bạn có thể tự hỏi rằng:

Đợi đã, chỉ 1 mẫu Secondary cho các thông số như Lights, GI, và Material thôi sao? Đáng lẽ phải là 64 mẫu chứ [8 Subdivs] như chúng ta đã cài đặt chúng cơ mà?

Điều quan trọng là mặc dù ánh sáng, GI, và vật liệu được cài đặt ở mức 64 mẫu [8 Subdivs] mỗi loại V-Ray chia nội suy giá trị này cho giá trị AA Max Samples. Vì vậy, thay vì có 64 mẫu cho ánh sáng và vật liệu mỗi loại như mong đợi, nó được chia chia cho AA Max với 64 mẫu [8 Subdivs], kết quả thu được chỉ là 1 mẫu Secondary được lấy 1 cho từng thông số Lights, GI, và Material mỗi loại. [64 mẫu Secondary/ 64 mẫu Primary = 1 mẫu Secondary]

Lý do V-Ray làm việc này là bởi vì công thức nội suy của nó được thiết kế sao cho nó sẽ tự động cân bằng 2 loại mẫu. Lý do đằng sau việc này là vì với nhiều mẫu Primary được lấy hơn từ bối cảnh, sẽ có một lượng nhỏ hơn tương ứng các mẫu Secondary cần được lấy thêm để phân tích bối cảnh [điều chúng ta sẽ sớm nhận thấy được, và nó không phải lúc nào cũng đáng mong đợi].

Đặc biệt cảm ơn:Toni BratinevicvàJohn OConnellvề những thông tin mà họ đã chia sẻ với cộng đồng quanh chủ đề này.John Rousevà Nicolas Nandi về những giúp đỡ của họ trong việc đọc bài duyệt và kiểm tra các phương pháp đã nêu trong bài viết.Peter Guthrieđã cho mượn khung cảnh phòng trưng bày của anh để sử dụng trong các ví dụ

Một bài phân tích chuyên sâu, giúp các bản render đạt chất lượng tốt nhất trong thời gian ngắn nhất

Giới thiệu.

Bạn đang xem: Cách render ảnh sắc nét

Bài hướng dẫn này nhằm bao quát và làm rõ quá trình tối ưu hóa việc hiệu chỉnh hình ảnh V-RAY render giúp bạn có được chất lượng ảnh render tốt nhất trong thời gian nhanh nhất cho một bối cảnh nhất định.

Thường có nhiều khúc mắc và vấn đề xung quanh chủ đề về lấy mẫuV-RAY Sampling và cách hiệu chỉnh lý tưởng là như thế nào. Trong nhiều trường hợp bạn sẽ thấy các họa viên sử dụng chế độ hiệu chỉnh Universal V-RAY setting với giá trị Max Subdivs của Image Sampler [Anti-Aliasing, hay AA] điều chỉnh ở mức rất cao [50 hay 100], và sau đó đơn giản là làm giảm giá trị ngưỡng noise threshold cho đến khi bức ảnh trở nên đủ rõ nét bạn nghĩ rằng đó là cách tốt nhất/ nhanh nhất mà V-Ray có thể làm.

Tuy nhiên với một vài hiểu biết về cách V-Ray hoạt động như thế nào, bạn có thể đạt được chất lượng tốt hơn với thời gian render nhanh hơn trong một vài trường hợp đặc biệt có thể giúp nhanh hơn từ 3 đến 13 lần so với cách hiệu chỉnh Universal setting.

Đầu tiên chúng ta sẽ điểm qua một vài khái niệm căn bản về cách hoạt động của quá trình render và lấy mẫu V-Ray. Sau đó chúng ta sẽ đi qua ví dụ về một bối cảnh cụ thể để minh họa cách tối ưu hóa một ảnh render giúp nó nhanh hơn và rõ nét hơn là như thế nào. Sau đó chúng ta sẽ tìm hiểu về cách nhận diện các nguyên nhân khác nhau của nhiễu ảnh có thể gặp phải. Và cuối cùng, tôi sẽ cung cấp một phương pháp cụ thể từng bước một giúp tối ưu hóa bất kỳ một bối cảnh nào để render với sự cân bằng lý tưởng giữa chất lượng và tốc độ render.

Nếu bạn đã nắm vững các khái niệm căn bản và chỉ cần đến phương pháp từng bước một sau cùng, hãy nhấn vào đây để đến trực tiếp tới phần này.

Raytracing 101

Khi bắt đầu render, các tia đầu tiên sẽ được gửi từ camera đi vào khung cảnh để thu thập các thông tin về phân bố hình học sẽ xuất hiện trong bức hình cuối. Các tia xuất phát từ camera này được gọi là tia chính Primary Rays [đôi khi cũng gọi là Camera Rays hoặc Eye Rays] và được điều khiển bởi Vrays Image Sampler [còn được biết đến là Anti-Aliasing hay AA]

Khi một tia chính Primary Ray tiếp xúc với một vật thể trong khung cảnh, những tia phụ xuất phát từ giao điểm đó sẽ được gửi đến phần còn lại của khung cảnh để thu thập các thông tin như ánh sáng, bóng đổ, chiếu sáng toàn cảnh [GI], phản xạ, khúc xạ, Sub-surface Scattering [SSS] Các tia phụ thêm này được gọi là Secondary Rays và được điều khiển bởi bộ lấy mẫu Vrays DMC Sampler.

Hình 01: Một biểu đồ giản lược của quá trình Raytracing: Tia Primary Ray được phát từ camera đến bối cảnh, giao với các cảnh vật, và phát ra các tia Secondary Rays khác nhau để lấy mẫu bối cảnh.


Từ lúc này trở về sau, chúng ta sẽ đơn giản gọi các tia Rays là các mẫu Samples vì đó là mục đích của một tia được phát đi nhằm lấy mẫu của một bối cảnh để thu thập thông tin trong đó. Rays = Samples.

Xem thêm: Cách Làm Mọc Lông Mày Mọc Nhanh Đến Không Ngờ, Top 10 Cách Làm Lông Mày Mọc Nhanh Đến Không Ngờ


Để có thể xác định chính xác hiện trạng trong một bối cảnh, nhiều mẫu PrimarySecondary cần được lấy và tính toán. Một bối cảnh được lấy mẫu càng nhiều, V-Ray càng lấy được nhiều thông tin, và chất lượng render sẽ càng cao đồng nghĩa với việc có ít nhiễu hơn trong bức ảnh render.

Bạn thấy đấy, nhiễu ảnh là do sự thiếu sót thông tin mà ra. Sự xuất hiện của nhiễu trong ảnh render có nghĩa là V-Rays đã không thu thập đầy đủ thông tin về bối cảnh đó. Vì vậy để giảm nhiễu, bạn cần cung cấp cho V-Ray nhiều thông tin hơn và để cung cấp nhiều thông tin hơn cho V-Ray, bạn cần lấy nhiều mẫu hơn.

Số lượng mẫu Primary được đưa vào bối cảnh được điều khiển chủ yếu bởi các thông số Min Subdivs, Max Subdivs, và Color Threshold của bộ lấy mẫu Image Sampler.

Số lượng mẫu Secondary đưa vào bối cảnh được điều khiển chủ yếu bởi thông số Subdivs đối với các loại ánh sáng đơn/ ánh sáng toàn cục/ vật liệu trong khung cảnh, và giá trị ngưỡng Noise Threshold của bộ DMC Sampler. [Noise Threshold được gọi là Adaptive Threshold trong V-Ray đối với Maya] Tóm lược các thuật ngữ quan trọng:

Ray =Sample
Primary Samples=Các mẫu điều khiển bởi bộ Vrays Image Sampler [còn gọi là Anti-Aliasing hay AA], chuyên dùng để xác định cấu trúc hình học của bối cảnh cũng như các đặc tính về texture, DOF, và mờ chuyển động motion blur.
Secondary Samples=Các mẫu được điều khiển bởi bộ Vrays DMC Sampler, chuyên dùng để xác định ánh sáng của bối cảnh, chiếu sáng toàn cục [GI], đổ bóng, tính phản xạ, khúc xạ của vật liệu, và độ phân tán mặt dưới Sub-surface Scattering [SSS]
Noise=Nhiễu do sự thiếu thông tin
Subdivs=Căn bậc 2 của số lượng mẫu thực tế, vậy Subdivs2 = số lượng mẫu. Ví dụ: 8 Subdivs = 64 mẫu [82 = 64]

Trong bài hướng dẫn này, chúng ta sẽ tìm hiểu cách sử dụng các mẫu Primary và Secondary này để đạt được chất lượng ảnh render tốt nhất [mức độ nhiễu thấp nhất] trong thời gian render hợp lý.

Tìm hiểu về thành phầnrender samplerate

Thành phần render Samplerate là một trong những công cụ quan trọng mà chúng ta sẽ dùng để tối ưu hóa chất lượng ảnh render. Đó là cách V-Ray chỉ cho chúng ta thấy chính xác những gì mà bộ lấy mẫu Image Sampler [AA] đang thực thi tại một pixel cho trước bất kỳ. Nó làm điều này bằng cách ấn định một màu sắc nhất định cho mỗi pixel trong bản render tùy theo số lượng mẫu Primary [AA] được lấy tại pixel đó [là thứ có thể quan sát được bằng cách nhìn vào thành phần Samplerate render]

Màu xanh dương cho biết số lượng ít các mẫu Primary [AA] đã được lấy tại pixel đó.Màu xanh lục cho biết số lượng trung bình các mẫu Primary [AA] được lấy tại pixel đó.Màu đỏ cho biết số lượng lớn các mẫu Primary [AA] được lấy tại pixel đó.

Hình 02: Thành phần render samplerate [phải], cho thấy số lượng mẫu Primary khác nhau đã được lấy tại từng pixel trên ảnh render [trái]

Đối với một khung cảnh với bộ Image Sampler [AA] được cài đặt Subdivs từ 1min đến 10max [đồng nghĩa với việc có từ 1min đến 100max mẫu Primary]

Điểm ảnh xanh lam có nghĩa 1 mẫu Primary đã được lấy.Điểm ảnh màu xanh lục có nghĩa là 50 mẫu Primary đã được lấy.Điểm ảnh màu đỏ có nghĩa là 100 mẫu Primary đã được lấy.

Đối với một khung cảnh với bộ Image Sampler [AA] được cài đặt Subdivs từ 1min đến 100max [đồng nghĩa với việc có từ 1min đến 10000max mẫu Primary]

Điểm ảnh xanh lam có nghĩa 1 mẫu Primary đã được lấy.Điểm ảnh màu xanh lục có nghĩa là 5000 mẫu Primary đã được lấy.Điểm ảnh màu đỏ có nghĩa là 10000 mẫu Primary đã được lấy.Ví dụ một khung cảnh cụ thể Tìm hiểu về cách V-Ray hoạt động như thế nào

Đối với bài hướng dẫn này, chúng ta sẽ làm việc với một khung cảnh đơn giản bao gồm: một mặt phẳng với một vài quả cầu ở trên nó, các loại vật liệu đơn giản khác nhau [bao gồm diffuse, glossy reflection, glossy refraction và SSS], 2 vùng sáng, và một sánh sáng vòm domelight với một HDRI. Tính năng Global Illumination [GI] được kích hoạt và cài đặt ở chế độ Brute Force + Light Cache. Bạn có thể download khung cảnh này tại đây.

Chúng ta sẽ bắt đầu với một ảnh render cơ bản với các thiết lập render như sau:

Image Sampler [AA] cái đặt ở 1min & 8max Subdivs.Lights, GI, và Material đều được chỉnh ở mức mặc định 8 Subdivs.Ngưỡng Noise Threshold chỉnh ở mức mặc định 0.01

Tất cả các thiết lập render khác đều được cài đặt ở mức mặc định

Hình 03: Một bản render cơ bản.1min&8max Subdivs= Image Sampler [AA].8Subdivs = Lights, GI, và Material cho mỗi loại.

Bây giờ chúng ta cùng điểm qua những gì đã diễn ra trong bản render cơ bản này. Thông qua các thiết lập render ở trên, bạn đang muốn nói với V-Ray rằng:

Tôi đang cho phép bạn sử dụng đến tối đa 64 [8 Subdivs] mẫu Primary Samples [AA] trên mỗi pixel để lấy thông tin về bối cảnh này và giảm nhiễu đến mức gần nhất có thể được so với mức ngưỡng noise threshold mà tôi đã chọn Nhưng với mỗi mẫu Primary bạn lấy, bạn chỉ được phép lấy thêm 1 mẫu Secondary để lấy thông tin cho từng thông số như Lights, GI, và Material.

Lúc này bạn có thể tự hỏi rằng:

Đợi đã, chỉ 1 mẫu Secondary cho các thông số như Lights, GI, và Material thôi sao? Đáng lẽ phải là 64 mẫu chứ [8 Subdivs] như chúng ta đã cài đặt chúng cơ mà?

Điều quan trọng là mặc dù ánh sáng, GI, và vật liệu được cài đặt ở mức 64 mẫu [8 Subdivs] mỗi loại V-Ray chia nội suy giá trị này cho giá trị AA Max Samples. Vì vậy, thay vì có 64 mẫu cho ánh sáng và vật liệu mỗi loại như mong đợi, nó được chia chia cho AA Max với 64 mẫu [8 Subdivs], kết quả thu được chỉ là 1 mẫu Secondary được lấy 1 cho từng thông số Lights, GI, và Material mỗi loại. [64 mẫu Secondary/ 64 mẫu Primary = 1 mẫu Secondary]

Lý do V-Ray làm việc này là bởi vì công thức nội suy của nó được thiết kế sao cho nó sẽ tự động cân bằng 2 loại mẫu. Lý do đằng sau việc này là vì với nhiều mẫu Primary được lấy hơn từ bối cảnh, sẽ có một lượng nhỏ hơn tương ứng các mẫu Secondary cần được lấy thêm để phân tích bối cảnh [điều chúng ta sẽ sớm nhận thấy được, và nó không phải lúc nào cũng đáng mong đợi].

Video liên quan

Chủ Đề