すべてのUnityアニメーションを無効にする方法は?


44

それが不可能な場合は、Dashでアニメーションを表示/非表示するだけです。無意味なアニメーションを待っているだけです。

回答:


27

ここに画像の説明を入力してください

1. Unity 12.04でこのDashアニメーションを無効にできない理由

  • 残念ながら、フェード/不透明度のアニメーションと関連する時間は、Unityのソースコードにハードコードされています。
  • 実際のコードunity-5.12/plugins/unityshell/src/ShortcutController.cppは次の場所にあります(これは、アニメーションを削除するために変更および再コンパイルする必要があるものです)
  • Superキーを使用してダッシュを起動したときのアニメーションのハードコーディングを示すこのファイルのサンプル行:

    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.代替A:Ubuntu 2Dに切り替える

Ubuntu 2Dには異なるUnity Shellコードがあり、そこではSuperを介してダッシュを起動するのは瞬時であり、何もアニメーション化しません。

3.代替方法B:カスタムショートカットを使用して、Ubuntuロゴをクリックしてダッシュを起動し、アニメーションをバイパスします

「スタート」ボタンを使用してダッシュを起動した場合、またはスーパーを押してもカーソルがランチャーバー上にある場合は、不透明度/フェードアニメーションが発生しないという事実を活用できます。

ここに画像の説明を入力してください

カーソルが実際にダッシュ領域内を移動するまで、アニメーションは遅延します。

  1. xdotoolを使用すると、キーボードおよびマウスのクリック/動きを自動化できます。でインストールするsudo apt-get install xdotool
  2. [設定...]キーボードを開き、[ショートカット]タブに移動します。カスタムショートカットを作成し、好きな名前を付け、「コマンド」を次のように設定します。

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

    ここに画像の説明を入力してください

    • 画面の解像度が1024x768未満の場合は、座標(25 60)を少し調整する必要があります。
  3. 適用をクリックします。右側の列に「無効」と表示され、クリックすると「新しいアクセラレータ」が表示されます:ショートカットキーコンボを押します。Superを選択することはできません。Compizで無効にしても、Unityによってハードキャプチャされるためです。Ctrl+Alt+Zスーパーキーに近いので選んだ。

  4. これで、ショートカットでダッシュがはるかに高速に起動するはずです。

    • Youtubeビデオデモをご覧ください。最初の数回(左側のランチャーがぼやけて暗くなるとき)は、SUPERキーを使用します。次に、カスタムxdotoolショートカットを使用します(ランチャーがアニメーション化されなくなり、ダッシュがより速く表示されることに注意してください)

いや。私はダッシュを意味します。スーパーキーを使用して呼び出す「スタートメニュー」に相当します。
12

更新をご覧ください、@ Bucic ...
ish

2
ありがとうございました!報奨金はあなたのものです!アンワルシャーの+1。私は特に代替Bが好きでした:)コードをいじるということに関しては-12.10でどのように処理されるのかを見るのを待つと思います。同じ場合、Unityチームには明らかにばかげたアジェンダがあり、Unityのアクセシビリティ機能をデフォルトとして設定します。それが私が思いつくことができる唯一の説明です。いずれにせよ-ばかげています。
12

1
Unity 2Dと3Dが統合されたように見えますか?代替のAメソッドは13.04以降では動作しなくなったように見えます(何かが欠けている場合を除き、私はそう望んでいます)。
Dogmatixed

1
@Supuhstar、無限の知恵を共有してください。できなかったからです。
キサキ14

23

Compiz Configuration Managerをインストールします。

Ubuntu Software Center:Compiz Configuration Manager

または

ターミナル: sudo apt-get install compizconfig-settings-manager

インストールしたら、開いてUbuntu Unity Plugin-> Experimental(Tab)に移動します

