https://gall.dcinside.com/mgallery/board/view/?id=onshinproject&no=691289

예전에 내가 원갤에 썼던 글 복붙임

알고보니 챈에는 안 썼더라고


기능은 그냥 캐릭터 표시 밑에 현재 E 쿨타임 돌아가는 걸 보여주는 프로그램임

OCR이란 광학문자인식 방식을 사용하므로 게임 내 데이터는 전혀 건드리지 않으니 정지먹을 가능성은 없다고 봄

*) 2020년 10월부터 써서 지금(21년 07월)까지도 쓰고 있음. 개인적으론 문제없다고 봄



받는 곳

https://github.com/priprii/GenshinOverlay/releases/tag/v1.5


제작자가 버전업을 안 해줘서 다국어 지원도 안되고 초기 위치값 검출이 제대로 작동이 안된다

그래도 설정값 고치는게 있어서 쓸 수는 있다




1) 일단 원신을 먼저 켜두자

원신은 **테두리 없는 전체창모드**로 실행되어야 함

전체창모드 하는 법은 BorderlessGaming이란 외부 프로그램 사용하는 걸 추천


BorderlessGaming로 전체창모드 설정하기 : https://gall.dcinside.com/mgallery/board/view/?id=onshinproject&no=47960






2) GenshinOverlay.exe 실행

그 뒤 GenshinOverlay.exe를 시작하면 아래처럼 설정 파일이 없다고 설정부터 하라고 한다





3) GenshinOverlay 기본 설정

일단 Configure Overlay를 눌러주자


뭐라뭐라 뭐시깽이들이 많이 뜬다


일단 다 필요 없고 두개만 먼저 설정하자




3-1) Party Numbers

Party Numbers 항목을 설정할거다

우측에 [4#1 · ]이 보일건데, 이 항목을 각각 파티원 숫자 흰박스의 숫자 좌상단에 갖다놔야 한다



X Pos와 Y Pos의 값을 조절해서 위 스크린샷 처럼 위치하게 해준다

Y Pos 옆 를 눌러 4#2, 4#3, 4#4도 위치를 수정해주자

마우스 드래그로 값 미세조절이 힘들면 값 스크롤바 위에서 휠 돌리면 값 미세조절 가능하다


4#1은 [파티원 4명 구성 중 1번째 항목]을 뜻하는데,

보통 4명 다 넣고 겜할테니 4#1~4#4까지만 설정해주고 3#1, 2#1, ... 등은 설정 안해도 된다



이렇게 됐다면 3-1)은 끝이다




3-2) Bar Appearance


이제 쿨타임을 보여줄 저 빨간색, 보라색 막대의 위치를 옮길 차례다

아래 옵션값들을 설정해주면 됨


X Pos : 좌, 우 위치

Y Pos : 상, 하 위치

Width : 막대 넓이

Height : 막대 높이

X Offset : 막대간 가로 간격. 0 이외의 값을 설정 시 쿨타임 바를 가로로 정렬함

     캐릭터 밑에 쿨타임 바를 놔두지 않고, 화면 하단 등에 배열하고 싶다면 X Offset을 사용하면 됨

Y Offset : 막대간 세로 간격. 쿨타임 바를 세로로 정렬함(기본값)

Sel. Offset : 현재 선택중인 캐릭터의 쿨타임 바의 가로 위치값을 설정(기본 0)

Style : 0,1 : 네모박스 / 2 : 끝이 둥근 박스 / 3 : 끝이 뾰족한 박스 / 4 : 원형 타이머

FG1 Colour : 재사용대기 중 쿨타임 바 색깔 (비활성화 중인 파티원)

FG2 Colour : 쿨타임 완료된 쿨타임 바 색깔 (파티원 전원)

BG Colour : 쿨타임 바 배경색 (기본 검정)
SEL Colour : 재사용대기 중 쿨타임 바 색깔 (활성화 중인 파티원)


뭔 말인지 모르면 직접 설정해보면 될거임

기본적으론 Y Pos와 Y Offset만 설정해줘도 됨

3-2)까지 설정이 끝나면 화면이 다음과 같이 되었을 것임




3-3) 재사용대기 시간 텍스트 위치 설정



하단 빨간 칸의 위치를 재사용대기 시간 숫자가 뜨는 부분이 가운데로 가게 맞춰주면 됨

Cooldown Text 1의 값을 수정해주면 된다


Cooldown Text 2는 모나를 쓰는 사람만 설정해주면 됨

모나는 E 스킬 위치에 다른 스킬이 표시되어서, 다른 캐릭들 E스킬 위치 왼쪽에 모나 E스킬이 위치됨


여기까지 하면 기본 설정은 끝임




4) 기타 설정


기본설정만으로도 겜은 할 수 있지만, 몇몇 캐릭터를 사용할 때 문제가 될 수 있음

예를 들어 피슬은 쿨이 25초이지만, 스킬 사용했을 때 오즈 위치 재소환 쿨이 돌아가는걸로(1.5초) 보이기 때문에

