【Unite2014】UnityとWebデプロイメントの未来

719 views

Published on

Unite2014のやつ

Published in: Engineering
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
719
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

【Unite2014】UnityとWebデプロイメントの未来

  1. 1. Unite2014 UnityとWebデプロイメントの未来
  2. 2. UnityでのWebデプロイ • WebPlayer • 1.0から利用可能でブラウザのPluged-inで動く • プラグインなのでデスクトップに近い性能が見込める • HTML5 • 新たに追加 • プラグインをインストールしてもらう必要がない
  3. 3. これから • GoogleがNPAPIを打ち切ったり、主要ブラウザがClickToPlayになった りとプラグイン離れがどんどん進むのでは? • プラグインを利用しないHTML5のみで稼働するUnityが必要に
  4. 4. WebGL • 新しいHTML版UnityではWebGLを利用 • ハードウェアアクセラレーションされる • JavaScriptで実装 • GLES2.0相当 • Open Web Standardなのでブラウザがちゃんと対応していれば動く • 現在WebGLはFireFox、Chrome、IE、Operaで対応されている • Safariは初期設定が無効になっている。。。 • Unityとの相性はいいと思っている
  5. 5. どうやるか • 特にWebGLやJavaScriptの知識は必要ない • 通常のUnityと一緒で知識があれば尚良いが、別になくても問題はない • 内部での実装がすべてJavaScriptになる • プラグインなどを作る際はJavaScriptでの実装が必要になってくる • UnityランタイムはC++、スクリプトはC#などなので、内部でJavaScriptへの変 換が自動でおこなわれる。
  6. 6. emscripton • C++からJavaScriptへのクロスコンパイルツール
  7. 7. arm.js • JavaScriptのサブセット • 動的型付け • JITが推測しにくい • FireFoxでは型をバインドして効率を上げる機能がある
  8. 8. IL2CPP • IL(C#などのコンパイル後のデータ)からC++のコードを生成するツー ル
  9. 9. 変換の流れ C# IL C++ obj JavaScript 圧縮 JavaScript Monoコンパイル IL2CPP clangコンパイル emscripton 最適化
  10. 10. 実装状態 • 5.0にプレビュー版が搭載される • いずれadd-onとして正式リリースされる • FireFoxとChromeのデスクトップ版で動作確認されている • いずれその他主要ブラウザには公式対応する • 一部HTML5/Unityの機能に未対応 • Video • Network (WWWとSocketは可能) • マイク • 例外 • スレッド • サブスタンス
  11. 11. その他 • WebPlayerよりかは遅い • 現在はFireFoxが最もパフォーマンスが出る • SIMD、マルチスレッドに対応していないので注意 • スキニングは結構遅い(本来SIMD、マルチスレッドで実装されるので) • 場合によってはデスクトップ版の半分くらいのパフォーマンスしか出ないこ ともあり • それでもFlashとか、モバイルに比べたら十分だと思う • プロファイラは利用可能(Pro) • Plugin可能、JavaScriptで実装する • Application.ExternalCall等を利用できる
  12. 12. WebPlayerはどうなる? • 当分の間はこちらもサポートされる • 各ブラウザがプラグインに対応されなくなったりするとそこで終わるだろう

×