22
WebPlayer面白いよ! 2012/06/06 第5回 渋谷Unity技術勉強会 1266日水曜日

【第5回】渋谷Unity技術勉強会 - WebPlayer面白いよ!

Embed Size (px)

Citation preview

Page 1: 【第5回】渋谷Unity技術勉強会 - WebPlayer面白いよ!

WebPlayer面白いよ!

2012/06/06 第5回 渋谷Unity技術勉強会

12年6月6日水曜日

Page 2: 【第5回】渋谷Unity技術勉強会 - WebPlayer面白いよ!

自己紹介安藤圭吾(あんどう けいご)

@kyusyukeigo

Unity歴�2年

株式会社トップゲート

入社一年目

「Unityライブラリ辞典」執筆

「UnityGames」運営

セミナーもやりますhttp://tech.topgate.co.jp/seminar/seminar-2012-06-12-unity

12年6月6日水曜日

Page 3: 【第5回】渋谷Unity技術勉強会 - WebPlayer面白いよ!

UnityGames(http://www.unitygames.jp)

WebPlayer/Flashで書き出したゲームをプレイできる

是非、訪れてみてください

12年6月6日水曜日

Page 4: 【第5回】渋谷Unity技術勉強会 - WebPlayer面白いよ!

アジェンダ

Web上に公開する上で気を付けること

WWW.LoadUnityWeb の有効活用

WebPlayerStreamed とは

12年6月6日水曜日

Page 5: 【第5回】渋谷Unity技術勉強会 - WebPlayer面白いよ!

Web上に公開する上で気を付けること

クロスドメインWWWクラスは別ドメインとの通信ができない制約がある

crossdomain.xml配置で解決

<?xml version="1.0"?>� <cross-domain-policy>� � <allow-access-from domain="*"/>� </cross-domain-policy>

crossdomain.xml

配置場所 : ドメインのルート(トップページ)

12年6月6日水曜日

Page 6: 【第5回】渋谷Unity技術勉強会 - WebPlayer面白いよ!

Web上に公開する上で気を付けること

unity3dファイルのロード時間

イライラ・・・

ロード時間長

待ち時間ボーッ

12年6月6日水曜日

Page 7: 【第5回】渋谷Unity技術勉強会 - WebPlayer面白いよ!

Web上に公開する上で気を付けること

unity3dファイルのロード時間

色々詰め込んじゃうと10MBとか20MBとかになりがち

容量の大きいデータは何かしら対策が必要

あんまり人を待たせないほうがいいですよね

12年6月6日水曜日

Page 8: 【第5回】渋谷Unity技術勉強会 - WebPlayer面白いよ!

Web上に公開する上で気を付けること

解決策の1つとして

とりあえず最初のシーンを表示させよう

12年6月6日水曜日

Page 9: 【第5回】渋谷Unity技術勉強会 - WebPlayer面白いよ!

WWW.LoadUnityWebの有効活用

LoadUnityWeb()

WebPlayer用のunity3dファイルを読み込む(WWWクラスでDL)

LoadUnityWebをするだけのunity3dファイル(約10KB)

10MBのファイルをDL

LoadUnityWeb

unity3dファイル(10MB)

DL後、表示

12年6月6日水曜日

Page 10: 【第5回】渋谷Unity技術勉強会 - WebPlayer面白いよ!

スクリプトはこんな感じ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日水曜日

Page 11: 【第5回】渋谷Unity技術勉強会 - WebPlayer面白いよ!

WWW.LoadUnityWebの有効活用

LoadUnityWeb()でやりたいこと

WebPlayer用のunity3dファイルを読み込む(WWWクラスでDL)

LoadUnityWebをするだけのunity3dファイル(約10KB+α)

LoadUnityWeb

unity3dファイル(10MB)

簡単な操作方法を説明

プレイヤーを操作できる画像を1枚ペタリ

余分なアセットは省く

DL後、表示

12年6月6日水曜日

Page 12: 【第5回】渋谷Unity技術勉強会 - WebPlayer面白いよ!

WWW.LoadUnityWebの有効活用

LoadUnityWeb()で出来ること

PlayerPrefsのデータのやり取りが可能

LoadUnityWebをするだけのunity3dファイル(約10KB)

unity3dファイル(10MB)

LoadUnityWeb

PlayerPrefs.SetString PlayerPrefs.GetString

12年6月6日水曜日

Page 13: 【第5回】渋谷Unity技術勉強会 - WebPlayer面白いよ!

WWW.LoadUnityWebの有効活用

LoadUnityWeb()の問題点

CPU使用率がグングン↑↑

LoadUnityWeb()と言うよりWWWでのDLが問題

PCの性能次第ではブラウザがフリーズしてしまうかも

私のMBPでCPU使用率40%(最大)

12年6月6日水曜日

Page 14: 【第5回】渋谷Unity技術勉強会 - WebPlayer面白いよ!

WWW.LoadUnityWebの有効活用

LoadUnityWeb()の解決策?

ファイルを細かく分けてみるLoadUnityWebをするだけ

のunity3dファイル(約10KB)unity3dファイ

ル(5MB)LoadUnityWeb

PlayerPrefs.GetString

LoadUnityWeb

unity3dファイル(5MB)

PlayerPrefs.GetString

PlayerPrefsのデータのやり取りが可能

重複するアセットが多い場合には向いていないですが

12年6月6日水曜日

Page 15: 【第5回】渋谷Unity技術勉強会 - WebPlayer面白いよ!

WebPlayerStreamedとは

先程のLoadUnityWeb()の使い方を自動でやってくれるもの(しかも1つのunity3dファイルで!!)

考え方は同じとりあえず1番目のシーンを表示させようっていう考え方

あれ、LoadUnityWebいらないじゃん...

12年6月6日水曜日

Page 16: 【第5回】渋谷Unity技術勉強会 - WebPlayer面白いよ!

WebPlayerStreamedとは

段階的にシーンを読み込んでいく

とりあえず1番目のシーン読み込んで表示する(2番目以降のシーンを裏でDL)

DLシーン優先度

2番目 > 3番目 > 4番目...��

CPU使用率がグン↑私のMBPでCPU使用率30%(最大)

12年6月6日水曜日

Page 17: 【第5回】渋谷Unity技術勉強会 - WebPlayer面白いよ!

使い方はStreamedにチェックを入れるだけ

WebPlayerStreamedとは

12年6月6日水曜日

Page 18: 【第5回】渋谷Unity技術勉強会 - WebPlayer面白いよ!

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日水曜日

Page 19: 【第5回】渋谷Unity技術勉強会 - WebPlayer面白いよ!

WebPlayerStreamedとは

うまく使いこなすには

後半のシーンになるほどアセット量は増えるという考え方

2番目シーンアセット1 アセット2

3番目シーンアセット1 アセット2 アセット3

既にDL済

流れ

こいつだけDL

12年6月6日水曜日

Page 20: 【第5回】渋谷Unity技術勉強会 - WebPlayer面白いよ!

まとめ

つまり ?

シーンを複数に分けると快適になる可能性があるよ

(第4回 渋谷Unity技術勉強会より)

WebPlayerでは

シーンを1つにすると快適になる可能性があるよ

モバイル端末では

12年6月6日水曜日

Page 21: 【第5回】渋谷Unity技術勉強会 - WebPlayer面白いよ!

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日水曜日

Page 22: 【第5回】渋谷Unity技術勉強会 - WebPlayer面白いよ!

ご清聴ありがとうございました

「UnityGames」もよろしく!!

12年6月6日水曜日