Sự khác biệt giữa một tấm sprite và một bản đồ kết cấu là gì?


21

Tôi tự hỏi sự khác biệt giữa một tấm sprite và tập bản đồ kết cấu là gì?

Cả hai không giống nhau? Trong một bảng sprite bạn có một số Sprites và trong một tập bản đồ kết cấu, bạn cũng có một số họa tiết, vậy sự khác biệt là gì?

Câu trả lời:


23

Một trang spites (thường đề cập đến một hình ảnh lớn) được cho là chứa các khung hình động của một nhân vật 2d hoặc đạn cụ thể trong một trò chơi. Bạn gần như có thể nghĩ về nó như mô hình của một nhân vật 2d. Nó lưu trữ tất cả các hình ảnh động khác nhau được tạo ra cho một nhân vật cụ thể.

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

Một tập tin kết cấu (thường được hiểu là hình ảnh 2d lớn) chứa nhiều môi trường trò chơi. Bất kỳ đối tượng 3d nào (ví dụ vũ khí, thùng rác) hoặc nhân vật đều có thể áp dụng kết cấu cho nó. Đặc biệt các cấp độ 3d có thể yêu cầu nhiều kết cấu khác nhau cho các bức tường và các yếu tố khác nhau trong khung cảnh 3d. Tất cả các kết cấu này có thể được chứa một cách dễ dàng và hiệu quả trong một hình ảnh lớn duy nhất bao gồm nhiều hình vuông (tiểu vùng) dành cho một mô hình cụ thể. kết cấu . Bạn có thể coi đây là những hình ảnh 2d "vẽ" lên các vật thể 3d hoặc áp dụng cho chúng như một phần của trình đổ bóng để giải thích cho trình kết xuất (phần chuyển đổi dữ liệu 3d thành hình ảnh 2d) cách chúng phản chiếu ánh sáng (bản đồ bình thường) hoặc nếu có bất kỳ rãnh, va đập hoặc vết nứt trên bề mặt của chúng (bản đồ vết sưng) hoặc có thể một cái gì đó khác hoàn toàn như độ mờ đục và những gì không. Thuật ngữ này (kết cấu bản đồ) thường sẽ được sử dụng trong3d

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

Ngoài ra, có thể cần lưu ý một tập bản đồ kết cấu thường chứa các lớp ký tự (kết cấu ký tự) và hình ảnh động thực tế (không rõ ràng) không được lưu trữ dưới dạng hình ảnh 2d vì hình ảnh động trong các trường hợp như vậy thường dựa trên biến dạng của lưới với dụng cụ như xương.


2
Vì vậy, bạn có thể nói SpriteSheets chứa 2D Charactes và TextureAtlase chứa TileSets?
dùng41816

3
tl; dr: Vâng, điều đó hoàn toàn chính xác. Sprites Sheetsthường có nghĩa là một tập hợp lớn các khung hoạt hình của một số charater cụ thể hoặc nhiều ký tự trong các trường hợp khác. Texture Atlasthường có nghĩa là một hình ảnh lớn có chứa nhiều hình ảnh phụ là kết cấu; 2d tilesphù hợp tốt trong texturethể loại. Vì vậy, a Tile Setlà một loại rất cụ thể (hoặc một thể loại phụ) của tập bản đồ kết cấu. A texture Atlascũng có thể chứa skinstrong nhiều trường hợp và do đó không phải là Tile Settrường hợp chung.
sói

Hừm. Ngay khi tôi thấy các bình luận, tôi đã rút lại upvote của mình. Câu trả lời của bạn là đúng cho đến khi một spritesheet dành cho 2D (tức là các họa tiết) và một tập bản đồ kết cấu thường được sử dụng cho 3D - tức là kết cấu thực tế được đặt trên hình học 3D. Đó là tất cả - không có vòng loại khác.
Kỹ sư

