Thủ thuật tăng tốc render hình ảnh trong 3dsmax (Phần 2)

Thủ thuật tăng tốc render hình ảnh trong 3dsmax (Phần 2)

gach bong-y54DTsk Thủ thuật tăng tốc render hình ảnh trong 3dsmax (Phần 2)

Một số mẹo và thủ thuật giúp tăng tốc quá trình render cho các mô hình 3D.

  • Giới hạn số lượng polycount xuống mức thấp nhất có thể, số lượng polycount càng lớn sẽ càng làm chậm quá trình rendering.
  • Nếu bạn đang dùng Vray, hãy luôn sử dụng chức năng proxy cho các thiết kế với số polycount cao.
  • Không nên thiết lập quá nhiều subdivisions cho phần shadows (Chỉ nên dùng vừa đủ).
  • Xóa bỏ các chi tiết không cần thiết trong khung cảnh
  • Không nên sử dụng các texture quá lớn nếu chỉ render với độ phân giải thấp, hãy chọn theo tỷ lệ sao cho phù hợp.
  • Về vật liệu: tránh sử dụng quá nhiều glossinesshighlights, diffuse , nên dùng loại đơn giản, bumpreflection(với giá trị .95 – .75) là vừa đủ…, không nên sử dụng archshaders…
gach bong-TJHJYmk Thủ thuật tăng tốc render hình ảnh trong 3dsmax (Phần 2)
  • Chỉ sử dụng các chi tiết high polys khi chúng nằm rất gần so với hướng nhìn hoặc camera.
  • Về phần ngoại cảnh: sử dụng ánh sáng trực tiếp loại tiêu chuẩn standard directlight (như mặt trời chẳng hạn) và ánh sáng dạng vray environment light thì sẽ render nhanh hơn so với vraysunsky… bạn chỉ cần chỉnh lại phần màu sắc colors để đạt được hiệu ứng sun & sky như mong muốn…

  • Hiểu rõ về sự khác biệt giữa copy và instance…, quy tắc này khá đơn giản nhưng lại rất hiệu quả đấy
  • Dọn dẹp phần danh sách undo, đặc biệt là các lệnh tiêu tốn quá nhiều dung lượng bộ nhớ…
  • Đây là một phần trong cách quản lý bộ nhớ mà tôi sử dụng, tôi luôn tắt tất cả các chương trình antivirus trong khi rendering (hoặc thậm chí là không cài đặt các phần mềm này), Các chương trình anti-virus như Norton hay Mcafee tiêu tốn rất nhiều dung lượng Ram khi chạy, tương tự như phần Nero updates cũng vậy, bạn cũng có thể tắt phần window screensaver và eyecandy đi để tiết kiệm thêm nhiều bộ nhớ nếu muốn.
  • Sử dụng map một cách hiệu quả, thay vì mô hình hóa quá nhiều chi tiết.
  • Sử dụng xref scene
  • Sử dụng các 3dsmax plugins thân thiện, dễ sử dụng và miễn phí như mootools’ polycruncher
  • Cẩn trọng với mức lặp iteration levels khi tạo curves/meshsmoothing
  • Khi sử dụng irradiance map, hãy kiểm tra lại interpolation có bằng với giá trị reflection và refraction interpolation hay chưa… (Cho các giá trị IR min/max rate bằng với giá trị interpolation min/max rate)
  • Các hiệu ứng tụ quang vray caustics tiêu tốn rất nhiều thời gian thực thi, nên cân nhắc khi sử dụng
  • So sánh lựa chọn giữa brute forceirradiance map
  • So sánh lựa chọn giữa hardcore noisethreshold và AA subdivision rate
  • Cẩn trọng với các vật liệu glossy reflection và frosted materials
  • Thay vì sử dụng dof trong camera vật lý, Photoshop có thể thực hiện đơn giản với zbuffer channel hoặc các plugins như Alien Skin’s DOF và DoF Generator PRO của Richard Rosenman.
gach bong-p04Meb6 Thủ thuật tăng tốc render hình ảnh trong 3dsmax (Phần 2)
  • Xử lý hậu kỳ có thể giúp giảm tải đáng kể quy trình rendering, sử dụng các phần mềm phức hợp chuyên dụng như Autodesk’s Combustion hoặc tương tự…, tuy nhiên cần hiểu rõ sự khác nhau về các channels render trong vray render elements (F10).
