본문 바로가기
공부이야기/카카오토

[기초] 카카오토 가이드 #3 (스샷 기능)

by 헝탱 2018. 5. 16.
반응형

안녕하세요. 헝탱입니다.


이번 글에서는 스샷 기능에 대해서 적으려고 합니다. 스샷 기능은 매크로를 만들면서 가장 많이 사용되기도 하고 우리의 눈과 같은 기능을 하고 있기 때문에 기본기도 탄탄해야하고 나중에 응용에 있어서도 기본기에 따른 응용이 필요합니다. 이번 강의에서는 가장 많이 사용되는 스샷 기능을 중심으로 사용하도록 하겠습니다.


이번 강의에서 사용되는 변수 부분을 원래 먼저 강의를 했어야 하나 변수를 먼저 설명하자니 앞의 내용을 모르고 설명하면 더 어렵게 진행이 될 수 있어 모르더라도 변수라는게 있고 뭔가를 추가하면 무언가 작업을 할 수 있구나~ 라는 정도만 알고 계시고 그냥 따라하고 넘어가시면 됩니다. 궁금해서 미치겠다 싶은 분들은 차후에 적는 변수부분 강의를 듣고 시작하셔도 됩니다. 


스샷 기능 스크립트

마우스 스크립트와 같이 메뉴에 보면 스샷이라는 스크립트 속성이 있습니다. 아래의 그림처럼 구성이 되어 있으며 마우스와 많이 다르지 않음을 알 수 있습니다. 앞에서 강의 했던 중복된 내용을 빼고 하나씩 살펴보도록 하겠습니다.


(그림1)


1. 그룹목록 선택창

자신이 변수에 저장한 이미지 변수를 찾아서 선택하는 것입니다. 마우스와 달리 초록색 창이 없는걸 알 수 있습니다. " 보기 - 그룹목록 "에 들어가면 변수를 설정할 수 있는 창이 나타나는데 탭 내용을 보시면 " 메인변수 " 탭과 " 메인이미지 " 탭을 볼 수 있습니다. 메인변수탭과 메인이미지탭의 다른점은 변수안에 이미지 관련 정보가 있냐 없냐만 있을 뿐 기능적인 부분은 동일 합니다. 하지만 스샷기능의 경우는 이미지 정보가 필요하기 때문에 그룹목록에 변수쪽이 없는 것 입니다.


2. 스샷기능의 세부기능

스샷에는 여러가지 기능들이 있습니다. 가장 많이 사용되는 기능이 있는 반면에 잘 사용되지 않는 기능들도 있습니다. 기초에서는 가장 많이 사용되는 기능들을 중심으로 사용을 하여서 기본적인 매크로를 만들 수 있도록 하는것이 목표이기 때문에 모두 설명하지 않도록 하겠습니다. 해당 기능을 누르면 오른쪽의 메뉴들이 특성에 따라 조금씩 바뀌게 됩니다. 


스샷 기능의 사용 중요도 및 사용처

기능의 중요도와 사용처에 대한 부분은 지극히 개인적으로 말한것 이외 사용이 가능하고 말한것보다 좋은 기능이 있을 수 있습니다. 하지만 하나의 지표로 사용하시면 되겠습니다. 나는 특정한 매크로를 만들 때 어떤걸 써야하는지 모르겠다고 생각되는 분들은 참고용으로 사용하시면 될거 같습니다.


1. 스샷 보관 (중요도 : ★★★☆☆)

스샷 보관의 경우 이미지 인식이나 특별한 이미지들을 저장 해놓는 경우 사용합니다. 말 그대로 저장의 개념으로 사용이 되고 있습니다. 제어판이라는 기능과 같이 쓰이면 매크로를 플레이어로 실행 할 때 스샷 저장으로 특정한 변수에 넣어 놓고 그걸 제어판에 표시하는 방식으로 가장 많이 사용됩니다.


2. 스샷 판단 / 스샷 판단실패  (중요도 : ★★★★★)

스샷 판단과 스샷 판단실패의 경우 서로 상반되는 방식으로 진행이 됩니다. 기능적으론 분기만 다를뿐 똑같고 가장 기본적인 스샷 기능입니다. 특정이미지를 찾거나 특정이미지를 구분할 때 사용되며 해당 기능을 가장 많이 사용됩니다. 


3. 옵션 클릭 (중요도 : ★★☆☆☆)

