모든 Unity 애니메이션을 비활성화하는 방법은 무엇입니까?


44

가능하지 않은 경우 대시 표시 / 숨기기 애니메이션 일 수 있습니다. 나는 무의미한 애니메이션을 기다리는 자신을 발견한다.

답변:


27

여기에 이미지 설명을 입력하십시오

1. 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,이);
    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", (표시 () &&! fade_in_animator_.IsRunning () && view_window_ && view_window _-> GetOpacity ()! = 1.0f))
    
  • 물론 이것을 패치하고 모든 새로운 Unity 업데이트로 다시 빌드해야합니다 ...

  • Compiz 플러그인의 외부에 하드 코딩되어 있기 때문에 Compiz를 방해하는 양은 이것을 바꿀 수 없습니다.

2. 대안 A : 우분투 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 는 Unity에서 하드 캡쳐하기 때문에 Compiz에서 비활성화하더라도 Super를 선택할 수 없습니다 . Ctrl+Alt+Z슈퍼 키에 가깝기 때문에 선택했습니다 .

  4. 이제 바로 가기가 훨씬 빠르게 대시를 시작해야합니다.

    • Youtube 비디오 데모 입니다. 처음 몇 번 (왼쪽의 실행기가 흐려지고 어두워 질 때) SUPER 키를 사용합니다. 그런 다음 사용자 정의 xdotool 바로 가기를 사용합니다 (런처가 더 이상 애니메이션되지 않고 대시가 더 빨리 나타납니다)

아니. 나는 대시를 의미한다. Super 키를 사용하여 호출하는 '시작 메뉴'와 동일합니다.
Bucic

@Bucic 업데이트를 참조하십시오 ...
ish

2
감사합니다! 현상금은 당신입니다! 안와르 샤 +1 나는 대안 B를 특히 좋아했다 :) 코드를 다루는 것에 관해서는-12.10에서 어떻게 처리 될지를 기다릴 것이라고 생각합니다. 동일하다면 Unity 팀에는 몇 가지 관용적 인 어젠다가 있으며 이는 Unity에서 접근성 기능을 기본값으로 설정합니다. 그것이 내가 설명 할 수있는 유일한 설명입니다. 어느 쪽이든-바보.
Bucic

1
Unity 2D와 3D가 병합 된 것 같습니다. 대안은 13.04 이상에서 더 이상 작동하지 않는 방법처럼 보입니다 (내가 희망하는 것을 누락하지 않는 한).
Dogmatixed

1
@Supuhstar는 끝없는 지혜를 공유하십시오. 나는 할 수 없었기 때문에.
사키

23

Compiz Configuration Manager를 설치하십시오.

우분투 소프트웨어 센터 : Compiz Configuration Manager

또는

단말기: sudo apt-get install compizconfig-settings-manager

일단 설치되면 그것을 열고 Ubuntu Unity Plugin-> Experimental(Tab)

