Wie deaktiviere ich alle Unity-Animationen?

44

Wenn es nicht möglich ist, können Sie vielleicht nur die Dash-Animationen anzeigen / verbergen. Ich warte einfach auf sinnlose Animationen.

Bucic
quelle

Antworten:

27

Bildbeschreibung hier eingeben

1. Warum können Sie diese Dash-Animation in Unity 12.04 nicht deaktivieren?

  • Leider sind die Überblend- / Deckkraftanimation und die zugehörigen Zeiten im Unity-Quellcode fest codiert.
  • Der eigentliche Code befindet sich möglicherweise in unity-5.12/plugins/unityshell/src/ShortcutController.cpp(das müssten Sie ändern und neu kompilieren, um die Animationen loszuwerden).
  • Einige Beispielzeilen aus dieser Datei, die die Hardcodierung der Animation demonstrieren, wenn Sie die Super-Taste zum Starten des Dash verwenden:

    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, & Controller :: 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 ("timeout_duration", 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))
    
  • Natürlich müssten Sie dies patchen und mit jedem neuen Unity-Update neu erstellen ...

  • Keine Einmischung in Compiz kann dies ändern, da alles außerhalb des Compiz-Plugins fest programmiert ist.

2. Alternative A: Wechseln Sie zu Ubuntu 2D

Ubuntu 2D hat einen anderen Unity Shell-Code, und dort ist das Starten des Bindestrichs über Super augenblicklich und animiert nichts.

3. Alternative B: Verwenden Sie eine benutzerdefinierte Verknüpfung, um den Dash zu starten, indem Sie auf das Ubuntu-Logo klicken und so die Animation umgehen

Wir können die Tatsache ausnutzen, dass die Deckkraft- / Überblendanimation nicht auftritt, wenn Sie den Dash über die Schaltfläche "Start" starten oder wenn sich Ihr Cursor auf der Startleiste befindet / in der Nähe der Startleiste befindet, selbst wenn Sie Super drücken:

Bildbeschreibung hier eingeben

Die Animation wird verzögert, bis sich der Cursor tatsächlich im Strichbereich bewegt.

  1. xdotool ermöglicht die Automatisierung von Tastatur- und Mausklicks / -bewegungen; installiere es mitsudo apt-get install xdotool
  2. Öffnen Sie Einstellungen ... Tastatur und wechseln Sie zur Registerkarte Verknüpfungen. Erstellen Sie eine benutzerdefinierte Verknüpfung, benennen Sie sie nach Belieben und setzen Sie den Befehl auf:

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

    Bildbeschreibung hier eingeben

    • Möglicherweise müssen Sie die Koordinaten (25 bis 60) etwas anpassen, wenn die Bildschirmauflösung unter 1024 x 768 liegt.
  3. Klicken Sie auf Übernehmen. In der rechten Spalte wird "Deaktivieren" angezeigt. Klicken Sie darauf und es wird "Neuer Beschleuniger" angezeigt: Drücken Sie die Tastenkombination. Sie können Super nicht auswählen , auch wenn Sie es in Compiz deaktivieren, da es von Unity nur schwer erfasst wird. Ich habe gewählt, Ctrl+Alt+Zda es in der Nähe des Super-Schlüssels liegt.

  4. Jetzt sollte Ihre Verknüpfung den Dash viel, viel schneller starten.

    • Hier ist eine Youtube-Video-Demo . Die ersten Male (wenn der Launcher auf der linken Seite unscharf wird und dunkler wird) wird mit der SUPER-Taste gedrückt. dann ist es mit der benutzerdefinierten xdotool-Verknüpfung (beachten Sie, dass der Launcher nicht mehr animiert und der Bindestrich schneller angezeigt wird)
ish
quelle
Nee. Ich meine den Dash. Das Äquivalent zum Startmenü, das Sie mit der Super-Taste aufrufen.
Bucic
Bitte siehe Update, @Bucic ...
ish
2
Danke! Das Kopfgeld liegt bei Ihnen! +1 für Anwar Shah. Ich mochte besonders die Alternative B :) Was das Fummeln mit dem Code angeht - ich denke, ich werde abwarten, wie es in 12.10 gehandhabt wird. Wenn dies der Fall ist, herrscht im Unity-Team eindeutig eine idiotische Agenda vor, die dazu führt, dass Barrierefreiheitsfunktionen in Unity als Standard festgelegt werden. Das ist die einzige Erklärung, die ich mir einfallen lassen könnte. So oder so - idiotisch.
Bucic
1
Wie sieht es aus, wurden Unity 2D und 3D zusammengeführt? Es sieht aus wie eine alternative A-Methode, die ab 13.04 nicht mehr funktioniert (es sei denn, ich vermisse etwas, von dem ich hoffe, dass ich es bin).
Dogmatixed
1
@Supuhstar dann teile bitte deine unendliche Weisheit. Weil ich es nicht konnte.
Kissaki
23

Installieren Sie den Compiz Configuration Manager.

Ubuntu Software Center: Compiz Configuration Manager

oder

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

Einmal installiert, öffne es und gehe zu Ubuntu Unity Plugin-> Experimental(Tab)