옵션 클릭의 경우 그룹의 값으로 속성이 정해집니다. 그룹의 값이 0인경우에 해당 이미지가 검색되지 않을 떄까지 마우스 명령을 수행하고 그룹의 값이 0이 아닌경우에는 해당 이미지가 검색될 때까지 마우스 명령을 수행하는 것으로 그룹의 값으로 스샷의 속성이 정해지는 기능입니다. 다른 방식으로도 구현이 되고 저는 많이 사용해보지 않았지만 스크립트가 느려지는게 싫은 분들은 이걸로 2~3개의 스크립트 개수를 단축 시킬 수 있습니다. 스크립트의 작성 개수가 별로 차이가 안나기 때문에 개인적으로는 한눈에 보이도록 변수 분기를 이용해서 사용하시는걸 추천드립니다.


4. 페이지이동 (중요도 : ★★☆☆☆)

잘 사용하면 페이지 이동 부분을 쉽게 만들수 있지만 초보자분들에게 어려운 개념인것 같아서 추천하지 않습니다. 페이지 이동 스샷의 경우 클릭좌표가 여러개 입력이 되지 않고 하기 때문에 개인적으로 3번 옵션 클릭과 같이 분기로 해서 직접 이러한 기능을 구현해서 사용하는걸 추천합니다. 딱히 메리트를 못 느끼는 스크립트 입니다. 대신 느린 컴퓨터에서 ADB를 이용해서 사용한다면 스크립트 수가 줄어서 그럴땐 메리트가 있습니다.


5. 모양찾기 (중요도 : ★★★★★)

스샷기능으로 이용하는 범위 스샷입니다. 변수에 특별한 설정이 없이 변수 요소 2개를 가지고 만들 수 있습니다. 이미지들이 정확한 좌표에 있는게 대부분 이지만 특정이미지가 여기저기 돌아다니는 경우나 필드형 게임의 경우 모양 찾기로 특정 범위안에서 특정이미지를 찾을 때 사용됩니다.  스크립트의 그룹선택 목록을 기준으로 A그룹 스샷이미지를 B그룹 스샷에서 검색을 합니다. A는 내가 찾을 이미지  B는 찾을 이미지가 있는 범위 라고 생각하시면 됩니다.


6. 모양분리 / 맵찾기 / 색상분포 (중요도 : ?)

사용해본적이 없는 기능입니다. 나중에 고급 기능 강의를 할 때 사용해보고 알려드리도록 하겠습니다.


스샷 주요 기능 설명 (스샷판단/실패 & 모양찾기)

앞에서 많은 기능이 있다고 말했지만 가장 많이 사용하는 기능은 " 스샷 판단 / 스샷 판단실패 / 모양찾기 "이 3개의 기능을 가장 많이 사용하고 조금 거짓말 보태서 말하면 스샷 기능은 이 3가지만 완벽하게 사용한다면 스샷 기능은 다 배웠다고 보셔도 됩니다.


1. 스샷판단 / 스샷판단실패

(그림2)


스샷 판단은 마우스와 비슷한 스크립트 구조를 가지고 있습니다. 실제로 마우스와 다르지 않고 목록에 내가 찾을 이미지가 저장되어 있는 그룹 요소를 클릭하게 되면 그 그룹 요소의 이미지와 같은 범위에서 똑같은지 확인하고 설정된 %만큼 같을 경우 찾았다는 분기와 못찾았다는 분기로 나뉘어서 분기가 되게 됩니다. 


(그림3)


위의 이미지는 앞에서 설명한 내용을 하려면 먼저 해야하는 절차 입니다. 우선 " 보기 - 미리보기 "를 눌러 미리보기 창을 띄우고 " 보기 - 그룹목록"을 눌러 변수 창을 띄워줍니다. 그리고 그룹추가 부터 시작해서 그림의 작업을 순서대로 해줍니다. 순서를 보면 " 그룹생성&그룹요소생성 -> 화면캡처 -> 검색할 이미지 드래그 -> 저장할 그룹요소 선택 -> 그룹 요소에 범위 좌표 저장 -> 그룹요소에 속성 저장 "와 같이 하게 됩니다. 이렇게하면 특정한 이미지변수에 넣을 수 있습니다.