@ArcaneEngineer Tôi không hiểu? Những gì bạn đang chỉ ra hoặc đề nghị như là một cải tiến cho câu trả lời?
sói

1
@ArcaneEngineer - Bạn nói đúng, điểm hoàn toàn tốt, nhận xét sai lệch và có phần không đúng. Ngoài ra, thuật ngữ tập hợp gạch là sai lệch vì nó có thể có nghĩa là những điều khác nhau cho những người khác nhau nếu không được xác định đúng.
sói

6

Về mặt kỹ thuật, nó giống nhau: Đó là một hình ảnh lớn chứa các hình ảnh nhỏ hơn (sprite).

3d vs 2d không tạo ra sự khác biệt ở đây vì hầu như tất cả các công cụ trò chơi 2d đều sử dụng phần cứng 3d để kết xuất ....


2

Một tấm sprite và tập bản đồ kết cấu gần giống nhau. Chúng đều là các tệp hình ảnh bitmap (jpg, png, v.v.) có chứa nhiều hình ảnh nhỏ hơn, thường ở dạng lưới, được lập chỉ mục và hiển thị bằng phần mềm / công cụ trò chơi định vị từng hình ảnh theo tọa độ của chúng. Cả hai cũng phục vụ để đơn giản hóa việc quản lý tài nguyên và các cuộc gọi rút thăm thấp hơn bằng cách chỉ yêu cầu quản lý và tải một tệp duy nhất.

Trang tính / tập bản đồ này có cả hình ảnh động theo khung của nhân vật (thường được sử dụng trong "bảng sprite") cũng như hình ảnh sẽ được lát gạch làm họa tiết cho các bức tường (còn gọi là "tập bản đồ kết cấu"):

metroid

Sự khác biệt, dường như, là cách chúng được thực hiện điển hình. Như các câu trả lời khác, một tấm sprite thường được sử dụng trong các trò chơi 2d cho hoạt hình hoặc nút, trong khi các hình ảnh trong tập bản đồ kết cấu được sử dụng làm kết cấu cho các đối tượng lưới.

Mặc dù bối cảnh và những gì được hiển thị trên hình ảnh có vấn đề, nhưng cách chương trình quản lý và xử lý hình ảnh cũng vậy. Một tệp hình ảnh được sử dụng như một tấm sprite trong công cụ trò chơi có thể phát từng hình ảnh riêng lẻ để tạo ra một hình ảnh động. Nhưng bạn cũng có thể sử dụng cùng một tệp hình ảnh như một tập bản đồ kết cấu trong cùng một công cụ như các ô trên lưới để tạo ra một bức tường gạch.

Điều này có nghĩa là có sự phân biệt cụ thể hơn tùy thuộc vào cách phần mềm của bạn quản lý hai loại sử dụng này. Ví dụ, trong Unity, không dễ để chuyển đổi một hình ảnh được áp dụng cho GameObject từ một tấm sprite sang Texture2D mà sau đó có thể được áp dụng cho một GameObject khác dưới dạng kết cấu. Đó là cách tôi đến trên trang này thông qua Google và quyết định thêm câu trả lời này. :-)


0

Tôi muốn nói rằng tập bản đồ kết cấu là thuật ngữ chung nhất: bạn có thể xây dựng một bảng sprite từ tập bản đồ kết cấu, nhưng thường không phải là cách khác.

Giả định đặc biệt chính là cách tọa độ kết cấu được ánh xạ thành hình học: các tấm sprite giả định các vùng con hình chữ nhật, trong khi các bản đồ kết cấu có thể được ánh xạ tới bất kỳ bề mặt hình học nào.

Nếu tất cả các bề mặt hình học được ánh xạ từ tập bản đồ kết cấu là hình tứ giác 2D, bạn có một tấm sprite. Nếu bạn thay đổi ánh xạ theo thời gian hoặc trên cơ sở từng khung hình, bạn có thể mô phỏng hoạt hình nhân vật 2D.

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.