Có phải màu trắng là màu cơ bản tốt nhất để bắt đầu khi lên kế hoạch tạo bóng râm trong Unity?


10

Tôi đang xem xét việc tạo ra một trò chơi trong Unity sẽ bao gồm các hình vuông / gạch vuông. Tôi hình tôi có thể đại diện cho các loại đối tượng khác nhau với màu sắc khác nhau cho mỗi ô trong trò chơi.

Tôi hình dung rằng tôi có thể nhập một hình vuông đơn lẻ và tô màu nó một cách thích hợp trong Unity trái ngược với hình vuông nhập khẩu có nhiều màu khác nhau.

Kinh nghiệm của tôi với việc điều chỉnh màu sắc và độ bão hòa trong Photoshop cho thấy màu trắng không phải là màu dễ thay đổi vì những thứ có màu trắng thường giữ nguyên màu trắng. Thử nghiệm của tôi trong Unity cho thấy tôi có thể thay đổi "màu sắc" của một sprite thành bất cứ thứ gì khác ngoài màu trắng và sprite dường như được tô bóng một cách thích hợp, bất chấp những gì tôi nghĩ sẽ mang lại cho trải nghiệm Photoshop của tôi.

Vì các vật thể màu trắng dường như có màu sắc phù hợp khi được thay đổi trong Unity, ruột của tôi nói với tôi rằng đây là màu cơ bản tốt nhất để bắt đầu, có nghĩa là tôi có thể nhập một hình vuông màu trắng duy nhất và chỉ cần điều chỉnh màu sắc để thể hiện các đối tượng khác nhau và các trạng thái đối tượng.

Là một sprite trắng thực sự là sprite màu tốt nhất để bắt đầu và tại sao một cái gì đó như thế này hoạt động trong Unity trái ngược với việc điều chỉnh màu sắc và độ bão hòa trong Photoshop?

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


Đầu tiên, xác định "tốt nhất".
Krythic

Câu trả lời:


13

Màu trắng là màu cơ bản tốt nhất cho đại diện thực sự. Ngoài ra, việc giữ thang độ xám của bạn có thể giúp điều chỉnh màu dễ dàng cho các đội, v.v.

Unity áp dụng Multiplychế độ hòa trộn cho kết cấu và màu sắc sprite.

Loại màu của Unity nằm trong khoảng từ 0 đến 1.

Color.White bằng (1, 1, 1, 1).

Biết rằng 1thời gian bất cứ điều gì là chính nó.

Nếu thang độ xám textuređược pha trộn với trường Sprite Renderer Color, thì mỗi pixel là chính nó. Thay đổi trường này sẽ chỉ đơn giản nhân mỗi giá trị thang độ xám thống nhất với từng thành phần của màu.

Tô màu một số sprite


Bạn có thể chơi với chế độ Multiply Blend trong trình chỉnh sửa hình ảnh yêu thích của bạn như Photoshop hoặc GIMP.

Thiết lập Photoshop


4

Sprites-Additive.shader - GitHub Gist

Màu sắc thống nhất có 4 giá trị nổi điển hình của nhiều định dạng màu RGBA, tương ứng với các giá trị phần trăm màu riêng lẻ Đỏ, Xanh lục, Xanh lam và kênh trong suốt Alpha.

Ngoài ra, như đã đề cập ở trên, "Màu" mặc định được áp dụng bởi Unity là một shader nhân số mà Photoshop gọi hiệu ứng này là "Nhân" và quá trình này thực sự nhân các giá trị màu trong các pixel của sprite của bạn với giá trị màu được chọn.

Vấn đề với điều này là, một shader toán học màu nhân sẽ LUÔN tạo ra cùng một màu (nếu bạn "nhân" với màu trắng) hoặc màu tối hơn nếu bạn nhân với bất cứ thứ gì khác. Tôi đã gặp tình huống mà tôi muốn có hiệu ứng ngược lại chính xác trong một tình huống loại rèn. Kim loại nóng không nên được nhân với màu vàng để tạo ra màu sắc đậm hơn:

Shader nhân với màu vàng

Thay vào đó, tôi viết lại shader nhân mặc định của Unity thành một phụ gia. Kết quả là nhiều hơn những gì tôi đang tìm kiếm:

phụ gia đổ bóng

Tôi sẽ cung cấp một ý chính cho Sprites-Additive.shader viết lại nếu có ai quan tâm.

Dưới đây là một tài liệu tham khảo tốt về thuật ngữ và chế độ màu: http://www.northlite.net/ps/blend.htm


Một người dùng không đủ danh tiếng để bình luận đã bày tỏ sự quan tâm khi thấy mã shader cho hiệu ứng này. Bạn vẫn có nó để chia sẻ?
DMGregory

1
Này, tôi không có sẵn nó ngay bây giờ, nhưng tôi sẽ đào nó lên và nhận được một liên kết ngay khi tôi có thể. Tối nay nếu có thể.
Joe

2
Tôi lấy lại nó, tôi thấy nó tương đối dễ dàng và thêm nó vào một Gist trên GitHub của tôi. Sự khác biệt lớn giữa một shader phụ và nhân là xử lý trong suốt. Trong trình đổ bóng phụ gia, tôi đặt mức cắt trong suốt 10% để duy trì mức alpha tương đối của các pixel có giá trị alpha thấp. Bạn không phải lo lắng về điều này trên một shader nhân do tính chất của toán học đó.
Joe
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.