そこから設定することができLauch AnimationUrgent AnimationおよびDash Blurなし`へ。

に設定Hide AnimationSlide onlyます。

必要に応じて、パネルとダッシュの透明度を完全に不透明に変更できます。


だから、ダッシュアニメーションだけを無効にすることは不可能だと思います。「減らす」だけ。ダッシュカラーダイアログで「不透明度」パラメーターが255に設定されていても、「ぼかしなし」を設定してもぼかしは行われませんが、ダッシュは透明になります。
12

アンヘル・アラヤとデューン:皆さん、答えを提供しましたが、私のテストからは、ダッシュアニメーションが無効になることはありません。あなたが彼らに自信があり、失敗が私の側にあるなら、声を上げてください。
12

2
ccsmの「show animations」チェックボックスをクリックするだけです。私は悪質なアニメーションが嫌いなので、これを何年も行ってきました。
user72421

Unityプラグインの設定で「低グラフィックスモードを有効にする」設定をクリックするメモを追加してください。これは遅い統一ダッシュを解決するようです
rubo77

これは14.04で機能しました(ブラーを無効にするか、「静的ブラー」のままにするか(高速のようです)、またはデフォルトの「動的ブラー」のままにします。」
Dimitry K

6

すみません、できません。Ubuntuの12.04 LTSと、この時点(2012年7月25日)には、ありませんNO無効ユニティアニメーションへの簡単な方法。(少なくとも再コンパイルなし)。

将来のリリースでは、アニメーションを無効にするオプションがあるとは思いません。なぜなら、Unityの目標の1つは、快適なユーザーエクスペリエンスを提供することであり、アニメーションはそれを達成するための最良の方法の1つと考えられているためです。

回避策:

考えられる回避策は、ダッシュアニメーションをフェードに変更することです(私の意見では、フェードはスライドよりも高速です)。また、すべてのウィンドウのアニメーションを無効にすることもできます。これをする、

  1. ダウンロードとインストール compizconfig-settings-manager

    sudo apt-get install compizconfig-settings-manager  
    
  2. 検索するか、ダッシュでccsmと入力して開きます。Unityプラグイン実験的タブに移動し、アニメーション隠すの設定をフェードのみに変更します。

すべてのウィンドウでアニメーションを無効にする場合は、ccsmでアニメーションプラグインを無効にできます。フェージングを無効にする場合は、フェージングウィンドウプラグインを無効にします。

これが役立つことを願っています。


編集: izxが編集した回答で示したように、ダッシュアニメーションのオプションはUnityでハードコーディングされており、構成オプションでは変更できません。これらの期間は変更できないため、変更できません。そのため、アニメーションを完全に無効にするには、これらの期間を0ミリ秒に変更して統一性を再コンパイルする必要があります。


この質問で提案されたすべてに加えて、いくつかのタイミング値を0.1の係数でカットするなどのことを試しましたが、結果の欠如はあなたが言っていることを確認しているようです。あなたの声明を確認する少なくとも半公式のソースへのリンクを提供していただければ(ランチパッドのバグレポートかもしれません...)、賞金はあなたのものです。
12

@Bucic確認のソースとしてizxの回答を指す回答を編集しました。詳細については、彼の答えをご覧ください。
アンウォー

2

追加するにはアンヘル・新谷の指示:私は選択を解除して、すべてのアニメーションを無効にすることができたAnimationsFading Windows除き、基本的にすべてのもの(Window DecorationEffectsCompizConfig設定マネージャ内のカテゴリ(タブ)。


2
これにより、一部のWindowsアニメーションのみが無効になりました。ダッシュはまだフェードインおよびフェードアウトするようです。
12

1
アンヘル・アラヤとデューン:皆さん、答えを提供しましたが、私のテストからは、ダッシュアニメーションが無効になることはありません。あなたが彼らに自信があり、失敗が私の側にあるなら、声を上げてください。
12

1

CompizConfig Settings Managerのエフェクトの下でフェーディングウィンドウをオフにすると、Unityで違いが生じると思います。(速度のわずかな違いですが、それでも違いです。)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.