gach bong-2cDebNW Thủ thuật tăng tốc render hình ảnh trong 3dsmax (Phần 2)
  • Evermotion Archshaders và Archinterior/Exterior Materials là các thiết lập quá mức cần thiết, đừng chỉ copy và phụ thuộc hoàn toàn vào chúng mà nên biết cách hiệu chỉnh lại chúng mỗi khi sử dụng.
  • Irradiance và Light Cache (được lưu ra file), hãy bỏ qua việc tính toán nếu sử dụng cùng một thiết lập và khung cảnh lặp lại nhiều lần.
  • Cân bằng giữa chất lượng đầu ra và các thiết lập map settings sao cho phù hợp.
  • Trước khi cài đặt các shaders, hãy thử render test trước với các thiết lập vật liệu ở global switches, để kiểm tra tất cả các polygons đã được dựng hình đúng hay chưa, đồng thời giúp bạn biết được loại shaders nào cần được cài đặt ra sao, cũng như dễ dàng tìm ra loại vật liệu nào có thể khiến việc render bị chậm lại.
  • Quá nhiều nguồn sáng cũng có thể tác động lớn đến việc render.
  • Hãy sử dụng các thiết lập mặc định nếu muốn làm một render test nhanh chóng và đơn giản.
  • Riêng tôi thì thích dùng ADAPTIVE QMC hơn so với Adaptive Subdivision
  • Đừng quên kiểm tra các thông số Raycast Parameters… ví dụ như các thông số render region division, region sequence…
  • Nếu sử dụng ở chế độ Vray displacement, cố gắng hạn chế vùng làm việc nếu phần 2d mapping và các thiết lập cho nó tốn quá nhiều dung lượng ram.
  • Nên sử dụng bản 3DMax 64bits
  • Việc sử dụng X-refs rất đáng được xem xét, chủ yếu dựa trên khả năng liên kết nhiều mảng lớn của khung cảnh lại với nhau, đồng thời cung cấp một phương tiện giúp giữ kích thước phần khung cảnh chính (master scence) không tăng quá mức.
  • Attach các chi tiết lại với nhau – 3ds Max sẽ làm việc hiệu quả hơn với 9000 chi tiết 10k polygon so với 200,000 các chi tiết 1k polygon. Do vậy, việc gắn liền tất cả các chi tiết đơn lẻ không chuyển động lại với nhau giúp tăng đáng kể tốc độ làm việc và tính linh hoạt cho khung cảnh.
  • Geometry Proxies – đây là một công cụ mà tôi rất hay dùng! Mỗi geometry proxy là một mẫu geometry đã được tối ưu hóa và thiết kế để load và render hiệu quả hơn ứng với từng render engines cụ thể, ví dụ như Mental Ray & Vray chẳng hạn.
  • Bitmap Proxies – Bitmap proxies là một cách rất hữu hiệu giúp giảm thiểu tối đa lượng Ram cần thiết cho khung cảnh.
  • Tập trung dữ liệu (Centralize your data) – Việc tập trung dữ liệu giúp ích cho việc quản lý bất kỳ một dự án nào.
  • Làm việc cục bộ và thường xuyên lưu kết quả công việc. Vì sao ư? Khi làm việc và lưu trữ trên một mạng network, bạn có thể gặp phải một số vấn đề về băng thông gây ra lỗi crashing và corrupted.
  • Sử dụng Layers, Groups và Selection Sets – Bất kỳ ai sử dụng 3ds Max đều sẽ có lúc sử dụng những công cụ này để quản lý tốt hơn công việc của mình.
  • Sử dụng Maxscripting cho các công việc đòi hỏi tính kiên nhẫn và lặp lại nhiều lần – công cụ này đã giúp tôi tiết kiệm hàng giờ làm việc và cho phép xử lý các công việc tưởng chừng như không thể bằng cách sử dụng các bộ công cụ dự trữ trong 3ds Max.
  • Học cách sử dụng Photoshop và các phần mềm phức hợp khác (như AE, Combustion), bạn sẽ có thể tiết kiệm được rất nhiều thời gian render đấy.
  • Hiểu về nhiếp ảnh (photography), học cách quan sát xung quanh bằng mắt. Sẽ tốt hơn nếu bạn có thể mường tượng ra được kết quả mà mình mong muốn đạt được trước khi bắt đầu quy trình render. Ví dụ như bạn sẽ biết được khi nào thì cần hủy việc render ngay lập tức nếu phát hiện thấy một điểm nào đó không đúng xuất hiện, thay vì phải chờ cho đến khi toàn bộ việc render kết thúc và sau đó mới phát hiện thấy điểm bất thường và phải render lại từ đầu. Các kiến thức này còn giúp bạn gây ảnh hưởng lên khách hàng và khiến họ thêm tin tưởng vào tầm nhìn mà bạn đang hướng tới.
  • Các Bitmaps thường tiêu tốn rất nhiều dung lượng RAM, đặc biệt là các maps kích thước lớn. Vì các textures đều được quản lý bởi 3ds Max nên Vray không có cách nào quản lý được lượng bộ nhớ mà chúng tiêu thụ cả. Tuy nhiên, bạn có thể sử dụng các thiết lập Bitmap pager settings của 3dsmax để làm giảm lượng RAM tiêu tốn bởi các bitmaps. Bật on và tùy chỉnh các bitmap pagers ở mức cao hơn, việc này giúp máy tính thực thi tốt hơn, đặc biệt hữu ích khi render các bức hình lớn.
  • Bạn có thể sử dụng tùy chọn Multi-threading nếu đang dùng các bộ vi xử lý lõi kép hoặc lõi tứ.
  • Chỉ nên sử dụng độ phân giải thấp cho các render tests.
  • Sử dụng tính năng Rendering Region: tức chỉ render trên những vùng mong muốn. Sau đó, dành thời gian kiểm tra các shaders, so sánh những điểm khác biệt nhỏ và nhanh chóng đạt được kết quả mà mình đang tìm kiếm.
  • Không nên thêm vào các hiệu ứng Glossy effects. Chỉ nên thêm vào khi bạn nghĩ rằng khung cảnh vẫn hoạt động đủ tốt.
  • Geometry – các khung cảnh với nhiều chi tiết và các khối tam giác sẽ cần nhiều dung lượng nhớ cần xử lý hơn. Có thể giảm lượng bộ nhớ sử dụng bằng cách tùy chỉnh Raycaster setting trong mục System rollout như: giảm Max. level, tăng Min. leaf size, tăng hệ số Face/level coefficient, chuyển từ Static sang Dynamic Default Geometry.
  • Displacement mapping – các chi tiết được thay thế bởi phương pháp 2d displacement mapping có thể tiêu tốn khá nhiều RAM để render, đặc biệt là với các maps displacement lớn. Trong trường hợp đó thì nên sử dụng phương pháp 3d displacement mapping sẽ tốt hơn. Nếu bạn có một vài bộ displacement modifiers riêng biệt có sử dụng cùng một displacement map giống nhau, sẽ tốt hơn nếu thay thế chúng bằng một bộ modifier duy nhất, áp dụng cho tất cả các chi tiết cần thiết. Lý do là vì mỗi bộ modifier đều tiêu tốn rất nhiều RAM cho việc lưu trữ displacement map, và tách biệt độc lập với các bộ modifiers khác, kể cả khi chúng sử dụng cùng một map như nhau.