이대로 사용하면 재사용시간 문자 인식이 제대로 안 됨

그래서 Cooldown Override 쪽 설정을 바꿔줘야 함



4-1) Cooldown Override 설정

예를 들어 피슬을 2번 자리에 넣어두고 쓴다면, Cooldown Override의 #2를 피슬E 쿨타임인 25로 바꿔줘야 함

다른 자리에도 피슬이 들어갈 일이 있다면 해당 #숫자 란에 쿨타임을 적어주면 된다

그 외의 캐릭이 저 자리에 들어가도 하단 Cooldown Properties 설정 덕에 쿨타임 바는 정상작동 되니 신경쓸 것 없음


4-2) Cooldown Properties 설정

이 메뉴는 사실 건들 필요가 없으나 설명은 하고 넘어감


Max : 

OCR 엔진이 제대로 작동 안되어서 값을 제대로 못 읽는 경우에 작동될 재사용 대기 시간 최대 가정값을 여기에 설정함

보통 내 캐릭군 내에서 가장 높은 재사용 대기 시간을 가진 캐릭터보다 큰 값을 설정함


Offset : 

쿨타임 바가 실제 재사용 대기 시간보다 늦거나 빨리 끝날 때, 시간을 조정해줄 값으로 사용됨

(-)로 하면 그만큼 더 빨리 끝나고, (+)로 하면 더 늦게 끝남


Reapply : 

OCR 엔진이 값을 검출하기 전, 최소 재사용 대기 시간으로 사용될 초단위 값임

OCR 엔진이 항시 돌아가는게 아니라 0.1초 단위로 돌아가서 실제 쿨타임과 차이가 날 수 밖에 없는데, 그 간격을 최소화 해주고자 사용함

Override 값보다 크면 안됨


Override : 

OCR 엔진이 읽어들인 재사용 대기 시간이 이 항목 값보다 작으면 Cooldown Override에서 설정된 값을 쿨타임으로 사용함

여기에 2초가 설정되어 있어서, 피슬 스킬 사용 시 오즈 위치 재소환 쿨(1.5초) 값이 무시되고 Cooldown Override에 설정한 25초가 돌아간다는 이야기임

만약 피슬 외의 다른 캐릭이 들어가는 경우라도 하단 Cooldown Properties 쪽에 Override 값이 2로 되어 있으므로,

2초가 넘는 재사용시간이 감지될 경우, 감지된 시간 기준으로 쿨타임 바가 돌아가므로 사용에 문제 없음


Pause Sub : 

게임이 일시 중지될 때마다 남은 재사용 대기 시간을 빼서 일시 중지 해제 후 재사용 대기시간이 감지되지 않는 프레임을 보충하는 값


Tick Rate : 

재사용 대기 시간이 계산된 뒤 쿨타임 바가 업데이트되는 속도


OCR Rate : 

OCR 엔진이 작동할 시간 단위. 기본 0.1초. 짧을 수록 CPU 부하가 커짐


Confidence : 

OCR 엔진이 재사용 대기 시간 값을 반환하기 전에 가져야 하는 최소 신뢰도(정확도)



실 사용은 4)까지 해줬으면 끝이다 하단 5)는 안해줘도 된다


5) 텍스트 설정


말 그대로 텍스트를 띄워준다

나는 쿨타임 바 크기 키우고 거기다가 글자 넣어서 쓰고 있음


Ready Text : E스킬 준비 완료일 때 표시할 텍스트

0 Prefix : 남은 초 단위가 한자리 수일 때, 앞에 0을 붙여줄 것인가, 뺄 것인가 여부 체크

Decimal : 소숫점 단위 표시 개수

FG1T Colour : 재사용 대기 중 쿨타임 숫자 색깔 (비활성화 중인 파티원)

FG2T Colour : 쿨타임 완료된 Ready Text 색깔 (파티원 전원)

BGT Colour : 쿨타임 글자 테두리 색
SELT Colour : 재사용 대기 중 쿨타임 숫자 색깔 (활성화 중인 파티원)





아몰랑 다귀찮다 하는 사람은 그냥 1080p랑 1440p 설정 만들어뒀으니 그거 써라

근데 이거 개발자가 이후 업데이트 예정이 없는듯

내가 만든게 아니라서 이거 외않됀데 같은 질문 안받음

오작동 시 니가 설정 고치는게 더 빠름


설정프리셋 (GenshinOverlay.Config.ini 에 복붙)

1920x1080 (1080p)

