찾기
내용으로 건너뛰기
추적
문서의 이전 판을 선택했습니다!
저장하면 이 자료로 새 판을 만듭니다.
미디어 파일
======Web Player Streaming====== ======Desktop====== 웹 플레이어 스트리밍은 엔드 유저에게 멋진 웹 게임 체험을 제공하는데 대단히 중요합니다. 웹 게임의 아이디어는 플레이어를 진행 바를 보며 기다리게 하기 보다는 최대한 신속하게 게임을 시작할 수 있게 하고 사용자의 콘텐츠를 거의 즉시 볼 수 있게 해 주는 데 있습니다. 이것은 아주 가능한 이야기이며, 이제부터 그 방법을 설명 하겠습니다. =====포탈에 조율하기(Tuning for Portals)===== 이 섹션에서는 게임 포탈에 출시하는 것에 초점을 맞추겠습니다. 스트리밍은 모든 콘텐츠에 유용하며 이는 다른 많은 상황에도 적용될 수 있습니다. 온라인 게임 포탈에서 플레이어는 1MB 정도의 데이터만 다운 받으면 어떤 형태의 게임이 시작 하리라고 예상을 합니다. 이런 형태의 게임을 제공하지 않으면 포탈에서 사용자의 게임을 받아 줄 가능성은 매우 희박합니다. 플레이어의 입장에서는 게임이 빨리 시작하기를 원합니다. 아니면 플레이어는 시간을 낭비하고 창을 닫을 가능성도 있습니다. 128킬로 비트의 케이블 접속에서 사용자는 초당 16KB 혹은 분당 1MB의 데이터를 다운받을 수 있습니다. 이것은 온라인 포탈이 타깃으로 하는 낮은 사양의 대역폭입니다. 이 게임은 아래와 같은 스트림에서 설정 될 경우 최적이 될 것입니다: - 50KB(4 초)로 로고와 메뉴 디스플레이에 - KB로 사용자가 작은 연습 레벨의 게임을 하거나 혹은 메뉴에서 뭔가 재미있는 상호작용을 할 수 있게 해 줍니다(20초) - 800 KB(50초)로 사용하여 초기의 작은 레벨의 게임을 하게 해 줍니다(50초) - 1-5 MB 이내에 전체 게임을 다운 로드 받을 수 있게 해 줍니다(1~5분) 항상 기억해야 할 중요한 포인트는 낮은 접속 속도에서 기다리는 플레이어 입니다. 플레이어를 절대로 기다리게 하지 마십시오. 이제, 사용자의 웹 플레이어가 현재 10MB이라도 실망하지 마십시오. 이를 최적화 하는 것은 어려운 일처럼 보이겠지만 조금만 노력을 기울이면 사용자의 게임을 이런 방법으로 구성하는 작업은 일반적으로 아주 쉽게 이루어 질 수 있습니다. 위의 각 단계를 일종의 개별 장면(scene)으로 생각해 보십시오. 사용자가 게임을 만들었다면, 이미 어려운 부분은 완료를 한 것입니다. 일부 장면을 이러한 로딩 개념으로 재구성 하는 것은 이에 비교하면 식은 죽 먹기에 해당 합니다! 콘솔 로그를 열면 (Console window(''Desktop Platforms'')안에 **Open Editor Log** 버튼; 메뉴 ''OSX''안에 **Help -> Open Editor console log**), 각 개별 장면 파일의 크기를 볼 수 있습니다: <file csharp> ***Player size statistics*** Level 0 'Main Menu' uses 95.0 KB compressed. Level 1 'Character Builder' uses 111.5 KB compressed. Level 2 'Level 1' uses 592.0 KB compressed. Level 3 'Level 2' uses 2.2 MB compressed. Level 4 'Level 3' uses 2.3 MB compressed. Total compressed size 5.3 MB. Total decompressed size 9.9 MB. </file> 게임은 좀 더 최적화를 실행 할 수 있습니다! 더 자세한 정보를 보려면[[ReducingFilesize|reducing file size page]]을 참조하십시오. =====가장 중요 단계들===== #메뉴를 우선 로딩 하십시오. 동영상화 된 메뉴를 보여주는 것도 시간이 지나는 것을 인식하지 못하게 하는 좋은 방법이므로 다운 로딩이 더 진행 될 수 있게 해 줍니다. - 초기 레벨을 짧게 하고 에셋을 많이 사용하지 마십시오. 이렇게 하면, 초기 레벨이 재빨리 로딩 되게 할 수 있고, 플레이어가 이 게임이 1,2분 집중하는 동안 백그라운드에서 모든 에셋의 다운로드를 완료할 수 있습니다. 왜 연습 레벨의 게임을 두어 사용자가 게임 컨트롤을 배우게 하지 않느냐고요? 고해상도의 텍스처나 오브젝트를 로딩하거나 모든 적들이 초기레벨에 있을 이유가 없습니다. 가장 폴리의 수가 (poly-count)가 낮은 것을 사용하십시오. 그렇다 해도 사용자는 웹 플레이어의 입장을 항상 염두에 두고 사용자 게임을 디자인 하여야 한다는 것을 의미합니다. #게임 초기에 모든 음악이 필요할 이유가 없습니다. 음악을 외부에 두고[[ScriptRef:WWW.html|WWW]] 클래스를 통해 로딩하시기 바랍니다. 유니티는 고품질의 codec, Ogg Vorbis의 오디오를 압축합니다. 그러나 압축이 되었을 때에도, 오디오는 많은 공간을 차지하고, 사용자가 3MB 내에 맞추어야 할 경우 5분 분량의 음악이 있다면 이 세상 어떠한 압축 기술도 사용자를 도와 줄 수가 없습니다. 모종의 희생이 필요합니다. 짧은 트랙의 음악을 룹으로 반복하며 추가로 음악을 다운 받을 수 있습니다. 플레이가 첫 레벨에 접속 했을 때 추가 음악을 로딩하십시오. - 해당 들여오기 설정(Import Settings)을 사용하여 사용자의 텍스처를 최적화 하십시오. 음악을 외부화 하고 나면, 텍스처가 게임의 90% 이상을 손쉽게 차지하게 됩니다. 일반적인 텍스처 사이즈는 웹 배치에는 너무 거대합니다. 작은 브라우저 윈도우에서는 경우에 따라서는 대형 텍스처라도 시각적 만족을 전혀 추가해 주지 못합니다. 사용자의 텍스처 사이즈가 필요한 만큼만 커져야 하며 (여기서 더 희생을 준비하여야 합니다). 텍스처 해상도를 반감하면 실제 텍스처 사이즈는 4분의 1이 됩니다. 그리고 물론 모든 텍스처는 DXT로 압축이 되어야 합니다. #일반적으로 사용자 웹 플레이어의 크기를 줄이십시오. 유니티가 파일 사이즈를 최적화 하는데 사용할 수 있는 유틸리티 프로그램에 대하여 설명하는 매뉴얼 페이지가 [[ReducingFilesize|here]]에 있습니다. 비록 유니티가 최첨단의 LZMA-기반 압축기술을 사용하여 게임 데이터를 보통 비압축 데이터의 반에서 1/3의 사이까지 압축해 주지만, 사용자는 할 수 있는 모든 것을 시도할 필요가 있습니다. - T Resources.Load의 사용을 피하십시오. Resources.Load는 한편으로는 무척 편리할 수 있지만, 사용자가 Resources.Load을 사용하면 유니티가 언제 그것들이 처음 쓰일 지를 주문할 수 없을 것입니다. 왜냐하면 아무 스크립트나 그 Resource를 로딩하려고 시도할 수 있기 때문입니다. 사용자는 어떤 레벨에서 //First Streamed Level With Resources// 속성을 사용하여 **Edit->Project Settings->Player**에서 Resources.Load을 통하여 로딩될 수 있는 모든 에셋이 포함 될 지를 정할 수 있습니다. 사용자는 Resources.Load 에셋을 가능한 늦게 사용하거나 아주 사용을 하지 않아야 합니다. =====스트리밍 웹 플레이어의 발행===== 유니티에서 스트리밍은 레벨을 기반으로 하고, 이것을 설정하는 손쉬운 작업 흐름이 있습니다. 내부적으로는, 유니티가 에셋을 추적하고 최적의 압축 데이터 파일로 정리하고, 그것을 사용하는 초기 장면(scene)에 배열하는 등의 굳은 일을 다 수행합니다. 사용자는 단순히 빌드설정(Build Settings)의 첫 레벨이 가능한 적은 수의 에셋을 사용하게만 하면 됩니다. 이것은 자연스럽게 "menu level"이 되지만 최상의 웹 체험을 위해서는 사용자는 첫 번째 실제 게임 레벨에 플레이어가 하는 게임이 작아야 함을 꼭 기억하여야 합니다. 유니티에서 스트리밍을 사용하려면 빌드설정(Build Settings)에서 //Web Player Streamed//을 선택하십시오. 그러면 해당 콘텐츠는 그 초기 레벨에 사용되어야 하는 모든 에셋이 로딩되자 마자 자동으로 실행 됩니다. 그 메뉴 레벨을 50-100 KB 정도 내로 유지하십시오. 해당 스트림은 가능한 한 빨리 로딩하려고 하고 그 자리에서 바로 압축해제 됩니다. 사용자가 빌드 동안/후에 Console을 보면 그 크기를 알 수 있습니다. 사용자는 레벨 별로 스트림의 진행을 질의할 수 있으며, 한 레벨이 사용 가능해지면 로딩이 가능해 집니다. 진행 바를 디스플레이 하려면[[ScriptRef:Application.GetStreamProgressForLevel.html|GetStreamProgressForLevel]] 사용하고, 모든 데이터가 사용 가능하여 특정 레벨이 로딩할 수 있는지 확인하려면[[ScriptRef:Application.CanStreamedLevelBeLoaded.html|CanStreamedLevelBeLoaded]]을 사용하십시오. 이런 형태의 스트리밍은 물론 직선형이며, 대부분의 경우 게임이 작동하는 방식과 일치합니다. 때로는 그것만으로는 충분하지 않습니다. 그러므로 유니티는 [[ScriptRef:WWW.html|WWW]] 클래스를 사용하여 .unity3d file 하나를 수동으로 로딩 할 수 있는 API 들을 사용자에게 제공합니다. 비디오와 오디오도 역시 스트리밍 될 수 있으며, 해당 무비가 먼저 다운로드 되지 않고도 거의 즉시 재생될 수 있습니다. 마지막으로 테스처들도[[ScriptRef:WWW.html|WWW]] 클래스를 통하여 쉽게 다운 받을 수 있고, 사용자 게임에서 필요한 여타의 모든 텍스트나 바이너리 데이터의 경우도 그러합니다. {{tag>유니티 unity}} * 출처: [[http://unitykoreawiki.com/index.php?n=KrMain.WebPlayerStreaming|유니티코리아위키]] (CC BY-NC-SA 2.0)
2+1?
이 필드는 비어 있도록 유지하세요:
저장
미리 보기
취소
편집 요약
참고: 이 문서를 편집하면 내용은 다음 라이선스에 따라 배포하는 데 동의하는 것으로 간주합니다:
CC Attribution-Noncommercial-Share Alike 4.0 International
연결문서
유니티3D ( Unity3D )
Web Player Deployment
문서 도구
문서 보기
이전 판
연결문서
맨 위로
다크 모드로 보기
☀️
Toggle Menu
유니티3D ( Unity3D )
너두 고쳐두 됩니다.
사이트 도구
최근 바뀜
미디어 관리자
사이트맵
사용자 도구
등록
로긴
최근 수정된 문서
misuse_topical5
노박
unique_items
dinner_bell
deputy_beagle
ratslayer
one_for_my_baby
alerio
power_fist
제거됨
fixer
climb_ev_ry_mountain
companion
[장비 분실]
crashed_vertibird
brotherhood_t-51b_power_armor
marco
i_forgot_to_remember_to_forget
cateye