이러한 과정을 거친 다음에 그룹 선택하는 목록에서 내가 설정한 그롭 요소를 선택하면 스샷을 찾는 스샷 스크립트 기능이 완성이 됩니다. 앞에서 설명한 내용 중 분기가 일어 난다고 했는데 분기는 스샷 판단의 경우는 0분기가 " 이미지를 찾았다 ", 1분기가 " 이미지를 못 찾았다 " 입니다. 스샷 실패의 경우 그 반대가 됩니다. 그리고 마우스와 같다고 했는데 마우스 기능 중 클릭/드래그 등 설정하는 부분이 있는데 스샷의 경우는 0분기로 가는 조건에서만 해당 부분을 진행합니다. 스샷 판단의 경우 " 이미지를 찾았다 " 에서 클릭을 하고 스샷 판단실패의 경우 " 이미지를 못 찾았다 "에서 클릭을 하게 됩니다.


2. 모양찾기

(그림4)


모양찾기 스크립트는 지금까지 봐왔던 스크립트와 모양이 조금 다르게 생겼습니다. 클릭을 설정하는 부분 뒤에 또 목록을 선택하는 부분이 있습니다. 이 부분은 스샷의 범위를 선택하는 부분입니다. 다른 부분은 스샷판단과 같은 설정을 하면 됩니다. 뒤에 있는 범위 부분은 이미지 찾기에서 똑같이 설정을 하지만 아래의 규칙에 맞춰줘야 가능합니다.


(그림5)


위의 그림처럼 내가 찾으려고 하는 이미지들이 1~4번까지 랜덤으로 뜬다고 했을 때 범위를 지정해야하는 가이드 라인입니다. 이미지는 1~4번 아무거나 이미지를 가져와도 되지만 범위는 1~4번이 모두 포함되는 빨간색 범위를 지정해야합니다. 만약에 4번은 검출하기 싫다고 하시는 분들은 초록색 범위까지만 하셔도 되지만 대부분 그런 방식의 구현을 하지 않으니 " 자신이 찾을 이미지가 있는 범위의 최소 범위로 지정 "해야합니다. 등록은 일반 스샷 지정하는것과 같이 등록하면 됩니다.


또한 모양 찾기를 선택한 박스위에 보면 선택할 수 있는 체크박스와 스샷이라고 적힌 2개의 모양이 있을겁니다. 해당 채크박스의 왼쪽은 A이미지를 다시 스샷하는 버튼이고 오른쪽 체크박스는 B이미지를 다시 스샷하는 버튼입니다. A이미지를 다시 스샷해서 이미지를 가져오게 되면 내가 찾아야할 이미지가 그 자리에 있으면 상관없는데 없으면 이상한 이미지가 오게 되니 왼쪽의 체크박스는 왠만하면 체크하지 마시기 바랍니다. 오른쪽의 경우 내가 가져온 이미지와 다른 현재의 이미지를 가져와야 하기 때문에 꼭! 체크를 하고 진행을 해야합니다. 


정리하면 첫번째로 " A = 내가 찾을 이미지 "  / " B = 내가 이미지지를 찾을 범위 "로 지정을 하시면 되고 두번째로는 " 모양찾기 위에 오른쪽 B 이미지에  대한 다시 스샷 새로 찍기를 체크 "를 꼭 하셔야 됩니다. 하나라도 안 지켜진다면 잘 안됩니다. 추가로 왼쪽거를 쓰는 경우는 아마 이름 그대로 모양 찾기 때 쓰입니다.  테트리스 처럼 오른쪽 위에 블럭이 나타나는 공간이 고정되고 왼쪽에 플레이하는 곳이 나타나는 방식의 프레임이 있다면 왼쪽의 스샷을 찍어서 새로운 이미지가 나타날 때마다 내가 찾을려고 하는 이미지도 바꿔줘야겠죠. 하지만 그런 게임들을 본적이 없어서 아마 쓰일 일이 많지는 않을 겁니다.


스샷 기능 + 변수 (범위 스샷 추가)

범위 스샷의 경우 어렵지 않게 모양찾기를 이용해서 사용할 수 있지만 원래는 그룹변수에 지정하는 범위를 가지고 하는것이 정식적인 방법입니다. 하지만 이 방법이 초보자들에게는 조금 어려울 수 있어서 먼저 모양 찾기를 통해서 가르쳐 드리는 겁니다. 저도 특별한 경우 아니면 해당 내용을 잘 사용하지 않습니다.


1. 모양찾기와 정식범위스샷 기능 차이점

