Tìm hiểu làm game Metal Gear Solid 4 (phần cuối)


    Modeling

     

     

     

     Trong MGS4 có rất nhiều loại máy móc không có dạng người. Họ cũng áp dụng cách làm giống như tạo nhân vật trong việc tạo normal map từ model độ phân giải cao. Trong quá trình chơi game, hệ thống LOD (Level of Details, vật càng xa camera thì phiên bản độ phân giải càng thấp của nó được hiện ra thay thế độ phân giải cao để nhẹ nhàng hơn khi render) của hơn 70 loại súng đã được sử dụng. Cộng thêm phần phụ của các súng, đây là lượng dữ liệu lớn phải chuẩn bị cho cácsúng. Súng luôn có chi tiết nhiều nhất khi người chơi chuyển camera sang góc nhìn người thứ nhất. Đội ngũ thiết kế luôn phải chú tâm đến góc nhìn của người chơi để model tốt nhất.

     

    Cấu hình texture cho máy móc

     

    Chất liệu dùng cho trực thăng có các điều khiển cơ bản cho độ bóng và incidence (xem bài trước). Bạn có thể nhìn trong hình cấu trúc texture được sử dụng. Từ phải sang là Diffuse, Normal, Specular, Specular gradation và incidence.  Chú ý là tất cả các map này dùng chung một UV để giảm thời gian tải lên màn hình.

    Normal map

     

    Normal map được lấy từ Ultimapper trong XSI. Vì các thông tin lấy từ tiếp tuyến bề mặt của khối mesh nên hầu hết tấm map không dùng phần mềm xử lý ảnh. Trong hình trên, các bạn có thể kiểm tra xem bump map của model poly cao có được nhúng vào tấm normal không.

    Incidence Control Map

    Độ incidence được áp lên model nhờ vào tấm map này. Ví dụ phần trong các ống và buồng lái đều được vẽ tối. Độ nhuốm màu cũng có thể ảnh hưởng đến mày và áp lên incidence. Trong trường hợp này, nó được dùng để cho thấy phản chiếu trời xanh.

    Specular map

     

    Được tạo ra để xác định độ bóng của bề mặt, tức lạ phản lại ánh sáng nhiều hay ít. Vùng nào bóng hơn thì màu sáng hơn. Vùng nào không muốn bóng thì chúng ta vẽ màu tối. Các vết xước khó diễn tả bằng normal map thì specular map làm tốt hơn vì các vết xước nhỏ chỉ thấy rõ ở các vùng ánh sáng chiếu vào.

    Specular Gradation map

     

    Map tham chiếu chuẩn cho việc điều khiển độ bóng. Chút màu đỏ được thêm vào phần sáng nhất để phản ánh đúng hơn những ánh sáng phản chiếu trên trực thăng đen này. Bằng cách thêm độ tương phản cho phản xạ ánh sáng, những hình ảnh phong phú hơn được tạo ra.

    Modeling từ ảnh

     

    Bonneville T100 là xe máy được model dùng phương pháp này. Họ đã gắn các điểm đánh dấu kích thước vào thân xe thật mà họ mượn của hãng Triumph. Rồi họ chụp 16 ảnh ở mỗi góc lệch 45 độ theo hình đồng tâm.

     

    Sau đó họ nhập các thông tin định vị và góc camera vào XSI. Với các camera, họ “đồ” lại theo ảnh. Độ khớp của model và hình thật cũng được kiểm tra thông qua các camera này vì chúng trùng khớp với camera dùng khi chụp ảnh.

     

    Sau khi đã định được các đường “đồ” lại, họ bắt đầu model. Vì các camera đều trùng khớp nên họ có thể đặt chính xác các điểm và tạo ra model có độ chính xác cao.

     

    Để tạo ra normal map cho các chi tiết nhỏ, họ model thêm một phiên bản có độ phân giải cao.

    Họ dùng Ultmapper để tạo ra các loại texture khác nhau. Họ hoàn tất bằng công việc định dạng cho chất liệu thời gian thật.

    Và đó là cách họ tạo ra chiếu Bonneville dựa trên các dữ liệu đo dấu vị trí. Họ dựng các mô hình khác bằng phương pháp thường sử dụng XSI. 

     

    Dựng môi trường

    Giai đoạn đầu dự án, đội môi trường đã đi đến rất nhiều nơi để chụp ảnh tham khảo, từ Maroc đến Peru, và Praha. Ở Nhật họ chụp cũng rất nhiều. Tổng cộng khoảng 35.000 ảnh đã được chụp.

    Cách tạo môi trường như sau.

    Đầu tiên thì nhóm kịch bản sẽ thiết kế ra mô hình thô.

     

    Sau đó được 2 họa sĩ Mineshi Kimura và Yutaka Negishi xác định lại sự hợp lý về cấu trúc và hình ảnh cho hợp lý.

     

    Mô hình lại được gửi ngược lại cho tổ kịch bản để kiểm tra xem game có chơi tốt trên mô hình này không. Sau đó thì công việc model thực sự và gán chất liệu, tạo các khối bao va chạm.

     

    Hình ảnh cuối cùng trong game

     

    Họ không  dùng hệ thống LOD cho môi trường. Họ chỉ dùng một phần LOD cho các cây lớn và cỏ. Mỗi lần trong PS3 tải khoảng 150.000 đến 200.000 polygon. Nếu khối dữ liệu lớn hơn 200.000 polygon thì nó sẽ được chia ra nhiều lần tải.

     Mặc dù họ đã không định tải nhiều vật thể trong một cảnh, vậy mà có cảnh con số lên đến 5.000 thậm chí 10.000 vật thể. Họ dùng XSI Netview để quản lý số lượng lớn này.

     

    Mỗi vật thể trong game có rất nhiều thuộc tính. Ví dụ như khi súng bắn, âm thanh phát ra, tính chất vật lý và thông tin về tàng hình Octocamo(thông tin làm thay đổi bộ áo tàng hình của Snake). Họ đặt các vật thể giúp đỡ vào với vật thể và đặt tên chúng ví dụ như SẮT_***, GỖ_***.  Và trong game, rất nhiều thứ thay đổi dựa trên các thuộc tính này.

     

    Họ dùng phương pháp đưa thông tin ánh sáng và màu vào map dùng XSI render map. Tống quát thì họ dùng Final Gathering (tính toán ánh sáng tòan cục) để đưa thông tin bóng đổ thô vào map màu. Với trường hợp map ánh sáng, sau khi đã nén rất nhiều texture, kỹ thuật này không cần cho những khu vực có bộ đệm bóng đổ. Bộ đệm bóng đổ của PS3 mạnh hơn các phiên bản máy trước rất nhiều, vì thế bóng đổ lên môi trường và lên nhân vật có thể cùng tồn tại mà không phá hỏng nhau. Vì lý do này, hầu hết các trường hợp, bóng đổ được tính trực tiếp trong thời gian thực.

    Trong bóng râm, normal map không phát huy tác dụng như dưới ánh nắng mặt trời. Một vấn đề nữa là 2 hay 3 kiểu ánh sáng phải có mà điều này thì bộ đệm đổ bóng không xử lý được. Họ giải quyết bằng cách lưu thông tin ra thêm để bổ trợ cho texture ánh sáng sau đó máy sẽ  đọc thông tin này.

    Họ đặt đèn cho các môi trường bằng cách xuất từ XSI sang phần mềm xử lý đèn riêng của họ. Phần mềm nay cho ra kết quả y như nhìn trong game. Sau khi đặt đèn và chỉnh màu, họ có thể xem trước kết quả ngay trong môi trường OpenGL.

     

     

    Ngoài việc đặt ánh sáng cho môi trường, họ còn phải làm cho nhân vật.  Họ đặt đèn chính và các đèn môi trường cho phù hợp với khung cảnh xung quanh.  Sau đó, công việc còn lại là định dạng cho Octocamo (thông tin cho áo tàng hình).  MGS4 được chú ý nhiều về ánh sáng phong phú thay đổi theo tình huống như khi tàng hình, đứng dưới mặt trời hay khi đèn vỡ.

    Vai trò của các lập trình viên

    Hầu hết các lập trình viên làm các việc liên quan đến xử lý dữ liệu trong game nhưng đồng thời họ phát triển các công cụ để hỗ trợ sản xuất. Ví dụ đã nói ở trên là môi trường đặt ánh sáng, thêm vào là bộ xử lý hệ hạt riêng của họ. Các hiệu ứng làm trong game như hiệu ứng trường DOF, mây mù, tuyết và hiệu ứng mờ camera đều được phát triển bời lập trình viên.

    Không có blur và  blur

     

    Không có  hiệu ứng  DOF và có DOF

     

    Công việc phát triển các chất liệu thời gian thật cũng là của lập trình. Họ dùng ngôn ngữ Cg (C cho graphic của Nvidia)vì nó có thể dùng được trong PS3 và cả XSI.  Họ tao ra khoảng 150 loại chất liệu khác nhau cho nhân vật, môi trường, máy móc. Ví dụ như loại chất liệu diễn tả bụi, bùn, máu hay nước trên người nhân vật.

    Vật liệu đơn giản chỉ có Normal và diffuse

     Vật liệu phức tạp

     

     Vật liệu trên máy móc

     

    Kết luận

    Họ sản xuất game với việc đặt chất lượng lên hàng đầu và quản lý nghiêm ngặt. Họ đã phải thay đổi rất nhiều trong quá trình sản xuất vì lý do này. Họ cố gắng đạt đến hết mức mà kỹ thuật và thời gian cho phép.

    Bình luận



    Bài viết có liên quan