Làm cho khả năng hiển thị của nền tảng khác biệt với nền


15

Tôi có một trò chơi loại người chạy vô hạn 2d mà nền đang thay đổi màu sắc liên tục. Trong khi đó màu sắc của các nền tảng vẫn giữ nguyên. Bằng cách này, các nền tảng tại một số điểm (khi màu của chúng giống với nền) trở thành "vô hình" cho người chơi.

Làm thế nào tôi có thể sáng tạo, ngắn gọn và thuận tiện tránh vấn đề này với sự thống nhất?

PS tôi đã thử thêm vật liệu bóng vào nó nhưng nó không hoạt động .

Câu trả lời:


20

Thủ thuật cũ - giao diện mới:

ví dụ 1

Thêm một lớp màu cho các nền tảng của bạn giúp giữ dòng xác định đó.

Ví dụ 2

Giải pháp của bạn về một trong hai dòng hoặc đồ họa khác có thể khác nhau nhưng nguyên tắc là như nhau - màu sắc bạn chọn có thể tinh tế hoặc rõ ràng như bạn cần.


Câu trả lời đẹp nhất trong toàn bộ tôi .. Tôi muốn nói cuộc sống ở đây, nhưng tất cả chúng ta đều biết đó sẽ là một lời nói dối. i1.memy.pl/obrazki/8f68408024_no_life.jpg
ZenVentzi

1

Vì đây là một người chạy vô hạn, tôi cho rằng màu nền của bạn được tạo theo thủ tục. Tôi không chắc chắn về thuật toán của bạn, nhưng hãy lấy đầu ra màu đó và giới hạn phạm vi của nó.

  1. Bạn chỉ có thể loại trừ (các) màu nền tảng của mình dưới dạng tùy chọn màu nền có thể (nhưng nền có thể hơi khác một chút và khó phân biệt). Ví dụ: IF backColor = platformColor THEN GetNextBackgroundColor (). Bạn cũng có thể tạo chức năng 'IsColorSimilar (color1, color2) cho việc này, nhưng khó hơn.

  2. Sử dụng danh sách các màu nền hợp lệ đã biết và chuyển qua chúng.

  3. Có màu sắc 'phong cách' khác nhau cho cả hai. Nền tảng của bạn có thể tươi sáng và vui vẻ, và giới hạn màu nền của bạn thành các màu không bão hòa. Bạn cần tránh xa cách thể hiện màu sắc truyền thống của RBG và chuyển sang một mô hình như HSL.

Một tiện ích bổ sung Unity tuyệt vời để làm việc với màu sắc là ColorTools. Nó có giá $ 10, nhưng đáng giá.https://www.assetstore.unity3d.com/en/#!/content/21966

Nó có các phương thức để tạo màu cho những gì bạn đang tìm kiếm, chẳng hạn như Desaturate () để làm bão hòa màu nền đã tạo của bạn và IsSimilar () để kiểm tra xem hai màu có quá gần nhau không.

Bạn có thể tìm thấy chức năng tương tự khác miễn phí trong các thư viện khác trên mạng với một chút tìm kiếm.

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.