Как отключить все анимации Unity?

44

Если это невозможно, то, возможно, только анимация показа / скрытия Dash. Я просто жду анимации, что бессмысленно.

Bucic
источник

Ответы:

27

введите описание изображения здесь

1. Почему вы не можете отключить эту анимацию Dash в Unity 12.04

  • К сожалению, анимация исчезновения / непрозрачности и связанные времена жестко запрограммированы в исходном коде Unity.
  • Фактический код может быть найден в unity-5.12/plugins/unityshell/src/ShortcutController.cpp(это то, что вам придется изменить и перекомпилировать, чтобы избавиться от анимации)
  • Некоторые примеры строк из этого файла демонстрируют жесткое кодирование анимации при использовании клавиши Super для запуска 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, & 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))
    
  • Конечно, вам придется исправлять это и перестраивать с каждым новым обновлением Unity ...

  • Никакое вмешательство в Compiz не может изменить это, потому что все это жестко запрограммировано вне плагина Compiz.

2. Альтернатива А: переключиться на Ubuntu 2D

Ubuntu 2D имеет другой код Unity Shell, и там запуск тире через Super происходит мгновенно и ничего не оживляет.

3. Альтернатива B: используйте пользовательский ярлык для запуска Dash, нажав на логотип Ubuntu, минуя анимацию

Мы можем использовать тот факт, что анимация непрозрачности / затухания не происходит, когда вы запускаете Dash с помощью кнопки «Пуск», или, если ваш курсор находится на / вокруг панели запуска, даже если вы нажимаете Super:

введите описание изображения здесь

Анимация будет задерживаться до тех пор, пока ваш курсор на самом деле не переместится в область штрихов.

  1. xdotool позволяет автоматизировать щелчки / движения клавиатуры и мыши; установить его сsudo apt-get install xdotool
  2. Откройте Настройки ... Клавиатура и перейдите на вкладку Ярлыки. Создайте пользовательский ярлык, назвав его как хотите, и установите для «Command» значение:

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

    введите описание изображения здесь

    • Возможно, вам придется немного откорректировать координаты (25 60), если ваше разрешение экрана ниже 1024x768 или около того.
  3. Нажмите Применить. В правом столбце будет написано «Отключить», нажмите на него, и вы увидите «Новый ускоритель»: нажмите комбинацию клавиш. Вы не можете выбрать Super , даже если вы отключите его в Compiz, потому что он жестко захвачен Unity. Я выбрал, Ctrl+Alt+Zтак как это близко к супер ключу.

  4. Теперь ваш ярлык должен запустить Dash намного, намного быстрее.

    • Вот демонстрация видео с YouTube . Первые несколько раз (когда лончер слева размывается и темнеет) с клавишей SUPER; затем его с пользовательским ярлыком xdotool (обратите внимание, что средство запуска больше не анимируется, и черта появляется быстрее)
иш
источник
Нет. Я имею в виду Тире. «Начальное меню» эквивалентно тому, что вы вызываете с помощью Super key.
Bucic
Пожалуйста , смотрите обновления, @Bucic ...
иш
2
Спасибо! Щедрость твоя! +1 для Анвара Шаха. Мне особенно понравилась альтернатива B :) Что касается возни с кодом - думаю, я подожду, чтобы посмотреть, как он будет обрабатываться в 12.10. Если то же самое, то в команде Unity явно преобладает идиотская повестка дня, которая заставляет их использовать функции доступности по умолчанию в Unity. Это единственное объяснение, которое я мог придумать. В любом случае - идиотизм.
Bucic
1
Похоже, Unity 2D и 3D были объединены? Похоже, что альтернатива Метод больше не работает с 13.04 и выше (если я что-то упустил, что я надеюсь, что я).
Dogmatixed
1
@Supuhstar тогда, пожалуйста, поделись своей бесконечной мудростью. Потому что я не смог.
Киссаки
23

Установите Compiz Configuration Manager.

Центр программного обеспечения Ubuntu: Compiz Configuration Manager

или

Терминал: sudo apt-get install compizconfig-settings-manager

После установки откройте его и получите Ubuntu Unity Plugin-> Experimental(вкладка)

