11/08/2018, 23:51

Unity: Giới thiệu về Unity 5.

Unity là engine game được tạo ra với mong muốn mang đến hệ thống renderer đối với các developer độc lập, khiến ai cũng có những tool mạnh nhất với giá cả hợp lý nhất. Unity 5 đã được Unity Technologies chính thức ra mắt và phát hành tại Game Development Conference 2015, với nhiều chức năng và ...

Unity là engine game được tạo ra với mong muốn mang đến hệ thống renderer đối với các developer độc lập, khiến ai cũng có những tool mạnh nhất với giá cả hợp lý nhất.

Unity 5 đã được Unity Technologies chính thức ra mắt và phát hành tại Game Development Conference 2015, với nhiều chức năng và cải thiện đáng kể so với phiên bản 4 của nó, sau đây là những thay đổi quan trọng nhất.

  1. Physical Shader
    Điều khiển shader sẽ dễ dàng và thân thiện với người dùng hơn bao giờ hết với Physical Shader. Bạn có thể tạo ra đến 95% các shader với các loại material khác nhau như gỗ, sắt, nhựa hay các kim loại khác, kể cả tóc bằng chỉ 1 shader.

    viking_village21.jpg
    Các material trong scene được tạo bởi 1 Physical Shader (Hỉnh ảnh trong Viking Village của Unity Technologies).

    Người dùng vẫn có thể viết shader nếu muốn, những shader đó sẽ được đặt trong mục legacy shader, nghĩa là 1 ngày nào đó nó có thể không được dùng đến nữa.

    Với tiêu chí "One shader to rule them all" Unity Technologies mong muốn việc viết shader chỉ là quá khứ với việc điều chỉnh, tạo material dễ dàng và nhanh chóng hơn nhiều.

    Screenshot 2014-10-20 12.03.22.png
    Các texture được gắn cho Physical Shader để tạo map.

    Để sử dụng Physical Shader chỉ cần drag nó vào object mình muốn dùng, gắn cho nó các texture và thuộc tính phù hợp, bạn không cần lo cho các slot trống vì Unity sẽ tự động gạt bỏ nó, cải thiện performance.

  2. Global Illumination
    Mục tiêu của Global Illumination là tính toán phản chiếu ánh sáng không chỉ giựa theo nguồn sáng chính, mà còn độ tương phản của nó trên các bề mặt material phản chiếu. Điều này thường tốn rất nhiều tài nguyên nhưng Unity đã giảm nó đáng kể bằng cách thực hiện nhiều tính toán từ trước.

    Điều tuyệt vời là Unity Technologies đã mang được công nghệ này trên đa số các nền tảng di động khiến việc sử dụng đơn giản hơn bao giờ hết.

    Dĩ nhiên, kỹ thuật bake vẫn có thể được sử dụng, nhưng các map sẽ được Unity tự động tạo ra sau khi người dùng điều chỉnh nguồn ánh sáng, không cần thiết phải bake mỗi khi thay đổi cấu hỉnh nữa.

  3. Reflection Probes
    Đi cùng với Physical Shader và Global Illumination là Reflection Probe, cho phép tạo ra bề mặt phản chiếu, nói đơn giản, hiệu ứng gương, phản chiếu không gian xung quanh nó.

    RefProbeInspector.png
    _Các parameters của Reflection Probe trong Inspector. _

    Những probe này giống như camera, chụp lại các hình ảnh xung quanh nó ở tất cả các hướng. Những hình ảnh này sẽ được lưu trữ dưới dạng cube map và được sử dụng trong real time, tuy nhiên bạn có thể bake nó nếu e ngại về vấn đề performance.

  4. Audio Mixer
    Hệ thống audio mixer mới, mang cho bạn tools của các studio âm thanh đến tận tay. Giờ tạo ra những hiệu ứng âm thanh phức tạp không còn khó nữa.

    Hãy tưởng tượng khi ở trong 1 căn phòng, bạn có thể nghe thoáng âm thanh xe chạy ngoài đường với các âm thanh lớn to khác nhau, khi dần dần bước ra khỏi căn phòng những âm thanh đó lớn dần, nghe rõ ràng hơn, còn những âm thành trong phòng trước đó sẽ dần lặng đi, với Audio Mixer nó không còn là điều khó khăn để thực hiện

  5. ** Hệ thống vật lý**
    Hệ thống vật lý của Unity, PhyX, được viết bởi NVidia đã được nâng cấp lên phiên bản 3.3.

    1 trong những điều đáng nói là CCD (Continous Collision Detection) đã được cải thiện, nếu trước đây 1 vật di chuyển quá nhanh có thể bay qua vật khác, mặc dù cả 2 đều có collider đã trở thành quá khứ.

    Collider bánh xe cũng đã được cải tiến, với độ mô phỏng vật lý và ma sát thực tế hơn, bạn có thể dùng loại collider này để tạo ra các chiếc xe.

    Cloth Simulation cũng đã được nâng cấp, hủy bỏ Cloth và Skin Cloth trước, giờ chỉ để lại Cloth duy nhất, dùng dể mô phỏng sự chuyển động của quần áo. Mặc định, Cloth này sẽ không tác động nên môi trường xung quanh, nhưng có thể chịu tác động của các vật khác, khiến performance tăng lên đáng kế.

  6. ** Hệ thống điều khiển hoạt hình Mecanim**
    State Machine của Mecanim đã được nâng cấp với các State Behavior mới, các Node có thể được kết nối với nhau, sự chuyển đổi giữa chúng được khống chế bởi các State Behavior, nói đơn giản là những callback được gọi bởi State Machine, mỗi khi 1 trạng thái bắt đầu hay kết thúc, bao gồm:

  • OnStateEnter - Callback gọi tại frame đầu tiên của 1 state.
  • OnStateUpdate - Callback gọi mỗi frame tại thời điểm state đang chạy.
  • OnStateExit - Callback gọi tại frame cuối cùng của 1 state.
  • OnStateMove - Callback được gọi tại tất cả frame trong 1 state.
  • OnStateIK - Callback được gọi tại tất cả frame trong 1 state, đối với các layer có thuộc tính IK Pass.

    Những State Behavior này có thể giải quyết rất nhiều vấn đề với những game có hệ thống hoạt hình phức tạp. Như game hành động, khi phải xử lý nhiều function giữa các state khác nhau.

    Tuyệt vời hơn nữa vào các state machine của Unity giờ có thể gắn script trực tiếp, cho phép các script đó chạy khi state đang được thực hiện. Giờ có thể sử dụng Machine State của Mecanim... không cần đến animation, như 1 machine state độc lập để thực hiện code.

    mecUnity5-1.png
    _Các script được gắn vào Machine state. _

  1. ** WebGL**
    Fabulous là từ có thể dùng để mô tả nền tảng mới cho Unity này, hoàn toàn không cần dùng plugin riêng biệt, giờ Unity có thể chạy độc lập trên nền HTML5 này. Để có thể thực hiện được điều này Unity đã trực tiếp phối hợp với hãng Mozzila.

    Deploy game trên nền web sẽ trở nên dễ chưa từng thấy với chỉ 1 lần ấn nút. Tuy nhiên chức năng này vẫn còn đang trong giai đoạn phát triển và thử nghiệm, dự tính sẽ được chính thức phát hành tại các phiên bản Unity 5.x tới.

  2. ** 64Bit Editor**
    1 trong những vấn đề lớn của Unity từ trước giờ là 32Bit Editor, gây cản trở những game có số lượng asset cực lớn, khiến nhiều nhà làm game nản lòng bỏ Unity chuyển qua các engine khác như Unreal. Vấn đề này không còn tồn tại sau khi Unity nâng cấp Editor của mình lên 64Bit.

  3. ** Cloud Build**
    Nói đơn giản, Unity đơn giản hóa workflow làm game của các game developer, Unity sẽ quản lí repository của game, cho dù đó là Git, Subversion hay Perforce.

    Sau khi nhận ra những thay đổi của project trên repository, project sẽ tự động build. Sau khi build, Unity sẽ gửi link vào email của bạn, và bạn chỉ cần khởi động thiết bị của mình và cài app với link phù hợp.

    Trong thời điểm hiện tại Unity Cloud vẫn đang trong giai đoạn Beta, với các gói sản phẩm khác nhau, từ Free đến Enterprise, về cơ bản thì các gói khác nhau về mặt số lượng người có thể tham gia, debug build, độ lớn của project và hỗ trợ.

Với những chức năng này, Unity đã trở nên 1 trong những game engine mạnh nhất dành cho mobile trong thời điểm hiện tại. Giúp Develop game trở nên nhanh chóng, dễ dàng và đơn giản hơn bao giờ.

0