【第5回】渋谷unity技術勉強会 - webplayer面白いよ!
TRANSCRIPT
WebPlayer面白いよ!
2012/06/06 第5回 渋谷Unity技術勉強会
12年6月6日水曜日
自己紹介安藤圭吾(あんどう けいご)
@kyusyukeigo
Unity歴�2年
株式会社トップゲート
入社一年目
「Unityライブラリ辞典」執筆
「UnityGames」運営
セミナーもやりますhttp://tech.topgate.co.jp/seminar/seminar-2012-06-12-unity
12年6月6日水曜日
UnityGames(http://www.unitygames.jp)
WebPlayer/Flashで書き出したゲームをプレイできる
是非、訪れてみてください
12年6月6日水曜日
アジェンダ
Web上に公開する上で気を付けること
WWW.LoadUnityWeb の有効活用
WebPlayerStreamed とは
12年6月6日水曜日
Web上に公開する上で気を付けること
クロスドメインWWWクラスは別ドメインとの通信ができない制約がある
crossdomain.xml配置で解決
<?xml version="1.0"?>� <cross-domain-policy>� � <allow-access-from domain="*"/>� </cross-domain-policy>
crossdomain.xml
配置場所 : ドメインのルート(トップページ)
12年6月6日水曜日
Web上に公開する上で気を付けること
unity3dファイルのロード時間
イライラ・・・
ロード時間長
い
待ち時間ボーッ
12年6月6日水曜日
Web上に公開する上で気を付けること
unity3dファイルのロード時間
色々詰め込んじゃうと10MBとか20MBとかになりがち
容量の大きいデータは何かしら対策が必要
あんまり人を待たせないほうがいいですよね
12年6月6日水曜日
Web上に公開する上で気を付けること
解決策の1つとして
とりあえず最初のシーンを表示させよう
12年6月6日水曜日
WWW.LoadUnityWebの有効活用
LoadUnityWeb()
WebPlayer用のunity3dファイルを読み込む(WWWクラスでDL)
LoadUnityWebをするだけのunity3dファイル(約10KB)
10MBのファイルをDL
LoadUnityWeb
unity3dファイル(10MB)
DL後、表示
12年6月6日水曜日
スクリプトはこんな感じusing UnityEngine;
public class LoadWebScript : MonoBehaviour{� IEnumerator Start ()� {� � www = new WWW ("unity3dファイルのURL");� � while (www.isDone == false) {� � � yield return new WaitForSeconds(0);� � � // www.progressを使って何か処理でも � � }� � yield return www;� �� � www.LoadUnityWeb ();� }}
WWW.LoadUnityWebの有効活用
12年6月6日水曜日
WWW.LoadUnityWebの有効活用
LoadUnityWeb()でやりたいこと
WebPlayer用のunity3dファイルを読み込む(WWWクラスでDL)
LoadUnityWebをするだけのunity3dファイル(約10KB+α)
LoadUnityWeb
unity3dファイル(10MB)
簡単な操作方法を説明
プレイヤーを操作できる画像を1枚ペタリ
余分なアセットは省く
DL後、表示
12年6月6日水曜日
WWW.LoadUnityWebの有効活用
LoadUnityWeb()で出来ること
PlayerPrefsのデータのやり取りが可能
LoadUnityWebをするだけのunity3dファイル(約10KB)
unity3dファイル(10MB)
LoadUnityWeb
PlayerPrefs.SetString PlayerPrefs.GetString
12年6月6日水曜日
WWW.LoadUnityWebの有効活用
LoadUnityWeb()の問題点
CPU使用率がグングン↑↑
LoadUnityWeb()と言うよりWWWでのDLが問題
PCの性能次第ではブラウザがフリーズしてしまうかも
私のMBPでCPU使用率40%(最大)
12年6月6日水曜日
WWW.LoadUnityWebの有効活用
LoadUnityWeb()の解決策?
ファイルを細かく分けてみるLoadUnityWebをするだけ
のunity3dファイル(約10KB)unity3dファイ
ル(5MB)LoadUnityWeb
PlayerPrefs.GetString
LoadUnityWeb
unity3dファイル(5MB)
PlayerPrefs.GetString
PlayerPrefsのデータのやり取りが可能
重複するアセットが多い場合には向いていないですが
12年6月6日水曜日
WebPlayerStreamedとは
先程のLoadUnityWeb()の使い方を自動でやってくれるもの(しかも1つのunity3dファイルで!!)
考え方は同じとりあえず1番目のシーンを表示させようっていう考え方
あれ、LoadUnityWebいらないじゃん...
12年6月6日水曜日
WebPlayerStreamedとは
段階的にシーンを読み込んでいく
とりあえず1番目のシーン読み込んで表示する(2番目以降のシーンを裏でDL)
DLシーン優先度
2番目 > 3番目 > 4番目...��
CPU使用率がグン↑私のMBPでCPU使用率30%(最大)
12年6月6日水曜日
使い方はStreamedにチェックを入れるだけ
WebPlayerStreamedとは
12年6月6日水曜日
Web上に公開する上で気を付けること
スクリプトはこんな感じusing UnityEngine;using System.Collections;
public class LoadWebScript : MonoBehaviour{
� IEnumerator StreamLoadLevel (string levelName)� {� � while (Application.CanStreamedLevelBeLoaded(levelName) == false) {� � � yield return new WaitForSeconds(0);� � � // Application.GetStreamProgressForLevel(levelName)で進捗状況を確認� � }� �� � Application.LoadLevel (levelName);� �� }}
12年6月6日水曜日
WebPlayerStreamedとは
うまく使いこなすには
後半のシーンになるほどアセット量は増えるという考え方
2番目シーンアセット1 アセット2
3番目シーンアセット1 アセット2 アセット3
既にDL済
流れ
こいつだけDL
12年6月6日水曜日
まとめ
つまり ?
シーンを複数に分けると快適になる可能性があるよ
(第4回 渋谷Unity技術勉強会より)
WebPlayerでは
シーンを1つにすると快適になる可能性があるよ
モバイル端末では
12年6月6日水曜日
Security Sandbox of the Webplayer
参考資料
http://unity3d.com/support/documentation/Manual/Security%20Sandbox.html
Web Player Streaminghttp://unity3d.com/support/documentation/Manual/Web%20Player%20Streaming.html
12年6月6日水曜日
ご清聴ありがとうございました
「UnityGames」もよろしく!!
12年6月6日水曜日