Hiểu cách tạo / sử dụng họa tiết cho trò chơi khi bị giới hạn bởi sức mạnh của hai kích cỡ


8

Tôi có một số câu hỏi về việc tạo đồ họa cho một trò chơi.

Làm ví dụ Tôi muốn tạo ra một chiếc xe máy. (1pixel = 1 centimet) Vì vậy, xe máy của tôi sẽ có 200 chiều rộng và 150 chiều cao. (200x150) Nhưng libgdx chỉ cho phép tải kích thước với sức mạnh bằng 2?! (2,4,8,16, ...)

Đầu tiên tôi nghĩ về cách đó. Tôi sẽ tạo ra chiếc xe đạp của tôi với kích thước (200x150) và lưu nó dưới dạng png. Hơn tôi sẽ mở lại (ví dụ như với gimp) thay đổi kích thước hình ảnh thành kích thước sử dụng các giá trị có sức mạnh bằng 2 (128x128). Tôi sẽ tải kết cấu đó trong chương trình và đặt chiều rộng là 200 và chiều cao là 150.

Nhưng nó không phải là một vấn đề? Bởi vì tôi sẽ mất một số thông tin pixel khi tôi thực hiện cuộc trò chuyện đầu tiên.?! Phải không?


1
Libgdx có một trình đóng gói kết cấu sẽ kết hợp hình ảnh của bạn với một vài hình ảnh lớn hơn (atlours) và giúp bạn chỉ vẽ phần của nó mà bạn muốn.
Matsemann

Câu trả lời:


11

Lý do bạn bị giới hạn ở hai kích cỡ là do cách thức hoạt động của ram video. Lưu ý rằng những gì bạn nên làm thường là làm cho hình ảnh có sức mạnh cao nhất tiếp theo của hai (.e. 512x256), và sau đó chỉ cần sử dụng một phần hình ảnh đó cho đồ họa của bạn. Bạn sẽ cài đặt tọa độ UV của mình để chỉ sử dụng một phần nhỏ của hình ảnh vào bất kỳ hình tam giác nào bạn đang hiển thị.

Nếu bạn lo lắng về việc sử dụng bộ nhớ, bạn cũng có thể sử dụng một số không gian còn lại trên các đối tượng khác nhau và ánh xạ UV các đối tượng đó đến một phần của kết cấu. Tạo một kết cấu như thế này còn được gọi là "tập bản đồ".


4
Đáng nói là atlours cũng tối ưu hóa hiệu suất, bởi vì bạn càng ít chuyển đổi kết cấu, ít lô hơn, vẽ nhanh hơn.
Gustavo Maciel

3

Bạn phải sử dụng tọa độ kết cấu thay vì thay đổi kích thước, như chỉ vẽ một phần của toàn bộ kết cấu. Tôi không biết làm thế nào nó hoạt động trong libgdx nhưng nó phổ biến để sử dụng phương pháp này. Một cách tiếp cận khác là sử dụng tập bản đồ kết cấu, bạn có trong bộ nhớ, ví dụ 1024x1024 và sau đó khi bạn tải hình ảnh của mình, bạn tải nó vào hình chữ nhật tập bản đồ.


0

Bạn có thể chuyển đổi kích thước hình ảnh của mình lớn hơn hoặc nhỏ hơn một chút theo kích thước phù hợp. Tôi đã sử dụng liên kết này - http://www.garyshood.com/imageconvert/ Bạn có thể sử dụng kích thước chia hết cho 2. Ví dụ: nếu kích thước hình ảnh của bạn là 200, thì 200/2 = 100; 100 / 2 = 50; 50/2 = 25, vì vậy ở đây 25 không chia hết cho 2. Do đó, 200 không phải là kích thước phù hợp. Bạn có thể sử dụng 1024, 512, 256, 128, v.v. Và sau đó bạn có thể sử dụng các phần của hình ảnh đó trong đồ họa của mình. Một cách khác là kết hợp tất cả các kết cấu của bạn vào tập bản đồ kết cấu một cách dễ dàng bằng cách sử dụng GUI của Trình đóng gói kết cấu libgdx và sau đó sử dụng kết cấu từ tập bản đồ đó.

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.