Perspective trong game 2d
Posted on 27 Jul 2021
Trong hội họa có 1 khái niệm là phối cảnh. Nó cho ta cảm nhận được vị trí của vật thể trong không gian 3 chiều. Bởi lẽ hầu hết không gian ta muốn thể hiện là không gian 3d, nhưng lại chỉ làm việc trên màn hình 2d. Chúng ta sẽ tìm hiểu về Perspective trong 1 số game 2d.
Tổng quan về các loại góc nhìn trong game
Đây là map cho các loại camera view trong video game
Các loại camera view cơ bản
Curlinear là 1 loại mang cảm giác kỳ dị, chúng ta biết chứ không đụng vào.
Curlinear
Parallel là dạng khá thích hợp cho 2d game, bởi lẽ khác với perspective, các object sẽ giữ nguyên size khi thay đổi vị trí. Việc thay đổi size khá phức tạp, đặc biệt với pixel art thì việc thay đổi size hầu như là không làm được (0.9x chẳng hạn). Tuy vậy, nếu ta làm trên môi trường 3d thì việc này khá đơn giản. Tất nhiên, việc kết hợp 3d và 2d như thế nào, lại là 1 vấn đề khác.
Dễ dàng nhận thấy trong hình, nếu ta cho 1 nhân vật đi trên con đường thì ta cần resize lại theo nó.
Parallel perspective
Về cơ bản thì Parallel perspective có 3 loại game perspective chính:
Top-down
Side-on
Isometric
Thông thường, các game 2d hiện nay đều dùng Orthographic Projection. Với cách projection này, vật thể sẽ giữ nguyên size dù cho vị trí của z-axis trong hệ tọa độ là bao nhiêu đi nữa.
Orthographic Projection
With different lens
Vậy, chúng ta sẽ tạo ra cảm nhận 3d cho người chơi như thế nào?
Bằng composition
Dùng composition để tạo hiệu ứng xa-gần
Chúng ta có thể tạo ra hiệu ứng vật thể này che khuất vật thể kia, như vậy sẽ có cảm giác 3d cho vật này ở trước/sau vật thể kia.
Lập các layer depth khác nhau để có thể che khuất nhau
Bằng hiệu ứng giảm saturation
Ở gần thì dùng các màu có saturation cao hơn, ở xa thì giảm độ saturation xuống là 1 cách đơn giản và hiệu quả.
Hiệu ứng Parallax scrolling
Hiệu ứng này kết hợp zoom in/zoom out khá là tốt. Ví dụ như này:
Tổng kết
Bài này cũng ngắn và mang mục đích giới thiệu thôi. Sẽ có 1 phân tích cách các game 2d thể hiện đồ họa của họ như thế nào, để học tập. Cheer!
Tham khảo
https://docs.unity3d.com/2021.2/Documentation/Manual/Quickstart2DPerspective.html