Jak wyłączyć wszystkie animacje Unity?

44

Jeśli nie jest to możliwe, może po prostu pokaż / ukryj animacje Dash. Po prostu czekam na animacje, co nie ma sensu.

Bucic
źródło

Odpowiedzi:

27

wprowadź opis zdjęcia tutaj

1. Dlaczego nie możesz wyłączyć tej animacji Dash w Unity 12.04

  • Niestety animacja zanikania / krycia i powiązane czasy są zapisane w kodzie źródłowym Unity.
  • Rzeczywisty kod można znaleźć w unity-5.12/plugins/unityshell/src/ShortcutController.cpp(właśnie to trzeba zmodyfikować i ponownie skompilować, aby pozbyć się animacji)
  • Niektóre przykładowe wiersze z tego pliku demonstrujące twarde kodowanie animacji po użyciu klawisza Super do uruchomienia Dash:

    30: const unsigned int SUPER_TAP_DURATION = 650;
    31: const unsigned int FADE_DURATION = 100;
    39:, fade_in_animator_ (FADE_DURATION)
    40:, fade_out_animator_ (FADE_DURATION)
    65: fade_in_animator_.animation_updated.connect (sigc :: mem_fun (this, & Controller :: OnFadeInUpdated));
    66: fade_in_animator_.animation_ended.connect (sigc :: mem_fun (this, & Controller :: OnFadeInEnded));
    67: fade_out_animator_.animation_updated.connect (sigc :: mem_fun (this, & Controller :: OnFadeOutUpdated));
    68: fade_out_animator_.animation_ended.connect (sigc :: mem_fun (this, & Controller :: OnFadeOutEnded));
    120: show_timer_ = g_timeout_add (SUPER_TAP_DURATION i kontroler :: OnShowTimer, this);
    149: self-> fade_out_animator_.Stop ();
    150: self-> fade_in_animator_.Start (self-> view_window _-> GetOpacity ());
    213: fade_in_animator_.Stop ();
    214: fade_out_animator_.Start (1.0 - view_window _-> GetOpacity ());
    244: .add („limit czasu”, SUPER_TAP_DURATION + FADE_DURATION)
    246: .add ("about_to_show", (Visible () &&! Fade_out_animator_.IsRunning () && view_window_ && view_window _-> GetOpacity ()! = 1.0f))
    247: .add ("about_to_hide", (Visible () &&! Fade_in_animator_.IsRunning () && view_window_ && view_window _-> GetOpacity ()! = 1.0f))
    
  • Oczywiście musiałbyś to załatać i przebudować przy każdej nowej aktualizacji Unity ...

  • Żadna ingerencja w Compiz nie może tego zmienić, ponieważ wszystko jest na stałe zakodowane poza wtyczką Compiz.

2. Alternatywa A: Przełącz na Ubuntu 2D

Ubuntu 2D ma inny kod Unity Shell i tam uruchomienie deski rozdzielczej przez Super jest natychmiastowe i nie animuje niczego.

3. Alternatywa B: Użyj niestandardowego skrótu, aby uruchomić Dash, klikając logo Ubuntu, omijając w ten sposób animację

Możemy wykorzystać fakt, że animacja krycia / zanikania nie występuje po uruchomieniu Dash za pomocą przycisku „start” lub, jeśli kursor znajduje się na pasku uruchamiania, lub wokół niego, nawet po naciśnięciu Super:

wprowadź opis zdjęcia tutaj

Animacja będzie opóźniona, dopóki kursor nie znajdzie się w obszarze deski rozdzielczej.

  1. xdotool umożliwia automatyzację kliknięć / ruchów klawiatury i myszy; zainstaluj za pomocąsudo apt-get install xdotool
  2. Otwórz Ustawienia ... Klawiatura i przejdź do karty Skróty. Utwórz niestandardowy skrót, nadając mu dowolną nazwę i ustaw „Polecenie” na:

    xdotool mousemove --sync 25 60 click 1 --delay 100  mousemove restore
    

    wprowadź opis zdjęcia tutaj

    • Konieczne może być trochę dostosowanie współrzędnych (25 60), jeśli rozdzielczość ekranu jest mniejsza niż 1024 x 768.
  3. Kliknij Zastosuj. W prawej kolumnie pojawi się „Wyłącz”, kliknij na nią, a zobaczysz „Nowy akcelerator”: naciśnij kombinację klawiszy skrótu. Nie możesz wybrać Super , nawet jeśli wyłączysz go w Compiz, ponieważ jest trudny do uchwycenia przez Unity. Wybrałem, Ctrl+Alt+Zponieważ jest blisko klucza Super.

  4. Teraz skrót powinien uruchomić Dash znacznie, znacznie szybciej.

    • Oto demo wideo z YouTube . Pierwsze kilka razy (gdy program uruchamiający po lewej stronie rozmywa się i ciemnieje) jest z klawiszem SUPER; to jest z niestandardowym skrótem xdotool (zauważ, że program uruchamiający nie animuje się, a myślnik pojawia się szybciej)
ish
źródło
Nie. Mam na myśli Dash. Odpowiednik „menu Start” wywoływany jest za pomocą klawisza Super.
Bucic
Proszę zobaczyć aktualizację, @Bucic ...
ish
2
Dziękuję Ci! Nagroda jest twoja! +1 dla Anwara Shaha. Szczególnie podobała mi się alternatywa B :) Jeśli chodzi o majstrowanie przy kodzie - myślę, że poczekam, aby zobaczyć, jak to będzie obsługiwane w 12.10. Jeśli tak samo, to w zespole Unity przeważa jakiś idiotyczny plan, który sprawia, że ​​domyślnie ustawiają funkcje ułatwień dostępu w Unity. To jedyne wyjaśnienie, jakie mogłem wymyślić. Tak czy inaczej - idiotyczny.
Bucic
1
Wygląda na to, że Unity 2D i 3D zostały połączone? Wygląda na to, że alternatywna metoda A nie działa już od 13.04 i więcej (chyba że czegoś mi brakuje, co mam nadzieję).
Dogmatixed
1
@ Supuhstar, proszę podziel się swoją niekończącą się mądrością. Ponieważ nie byłem w stanie.
Kissaki,
23

