Pixar USD Là Gì ? Có Lợi Ích Gì Cho Một Studio Làm Về CG/Animation/VFX

Trong tuần này đám đông hâm mộ Blender nhận tin Blender cũng đang bắt đầu những bước đi đầu tiên với việc ứng dụng Pixar USD cho Blender. Các anh em họa sỹ nói chung cũng có nhiều thắc mắc không hiểu Pixar USD là gì và ảnh hưởng gì đến hòa bình thế giới đồ họa nói chung, hay nói riêng đến studio nơi làm việc hay tại hiệu quả công việc của mình. 

Mình sẽ dùng chữ USD (Universal Scene Description) trong bài viết không dùng chữ Pixar nữa từ đây trở xuống (nếu có search Google bạn nên dùng Pixar USD).

Thông tin về USD nói chung là rất phổ quát, từ hơn 2 năm nay đã có nhiều studio lớn nhỏ trên thế giới ứng dụng vào pipeline làm việc chung, cũng như các ông lớn cũng lục đục có nhiều sự thích nghi trong phát triển.

Thông tin mở  từ Pixar của USD (Universal Scene Description​) là gì nguyên gốc có thể xem ở đây, tài liệu rất sâu về kỹ thuật, chủ yếu dành cho dân Technical (TD). Dành cho artist coi hiểu thì tiếp tục đọc

Cùng Phân Tích USD Qua Video Thể Hiện Của Pixar

Sau đây là video của Pixar chỉ trong 5 phút, làm cho tất cả khán giả đều kinh ngạc trước sức mạnh của hệ thống khi mô phỏng lại các hình họa 3D của một scence trong phim hoạt hình Nemo cũng như nhân vật trong phim hoạt hình Cars.

  • Điểm nóng chính là mọi play blast này đều xảy ra ở thời gian thực do công nghệ cốt lõi của USD là Hydra, một engine render real time chạy trên nền Open GL
  • Với hơn 52 triệu poly cho scene dưới đáy biển khi cá đuối chạy ngang qua được hiển thị hoàn toàn 100% real time 
  • Scence này chỉ mở trong vòng 3 giây với hơn 52 triệu poly
  • Bản thân scence thứ hai cũng real time, các khối san hô màu tím được render displacement với Render Man và sau đó hiển thị real time trong USD qua Hydra
  • Khi mở scene này trong Presto Animation, là phần mềm làm hoạt hình (làm animation) của riêng Pixar tạo ra, Hydra cho thấy nó chạy thời gian thực 30 hình/giây
  • Vẫn ở Scence Dory và các cục san hô màu tím, khả năng hiển thị Ambient Occlusion được tắt mở, bump normal, sức mạnh hiển thị Depth of Field và điều kỳ diệu nữa là hiệu ứng caustic tụ quang dưới đáy biển cũng được hiển thị thời gian thực ngay 
  • Với phần diễn họa posing thì artist có thể ngay tức thì kiểm tra được pose, kiểm tra rig, diễn thử ngay trong Presto và thời gian thực. Bạn cần biết trong một studio điều này rất quan trọng, trước khi đạo diễn coi các tạo tác thì các team producer, quản lý chất lượng sẽ muốn coi qua các phần đạt tiêu chuẩn hay chưa, việc này thời gian thực, toàn team có thể coi ngay, on screen.
  • Và cũng tương tự với nhân vật Lightning McQueen trong phim hoạt hình Cars, chúng ta thấy mọi thứ từ reflection, Ambient Occlusion ngay trên màn hình, việc animation cũng thời gian thực, không chờ đợi, tất cả việc này được render physical base Open GL trên khung hình 60fps
  • Cần biết là cái laptop của bạn thực hiện đang chạy là loai máy được cài sẵn Ubuntu của hãng System76, không phải một siêu máy tính.

Pixar Universal Scene Description (USD) là gì ?

“USD là phần mềm lõi trong quản lý pipeline đồ họa 3D tại Pixar, sử dụng khắp trên từng mỗi ứng dụng tạo tác nội dung số hỏa 3D và ứng dụng render, bao gồm cả các tài sản do Pixar làm ra như chương trình ứng dụng Presto Animation”

Theo Pixar

Hiện tại Pixar Animation Studio đã công bố tung ra mã nguồn cho USD Universal Scene Description trên nền Python 2 và có vẻ khá cổ xưa so với thế giới tại thời điểm tung ra mã nguồn mở, bản thân nơi nào dùng thì có thể tiếp nối và viết lên. Vì đây là một phần mềm rất đắt giá nên việc nó trở thành một hệ thống khổng lồ, thay đổi được nó cũng khủng.

Định nghĩa gần gũi hơn về USD là khả năng mở rộng dễ dàng, có chi tiết về thông tin scence 3D (mã nguồn mở) và chứa file format trung gian được phát triển bởi Pixar để giúp việc tạo tác cũng như trao đổi giữa các công cụ khác nhau dễ dàng. Đó là kết quả đầy uy lực và linh hoạt, đã được đón nhận rộng rãi, không chỉ trong cộng đồng thực hiện kỹ xảo điện ảnh (visual effect) nhưng bao gồm cả kiến trúc, thiết kế, robotic, máy móc cơ khí và nhiều chuyên môn khác.

Mục tiêu của USD là nhằm tối ưu hóa việc cộng tác khi làm việc trên các dự án animation/vfx giữa các họa sỹ khác nhau từ nhiều nơi, trên các công cụ khác nhau trên nhiều pipeline khác nhau thành chung một mô hình lý tưởng dựa trên pipeline hiện đại phức tạp, nó cho phép hàng hàng người dùng sáng tạo có thể cùng cộng tác trên một dự án với chuyên môn sử dụng nhiều công cụ tạo tác khác nhau.

Túm váy là anh Maya với anh phần mềm khác giờ cùng có thể làm việc trên một dự án khổng lồ mà mỗi người thích thì cứ làm trên phần mềm chuyên môn của mình. Qui trình làm việc và mọi cái còn lại USD lo.

Hydra Là Gì ?

Hydra là một framework về hình ảnh được đồng hành chung với ấn phẩm USD. Nó kết nối các đầu vào (tiêu hóa dữ liệu) và rất nhiều các đầu cuối (gửi dữ liệu từ scene ra các phần mềm render). Đầu tiên hết thì mô hình Hydra dựa trên Open GL rendering,  với khả năng mở rộng rất nhanh chóng, hỗ trợ multi pass và sử dụng OpenSubdiv dành khi render mesh. Với USD ở backend là một ứng dụng render chạy Embree (Intel) theo dạng path tracing (không phải ray tracing, bản thân path tracing không nhạy cảm với số lượng poly có trong một scene mà chỉ bị chậm khi có sự tham gia của nhiều đèn, bóng đổ ..)

Với phần giao diện ở front end là Hydra là một sản phẩm thứ ba plugin được cài vào khi phát hành USD. Nó cho phép scene được xem nhanh và animation hoàn toàn stream qua các dữ liệu đã giàn dựng theo schemas do USD xử lý. 

3 Tính Năng Cơ Bản Của USD

USD tổ chức dữ liệu thành cấu trúc dạng namespace của tập các Prims, định nghĩa prims là primitive (nguyên). Mỗi prims sẽ có thuộc tính và quan hệ, các tập hợp sẽ hiểu là đặc tính. Mỗi thuộc tính có kiểu giá trị khác nhau. Mối quan hệ là rất nhiều mục tiêu trỏ đến các đối tượng hay một cấu trúc sau đó USD quản lý các thứ này tạo ra namespace để thay đổi. Tạm hiểu kiểu metadata nhưng có layer.

Theo schema thì mức cao nhất, chung chung nhất USD cung cấp tập các schema cho phép tiêu chuẩn hóa thông qua các API để kết nối với các công cụ tạo tác nội dung 3D (sau này đầu nhận của dữa liệu từ plugin USD cài trên các phần mềm 3D):

  • Geometry (khối hình học)  với định nghĩa là dùng USDGeom để render OpenSubdiv thể hiện khối hình mesh, transform, curve, point, nurbs patch và các loại khối đặc. Cũng như nó mang theo mọi đặc tính của thuộc tính mesh cần có như chi tiết LOD, proxy … 
  • Shading cách mà schema định nghĩa UsdShade là một node giúp thể hiện một mạng lưới shader, mặc dù là USD đang được phát triển dùng chính cho dữ liệu Renderman từ Maya tới Katana nhưng vẫn sẵn sàng thuộc tính để điều khiển tham số của các loại shader thông qua giao diện đầu vào nhận dữ liệu.
  • Mô hình và tài nguyên việc giàn dựng trong USD cho phép cấu hình các scene phức tạp, rộng lớn nhiều dữ liệu. Nó giúp xử lý, phân tích và cũng như chi tiết hóa các scene đó theo dạng tập hợp, caching và đưa ra các thông tin asset info schema ghi nhận những gì được tham chiếu trong scene. 

Coi Video Khi Làm Việc Với File USD Qua Chương Trình Tạo Tác 3D Clarisse

Xem USD Qua Một Video Qui Trình Đang Bố Cục Cảnh Do Chính Kỹ Thuật Tại Pixar Làm

Đỉnh Vậy Tại Sao Disney Pixar Lại Mã Nguồn Mở

Theo Disney cho biết thì việc mã nguồn mở này như là việc trả lại cho cộng đồng, nó giúp tạo ra những giá trị sáng tạo mới, đẩy mạnh vai trò cộng tác và cùng phát triển.

Phần mềm mã nguồn mở có một ý nghĩa vô cùng to tác và quan trọng với Walt Disney Animation Studios (WDAS), nó đã cho phép rất nhiều phần mềm mã nguồn mở trở thành nền tảng của rất nhiều công nghệ. Bản thân WDAS là nhà vô địch trong việc ứng dụng phần mềm mã nguồn mở cũng như đóng góp ngược lại cho cộng đồng. Disney rất mong muốn tất cả mọi người cùng nghiên cứu công nghệ đã được chia sẻ này, cùng hợp tác và cùng cống hiến.

Việc chia sẻ và phát triển mã nguồn mở về công nghệ của Pixar là tối quan trọng trong hệ thống lõi của ngành công nghiệp, nó giúp có thể định hướng phát triển tiếp tục thật nhiều nỗ lực đột phá vềđổi mới. Chính tinh thần đó đã thúc đẩy việc mã nguồn mở phần mềm này. Theo Ed Catmull chủ tịch của Pixar và Walt Disney Animation Studios cho biết. 

Phần Code Này Đang Để Ở Đâu ? Vì Sao Không Dùng Alembic

Pixar đã phát hành phần code này rộng rãi công cộng ngay trên Github. Linux là hệ nền duy nhất hỗ trợ phần mềm này tại thời điểm hiện tại. USD đã được phát triển trên nền CentOS 7 và Redhat Enterprise Linux 7.  Nếu bạn đang dùng hai hệ điều hành này thì việc tải về và dựng lên một phần mềm chạy ngay là tức thì với Python 2. Pixar cũng đang mời các nhà phát triển cùng đồng hành.

Khi được hỏi vì sao bỏ qua file Alembic, một tiêu chuẩn file của ngành công nghiệp animation/vfx hiện đang rất phổ biến. 

USD được phát triển tương tự như mô hình và sự tương thích đồng điệu với ý tưởng của Alembic, tuy nhiên với cái nhìn rộng lớn hơn về cả một scene (toàn bộ một khung cảnh) chứ không chỉ đơn thuần trên từng asset đơn lẽ (một mô hình 3D, một file volumetric, một source particle …)

Với Pixar, việc Alembic đã có rất nhiều ưu điêm trong giải pháp giới thiệu những thông tin một scene chi tiết, được đóng gói và xuyên suốt nên cũng vì điều đó nó không cho phép file được tham chiếu chéo hay liên kết qua lại với nhau, nó không phù hợp với loại dữ liệu trung gian cho scence khi bàn về một pipeline.

Trong khi đó, bản thân Universal Scene Description là hệ thống hỗ trợ việc giàn dựng scene với rất nhiều tính năng như layering (lớp), tham chiếu (referencing) và hiển thị geometry cùng hàng loạt các shading đủ loại cho những asset đơn lẽ gộp lại. 

USD không đóng vai trò thay thế Alembic, Pixar cho biết USD đã được phát triển mở rộng trên các file format mà chính là nâng cấp cao hơn bản thân thành tựu của Alembic để trở thành ngày nay.

Đây không phải là đem gộp Alembic lại chung với USD một thể thống nhất, mà chính ra theo thời gian, file Alembic trở thành vai trò đầu vào trong phần mềm hệ thống USD.

Giấc Mơ Của NVIDIA Với Omniverse

Đại gia về phát triển kỹ thuật công nghệ đồ họa NVidia chắc chắn không bỏ qua điều này. Với giấc mơ mong muốn được như Google Doc, một sản phẩm có thể dùng mọi nơi với dữ liệu được tập trung từ nhiều nguồn. Omniverse là sản phẩm gần nhất ứng dụng của USD mong muốn đem tới các artist cách quản lý tài nguyên và dữ liệu dự án hoàn toàn trơn tru. 

Trong video này CEO của NVIDIA đã thảo luận về Omniverse một hệ nền giúp cho việc cùng phát triển cộng tác của nhiều họa sỹ trên khắp thế giới với nhau. Chỉ tính các major studio về animation và vfx đã có hơn 200 studios trên toàn thế giới. 

Cách mà họ mong muốn làm nhất là cách có thể cùng làm việc cộng tác với nhau. Với việc cùng quản lý nội dung số hóa từ 3D thì hoàn toàn không có một ứng dụng nào như thế. Đó là lý do để Omniverse ra đời.

Omniverse làm việc với mọi công cụ tạo tác (phần mềm 3D, phần mềm render, phần mềm làm animation, làm shader…). Ví dụ trên màn hình là mô hình được dựng với Maya, cùng lúc scene được giàn dựng trên Unreal Engine và Substance Painter đang làm texture. Omniverse tương tác với các phần mềm này thông qua plugin ứng dụng USD và MDL (bộ hệ thống  trung gian cho phép cộng tác và chia sẻ vật liệu do NVIDIA phát triển). Tất cả kết quả này cùng được đưa vao một portal mà mọi người đều thấy mọi thứ xảy ra đồng thời. 

Dĩ nhiên việc này là dùng GPU Rtx của hãng. Tài liệu Omniverse USD xem thêm của hãng Nvidia cung cấp.

 

Post Author: Vu Pham