Von dort können Sie einstellen Lauch Animation, Urgent Animationund Dash Blurauf `Keine.

Stellen Sie den Hide Animationauf Slide only.

Wenn Sie möchten, können Sie das Bedienfeld und die Strichtransparenz so ändern, dass sie vollständig undurchsichtig sind.

Ángel Araya
quelle
Ich verstehe, dass es unmöglich ist, nur die Dash-Animation zu deaktivieren. Nur "reduzieren". Wenn Sie "Keine Unschärfe" einstellen, wird keine Unschärfe erzeugt, aber der Strich ist transparent, obwohl der Parameter "Deckkraft" im Dialogfeld "Strichfarbe" auf 255 gesetzt wurde.
Bucic
Ángel Araya und Dune: Guys, Sie haben geantwortet, aber nach meinen Tests führen sie nicht zu einer deaktivierten Dash-Animation. Wenn Sie zuversichtlich sind, dass dies der Fall ist und das Scheitern auf meiner Seite liegt, melden Sie sich bitte.
Bucic
2
Sie müssen nur das Kontrollkästchen "Animationen anzeigen" in ccsm deaktivieren. Ich mache das seit Jahren, weil ich ungeheure Animationen hasse.
User72421
Bitte fügen Sie einen Hinweis hinzu, um in den Unity-Plugin-Einstellungen auf die Einstellung "Low-Graphics-Modus aktivieren" zu klicken. Dies scheint einen langsamen Unity-Gedankenstrich zu lösen
rubo77 25.10.15
Dies funktionierte für mich am 14.04 (ich kann Unschärfe deaktivieren, "statische Unschärfe" lassen (was schneller zu sein scheint) oder die Standardeinstellung "dynamische Unschärfe"
beibehalten
6

Entschuldigung, das kannst du nicht. Zu diesem Zeitpunkt (25. Juli 2012) gibt es mit Ubuntu 12.04 LTS keine einfache Möglichkeit, Unity-Animationen zu deaktivieren. (Zumindest ohne Neukompilierung).

Und ich glaube nicht, dass es in zukünftigen Versionen eine Option geben wird, Animationen zu deaktivieren. Denn eines der Ziele von Unity ist es, ein ansprechendes Benutzererlebnis zu bieten, und Animationen gelten als einer der besten Wege, dies zu erreichen.

Ein Workaround:

Die mögliche Problemumgehung für Sie besteht darin, die Dash-Animation so zu ändern, dass sie ausgeblendet wird (Ursache: Meiner Meinung nach sind Ausblendungen schneller als das Verschieben). Möglicherweise möchten Sie auch die Animationen für alle Fenster deaktivieren. Um dies zu tun,

  1. Herunterladen und installieren compizconfig-settings-manager

    sudo apt-get install compizconfig-settings-manager  
    
  2. Öffnen Sie es, indem Sie ccsm im Bindestrich suchen oder eingeben . Gehen Sie zu Unity Plugin → Registerkarte Experimental und ändern Sie die Einstellungen für Hide animations in Fade only .

Wenn Sie die Animationen in allen Fenstern deaktivieren möchten, können Sie das Animations- Plugin in ccsm deaktivieren . Wenn Sie das Fading deaktivieren möchten, deaktivieren Sie die Fading-Windows- Plugins.

Hoffe das wird helfen.


Bearbeiten: Wie izx in seiner bearbeiteten Antwort gezeigt hat. Sie sehen deutlich, dass die Optionen von Strichanimationen in Unity fest codiert sind und diese nicht mit Konfigurationsoptionen geändert werden können, da diese Zeitdauern nicht variabel sind und geändert werden können. Das bedeutet also, dass Sie die Einheit neu kompilieren müssen, indem Sie die Zeitdauer auf 0 ms ändern, um die Animationen vollständig zu deaktivieren.

Anwar
quelle
Ich habe alles versucht, was in dieser Frage vorgeschlagen wurde, plus Dinge wie das Verringern einiger Timing-Werte um den Faktor 0,1, und der Mangel an Ergebnissen scheint zu bestätigen, was Sie sagen. Wenn Sie bitte einen Link zu einer zumindest halboffiziellen Quelle bereitstellen könnten, der Ihre Aussage bestätigt (Launchpad-Fehlerbericht vielleicht ...), liegt die Prämie bei Ihnen.
Bucic
@Bucic Ich habe meine Antwort bearbeitet und auf die Antwort von izx als Bestätigungsquelle verwiesen. Siehe seine Antwort für Details.
Anwar
2

Um Ángel Arayas Anweisungen hinzuzufügen : Ich konnte alle Animationen deaktivieren, indem ich die Auswahl aufhob Animationsund Fading Windows(im Grunde genommen alles außer Window Decorationunter der EffectsKategorie (Registerkarte) in CompizConfig Settings Manager.

Düne
quelle
2
Dies deaktivierte nur einige Windows-Animationen. Der Strich scheint immer noch ein- und auszublenden.
Bucic
1
Ángel Araya und Dune: Guys, Sie haben geantwortet, aber nach meinen Tests führen sie nicht zu einer deaktivierten Dash-Animation. Wenn Sie zuversichtlich sind, dass dies der Fall ist und das Scheitern auf meiner Seite liegt, melden Sie sich bitte.
Bucic
1

Ich denke, dass das Deaktivieren von Fading-Fenstern unter Effekten in CompizConfig Settings Manager einen Unterschied in Unity bewirken kann. (Ein subtiler Unterschied in der Geschwindigkeit, aber immer noch ein Unterschied.)

rauben
quelle