[Hướng Dẫn] SpriteShape - Công nghệ tạo map perfect cho game 2D

Black FaceBlack Face Posts: 424Registered
edited August 2019 in Unity

Tổng quan

Trước hết, phải nói rằng đây là 1 công cụ rất tuyệt vời, để bạn xây dựng hệ thống bản đồ cho game platform, mà kể cả bạn không làm game thể loại platform đi chăng nữa, thì với bất kỳ thể loại game nào, bạn cũng có thể ứng dụng nó, theo mình đánh giá, nếu game của bạn cần thiết kế bối cảnh vừa và lớn, thì đây là 1 công cụ đắc lực cho bạn. Trong bài mình có viết 1 số từ tiếng anh chuyên ngành, nó cũng khá dễ hiểu vì nếu dịch sang tiếng việt thì có khi đọc lại khó hiểu hơn, các bạn chịu khó nhé. Bài viết này mình sẽ hướng dẫn cụ thể từng bước từ cách setup cho đến cách sử dụng công cụ này, bài viết sẽ nói ngắn gọn nhất có thể và được thể hiện bằng các ảnh gif, trực quan và dễ hiểu hơn là ngồi đọc từng chữ.

Trước khi đọc bài, thì bạn có thể nhìn hình phía dưới, để biết sơ qua công cụ này sử dụng thế nào, và tại sao mình lại bảo nó là công cụ cần phải có.

spriteshapepreview-gif270974

Giới thiệu

Sprite Shape cho phép bạn tự do tạo ra các cảnh quan rất phong phú, phong phú tới đâu thì nó còn tùy thuộc vào thẩm mỹ của bạn, cách thiết kế và hoạt động rất trực quan. Công cụ này hoạt động bằng cách tự động fill các họa tiết dọc theo các đường spline dựa trên một tập hợp các điểm, các góc nhất định, nói chung nó khá là đơn giản để sử dụng.

Cài đặt Sprite Shape

Yêu cầu: Phiên bản Unity 2018.1 trở lên
Trong giao diện Unity Editor -> Window -> Package Manager -> chọn tab All -> tìm package có tên 2D SpriteShape -> Click Install

image11gif


Tạo 1 bản mẫu

Như mình đã nói, Sprite Shape hoạt động bằng cách fill các sprite dọc theo các đường spline được tạo, dưới dạng 1 GameObject. Nhưng trước tiên chúng ta phải tạo 1 asset để xác định và lưu trữ thông tin về một loại hình cụ thể, có thể là đường đi hoặc đồi núi, cây cỏ.... Trong asset này, chúng ta chỉ định các họa tiết được sử dụng và khai báo cho Sprite Shape biết nó sẽ được hiển thị như thế nào. Làm theo hướng dẫn trong hình dưới nhé.

image5gif


Tạo SpriteShape GameObject

Bây giờ chúng ta đã có một asset được thiết lập, chúng ta có thể bắt đầu tạo hình từ nó. 

image12gif

Bạn cũng có thể thay đổi loại hình cho Object SpriteShape mới tạo

Chỉnh sửa đơn giản

Click vào "Edit Spline" trong tùy chọn Sprite Shape Controller. Khi bạn đã bật tính năng này, trong scene bạn có thể sắp xếp lại, thêm và xóa các nút trên spline của mình. Để thêm một nút mới, chỉ cần nhấp chuột trái vào bất cứ nơi nào trên spline. Để xóa một nút, chọn nó và nhấn Delete.

image8gif

Hãy nói một chút về Point Mode có sẵn trong Sprite Shape Controller. Hiện tại, chúng ta đang ở chế độ điểm tuyến tính. Điều này có nghĩa là không có đường cong được hình thành thông qua nút của chúng ta. Tuy nhiên, nếu ta chuyển sang một trong hai chế độ khác, chẳng hạn như chế độ Mirrored, với một nút được chọn, chúng ta sẽ thấy nút đó hiện có hai tiếp tuyến và khi chúng ta di chuyển chúng, chúng ta có thể thay đổi hình dạng đường cong

image9gif

Chế độ cuối cùng được gọi là chế độ Non-Mirrored. Cho phép nó hủy liên kết hai tiếp tuyến với nhau, cho phép bạn điều chỉnh từng điểm một mà không ảnh hưởng đến nhau

image1-1gif


Sử dụng Sprite Editor

Đôi khi các họa tiết của ta sẽ cần phải được điều chỉnh thủ công nếu muốn chúng được fill theo một cách cụ thể. Trong các ví dụ ở trên, bạn có thể thấy rằng vì ta đang sử dụng hình ảnh 1 đoạn của cây cầu, chúng ta chỉ tạo hình dạng bao gồm các đoạn đứt quãng. Thế rồi giờ muốn nó thành 1 cây cầu dài và ko bị đứt quãng thì làm sao, Sprite Editor cho phép chúng ta tùy biến nhiều hơn thế nữa, nhìn bên dưới nhé.

image16gif


Va chạm

Tất nhiên nếu bạn xây dựng địa hình, mà ko thêm Collider thì chắc chắn nhân vật của chúng ta sẽ không thể di chuyển trên đó được, vậy thì buộc phải thêm Collider để có thể phát hiện được va chạm với địa hình, phần này sẽ liên quan tới vật lý trong game, các bạn chưa có kiến thức về vật lý thì tìm hiểu trước làm sao để có thể xử lý va chạm trong game nhé, còn bài viết này không hướng dẫn xử lý va chạm, bởi va chạm nó cần 1 bài viết riêng để nói cụ thể hơn.
Sau khi thêm Collider rồi thì các bạn cứ kéo thả vùng va chạm làm sao cho phù hợp với địa hình mình tạo ra
image15gif

Và nhân vật của chúng ta cũng sẽ di chuyển mượt mà trên địa hình vừa tạo ra
image10gif
Như vậy mình vừa hướng dẫn các bước đơn giản nhất để sử dụng công cụ Sprite Shape, tất nhiên là chức năng của nó không chỉ dừng lại ở đó, còn khá nhiều và điều quan trọng nhất, thẩm mỹ của người thiết kế để có sản phẩm đẹp nhất.
Để tìm hiểu chi tiết hơn, các bạn có thể tham khảo link hướng dẫn của Unity: https://blogs.unity3d.com/2018/09/20/intro-to-2d-world-building-with-sprite-shape/
Demo sản phẩm: http://bit.ly/SpriteShapeGithub

Một số hình ảnh sử dụng SpriteShape để thiết kế tạo map

86203c91-4232-44e9-9378-d10ec12f5716_scaledjpg748056c7-d86e-47b3-b54c-0de8a5f4718f_scaledjpgd96598aa-7a3f-4417-945a-1753315ada3d_scaledjpg7b2d55d3-66f0-4d30-aaea-a37464aae98b_scaledjpg
Tagged:

Comments

Sign In or Register to comment.