Cách tạo gạch isometric nghiêng (chiều cao)


11

Điều này có lẽ được giải thích tốt nhất bằng hình ảnh. Tôi đang cố gắng tạo ra một trò chơi isometric 2.5D. Tầm nhìn của tôi là để trò chơi trông giống như mục tiêu của tôi:

cảnh quan đẳng cự

Tôi không phải là một nghệ sĩ đồ họa, vì vậy tôi gặp một số khó khăn khi tạo các ô "nghiêng" để mô phỏng địa hình có chiều cao khác nhau. Tạo gạch đẳng cự cơ bản thật dễ dàng bằng các bước sau:

  1. Tạo một phiên bản vuông 64x64 của ô
  2. Xoay 45 độ
  3. Thu nhỏ chiều cao xuống theo hệ số 2

Tạo các gạch "nghiêng" là một thách thức nhiều hơn. Theo ý của tôi, tôi có Photoshop, nhưng tôi không phải là một chuyên gia sử dụng nó. Đây là vấn đề hiện tại của tôi:

nhập mô tả hình ảnh ở đây

Tôi không chắc làm thế nào tôi có thể điều khiển các đỉnh, nếu không điều này sẽ dễ dàng, nhưng về cơ bản, để có được một lát "nghiêng" từ gạch đẳng phương cơ bản của tôi, tất cả những gì tôi cần làm là dịch chuyển đáy và đỉnh phải xuống 16 pixel , trong khi sửa hai đỉnh còn lại. Điều này sẽ tạo ra gạch tôi muốn.

Một cách dễ dàng để thực hiện điều này là gì. Photoshop có phải là công cụ phù hợp cho việc này không? Bất kỳ đề xuất?


Bản dựng hiện tại của bạn sử dụng hệ thống đồ họa nào, directGL, openGL hoặc độc quyền cho công cụ? câu trả lời cơ bản sẽ là lưu trữ các đỉnh, và sau đó sửa đổi các đỉnh nếu cần (bạn có thể thực hiện điều này dưới dạng một mảng 8 vectơ), nhưng cách bạn đưa chúng ra màn hình thường là với một thư viện / tiện ích đồ họa như directX, openGL
người làm vườn06

Tôi đang sử dụng SFML để hiển thị các họa tiết lên màn hình, vì vậy đó sẽ là openGL. Tôi đang lưu trữ các họa tiết dưới dạng gạch 64x64 trên đĩa.
Filip Jeremia

@FilipJeremia, Hmm .. Đây có phải là một trò chơi mới không?
Pacerier

Câu trả lời:


3

Bạn có thể tạo các ô nếu bạn muốn - sử dụng Photoshop hoặc một cái gì đó khác. Tôi muốn giới thiệu một chương trình vẽ vector, không phải là chương trình vẽ pixel (tôi không biết đủ về Photoshop, v.v., để biết những gì nó cung cấp ngày nay).

Cá nhân tôi khuyên bạn không nên tạo ra các ô, thay vào đó, trò chơi thực sự vẽ chúng bằng API vẽ của bạn, nó sẽ dễ dàng hơn rất nhiều (đặc biệt là nếu bạn nhận ra có bao nhiêu ô khác nhau bạn cần).


Không chắc chắn tôi đồng ý với việc kết xuất trò chơi xếp gạch cho bạn trừ khi công cụ / khung của bạn sẽ cho phép bạn dễ dàng thực hiện việc này (ở dạng 2D)
John McDonald

3

Giữ hình ảnh 64x64 vuông làm nguồn, để có được các phiên bản nghiêng, trước tiên bạn sẽ nghiêng hình ảnh xuống ở phía bên phải (để phù hợp với ví dụ hình ảnh của bạn), sau đó xoay 45 độ và thu nhỏ chiều cao. Kết quả sẽ là độ dốc mà bạn đang tìm kiếm (với một chút thử và sai cho mức độ sai lệch).

Xem như tất cả các bước (thay đổi bóng, xiên, xoay, chia tỷ lệ) bên cạnh việc tạo hình vuông ban đầu khá đơn giản, bạn có thể muốn xem xét các bước này với openGL khi khởi động trò chơi của bạn hoặc là một bước tự động trong quá trình xây dựng xử lý (chỉ cần tạo một chương trình nhỏ có thể thực hiện tất cả các thao tác xoay / xoay bạn cần và thêm nó vào tập lệnh xây dựng).

Sử dụng đồ họa vector có lẽ sẽ là một ý tưởng nếu bạn muốn tiếp tục thực hiện thủ công từng lát gạch. Photoshop có hỗ trợ cho các lớp vectơ nên bạn sẽ không cần phải học một chương trình mới để thử điều này.


Tại sao bạn sử dụng Photoshop thay vì Fireworks và vv?
Pacerier

@Pacerier Tôi không, câu hỏi ban đầu đề cập đến photoshop. Cá nhân tôi đã bắt đầu sử dụng Krita gần đây, trước đó Paint.net (mà tôi vẫn sử dụng để làm việc nhanh hơn).
Daniel Carlsson
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.