Оттуда вы можете установить Lauch Animation, Urgent Animationи Dash Blur`Нет.

Установите Hide Animationдля Slide only.

Если вы хотите, вы можете изменить прозрачность панели и штрихов, чтобы они были полностью непрозрачными.

Анхель Арайя
источник
Итак, я понимаю, что невозможно отключить даже только анимацию Dash. Только «уменьшить его». Пока мы на этом, установка «Без размытия» не даст размытия, но «Тире» будет прозрачным, даже если для параметра «Непрозрачность» было установлено значение 255 в диалоговом окне «Цвет тире».
Bucic
Анхелю Арайя и Dune: Ребята, вы предоставили ответы, но из моих тестов они не привели к отключению Dash-анимации. Если вы уверены, что они делают, и неудача с моей стороны, пожалуйста, говорите.
Bucic
2
Вы просто снимаете флажок «показать анимацию» в ccsm. Я делал это годами, ненавидя вопиющие анимации.
user72421
Пожалуйста, добавьте примечание, чтобы щелкнуть по настройке «включить режим низкой графики» в настройках плагина Unity, похоже, это решает медленный рывок единства
rubo77
это сработало для меня 14.04 (я могу отключить размытие, оставить «статическое размытие» (которое кажется более быстрым) или оставить по умолчанию «динамическое размытие»)
Дмитрий К
6

Извини, ты не можешь. На данный момент (25 июля 2012 г.) с Ubuntu 12.04 LTS, НЕТ простого способа отключить анимацию Unity. (по крайней мере, без перекомпиляции).

И я не думаю, что в будущих выпусках будет возможность отключить анимацию. Потому что одна из целей Unity - обеспечить приятный пользовательский опыт, и анимация считается одним из лучших способов достижения этого.

Обходной путь:

Возможный обходной путь для вас - это изменение анимации штрихов на затухание (потому что, на мой взгляд, затухания происходят быстрее, чем скольжение). Вы также можете отключить анимацию для всех окон. Сделать это,

  1. Загрузить и установить compizconfig-settings-manager

    sudo apt-get install compizconfig-settings-manager  
    
  2. Откройте его, выполнив поиск или введя ccsm в тире. Перейдите в плагин UnityЭкспериментальная вкладка и измените настройки для Скрыть анимации только на Fade .

Если вы хотите отключить анимацию во всех окнах, вы можете отключить плагин Animations в ccsm. Если вы хотите отключить Fading, отключите плагины окон Fading .

Надеюсь, это поможет.


Редактировать: как izx показал в его отредактированном ответе. Вы ясно видите, что опции анимации тире жестко закодированы в Unity, и их нельзя изменить никакими параметрами конфигурации, потому что эти временные интервалы не являются переменными, которые могут быть изменены. Таким образом, это означает, что вам нужно перекомпилировать единицы, изменив эти значения времени на 0 мс, чтобы полностью отключить анимацию.

Анвар
источник
Я попробовал все, что было предложено в этом вопросе, плюс такие вещи, как сокращение некоторых значений времени с коэффициентом 0,1, и отсутствие результатов, кажется, подтверждает то, что вы говорите. Если бы вы могли предоставить ссылку на какой-то хотя бы полуофициальный источник, подтверждающий ваше заявление (возможно, сообщение об ошибке на панели запуска ...), награда за вами.
Bucic
@Bucic Я отредактировал свой ответ, указав на izx в качестве источника подтверждения. Смотрите его ответ для деталей.
Анвар
2

Для того, чтобы добавить в инструкции Анхеля ARAYA в : Я был в состоянии отключить все анимации, отменив Animationsи Fading Windows( в основном все , кроме Window Decorationпод Effectsкатегории (табл) в CompizConfig Settings Manager.

дюна
источник
2
Это отключило только некоторые окна анимации. Черта все еще, кажется, исчезает и исчезает.
Bucic
1
Анхелю Арайя и Dune: Ребята, вы предоставили ответы, но из моих тестов они не привели к отключению Dash-анимации. Если вы уверены, что они делают, и неудача с моей стороны, пожалуйста, говорите.
Bucic
1

Я думаю, что отключение исчезающих окон под эффектами в CompizConfig Settings Manager может иметь значение в Unity. (Небольшая разница в скорости, но все же разница.)

обкрадывать
источник