거기에서 Lauch Animation, Urgent AnimationDash Blur`없음으로 설정할 수 있습니다 .

(가) 설정 Hide AnimationSlide only.

원하는 경우 패널과 대시 투명도를 완전히 불투명하게 변경할 수 있습니다.


따라서 대시 애니메이션 만 비활성화 할 수 없습니다. '감소'만. 우리가 그 동안, '흐리기 없음'을 설정하면 흐림 효과가 나타나지 않지만 대시 색상 대화 상자에서 '불투명도'매개 변수가 255로 설정되어 있어도 대시는 투명합니다.
Bucic

Ángel Araya and Dune : Guys에게 답변을 제공했지만 내 테스트에서 Dash 애니메이션이 비활성화되지는 않았습니다. 그들이 확신하고 실패가 내 몫이라면, 말하십시오.
Bucic

2
ccsm에서 "애니메이션 표시"확인란을 클릭하면됩니다. 나는 엄청난 애니메이션을 싫어하면서 몇 년 동안 이것을 해왔다.
user72421

Unity 플러그인 설정에서 "낮은 그래픽 모드 사용"설정을 클릭하기위한 메모를 추가하십시오. 이것은 느린 단일 대시를 해결하는 것 같습니다
rubo77

이것은 14.04에서 나를 위해 일했습니다 (흐림을 비활성화하거나 "정적 흐림"을 남겨 두거나 (더 빠른 것 같습니다) 기본 "동적 흐림"을 유지합니다.
Dimitry K

6

죄송합니다. 현재 Ubuntu 12.04 LTS 를 사용하는 시점 (2012 년 7 월 25 일)에는 Unity 애니메이션을 쉽게 비활성화 할 수있는 방법 이 없습니다 . (적어도 다시 컴파일하지 않음).

그리고 향후 릴리스에서 애니메이션을 비활성화하는 옵션이 없을 것이라고 생각합니다. Unity의 목표 중 하나는 즐거운 사용자 경험을 제공하는 것이며 애니메이션은이를 달성하는 가장 좋은 방법 중 하나로 간주됩니다.

해결 방법 :

가능한 대안은 대시 애니메이션을 페이드로 변경하는 것입니다 (원인으로는 페이드가 슬라이딩보다 빠릅니다). 모든 창에서 애니메이션을 비활성화하는 데 관심이있을 수도 있습니다. 이것을하기 위해,

  1. 다운로드 및 설치 compizconfig-settings-manager

    sudo apt-get install compizconfig-settings-manager  
    
  2. ccsm 을 대시 로 검색하거나 입력하여 엽니 다 . Unity 플러그인실험 탭으로 이동하여 애니메이션 숨기기 설정 을 페이드로만 변경하십시오 .

모든 창에서 애니메이션을 비활성화하려면 ccsm 에서 애니메이션 플러그인을 비활성화 할 수 있습니다 . 페이딩을 비활성화하려면 페이딩 윈도우 플러그인을 비활성화하십시오 .

이것이 도움이되기를 바랍니다.


편집 : izx가 편집 된 답변 에 표시된 것처럼 대시 애니메이션의 옵션은 Unity에서 하드 코딩되어 있으며 시간 옵션은 변경할 수 없으므로 기간 옵션이 변경되지 않으므로 구성 옵션으로 변경할 수 없습니다. 즉, 애니메이션을 완전히 비활성화하려면 해당 시간을 0ms로 변경하여 통일성을 다시 컴파일해야합니다.


나는이 질문에서 제안 된 모든 것을 추가하고 0.1의 타이밍 값으로 일부 타이밍 값을 자르는 것과 같은 것들을 시도했지만 결과가 없다는 것은 당신이 말하는 것을 확인하는 것 같습니다. 만약 당신이 당신의 진술 (런치 패드 버그 보고서 ...)을 확인하는 최소한의 반 공식 출처에 대한 링크를 제공 할 수 있다면, 현상금은 당신의 것입니다.
Bucic

@Bucic 나는 izx의 답변을 확인의 원천으로 가리키는 답변을 편집했습니다. 자세한 내용은 그의 답변을 참조하십시오.
Anwar

2

에 추가하려면 앙헬 아라야의 지침 : 내가 취소하여 모든 애니메이션을 비활성화 할 수 있었다 AnimationsFading Windows제외 (기본적으로 모든 것을 Window Decoration세 이하 EffectsCompizConfig 설정 관리자 카테고리 (탭).


2
일부 윈도우 애니메이션 만 비활성화했습니다. 대시는 여전히 페이드 인 및 페이드 아웃되는 것 같습니다.
Bucic

1
Ángel Araya and Dune : Guys에게 답변을 제공했지만 내 테스트에서 Dash 애니메이션이 비활성화되지는 않았습니다. 그들이 확신하고 실패가 내 몫이라면, 말하십시오.
Bucic

1

CompizConfig Settings Manager의 효과에서 페이딩 윈도우를 끄면 Unity에서 차이를 만들 수 있다고 생각합니다. (속도의 미묘한 차이이지만 여전히 차이가 있습니다.)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.