gach bong-eO7tmLy Thủ thuật tăng tốc render hình ảnh trong 3dsmax (Phần 2)

gach bong-iDfv9mm Thủ thuật tăng tốc render hình ảnh trong 3dsmax (Phần 2)
  • Bitmap filtering – Summed area filtering sẽ sử dụng nhiều bộ nhớ hơn so với Pyramidal filtering. Chỉ nên sử dụng summed-area filtering cho các bitmaps kích thước nhỏ.
  • Các Shadow maps cũng tiêu tốn một lượng RAM khá đáng kể, và tương tự chúng cũng được quản lý với 3ds Max và Vray không có cách nào can thiệp lên lượng bộ nhớ mà chúng sử dụng được. Để giảm lượng RAM tiêu thụ, bạn có thể chuyển sang sử dụng Raytraced VRayShadows để thay thế.
  • Image buffer – độ phân giải output càng lớn sẽ đòi hỏi một lượng RAM càng lớn để thực hiện việc lưu trữ bức hình cuối. Các kênh G-Buffer bổ sung cũng có thể làm tăng lượng bộ nhớ này. Biện pháp giúp tối ưu ở đây là: sử dụng 3dsmax Bitmap pager nếu bạn đang render với VFB mặc định của 3ds Max, còn nếu đang dùng VFB của VRay hãy sử dụng tùy chọn Render to VRay raw image file option và sử dụng VRay raw image file viewer để chuyển đổi file kết quả sang một định dạng khác.
  • Image samplers (AA) – các thuật toán lấy mẫu bức hình của VRay có thể tiêu tốn một lượng RAM đáng kể để lưu trữ dữ liệu cho bức hình lấy mẫu, lượng bộ nhớ này có thể khá lớn tùy thuộc vào giá trị bucket size và sampling rate được chọn. Để tiết kiệm bộ nhớ, hãy giảm giá trị bucket size xuống, chuyển sang sử dụng một bộ lấy mẫu khác như Adaptive QMC sampler sẽ sử dụng ít RAM hơn so với Adaptive subdivision sampler.
  • Global illumination caches – irradiance maps, photon maps và light maps đều tiêu tốn khá nhiều bộ nhớ để lưu trữ. Mỗi thành phần sẽ có một cách khác nhau để kiểm soát lượng bộ nhớ sử dụng: Đối với irradiance map – bộ nhớ sử dụng phụ thuộc vào số lượng mẫu có trong map, bạn có thể giảm giá trị này xuống bằng cách sử dụng giá trị Min/Max rate thấp hơn, và cho giá trị ngưỡng threshold lỏng hơn (giá trị Color threshold cao hơn, Normal threshold cao hơn và Distance threshold thấp hơn). Đối với photon map – bộ nhớ sử dụng phụ thuộc vào số lượng photons được lưu trữ, bạn có thể giảm bộ nhớ sử dụng này bằng cách giảm giá trị Diffuse subdivs cho phần ánh sáng xuống, hoặc tăng giá Max. density lên.
  • Nếu không cần thiết, hãy điều chỉnh giá trị trace depth controls xuống một giá trị thấp hơn.
  • Kể cả khi lựa chọn sử dụng VRAY VFB làm đầu ra output, thì VFB mặc định của 3dsMax vẫn được tạo ra và do đó chiếm một lượng bộ nhớ nhất định. Nếu muốn giảm lượng bộ nhớ sử dụng này, bạn cần bỏ tùy chọn “GET RESULOTION FROM MAX” đi, và thiết lập độ phân giải của 3dmax về giá trị thấp nhất 100 x 100 chẳng hạn, sau đó cài đặt độ phân giải output thực sự trong phần tùy chọn của VRAY VFB.
