Skocz do zawartości

  • Opinie użytkowników

    Rekomendowane komentarze

    Ja teraz czekam na ficher który ma każdy porządnie przemyślany soft: Dopasowanie kolorów siatek dla kolekcji. Jak sie ma duże sceny to czytelność jest koszmarna 😐 a ręczna zmiana, mimo że da się ją osiągnąć w dość prosty sposób, nie jest wymówką wg. mnie i powinno się to dziać z automatu.

    No ale nie będę wywoływać @Nezumiego z lasu 😉 

     Albo sobie w końcu addona z GPT napisze i może będę miał to co bym chciał bez czekania na zbawienie 🙂 Bo testowałem to i przyznam do prostych operacji i automatycznych skryptów daje ten program rady. 

    • kekw 1
    • +1 1
    Odnośnik do komentarza
    Udostępnij na innych stronach

    On 11/16/2023 at 8:29 AM, Mortom said:

    Ja teraz czekam na ficher który ma każdy porządnie przemyślany soft: Dopasowanie kolorów siatek dla kolekcji. Jak sie ma duże sceny to czytelność jest koszmarna 😐 a ręczna zmiana, mimo że da się ją osiągnąć w dość prosty sposób, nie jest wymówką wg. mnie i powinno się to dziać z automatu.

    Zobaczę, moze coś da się zrobić. 

    Odnośnik do komentarza
    Udostępnij na innych stronach

    To powinno zadziałać, tylko Viewport Shading > Color trzeba dać na Object:

    import bpy
    
    def assign_collection_colors():
        # Define a dictionary mapping color names to their RGB values
        color_mapping = {
            'COLOR_01': (0.753, 0.117, 0.105, 1.0),
            'COLOR_02': (0.871, 0.361, 0.091, 1.0),
            'COLOR_03': (0.871, 0.708, 0.091, 1.0),
            'COLOR_04': (0.195, 0.597, 0.195, 1.0),
            'COLOR_05': (0.109, 0.462, 0.815, 1.0),
            'COLOR_06': (0.262, 0.100, 0.694, 1.0),
            'COLOR_07': (0.558, 0.168, 0.474, 1.0),
            'COLOR_08': (0.191, 0.089, 0.053, 1.0),
            'NONE': (1.0, 1.0, 1.0, 1.0),
        }
    
        # Iterate through all collections in the scene
        for collection in bpy.data.collections:
            # Get the color tag of the collection
            color_tag = bpy.context.scene.collection.children[collection.name].color_tag
    
            # Check if the color tag is in the mapping
            if color_tag in color_mapping:
                # Get the RGB color from the mapping
                collection_color = color_mapping[color_tag]
    
                # Iterate through all objects in the collection
                for obj in collection.objects:
                    # Set the viewport display color of the object
                    obj.color = collection_color
    
                    # Update the object to reflect the changes
                    obj.update_tag()
    
    # Run the function to assign colors for all collections
    assign_collection_colors()

     

    Edytowane przez kengi
    v: 0.0.1 ;P
    Odnośnik do komentarza
    Udostępnij na innych stronach



    Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

    Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

    Zarejestruj nowe konto

    Załóż nowe konto. To bardzo proste!

    Zarejestruj się

    Zaloguj się

    Posiadasz już konto? Zaloguj się poniżej.

    Zaloguj się



×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności