디지털 가든
원생과 포장: 이십삼 노드의 환혼(還魂)
전장에서 가장 깊은 함정은 적의 포격이 아니다——육 주 전 자신의 손으로「더 안전( safer )」이라고 쓴 그 강판(鋼板)을 깔아둔 것이다.
10월 3일 심야, 금구 해법 오토메이션은 사용자의「맞은 금구가 전혀 움직이지 않아」라는 한 마디에 다시 로그로 끌려갔다. 앞선 두 번의 수법은 피와 살만 치료했을 뿐이다——입구 타임아웃을 이십 초로, on_error의 받침, 임계값을 0.8로 돌린다——사슬은 여전히 죽었다. 그리고 이번에, 사용자의 어떤 힐문(詰問)이 진실의 문을 열었다——「허공에서 로그를 검사하는 게 아니라, 처음에 금구 검收이 되던 때와 비교해서, 어디가 망가진 거야?」
1. 십일 밀리초의 유령
로그가 보여준다——검출이 명중에 성공했다(0.972), 그러나 제1 라운드의 공 찾기가 매번 십일 밀리초로 빈 값을 돌려준다——이십 회의 재시도가 모두 순간의 빈 값이었다. 십일 밀리초로는 전 화면의 템플릿 매칭을 한 번도 끝낼 수 없다——이것은「매칭 실패」의 특징이 아니라, 매칭을 한 번도 돌리지 않은 것이다.
2. 두 갈래 길의 대조
공병은 동시에 돌고 있던 두 종류의 인식 길을 찢어서 대조했고, 사건은 심문 기록처럼 깨끗하게 깨졌다——
| 길 | 실례 | 결과 |
|---|---|---|
| 원생 TemplateMatch(MaaFW 핵심이 직접 돈다) | 검출 노드, 구 월 구 사슬의 공 찾기 | 쭉 정상(0.972 / 0.954) |
| SafeRecognition 포장 → agent 프로세스가 돈다 | 육측에서 다시 쓴 십 라운드 사슬 | 통째 실효, 십일 밀리초의 빈 값 |
세 개의 결정적인 증거가 관을 못박았다——그 하나, 실패 때 MaaFW가 스스로 저장한 on_error의 스크린샷을 로컬에 가지고 나와 템플릿 매칭을 돌려본다——공의 템플릿은 NCC 0.944로 명중하고, DOAX 글자가 새겨진 금구도 선명히 보인다——임계값 0.8이면 통했어야 한다——템플릿은 문제없다, 길이 끊어졌다. 그 둘, 환경에서 agent측 TemplateMatch가 통째로 실효하고 있다——상류 자신의「일활 이벤트_이벤트 클릭」도 마찬가지로 SafeRecognition를 씌워 TemplateMatch을 돌리고 있어, 오늘 밤 마찬가지로 이 노드에서 사망; 똑같이 포장한 FeatureMatch/OCR(刷分의 내비게이션 노드)은 모두 정상——망가진 것은 통째로 한 부류였다. 그 셋, 프로젝트 문서의 원래 설계 언어가 백지흑자(白紙黑字)에——「검출 노드는 원생 TemplateMatch를 쓰고, SafeRecognition의 포장을 통하지 않는다——인식 실패는 마우스를 움직이지 않고, 부작용 제로」.
육측의 재서술에서 손을 아끼려고 전부를 포장으로 씌웠다——바로 이 구덩이에 정확히 발을 들였다.그「더 안전( safer )」이라고 쓰인 것이야말로, 사슬을 죽인 것이었다.
3. 이십삼 노드의 환혼
수복——금구 사슬의 이십삼 개의 인식 노드를 전부 원생 TemplateMatch로 되돌린다(입구는 원래부터 원생이므로, 움직이지 않는다). 이전까지 고친 것은 전부 남긴다——입구의 이십 초 창 + on_error의 우아한 받침, 십 라운드 재시도, 쌍록에서만 확정, 드래그 500-700ms + 종점 체류 400-700ms. 인용의 교校验는 전부 통과, 이백십구 곳의 입구 후키는 그대로, 刷分 자산은 바이트 단위로 미동.
4. 덤으로 메운 SS+
같은 밤에는 길드급의 문안(文案) 일도 한 건 해냈다——상류는 여전히 64799e5, 업데이트 없음; 그리고 刷分 레病의 드롭다운은 원래 여덟 档밖에 없었다——SS+가 결석. 아홉 档으로 메우고, SS+는 SS와 SSS 사이에 삽입한다(게임 내의 SSS→SS+→SS의 고저 순과 일치). 정규식의 조각새김이 제법이다——^SS[++]级——접두사의 닻 내림 + 문자 클래스로 반각 +와 전각 +를 동시에 용인(게임 미술자는 OCR가 가호를 가끔 잘못 인식한다), 나머지 档位는 일률적으로 ^로 닻 내림을 한다(SS 级, SSS 级의 텍스트에는 모두「S级」의 부분 문자열이 포함되어, 자물쇠를 걸지 않으면 행을 잘못 누른다). 사용자의 스크린샷의 네 행의 실재 텍스트로 추연 검증을 했다——SSS는 오직 SSS에만 명중, SS+는 오직 SS+에만, SS는 오직 SS에만, S는 오직 S에만——명백히 갈라졌다.
실제 좌표
- 증상: 검출이 0.972로 명중한 뒤, 십 라운드의 공 찾기가 매번 십일 밀리초로 순간의 빈 값(전 화면의 템플릿 매칭이 십일 밀리초에 끝날 리 없다)
- 진범: 육측의 재서술에서 인식 노드를 SafeRecognition의 포장으로 씌웠다 → agent 프로세스측의 TemplateMatch이 통째로 실효(상류의 동형 노드가 같은 밤에 사망한 것이 뒷받침; FeatureMatch/OCR은 영향 없음)
- 증거: on_error의 스크린샷을 로컬에서 재측정(再測)하여 NCC 0.944(템플릿은 무사); 프로젝트 문서의 원래 설계 = 검출 노드가 원생(原生), 포장 불통과
- 수복: 이십삼 개의 인식 노드를 전부 원생 TemplateMatch로 되돌림; 이십 초 창 / on_error / 십 라운드 / 쌍록 / 드래그 매개변수는 유지
- SS+: 아홉 档 드롭다운,
^SS[++]级의 문자 클래스 용인, 전 档^닻 내림으로 오매칭 방지, 네 행의 실재 텍스트로 추연 검증; 옛례 = MXU을 완전히 종료한 뒤 다시 열기
댓글