자세한 사용법에 앞서 설명을 드리면 2개의 기능의 차이점은 스샷의 고급 기능은 이미지효과 기능이 적용이 되냐? 안되냐?의 차이입니다. 모양 찾기의 경우 이미지효과를 통해서 이미지의 인식률을 높이거나 하는 효과들이 적용되지 않습니다. 그러므로 범위 검색 중 이미지 인식이 잘되지 않는 이미지를 효과로 잘 인식되게 할 수 있지만 그걸 사용하지 못하는 거죠. 대신 범위가 아닌 일반 판단을 사용하는 경우에는 됩니다. 


2. 정식 범위스샷 기능 사용법

(그림6)


우선 그룹목록을 살펴보도록 하겠습니다.  왼쪽과 오른쪽을 보면 왼쪽에는그룹 "을 선택하면 나오는 창이고 오른쪽은룹요소 "를 선택하면 나오는 창입니다. 거의 비슷하지만 조금씩 다른 기능의 차이를 보여줍니다. 그 중 빨간색 박스한 부분을 보면 왼쪽에는 서치영역이라고 되어 있고 오른쪽에는 클릭좌표라고 되어 있습니다. 그룹요소가 들어있는 그룹에는 서치영역을 지정할 수 있는 요소가 있고 대신 클릭하는 좌표가 없습니다. 이 말은 그룹안에 있는 모든 요소들이 서치영역을 가지고 검색한다는 이야기 입니다. 


앞에서 모양찾기 범위를 지정 할 때처럼 그룹에다가 서치영역을 설정하고 그룹 요소에는 자신이 찾을 이미지들을 넣으시면 됩니다. 모양 찾기 처럼 2개의 그룹요소를 사용하지 않는다는 점에서 다릅니다. 그리고 해당 범위스샷을 이용하기 위해서는 판단이라는 스크립트를 사용할 것입니다. 그리고 스크립트 설정하는 부분을 보면 또 다른 요소들이 있습니다.


(그림7)


그림을 보면 그룹을 지정하는 창에 " [그룹,0] "이 아닌 " [그룹] "이라고 지정된걸 볼 수 있습니다. 마우스 클릭편에서 말씀드린 그룹안의 요소들을 전부 이용할 때 사용했던 방식입니다. 그룹을 선택하고 왼쪽의 화살표는 " ↕ "로 바꾸면 그룹안의 있는 모든 요소를 확인하게 됩니다. 그리고 그 안에 있는 모든 요소가 전부 그룹에서 정한 서치영역에 맞춰서 검색을 하게 되어있습니다. 여기서 몇 가지 규칙과 룰이 정해지게 됩니다.


정식 범위스샷을 이용하기 위해서 지켜야 할 규칙

1. 그룹에 스샷 범위에 대한 좌표가 입력되어 있어야 한다.

2. 판단에 그룹 및 그룹요소를 선택 후 " = "을 제외한 다른 규칙으로 선택이 되어야 한다.

3. 한 그룹에 그 범위에 있는 스샷의 이미지만 있어야 한다. (있어도 되지만 검색되지 않는다.)

4. 그룹의 요소의 개수 + 1개 만큼의 분기가 있어야 한다. (마지막 분기는 검색이 되지 않았다는 판단)


위의 4개의 규칙을 지켜서 한다면 스샷이 찾아지는대로 분기를 하게 되고 만약에 못찾았을 때 다시 찾고 싶으면 마지막 분기에 다시 이동을 해서 스샷을 찾으면 스샷을 반복해서 하는 구간이 될 수 있다.


동영상강의 및 마치면서

이번 강의를 마치셨다면 변수 부분이 조금 어렵겠지만 매크로를 만들 수 있는 80%의 강의는 다 배우신겁니다. 나머지 강의는 지금과 같이 어렵지 않지만 알고 있으면 좋은 내용들로 구성되어 있으니 포기하지 마시고 계속 공부하시면 좋은 결과를 얻을 수 있을실겁니다. 강의에서는 2개의 강의로 나뉘어져 있으니 참고하시기 바랍니다.




구독을 하시면 이후에 나오는 카카오토 강의도 알림을 받을 수 있으니 구독해주시고 영상 추천및 아래에 좋아요 해주시면 감사하구요. 댓글을 적어주시면 내용을 반영해서 강의하도록 하겠습니다.

반응형

댓글