Chuyển đến nội dung chính

#2 DOTween Unity


Trong bài viết trước, mình đã thực hiện thiết kế một map lowpoly. Ở bài viết này và các bài viết sau mình sẽ thực hiện xây dựng logic game.
Nội dung dự định mình sẽ xây dựng giống tựa game Merge Plane:

Đại khái, mình sẽ implement logic cừu chạy xung quanh trên map của đã xây dựng với thư viện tween animation DOTween.
firstPart
Bài viết này không đi sâu vào kỹ thuật mà chủ yếu giới thiệu đến các bạn về thư viện DOTween. Vậy mình sẽ giới thiệu về DOTWeen một xíu nhé.
DOTween gồm 2 bản, bản miễn phí và bản Pro giá 15$ tầm 350k VNĐ.  Trang chủ của nó ở đây http://dotween.demigiant.com/. Với thư viện này, mình có thể thực hiện các dạng animation transform thường gặp như: Move Position, Scale, Rotate, Move theo Path, Fade, Color v.v hay các hàm tiện ích như DelayCalls, Sequence… Ở bản free thì thư viện chỉ cung cấp các hàm để gọi trong code, còn ở bản Pro được cung cấp thêm giao diện cài đặt các animation trong inspector.
Ngoài DOTween, mình có sử dụng qua thư viện LeanTween với những tính năng tương tự. Tuy nhiên, DOTween có cách thể hiện synxtax code trong sáng, rõ ràng hơn.
Ở trong tựa game này, mình sử dụng DOTween để implement logic chạy xung quanh con đường và nhảy theo đường cong qua hàng rào chắn. Chi tiết nằm ở video dưới đây:

Về phần setup DOTween, mình thường sẽ loại bỏ bớt các thành phần không sử dụng DOTween để làm gì cả như Audio. Đồng thời, sửa lại ease transtion về dạng linear.
Các thuộc tính ease trong các tween animation được minh họa trực quan ở trang:

Nhận xét

Bài đăng phổ biến từ blog này

#4 Unity Pathfinding, NavMesh Component, A* PathFinding Project

Thuật toán tìm kiếm đường đi là một trong số các thuật toán hay áp dụng nhiều nhất trong quá trình phát triển game. Thuật toán tìm kiếm đường đi đưa ra lời giải cho vấn đề làm cách nào đi từ điểm A đến điểm B trong một bản đồ. Hẳn các bạn làm việc với unity, khi nghĩ đến thuật toán tìm kiếm đường đi chúng ta thường sử dụng component NavMesh do unity phát triển và có mã nguồn mở đặt ở đây https://github.com/Unity-Technologies/NavMeshComponents. Và rất nhanh chóng, chúng ta có thể cài đặt vào trong game, giải quyết vấn đề như di chuyển nhân vật của chúng ta đi từ điểm A đến điểm B tránh các vật cản hay cài đặt logic cho những con Bot theo dấu nhân vật chính, hoặc một ví dụ cụ thể là cài đặt logic di chuyển theo đội hình... Việc cài đặt và ứng dụng component NavMesh như thế nào mình sẽ không đi sâu vào chi tiết mà hướng đến các vấn đề mình ứng dụng navmesh trong game như thế nào. Các bài viết về NavMesh dễ hiểu các bạn có thể tham khảo ở video sau: Như video trên, việc cài đặt ...

#3 Animation trong Unity và giới thiệu về thư viện Rigged Animation Maximo

Các yếu tố về chuyển động, hoạt hình lúc nào cũng xuất hiện trong game. Unity cung cấp cho chúng ta bộ công cụ animation Mecanim để thực hiện các animation cho nhân vật, ui… Như các bài viết trước, mình sẽ không đi vào lý thuyết mà tập trung vào áp dụng. Chi tiết Mecanim các bạn có thể tham khảo ở đây: https://viblo.asia/p/unity-co-ban-mecanim-oaKYMN9YR83E Và đối với prototype Couting Sheep này, mình dùng mecanim để thực hiện các chuyển động chạy, nhảy của cừu. Các chuyển động nhảy, đứng im, hay chạy của cừu được lưu trữ trong animation clip của file fbx mình import vào. Với các parametes là Moving: bool, Jump: Trigger, PickingUp: bool để kiểm soát các trạng thái animation của cừu trong lúc runtime. Các parameters này đóng nhiệm vụ là biến kiểm soát trạng thái animation của cừu, ví dụ từ trạng thái Idle sang Move mình sẽ bật biến Moving = true hay từ trạng thái Move sang Jump mình sẽ bật trigger Jump. Việc kiểm soát các parameters thông qua code sẽ sử dụng com...