RoyBaby Viewer가 지금까지 갖춘 것들
RoyBaby Viewer는 한국어를 쓰는 Second Life 이용자를 위해 만들고 있는 뷰어입니다. 바닥부터 새로 짠 것은 아니고, 오픈 소스로 공개된 Firestorm 7.2.4 소스를 가져와 손보는 방식으로 만들어지고 있습니다. 안에 들어 있는 뷰어 코드는 26.1.1 계열이고, Second Life뿐 아니라 OpenSim 그리드에도 붙을 수 있게 컴파일되어 있습니다.
아래는 지금까지 실제로 손에 잡히는 것만 적었습니다. 계획만 세워 둔 것은 맨 끝에 따로 모아 두었습니다.
한국어를 제대로 쓰는 일부터
화면 글자만 한국어로 바꿔 놓은 뷰어는 전에도 있었습니다. 걸리는 것은 조사입니다. "[이름]을 초대했습니다" 같은 문장에서 이름이 무엇이냐에 따라 을과 를, 은과 는, 이와 가가 달라지는데, 원본 뷰어는 이것을 가리지 못해 "을(를)" 같은 표기를 그대로 내보냅니다. RoyBaby Viewer는 문장을 조립하는 자리에서 앞 글자의 받침을 보고 조사를 고르도록 고쳐 두었습니다. 350곳가량이 이 처리를 거칩니다.
한글 이름이 목록에서 지워지던 문제도 잡았습니다. 인벤토리 항목 이름의 UTF-8 바이트를 부호 있는 값으로 읽는 바람에 한글이 전부 음수로 나왔고, 뷰어가 그것을 제어문자로 보고 공백으로 바꾸고 있었습니다.
버튼과 목록이 좁아 한글이 잘리던 자리 78곳도 폭을 넓혔습니다. 설치를 시작할 때 고르는 언어 목록에도 한국어가 들어가 있습니다.
한글이 겹쳐 찍히던 문제
"라고"를 치면 "고고"가, "맨날"을 치면 "맨맨"이 찍히는 일이 있었습니다. 렉이 걸릴 때 특히 심했습니다. 원인은 윈도우 입력기가 넘겨준 조합 중인 글자를 뷰어가 한 박자 늦게 읽어 가는 데 있었습니다. 읽으러 갔을 때는 이미 다음 글자로 바뀐 뒤라 앞 글자가 한 번 더 확정되는 것입니다. 조합 내용을 넘겨받은 그 자리에서 바로 읽어 두도록 바꾸었습니다.
파이어스톰과 나란히 두고 쓸 수 있습니다
RoyBaby Viewer는 자기 창 이름과 자기 설정 폴더를 씁니다. 파이어스톰이 켜져 있는 상태에서도 설치와 실행이 되고, 두 뷰어의 설정이 서로를 건드리지 않습니다. 쓰던 뷰어를 지우고 갈아타야 하는 것이 아니라, 한동안 둘 다 두고 비교해 보셔도 된다는 뜻입니다.
찾는 데 걸리는 시간을 줄였습니다
상단 메뉴 막대는 아바타, 커뮤니티, 월드, 빌드, 도움말 다섯 개로 줄였습니다. 쓰지 않는 항목이 줄어든 만큼 눈이 덜 헤맵니다.
Ctrl+F를 누르면 통합검색이 열립니다. 인벤토리 항목과 메뉴, 환경설정 항목을 한자리에서 찾습니다. 사람과 토지, 이벤트를 찾던 기존 웹 검색은 Ctrl+Alt+F이고, 두 창은 지금 하나로 합쳐져 통합검색이 그 창의 첫 탭으로 들어가 있습니다. 인벤토리가 5만 개를 넘는 계정에서 검색어를 넣어 결과가 제대로 나오는 것까지는 확인하였습니다. 그 규모에서 얼마나 빠른지는 아직 재 보는 중이라, 느리다고 느끼시면 알려 주십시오.
인벤토리 정리
처음 로그인하실 때 로이 베이비 전용 폴더를 하나 만들고, 그 아래에 44개 폴더를 한국어와 영어를 나란히 적어 만들어 둡니다. 이미 같은 이름이 있으면 건너뛰고, 있던 것을 옮기거나 지우지 않습니다. 나중에 다시 만들고 싶으시면 메뉴에서 직접 부르실 수 있습니다.
받은 물건을 종류와 이름으로 판단해 알맞은 폴더로 옮기는 것도 들어가 있습니다.
이름 바꾸기는 별명 설정을 겸합니다. 한글이 섞여 있으면 이 PC에서만 보이는 별명으로, 없으면 서버 원본 이름을 바꿉니다. 이 동작이 싫으시면 설정에서 끄실 수 있습니다.
화면 쪽 손질
UI 크기는 눈금을 끌어 맞추지 않고 숫자를 직접 넣을 수 있습니다. 윈도우 11에서 배율 상한이 잘못 잡히던 문제도 같이 고쳤습니다. 테두리 없는 전체화면은 Ctrl+P 환경설정의 그래픽 탭에 있습니다. 우클릭 메뉴는 원형이 아니라 직사각형이 기본입니다.
테마는 Aurora가 기본이고 Aurora Dark, Aurora Deep을 함께 넣었습니다. 툴바 아이콘은 48픽셀로 다시 그렸습니다. 버튼이 아이콘을 원본보다 크게 그리지 않는 탓에, 18픽셀짜리는 화면을 키워도 계속 18픽셀이었기 때문입니다.
상단 시계에는 한국 시각과 Second Life 시각을 나란히 띄웁니다.
뷰어 안에서 이벤트 보기
Ctrl+E를 누르거나 하단 툴바의 달력 버튼을 누르면 이 사이트의 이벤트 목록이 뷰어 안에서 열립니다. 밖의 브라우저를 부르지 않습니다. 카드에 붙은 장소 링크를 누르면 사진과 설명, 순간이동 버튼이 있는 장소 창이 그대로 열립니다.
켜지는 데 걸리는 시간
시작이 12초 빨라졌습니다. 파이어스톰 데이터 서비스를 껐을 때 완료 표시를 세우지 않아, 받을 것이 없는데도 15초짜리 시간 제한을 매번 꽉 채워 기다리고 있었습니다.
성능 기본값은 목표 프레임 60, 자동 조절 켬, 시야 최소 64미터, 캐시 12기가바이트, 아바타 복잡도 상한 350,000으로 두었습니다.
파이어스톰 흔적 정리
로그인 화면이 파이어스톰 홈페이지를 띄우던 것을 우리 환영 페이지로 바꾸었습니다. 도움말 링크 30종도 이 사이트로 옮겼습니다. 윈도우 알림에 뜨던 아이콘, 인월드에서 남에게도 보이는 선택 빔 모양처럼 사실상 남의 브랜드가 노출되던 자리도 함께 정리하였습니다.
남겨 둔 것도 분명히 적어 둡니다. LGPL 라이선스 고지와 파이어스톰 출처·기여자 표기는 그대로 둡니다. 남의 것을 가져다 쓰면서 출처를 지우는 것은 할 일이 아닙니다. 쓰고 계시던 파이어스톰 인벤토리 폴더 이름도 건드리지 않습니다.
버전 표기
버전은 1.0.0 뒤에 빌드 번호를 붙이는 방식입니다. 빌드할 때마다 뒷자리가 하나씩 오릅니다. 전에는 파이어스톰 쪽 숫자가 그대로 찍혀 새로 빌드해도 번호가 그대로였습니다. 업데이트 채널 이름은 Roy 채널입니다.
아직 준비 중인 것
여기까지가 지금 손에 잡히는 것이고, 아래는 아직 아닙니다.
선택한 글이나 머리 위에 떠 있는 글을 그 자리에서 번역하는 기능은 화면과 설정까지 들어가 있지만, 지금 구조로는 번역 서비스 열쇠를 이용자가 직접 넣어야 동작합니다. 그 과정을 신경 쓰지 않아도 되게 만들 방법을 정하는 중이라 아직 준비 중으로 둡니다.
파이어스톰의 LSL 브리지에 해당하는 Roy Bridge는 이름만 정해 두었고 아직 손대지 않았습니다. 접속한 지역과 아바타 이름을 디스코드 프로필에 띄우는 기능은 무엇을 어디까지 표시할지까지 정해 두었으나 아직 켜지 않았습니다.
상단 오른쪽 메뉴 검색에 영어 낱말을 넣으면 걸리지 않는 것도 알고 있습니다. 화면에 보이는 이름만 모아 두고 있어서 한국어로 바꾼 뒤로 영어가 하나도 안 걸리게 되었습니다. 한국어 이름과 영어 원문을 함께 넣도록 고치는 중입니다.
"이건 이렇게 되었으면 좋겠다" 하는 것이 있으시면 로이 베이비 뷰어 게시판에 남겨 주십시오. 만드는 도중이라 지금이 반영할 여지가 가장 큰 시기입니다.
댓글 0