웹에 최적화된(WebGL) 게임 출력
검증 환경
- 윈도우
-
- 윈도우 10
- 윈도우 11
- Unity 에디터
-
- 2020.3.25f1
처음에
Unity 에디터에서 만든 게임은 Unity 에디터에서 실행할 수 있지만, 다른 환경에서는 독립적으로 실행할 수 없습니다. 이 섹션에서는 웹 브라우저에서 게임을 실행하는 형식인 WebGL로 게임을 출력하는 방법에 대해 설명합니다.
출력에는 일정 시간이 걸리기 때문에 에디터에서 정상적인 개발과 디버깅을 하고, 타깃 환경에서 테스트하고 싶을 때 출력하는 것이 좋습니다.
WebGL의 모듈식 설치
WebGL을 사용하려면 추가 모듈이 필요합니다.
Unity Hub를 실행하고 왼쪽 메뉴에서 설치를 선택합니다. WebGL을 설치하려는 버전의 톱니바퀴 아이콘을 클릭하고 모듈 추가를 선택합니다.
설치할 플랫폼 그룹에서 "WebGL Build Support"를 체크합니다.
설치가 완료될 때까지 기다립니다.
출력할 게임에 대해
"2D 플랫포머 마이크로게임"을 게임으로 출력하며, 새 프로젝트를 생성할 때 선택할 수 있습니다. 물론 이미 게임을 만들었다면 그 게임을 출력하십시오.
Unity 에디터가 시작되고 프로젝트가 로드됩니다.
웹용 게임 출력
메뉴에서 파일(File) > 빌드 설정(Build Settings)을 선택합니다.
"빌드 설정"다이얼로그가 표시되면 "빌드에 포함 된 장면"에서 사용하고 싶은 장면을 모두 체크합니다.
왼쪽의 플랫폼에서 WebGL을 선택합니다.
메뉴 이름 오른쪽에 Unity 아이콘이 없으면 활성화되지 않은 것이므로 "WebGL"을 선택한 상태에서 오른쪽 하단의 "Switch Platform" 버튼을 클릭합니다.
"WebGL"을 선택하면 설정 항목이 오른쪽에 표시되므로 다음과 같이 설정합니다.
항목 | 설정 값 |
---|---|
코드 최적화 | 속도 |
다른 | 선택 |
설정이 완료되면 "Build" 버튼을 눌러 출력합니다. 출력 후 바로 실행하려면 "빌드 및 실행" 버튼을 클릭합니다.
프로그램의 출력 대상을 지정합니다. 일부 파일은 폴더에 생성되므로 빈 폴더를 선택할 수 있습니다. 이름이 같은 기존 파일이 있으면 덮어씁니다. 빌드하는 데 시간이 좀 걸리므로 잠시 기다리십시오.
다음과 같은 방화벽 설정 화면이 표시되면 환경에 따라 권한을 부여하십시오. 확실하지 않은 경우 "비공개"만 선택하여 액세스를 허용하십시오.
빌드가 완료되면 파일이 만들어집니다.
이러한 파일을 직접 실행하여 게임을 실행할 수는 없습니다. 웹 브라우저로 액세스하기 전에 항상 웹 서버가 있어야 하며 게임 프로그램을 그 위에 올려놓아야 합니다.
그러나 프로그램을 출력할 때 "Build and Run" 버튼을 누르면 Unity는 간단한 웹 서버를 실행하고 파일을 출력한 후 게임을 실행합니다. 그러나 이것은 동작 확인 일 뿐이므로 해제 할 때 별도의 Web 서버를 준비해야합니다.
압축되지 않은 WebGL 프로그램 만들기
파일을 출력할 때 설정을 변경하지 않고 출력하면 각 파일이 gzip 압축 형태로 출력됩니다. 이렇게 하면 압축되지 않은 출력에 비해 파일 크기를 크게 줄일 수 있습니다.
그러나 게임을 배치하는 일부 웹 서버는 gzip으로 압축된 파일을 올바르게 처리하지 못할 수 있습니다. 이 경우 프로그램은 압축되지 않은 상태로 출력되어 웹 서버에 배포됩니다.
압축 설정을 변경하려면 빌드 설정 화면에서 WebGL을 선택하고 "플레이어 설정" 버튼을 클릭합니다.
프로젝트 세팅 화면에서 플레이어 메뉴를 선택해야 하므로 하단의 WebGL 설정에서 가시성을 확장합니다.
"압축 형식"이라는 항목이 있으므로 거기에서 "사용 안 함"을 선택하십시오. 덧붙여서 "Brotli"라는 더 압축된 형식도 있지만 비교적 새로운 형식이기 때문에 gzip보다 지원하는 웹 서버가 적습니다.
선택 후 이전과 같이 빌드 및 출력합니다.
덧붙여서 이러한 압축 형식을 사용하거나 사용하지 않고 2D Platformer Microgame을 출력할 때 파일 크기는 다음과 같습니다.
총 압축 형식 파일 크기 | |
---|---|
브로틀리 | 8.1 메가바이트 |
지집 | 10.0 메가바이트 |
올바르지 않음 | 29.6 메가바이트 |