본문 바로가기

렌파이/연출하기

화면 전환 효과 - 트랜지션 (1) 기본

길라잡이에서도 설명한 적 있지만 트랜지션이란 이미지가 사라지거나 나타날 때 적용할 효과를 뜻합니다. 그냥 그림이 팟 나타나거나 사라지면 재미 없으니까요. 게임 화면을 연출할 때 적절한 트랜지션을 적용하면 비주얼을 살릴 수도 있겠지요.

사용방법


그림에 트랜지션을 적용하려면 show 나 hide 명령문에 with 과 함께 트랜지션 이름을 적으면 됩니다.
게임 메뉴를 바꿀 때 트랜지션을 적용하고 싶다면 options.rpy 에 적힌 config.enter_transition 등 Transitions 설정 변수를 찾아 그 오른쪽에 적으면 됩니다.

기본 트랜지션 목록

말 그대로 따로 지정하지 않아도 기본적으로 사용할 수 있는 트랜지션 효과입니다. 이름을 with 과 함께 적어 원하는 트랜지션을 바로 적용할 수 있습니다. 기본 트랜지션은 모두 효과가 화면에 나타나는 시간이 0.5초입니다. 트랜지션 이름을 클릭하면 트랜지션이 적용되는 모습을 유투브에서 확인할 수 있습니다.

유투브 영상이 귀찮으시면 렌파이 튜토리얼 게임의 Transition Gallery 에서 확인하시면 됩니다만, 트랜지션이 전부 실려있진 않습니다.


fade
    0.5초에 걸쳐 화면을 검은색으로 만들었다가 새로운 화면으로 0.5초에 걸쳐 서서히 전환한다.

dissolve
    0.5초에 걸쳐 이전 화면에서 새 화면으로 서서히 전환한다.

pixellate
    0.5초에 걸쳐 이전 화면을 색이 다른 작은 사각형으로 만든 후, 0.5초 후 새로운 화면으로 전환한다.

move
    0.5초에 걸쳐 이미지의 위치를 바꾼다.

moveinright
    moveinleft, moveintop, moveinbottom 포함.
    0.5초에 걸쳐 각 트랜지션에 지정된 위치에서 이미지를 화면으로 들여온다.

moveoutright
    moveoutleft, moveouttop, moveoutbottom 포함.
    0.5초에 걸쳐 각 트랜지션에 지정된 위치쪽으로 이미지를 화면에서 내보낸다.

ease
    easeinright, easeinleft, easeintop, easeinbottom, easeoutright, easeoutleft, easeouttop, easeoutbottom 포함
    move 계열 트랜지션과 비슷하나 트랜지션 시작 시에는 천천히 동작했다가 점점 빨라지며 트랜지션 종료시에 다시 속도가 줄어드는 트랜지션이다. 트랜지션 작동 시간이 코사인 커브를 기반으로 하는 트랜지션이다.

zoomin
    0.5초에 걸쳐 이미지를 확대하면서 화면에 표시한다.

zoomout
    0.5초에 걸쳐 이미지를 축소하면서 화면에서 사라지도록 한다.

zoominout
    0.5초에 걸쳐 화면에 표시하려는 이미지는 확대되면서 나타나도록 하며, 화면에서 사라지려는 이미지는 축소하면서 사라지도록 한다.

vpunch
    0.25초에 걸쳐 화면을 세로로 흔든다.

hpunch
    0.25초에 걸쳐 화면을 가로로 흔든다.

blinds
    1초에 걸쳐 버티컬 블라인드가 걷히고 펼쳐지는 것처럼 화면을 전환한다.

squares
    1초에 걸쳐 작은 사각형들이 각자 트랜지션을 하면서 화면을 전환한다.

wipeleft
    wiperight, wipeup, wipedown 포함.
    트랜지션에 지정된 방향대로 화면을 닦아낸다.

slideleft
    slideright, slideup, slidedown 포함.
    트랜지션에 지정된 방향대로 새로운 화면을 들여온다.

slideawayleft
    slideawayright, slideawayup, slideawaydown 포함
    트랜지션에 지정된 방향대로 새로운 화면을 밀어낸다.

irisin
    irisout 포함
    사각형의 카메라 조리개처럼 새 화면을 나타내거나 이전 화면을 사라지게 한다.

기타설명

① move 나 ease, wipe, slide 등은 그 종류가 많긴 합니다만 트랜지션 이름에 in/out 이 들어가고(slide는 away) 각 방향(right, left, top, bottom)을 적어주면 되니까 외우기는 쉽습니다.

② move 와 ease 는 트랜지션을 적용한 대상이 움직이는 속도에서 차이가 있습니다.

③ 이름에 in 이 들어가는 트랜지션은 show 나 scene 명령문에 적고, out 이 들어가는 트랜지션은 hide 에 넣으면 제대로 효과를 발휘합니다. show eileen happy with moveoutleft 처럼 적으면 영 좋지 않게 트랜지션이 제대로 적용되지 않습니다. 예외로 moveinout 은 명령문에 따라 알아서 효과를 적용합니다.


스크립트

깁니다;

동영상을 만들 때 적었던 스크립트입니다.
① options.rpy 파일에 config.automatic_images = True로 설정했다면 ② 이 스크립트를 프로젝트의 스크립트 파일에 복사, 붙여넣기 하신 뒤, ③ 배경 이미지 두 장의 파일 이름을 각각 room_night.jpg 과 room_maid.jpg 로 바꾸시고, 스탠딩 이미지 아무거나 eileen_happy.png 로 바꾸시면 트랜지션을 확인할 수 있습니다.