gach bong-CoFR6UK Thủ thuật tăng tốc render hình ảnh trong 3dsmax (Phần 2)
  • Rà soát lại toàn bộ khung cảnh, có rất nhiều khối đa giác không sử dụng, hoặc các chi tiết bị ẩn đi theo hướng nhìn của camera, hay các loại vật liệu không được sử dụng đến trong mục editor… nhiều lúc bạn nghĩ rằng các thiết lập render chính mới ảnh hưởng nhiều đến thời gian xử lý, nhưng nếu chịu khó rà soát lại toàn bộ khung cảnh thì các yếu tố nêu trên cũng tác động không kém đến thời gian thực thi.
  • Một yếu tố khác là đôi khi mô hình của chúng ta trong autocad được đặt quá xa gốc tọa độ, điều này rất hay xảy ra, và sau đó chúng ta thường để nguyên như vậy và liên kết nó đến chương trình rendering. Điều này cũng khiến thời gian render diễn ra lâu hơn. Do vậy, hãy ghi nhớ rằng luôn dời mô hình về gốc tọa độ 0,0 ngay trong autocad.
  • Overlapping of Models and meshes: Một khung cảnh có nhiều khối models và meshes chồng lấp lên nhau sẽ làm chậm đáng kể quá trình render, do đó bạn cần điều chỉnh các thiết lập lên cao hơn để loại bỏ các khuyết tật này.
  • Việc render các bức hình lớn sẽ cần rất nhiều thời gian xử lý và tính toán. Bạn có thể xử dụng một phương pháp thay thế là chia nhỏ việc render ra, hoặc sử dụng các plugins như Super Render – công cụ này giúp chia nhỏ khung cảnh thành nhiều phần nhỏ, và sau đó tự động tổ hợp chúng lại với nhau sau khi tất cả đã được render xong.
Tổng hợp & biên soạn EKE CENTER