{

  "PartyNumBarOffsets": [

    0,

    41,

    89

  ],

  "CooldownTextLocation": "1668, 978",

  "CooldownTextSize": "49, 27",

  "CooldownText2LocationX": 1563,

  "PartyNumLocations": {

    "4 #1": "1863, 260",

    "4 #2": "1863, 355",

    "4 #3": "1863, 452",

    "4 #4": "1863, 548",

    "3 #1": "1863, 392",

    "3 #2": "1863, 488",

    "3 #3": "1863, 582",

    "2 #1": "1863, 446",

    "2 #2": "1863, 536"

  },

  "CooldownBarMode": 3,

  "CooldownBarLocation": "1694, 293",

  "CooldownBarXOffset": 0.0,

  "CooldownBarYOffsets": [

    96.0,

    96.0,

    96.0

  ],

  "CooldownBarSize": "64, 9",

  "CooldownBarBGColor": "#97010101",

  "CooldownBarFG1Color": "#FF6D45B4",

  "CooldownBarFG2Color": "#FFDA3A4D",

  "CooldownBarSelectedFGColor": "#FF6D45B4",

  "CooldownBarSelOffset": 0,

  "CooldownBarTextOffset": {

    "IsEmpty": false,

    "X": 0.0,

    "Y": -4.7

  },

  "CooldownBarTextFont": "휴먼둥근헤드라인",

  "CooldownBarTextFontSize": 11.0,

  "CooldownBarTextReady": "READY",

  "CooldownBarTextZeroPrefix": true,

  "CooldownBarTextDecimal": 0,

  "CooldownBarTextBGColor": "#FF242424",

  "CooldownBarTextFG1Color": "#FFB7B7B7",

  "CooldownBarTextFG2Color": "#FFFDFF00",

  "CooldownBarTextSelectedFGColor": "#FFFFFFFF",

  "CooldownOverride": [

    0,

    15,

    0,

    0

  ],

  "ProcessName": "GenshinImpact",

  "PauseDelay": 500,

  "CooldownTickRateInMs": 10,

  "CooldownOCRRateInMs": 100,

  "CooldownMaxPossible": 90,

  "CooldownOffset": -0.8,

  "CooldownPauseSubtraction": 1.0,

  "CooldownMinimumReapply": 1.0,

  "CooldownMinimumOverride": 2.0,

  "OCRMinimumConfidence": 0.9,

  "OCRScaleFactor": 3.5,

  "OCRPadding": 10,

  "OCRNoiseSize": 5,

  "OCRNoiseConnectivity": 8,

  "OCRNoiseType": 5,

  "OCRNoiseRelation": 2,

  "ConfigTheme": 2

}

2560x1440 (1440p)

{

  "PartyNumBarOffsets": [

    0,

    55,

    209

  ],

  "CooldownTextLocation": "2223, 1304",

  "CooldownTextSize": "66, 36",

  "CooldownText2LocationX": 2084,

  "PartyNumLocations": {

    "4 #1": "2484, 347",

    "4 #2": "2484, 475",

    "4 #3": "2484, 603",

    "4 #4": "2484, 731",

    "3 #1": "2484, 523",

    "3 #2": "2484, 651",

    "3 #3": "2484, 776",

    "2 #1": "2484, 557",

    "2 #2": "2484, 681"

  },

  "CooldownBarMode": 3,

  "CooldownBarLocation": "2260, 390",

  "CooldownBarXOffset": 0.0,

  "CooldownBarYOffsets": [

    127.6,

    128.0,

    128.0

  ],

  "CooldownBarSize": "83, 13",

  "CooldownBarBGColor": "#8D020202",

  "CooldownBarFG1Color": "#FF6D45B4",

  "CooldownBarFG2Color": "#FFDA3A4D",

  "CooldownBarSelectedFGColor": "#FF6D45B4",

  "CooldownBarSelOffset": 0,

  "CooldownBarTextOffset": {

    "IsEmpty": false,

    "X": 0.0,

    "Y": -8.4

  },

  "CooldownBarTextFont": "휴먼둥근헤드라인",

  "CooldownBarTextFontSize": 13.0,

  "CooldownBarTextReady": "READY",

  "CooldownBarTextZeroPrefix": true,

  "CooldownBarTextDecimal": 0,

  "CooldownBarTextBGColor": "#00000004",

  "CooldownBarTextFG1Color": "#FFB7B7B7",

  "CooldownBarTextFG2Color": "#FFFDFF00",

  "CooldownBarTextSelectedFGColor": "#FFFFFFFF",

  "CooldownOverride": [

    0,

    15,

    0,

    0

  ],

  "ProcessName": "GenshinImpact",

  "PauseDelay": 500,

  "CooldownTickRateInMs": 10,

  "CooldownOCRRateInMs": 100,

  "CooldownMaxPossible": 90,

  "CooldownOffset": -0.8,

  "CooldownPauseSubtraction": 1.0,

  "CooldownMinimumReapply": 1.0,

  "CooldownMinimumOverride": 2.0,

  "OCRMinimumConfidence": 0.9,

  "OCRScaleFactor": 3.5,

  "OCRPadding": 10,

  "OCRNoiseSize": 5,

  "OCRNoiseConnectivity": 8,

  "OCRNoiseType": 5,

  "OCRNoiseRelation": 2,

  "ConfigTheme": 2

}