Zainstaluj Compiz Configuration Manager.

Centrum oprogramowania Ubuntu: Compiz Configuration Manager

lub

Terminal: sudo apt-get install compizconfig-settings-manager

Po zainstalowaniu otwórz go i przejdź do Ubuntu Unity Plugin-> Experimental(Tab)

Stamtąd można ustawić Lauch Animation, Urgent Animationa Dash Blurna `Żaden.

Ustaw Hide Animationna Slide only.

Jeśli chcesz, możesz zmienić przezroczystość panelu i kreski, aby były całkowicie nieprzezroczyste.

Ángel Araya
źródło
Rozumiem więc, że nie można wyłączyć nawet samej animacji Dash. Tylko „zmniejsz”. W tym momencie ustawienie „Brak rozmycia” nie spowoduje rozmycia, ale kreska będzie przezroczysta, mimo że parametr „Krycie” został ustawiony na 255 w oknie dialogowym kolorów kreski.
Bucic
Do Ángela Arayi i Diuny: Faceci, dostarczyłeś odpowiedzi, ale z moich testów nie prowadzą one do wyłączenia animacji Dash. Jeśli jesteś pewien, że tak robią, a moja porażka jest z mojej strony, proszę zabrać głos.
Bucic,
2
Po prostu odznacz pole wyboru „pokaż animacje” w ccsm. Robiłem to od lat, bo nienawidzę skandalicznych animacji.
user72421,
Dodaj notatkę, aby kliknąć ustawienie „włącz tryb niskiej grafiki” w ustawieniach wtyczki Unity, wydaje się, że to rozwiązuje powolną
myśl o
działało to dla mnie 14.04 (mogę wyłączyć rozmycie, pozostawić „rozmycie statyczne” (które wydaje się być szybsze) lub zachować domyślne „rozmycie dynamiczne”.
Dimitry K
6

Przepraszam, nie możesz. W tym momencie (25 lipca 2012 r.) W systemie Ubuntu 12.04 LTS NIE ma łatwego sposobu na wyłączenie animacji Unity. (przynajmniej bez ponownej kompilacji).

I nie sądzę, będzie opcja wyłączenia animacji w przyszłych wydaniach. Ponieważ jednym z celów Unity jest zapewnienie satysfakcji użytkownikom, a animacje są uważane za jeden z najlepszych sposobów na osiągnięcie tego.

Obejście:

Możliwym obejściem problemu jest zmiana animacji kreski na zanikanie (ponieważ, moim zdaniem, zanikanie jest szybsze niż przesuwanie). Możesz także chcieć wyłączyć animacje dla wszystkich okien. Aby to zrobić

  1. Ściągnij i zainstaluj compizconfig-settings-manager

    sudo apt-get install compizconfig-settings-manager  
    
  2. Otwórz go, wyszukując lub wpisując ccsm w myślniku. Przejdź do wtyczki Unity → zakładka Eksperyment i zmień ustawienia Ukryj animacje na Tylko zanikanie .

Jeśli chcesz wyłączyć animacje we wszystkich oknach, możesz wyłączyć wtyczkę Animacje w ccsm. Jeśli chcesz wyłączyć Fading, wyłącz wtyczki Fading Windows .

Mam nadzieję, że to pomoże.


Edycja: Jak pokazał izx w zredagowanej odpowiedzi Widać wyraźnie, że opcje animacji myślnika są na stałe zakodowane w Unity i nie można ich zmienić żadnymi opcjami konfiguracji, ponieważ czasy trwania nie są zmienne, które można zmienić. Oznacza to, że musisz ponownie skompilować jedność, zmieniając te czasy trwania na 0 ms, aby całkowicie wyłączyć animacje.

Anwar
źródło
Próbowałem wszystkiego zasugerowanego w tym pytaniu plus takie rzeczy, jak zmniejszenie niektórych wartości czasu o współczynnik 0,1, a brak wyników wydaje się potwierdzać to, co mówisz. Jeśli możesz podać link do przynajmniej częściowo oficjalnego źródła, które potwierdza twoje oświadczenie (być może raport o błędzie startera ...) nagroda jest twoja.
Bucic
@Bucic Zredagowałem swoją odpowiedź, wskazując na odpowiedź izx jako źródło potwierdzenia. Szczegółowe informacje można znaleźć w jego odpowiedzi.
Anwar
2

Aby dodać do instrukcji Ángel Araya : udało mi się wyłączyć wszystkie animacje odznaczając Animationsi Fading Windows(w zasadzie wszystko oprócz Window Decorationramach Effectskategorii (TAB) w CompizConfig Settings Manager.

Wydma
źródło
2
To wyłączało tylko niektóre animacje systemu Windows. Deska rozdzielcza nadal wydaje się zanikać.
Bucic
1
Do Ángela Arayi i Diuny: Faceci, dostarczyłeś odpowiedzi, ale z moich testów nie prowadzą one do wyłączenia animacji Dash. Jeśli jesteś pewien, że tak robią, a moja porażka jest z mojej strony, proszę zabrać głos.
Bucic,
1

Myślę, że wyłączenie okien wygaszania w efektach w Menedżerze ustawień CompizConfig może mieć znaczenie w Unity. (Subtelna różnica prędkości, ale wciąż różnica.)

Obrabować
źródło