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

     

    MGS4 được phát triển bởi Kojima Productions, một phần của Konami Digital Entertainment. Trong quá trình phát triển khoảng 100 người tham gia vào phần sản xuất hình ảnh 3D. Ở giai đọan nhiều việc, nhiều người được thêm vào và cuối dự án, có đến 180 người trong dự án này.
    Có thể gọi đây là siêu dự án với số lượng người lớn và thời gian lâu đến thế. Họ dùng SoftImage XSI trong quá trình làm game. Chúng ta sẽ cùng tìm hiểu về các quá trình này.

    Từ một kịch bản duy nhất

    MGS4 video được trình chiếu đầu tiên ở Tokyo game show năm 2005. Nhân vật chính, Snake, trong video này nhìn vào 1 bức tường của tòa nhà hoang phế. Từ kịch bản duy nhất này, toàn bộ dự án được phát triển và đoạn giới thiệu dài 10 phút làm ấn tượng cả thế giới.

    Để chuyển tài chất lượng hình ảnh cao vào trong máy PS3 mà không mất chất lượng, một lượng thông tin rất lớn được chuyền tải và nghiên cứu ở đầu dự án. Tại thời điểm đó họ vẫn còn phải làm quen với cách làm việc của PS3.  Độ lớn của dữ liệu phải xử lý quá lớn, chưa bào giờ có tiền lệ như vậy.

    Thiết kế mỹ thuật trong Metal Gear Solid

     

    Yoji Shinkawa là người chịu trách nhiệm về chỉ đạo nghệ thuật cho toàn bộ nhân vật và vũ khí, máy móc trong game. Điều quan trọng nhất là làm sao lôi cuốn được người chơi, không quan trọng là cường điều hóa hay dùng phép minh họa thông thường.
    Shinkawa bắt đầu các thiết kế bằng việc dùng cọ vẽ đặc trưng của mình. Kết quả là các thiết kế sơ khởi bằng hình đen trắng. Sau đó nhiều phương pháp được áp dụng. Hình ban đầu có thể được tô vẽ thêm, hay chuyển thành hình 3D hay nếu là loại phức tạp thì sẽ được nặn bằng đất sét.
    Bằng cách này, đội phát triển đã có những hình tham khảo rõ ràng về những gì họ sẽ phải dựng lên trong 3D. Với những thứ đã được nặn tượng và vài nhân vật họ chụp ảnh chúng rồi dùng phương pháp dựng hình 3D từ ảnh để lấy thông tin rồi nhập vào trong XSI.

      Trong giai đoạn thiết kế, Shinkawa cũng lựa chọn tất cả các màu sắc, loại vật liệu cho các nhân vật để tạo được sự cân bằng mà anh ấy muốn. Shinkawa  cùng làm việc với đội ngũ lập trình để tạo ra vật liệu thời gian thực cho các loại chất liệu anh ta muốn. Đôi lúc anh ta dùng Mental Ray để cho lập trình thấy ý tưởng của mình.
     

         Quá trình tạo nhân vật

    Hầu hết các nhân vật xuất hiện trên máy PS3, kể cả nhân vật chính, Snake, chịu giới hạn về số polygon chỉ từ 5000 đến 10.000 polygon. Hơn nữa, các nhân vật dùng trong các đoạn phim chuyển cảnh và nhân vật trong game có cùng độ phân giải về polygon nên tạo ra sư chuyễntiếp muợt mà giữa các phim và game làm lôi cuốn người chơi.

    Ngoài các nhân vật polygon ít, còn có các phiên bản độ phân giải polygon rất cao để tạo Normal Map. Các chi tiết như nếp nhăn trên mặt, gấp quần áo được tạo ra bởi normal map xuất ra từ model độ phân giải cao.

     

    Bộ xương dùng cho nhân vật có khỏang 21 xương chính nhận dữ liệu animation, tuy nhiên có rất nhiều xương phụ thêm để tạo các chuyển động phụ như xoắn đầu gối, chân và tay. Những xương này không nhận trực tiếp dữ liệu animation mà chúng được di chuyên tương ứng theo những xương chính.

    Gator: một chức năng quan trọng

    Trong quá trình phát triển,việc thay đổi các thông số, quy chuấn là không tránh khỏi. Việc tránh phải vứt bỏ hoàn toàn mọi thứ mỗi khi phải thay đổi nhân vật khác đi, họ dùng nhiều đến Gator. Các thông tin về UV, xương có thể chuyền qua lại mặc dù nhân vật không trùng polygon. Trong MSG4, nhân vật chính Snake có 10 bộ quần áo khác nhau, việc thay đổi thông số về bao đóng ảnh hưởng xương cho các bộ quần áo khác nText Box:  hau có thể được làm chỉ bằng 1 click trong Gator. 

    Ở cuối dự án MSG4, họ bắt đầu làm Assassin’s Solid, một hợp tác giữa Assassin's Creed và MSG4. Họ đã nhờ Gator để chuyển thông tin xương từ Snake sang Altair, nhân vật của Assassin Creed.

    Diễn mặt tuyệt vời

     

    Bằng cách nào mà nhân vật trong MGS4 có diễn mặt tốt như vậy? Vì giai đoạn đia phương hóa thì việc khớp thoại mới được làm nên để giảm số việc phải làm, kỹ thuật phân tích âm thanh tạo animation đã được dùng trong MGS4. Việc làm khớp thoại cho tiếng Nhật và tiếng Anh được dùng 2 phần mềm phân tích âm tiết khác nhau. Trạng thái tình cảm, diễn mặt ở các trạng thái không liên quan đến khớp thoại được làm bằng tay. Trong hầu hết trường hợp, trạng thái của mặt và khớp thoại miệng không đụng độ nhau nên có thể tiến hành song song độc lập.
    KHi phân tích âm thanh, các phần diễn tả mặt (giận, cười,..)  và các hình thái miệng cho mỗi ngôn ngữ phải được chia thành các thông số riêng. Sau đó các thông số này mới được kết hợp lại để tạo ra vị trí của xương. Tuy có thể tạo các thông số chuyển động của xương để định trước các hình thái miệng tuy nhiên điều này làm cho rất khó biết trước kết quả cuối cùng khi kết hợp các thông số trạng thái mặt và âm tiết.
     
    Trong khi, animation bằng biến đồi dáng (tương tự Morphing) bất tiện vì việc tạo ra animation thằng nhưng kỹ thuật này lại giúp việc tạo hình thái miệng và diễn tả mặt dễ dàng hơn. Quan trọng hơn là nó tiên liệu kết quả cuối cùng chính xác. Vì lý do này đội ngũ phát triển xương nhân vật đã dựa vào thông số tạo ra mới các dáng rồi xuất kết quả này vào thành chuyển động của xương. Kỹ thuật này cho phép các animation lấy từ phân tích âm thành cho miệng và cả lưỡi và cổ họng cùng tồn tại với rất nhiều biểu cảm mà sau này thêm vào bằng tay.
    Xem phim dưới đây để thấy độ mượt mà của animation mặt.

     >> View Movie

    Họ tạo ra các diễn tả mặt phong phú và đa dạng sử dụng kết hợp nhiều thông số. Họ tạo ra công cụ để tự động hóa quá trình làm xương. Trong hệ thống này, sau khi có dữ liệu về model, công cụ sẽ tự tìm vị trí tối ưu cho các xương. Công cụ này còn tạo ra các vị trí định sẵn cho xương cho các trạng thái tình cảm có sẵn như giận dữ, vui vẻ.. Cuối cùng thì môi trường này vận phải có chỗ để cho các họa sĩ chỉnh sửa lại animation.

    Chuyển động của mắt cũng có hệ thống tương tự.

     

    Normal map chất lượng cao

    Texture được sử dụng như diffuse maps(màu phủ), normal map (map biến đổi vecter pháp tuyến bề mặt để giả lồi lõm) và incidence color map (dự vào góc tới của ánh sáng so với bề mặt để tạo ra màu, sáng tối) được sử dụng trên mặt của nhân vật. Với incidence map, chất liệu không phải được xác định bởi tia sáng và vecter pháp tuyến mà bởi góc camera và vector pháp tuyến bề mặt. Bằng cách làm sáng hơn các đường bao, ho tạo ra texture mềm hơn.

    Rất ngạc nhiên là toàn bộ nhân vật dùng texture độ phân giải chỉ có 512×512 để đỡ tốn Video Ram. Độ phân giải này là thấp so với thế hệ máy hiện nay. Họ dùng các phương pháp tinh tế để tạo ra chất lượng cao. Ví dụ như dùng chất liệu đối xứng cho các chi và thân người nhân vật và đảo hương theo chiều U. Tuy phải sinh ra thêm 1 chất liệu nhưng bộ nhớ tiết kiệm rất nhiều nhờ cách này. Normal map cũng chỉ dùng kích thước 512×512. Model độ phân giải cao được làm trong ZBrush với khỏang nửa triệu polygon. Họ phải rất cẩn thận chỉnh sửa model phân giải cao để có được chi tiết tốt cho normal map. Họ cũng có chương trình riêng để chỉnh sửa normal map để chất lượng không bị mất trong quá trình nén thành dữ liệu game.
    Các vết nhăn trên mặt thì sao? Họ dùng kỹ thuật kết hợp 2 normal maps với nhau, 1 có nếp nhăn, 1 không có. Snake có mặt già hơn trong phiên bản này.

    Animation

    MGS4 có đến 9 tiếng phim chuyển cảnh, dài hơn 3 lần phim dài của Hollywood. Các animation trong phim chuyển cảnh dùng Motion capture trong khi các animation trong game thì diễn tay. Họ tập trung vào việc tạo ra chuyển động thích hợp với lứa tuổi của Snake.Diễn bằng tay luôn có thuận lợi dễ dàng cho việc thay đổi qui chuẩn nhân vật. Một mình Snake có 1.700 động tác còn các kẻ địch là 4.800. Khi cộng hết các nhân vật chùm, diễn mặt, con số chuyển động trong game là 10.800.

     

    Khi tạo chuyển động cho mặt và người, họ phải tạo ra nhiều chuyển động khác nhau dựa vào chuyển động mẫu. Nếu mẫu tham khảo là tư thế tĩnh hay diễn tả mặt,  họ dùng bộ trộn chuyển động để có thể lưu vào thư viện. Các tư thế, chuyển động này sẽ được lấy ra thêm vào các diễn mặt và chi tiết.

    Trong game, Sanke lúc đứng, lúc chạy, lúc nấp mà luôn phải cầm súng. Tạo chuyển động cho đủ các loại súng khác nhau là không khả thi. Thay vào đó họ phân loại súng và tạo ra các điểm nơi tay gắn vào súng. Các lập trình viên sau đó tạo ra quá trình gắn tay vào đúng các vị trí này giúp tạo ra các chuyển động cầm súng cho mọi loại súng. 

     

    –Nam (Lược dịch theo bài của Soft Image Case Study )

    Bình luận



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