Kolory w Unity, później w Photoshopie

Kolory w Unity, później w Photoshopie
Mariusz Kubielas
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 32
0

W Unity dodaję UI / Image i daję kolor jakiś w Inspectorze, gdy odpalam grę i robię screena, wklejam do Photoshopa i próbkuję kolor - wtedy pokazuje inny. Nawet widać gołym okiem że jest inny odcień. Co zrobić w takim wypadku ? Dodam że raz udało mi się to naprawić, dodając po prostu jeszcze raz nowy Image w Unity. Teraz to nie działa.

Spine
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6965
2

Czyli kolory, które ustawiasz w inspektorze w Unity są inne niż kolory, które są renderowane w grze?
Jest trochę czynników, które mogą wpływać na ostateczny wygląd kolorów...

  1. Jeśli sprite obiektu ma inny kolor RGB niż 1.0, 1.0, 1.0, to tint color nie ma 100% wpływu na renderowany kolor.
  2. Przestrzeń kolorów opcjach projektu: https://docs.unity3d.com/6000.0/Documentation/Manual/set-project-color-space.html
    screenshot-20250227131944.png
  3. Postprocessing może zmieniać renderowane kolory.

Masz jeszcze bardziej szczegółowe informacje GPT: https://chatgpt.com/share/67c05ad8-a1a4-800a-b7bd-10234050567d

Mariusz Kubielas
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 32
0

Taki mam kolor w Unity:
image

A taki po zrobieniu screena w odpalonej grze w Unity, czyli w Photoshopie:
image

Zależy, jak dam jeszcze inny kolor to zmienia go na zupełnie inny odcień.

Spine
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6965
0

Rozumiem. U mnie tak samo to działa...
I nawet nie muszę tego testować w edytorze grafiki:

Ale jeśli zrobię nowy materiał i w nim ustawię kolor, to ten kolor nie ulega przekształceniu:

screenshot-20250307141628.png
Stwórz nowy materiał (prawy przycisk w Assetach, Create/Material) i przypisz go do pola Material twojego Image.

  1. Ustaw kolor Image na całkiem biały.
  2. Ustaw Shader materiału na Sprites/Default.
  3. Ustaw swój czerwony kolor jako Tint tego materiału.

U mnie to działa.
Nawet w przyszłości to może okazać się być lepszym podejściem, bo wtedy wystarczy, że zmienisz kolor w materiale i wszystkie obiekty stosujące ten materiał będą miały inny kolor.

A jeśli chodzi o problem, to gdzieś po drodze kolor wysyłany ze skryptu do materiału musi ulegać jakiemuś skalowaniu....
Albo jest to bug, albo jakaś opcja gdzieś do odznaczenia.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.